diff options
author | David Robillard <d@drobilla.net> | 2012-07-29 03:21:46 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-07-29 03:21:46 +0000 |
commit | 67531458e321e130b46a60557536eebe8ba91eea (patch) | |
tree | 086648d30e98a617826dc78a37149a7594c5bc36 /src/gui/PropertiesWindow.hpp | |
parent | 445604bff1dafe415014035ffa8f704c9538b4ed (diff) | |
download | ingen-67531458e321e130b46a60557536eebe8ba91eea.tar.gz ingen-67531458e321e130b46a60557536eebe8ba91eea.tar.bz2 ingen-67531458e321e130b46a60557536eebe8ba91eea.zip |
Add UI for adding arbitrary object properties to properties dialog.
Property information is loaded from installed LV2 data, so any appropriate
properties will automatically be shown. Currently only implemented for object
properties where the LV2 world contains appropriate values, needs extending for
datatype properties.
At the moment, only "unit" and "port property" show up for ports.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4566 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PropertiesWindow.hpp')
-rw-r--r-- | src/gui/PropertiesWindow.hpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/gui/PropertiesWindow.hpp b/src/gui/PropertiesWindow.hpp index 31fd0388..e62fb07f 100644 --- a/src/gui/PropertiesWindow.hpp +++ b/src/gui/PropertiesWindow.hpp @@ -23,6 +23,8 @@ #include <gtkmm/box.h> #include <gtkmm/builder.h> #include <gtkmm/button.h> +#include <gtkmm/liststore.h> +#include <gtkmm/combobox.h> #include <gtkmm/scrolledwindow.h> #include <gtkmm/table.h> @@ -64,6 +66,18 @@ private: int row; }; + struct ComboColumns : public Gtk::TreeModel::ColumnRecord { + ComboColumns() { + add(label_col); + add(uri_col); + } + Gtk::TreeModelColumn<Glib::ustring> label_col; + Gtk::TreeModelColumn<Glib::ustring> uri_col; + }; + + void add_property(const Raul::URI& uri, + const Raul::Atom& value); + Gtk::Widget* create_value_widget(const Raul::URI& uri, const Raul::Atom& value); @@ -72,9 +86,9 @@ private: void on_show(); void property_changed(const Raul::URI& predicate, const Raul::Atom& value); - void value_edited(const Raul::URI& predicate); - + void key_changed(); + void add_clicked(); void cancel_clicked(); void apply_clicked(); void ok_clicked(); @@ -83,10 +97,16 @@ private: Records _records; SharedPtr<const Client::ObjectModel> _model; + ComboColumns _combo_columns; + Glib::RefPtr<Gtk::ListStore> _key_store; + Glib::RefPtr<Gtk::ListStore> _value_store; sigc::connection _property_connection; Gtk::VBox* _vbox; Gtk::ScrolledWindow* _scrolledwindow; Gtk::Table* _table; + Gtk::ComboBox* _key_combo; + Gtk::ComboBox* _value_combo; + Gtk::Button* _add_button; Gtk::Button* _cancel_button; Gtk::Button* _apply_button; Gtk::Button* _ok_button; |