summaryrefslogtreecommitdiffstats
path: root/src/gui/PropertiesWindow.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-03-28 09:47:19 +0000
committerDavid Robillard <d@drobilla.net>2015-03-28 09:47:19 +0000
commitc0da1cf368b7d43c9c886b81768b4a62a07fae3f (patch)
tree83b651a2b680e32b990dd1e1909156aee475a181 /src/gui/PropertiesWindow.hpp
parentd0b4376df39e95cb9389f5c42fc1c2333e8c0c97 (diff)
downloadingen-c0da1cf368b7d43c9c886b81768b4a62a07fae3f.tar.gz
ingen-c0da1cf368b7d43c9c886b81768b4a62a07fae3f.tar.bz2
ingen-c0da1cf368b7d43c9c886b81768b4a62a07fae3f.zip
Unify value widgets in properties dialog.
This shows the fancy URI selector for URI properties, and can show numeric controls for the property-to-add. The ontologies need some work, along with smarter widget creation, before the latter will actually be useful. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5648 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PropertiesWindow.hpp')
-rw-r--r--src/gui/PropertiesWindow.hpp29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/gui/PropertiesWindow.hpp b/src/gui/PropertiesWindow.hpp
index 7111269a..15842c48 100644
--- a/src/gui/PropertiesWindow.hpp
+++ b/src/gui/PropertiesWindow.hpp
@@ -76,28 +76,23 @@ private:
Gtk::TreeModelColumn<Glib::ustring> uri_col;
};
- std::string active_property() const;
+ void add_property(const Raul::URI& key, const Atom& value);
+ void change_property(const Raul::URI& key, const Atom& value);
+ void remove_property(const Raul::URI& key, const Atom& value);
+ void on_change(const Raul::URI& key);
- void add_property(const Raul::URI& uri,
- const Atom& value);
+ Gtk::Widget* create_value_widget(const Raul::URI& key,
+ const char* type_uri,
+ const Atom& value = Atom());
- Gtk::Widget* create_value_widget(const Raul::URI& uri,
- const Atom& value);
-
- Gtk::Menu* build_subclass_menu(const LilvNode* klass);
- void add_class_menu_item(Gtk::Menu* menu, const LilvNode* klass);
- void build_value_menu(Gtk::Menu* menu, const LilvNodes* ranges);
- void set_tooltip(Gtk::Widget* widget, const LilvNode* node);
+ Atom get_value(LV2_URID type, Gtk::Widget* value_widget);
void reset();
void on_show();
- void property_changed(const Raul::URI& predicate, const Atom& value);
- void property_removed(const Raul::URI& predicate, const Atom& value);
- void value_edited(const Raul::URI& predicate);
+ std::string active_key() const;
+
void key_changed();
- void uri_chosen(const std::string& uri);
- bool value_clicked(GdkEvent* ev);
void add_clicked();
void cancel_clicked();
void apply_clicked();
@@ -115,8 +110,8 @@ private:
Gtk::ScrolledWindow* _scrolledwindow;
Gtk::Table* _table;
Gtk::ComboBox* _key_combo;
- Gtk::Entry* _value_entry;
- Gtk::Button* _value_button;
+ LV2_URID _value_type;
+ Gtk::Bin* _value_bin;
Gtk::Button* _add_button;
Gtk::Button* _cancel_button;
Gtk::Button* _apply_button;