summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/ControlGroups.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/progs/ingenuity/ControlGroups.h')
-rw-r--r--src/progs/ingenuity/ControlGroups.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/progs/ingenuity/ControlGroups.h b/src/progs/ingenuity/ControlGroups.h
index 1cbf34d7..a05cceee 100644
--- a/src/progs/ingenuity/ControlGroups.h
+++ b/src/progs/ingenuity/ControlGroups.h
@@ -31,6 +31,7 @@ using namespace Ingen::Client;
namespace Ingenuity {
class ControlPanel;
+class PortPropertiesWindow;
/** A group of controls (for a single Port) in a NodeControlWindow.
@@ -52,9 +53,10 @@ public:
}
protected:
+ friend class PortPropertiesWindow;
virtual void set_value(float value) = 0;
- virtual void metadata_update(const string& key, const Atom& value) = 0;
+ virtual void set_range(float min, float max) {}
ControlPanel* _control_panel;
SharedPtr<PortModel> _port_model;
@@ -82,15 +84,17 @@ public:
private:
void set_name(const string& name);
- virtual void metadata_update(const string& key, const Atom& value);
+
+ bool clicked(GdkEventButton* ev);
void set_value(float value);
+ void set_range(float min, float max);
- void min_changed();
- void max_changed();
void update_range();
void update_value_from_slider();
void update_value_from_spinner();
+
+ void menu_properties();
//void slider_grabbed(bool b);
@@ -99,10 +103,11 @@ private:
bool _enabled;
Gtk::Label* _name_label;
- Gtk::SpinButton* _min_spinner;
- Gtk::SpinButton* _max_spinner;
//Gtk::SpinButton* _value_spinner;
Gtk::VScale* _slider;
+
+ Gtk::Menu* _menu;
+ Gtk::MenuItem* _menu_properties;
};