GLUI: make ParamLabelModelString behave like the other models
authorStefan Westerfeld <stefan@space.twc.de>
Wed, 13 Mar 2019 16:52:13 +0000 (17:52 +0100)
committerStefan Westerfeld <stefan@space.twc.de>
Wed, 13 Mar 2019 16:52:13 +0000 (17:52 +0100)
Signed-off-by: Stefan Westerfeld <stefan@space.twc.de>
glui/sminsteditparams.hh
glui/smparamlabel.hh

index 0bcdb5d..f179074 100644 (file)
@@ -216,16 +216,14 @@ public:
       {
         for (size_t i = 0; i < encoder_config.entries.size(); i++)
           {
-            ParamLabelModelString *ps = new ParamLabelModelString();
-            ps->s = encoder_config.entries[i].param;
-            connect (ps->signal_value_changed, [this,i] (const std::string& s) { on_change_enc_entry (i, s.c_str(), nullptr); });
+            auto param_mod = new ParamLabelModelString (encoder_config.entries[i].param);
+            connect (param_mod->signal_value_changed, [this,i] (const std::string& s) { on_change_enc_entry (i, s.c_str(), nullptr); });
 
-            ParamLabelModelString *vs = new ParamLabelModelString();
-            vs->s = encoder_config.entries[i].value;
-            connect (vs->signal_value_changed, [this,i] (const std::string& s) { on_change_enc_entry (i, nullptr, s.c_str()); });
+            auto value_mod = new ParamLabelModelString (encoder_config.entries[i].value);
+            connect (value_mod->signal_value_changed, [this,i] (const std::string& s) { on_change_enc_entry (i, nullptr, s.c_str()); });
 
-            ParamLabel *plabel = new ParamLabel (scroll_widget, ps);
-            ParamLabel *vlabel = new ParamLabel (scroll_widget, vs);
+            ParamLabel *plabel = new ParamLabel (scroll_widget, param_mod);
+            ParamLabel *vlabel = new ParamLabel (scroll_widget, value_mod);
             ToolButton *tbutton = new ToolButton (scroll_widget, 'x');
 
             grid.add_widget (plabel, 2, y, 20, 3);
index 5d53081..395d699 100644 (file)
@@ -100,25 +100,29 @@ public:
 
 class ParamLabelModelString : public ParamLabelModel
 {
-public:
-  std::string s;
+  std::string value;
 
+public:
+  ParamLabelModelString (const std::string& s):
+    value (s)
+  {
+  }
   std::string
   value_text()
   {
-    return s;
+    return value;
   }
   std::string
   display_text()
   {
-    return s;
+    return value;
   }
   void
   set_value_text (const std::string& t)
   {
-    s = t;
+    value = t;
 
-    signal_value_changed (s);
+    signal_value_changed (value);
   }
   Signal<std::string> signal_value_changed;
 };