diff options
author | Pierre Ossman <ossman@cendio.se> | 2022-09-07 10:57:36 +0200 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2022-09-07 10:57:36 +0200 |
commit | 4241c87ca86e03567270fd19374b9aff6367fcc6 (patch) | |
tree | d71d6336280ef16989e6957f8f03ba7492ba49c8 /vncviewer/fltk | |
parent | 65c820867dfc7b704a0b46de03fb4386a7173d7e (diff) | |
download | tigervnc-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.cxx | 18 | ||||
-rw-r--r-- | vncviewer/fltk/Fl_Monitor_Arrangement.h | 4 |
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(); |