aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer/fltk
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2022-09-07 10:57:36 +0200
committerPierre Ossman <ossman@cendio.se>2022-09-07 10:57:36 +0200
commit4241c87ca86e03567270fd19374b9aff6367fcc6 (patch)
treed71d6336280ef16989e6957f8f03ba7492ba49c8 /vncviewer/fltk
parent65c820867dfc7b704a0b46de03fb4386a7173d7e (diff)
downloadtigervnc-4241c87ca86e03567270fd19374b9aff6367fcc6.tar.gz
tigervnc-4241c87ca86e03567270fd19374b9aff6367fcc6.zip
Use standard accessors for Fl_Monitor_Arrangement
The accessor functions are called value() for all standard FLTK widgets, so let's keep that theme here as well.
Diffstat (limited to 'vncviewer/fltk')
-rw-r--r--vncviewer/fltk/Fl_Monitor_Arrangement.cxx18
-rw-r--r--vncviewer/fltk/Fl_Monitor_Arrangement.h4
2 files changed, 14 insertions, 8 deletions
diff --git a/vncviewer/fltk/Fl_Monitor_Arrangement.cxx b/vncviewer/fltk/Fl_Monitor_Arrangement.cxx
index 062a5051..ce61b1e7 100644
--- a/vncviewer/fltk/Fl_Monitor_Arrangement.cxx
+++ b/vncviewer/fltk/Fl_Monitor_Arrangement.cxx
@@ -85,7 +85,7 @@ Fl_Monitor_Arrangement::~Fl_Monitor_Arrangement()
Fl::remove_handler(fltk_event_handler);
}
-std::set<int> Fl_Monitor_Arrangement::get()
+std::set<int> Fl_Monitor_Arrangement::value() const
{
std::set<int> indices;
MonitorMap::const_iterator iter;
@@ -98,15 +98,21 @@ std::set<int> Fl_Monitor_Arrangement::get()
return indices;
}
-void Fl_Monitor_Arrangement::set(std::set<int> indices)
+int Fl_Monitor_Arrangement::value(std::set<int> indices)
{
MonitorMap::const_iterator iter;
+ bool changed;
+ changed = false;
for (iter = monitors.begin(); iter != monitors.end(); ++iter) {
bool selected = std::find(indices.begin(), indices.end(),
iter->first) != indices.end();
- iter->second->value(selected ? 1 : 0);
+ if (iter->second->value() != selected)
+ changed = true;
+ iter->second->value(selected);
}
+
+ return changed;
}
void Fl_Monitor_Arrangement::draw()
@@ -178,7 +184,7 @@ void Fl_Monitor_Arrangement::refresh()
// The selection state is only saved persistently when "OK" is
// pressed. We need to manually restore the current selection
// when the widget is refreshed.
- std::set<int> indices = get();
+ std::set<int> indices = value();
monitors.clear();
// FLTK recursively deletes all children for us.
@@ -188,7 +194,7 @@ void Fl_Monitor_Arrangement::refresh()
end();
// Restore the current selection state.
- set(indices);
+ value(indices);
redraw();
}
@@ -199,7 +205,7 @@ bool Fl_Monitor_Arrangement::is_required(int m)
return false;
// If no monitors are selected, none are required.
- std::set<int> selected = get();
+ std::set<int> selected = value();
if (selected.size() <= 0)
return false;
diff --git a/vncviewer/fltk/Fl_Monitor_Arrangement.h b/vncviewer/fltk/Fl_Monitor_Arrangement.h
index 770503bf..b8e9ba78 100644
--- a/vncviewer/fltk/Fl_Monitor_Arrangement.h
+++ b/vncviewer/fltk/Fl_Monitor_Arrangement.h
@@ -39,10 +39,10 @@ public:
~Fl_Monitor_Arrangement();
// Get selected indices.
- std::set<int> get();
+ std::set<int> value() const;
// Set selected indices.
- void set(std::set<int> indices);
+ int value(std::set<int> indices);
protected:
virtual void draw();