diff options
author | David Robillard <d@drobilla.net> | 2013-06-09 04:51:32 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2013-06-09 04:51:32 +0000 |
commit | fe81cb8af20ecbe721eba55d53fa62c5e2041421 (patch) | |
tree | 98e94e5dcf675054ac6023ddbccd44b1381ddda0 /src/gui/PropertiesWindow.hpp | |
parent | c8e00539e66bbe3584798ab8619f4b5927e83c2c (diff) | |
download | ingen-fe81cb8af20ecbe721eba55d53fa62c5e2041421.tar.gz ingen-fe81cb8af20ecbe721eba55d53fa62c5e2041421.tar.bz2 ingen-fe81cb8af20ecbe721eba55d53fa62c5e2041421.zip |
Support removing properties from the properties dialog.
You can definitely blow your leg off with this one, clever ontology awareness
(e.g. required properties) would be good...
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5138 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PropertiesWindow.hpp')
-rw-r--r-- | src/gui/PropertiesWindow.hpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/gui/PropertiesWindow.hpp b/src/gui/PropertiesWindow.hpp index 7725706b..025c98ae 100644 --- a/src/gui/PropertiesWindow.hpp +++ b/src/gui/PropertiesWindow.hpp @@ -23,8 +23,9 @@ #include <gtkmm/box.h> #include <gtkmm/builder.h> #include <gtkmm/button.h> -#include <gtkmm/liststore.h> +#include <gtkmm/checkbutton.h> #include <gtkmm/combobox.h> +#include <gtkmm/liststore.h> #include <gtkmm/scrolledwindow.h> #include <gtkmm/table.h> @@ -57,12 +58,13 @@ public: private: /** Record of a property (row in the table) */ struct Record { - Record(const Atom& v, Gtk::Alignment* vw, int r) - : value(v), value_widget(vw), row(r) + Record(const Atom& v, Gtk::Alignment* vw, int r, Gtk::CheckButton* cb) + : value(v), value_widget(vw), row(r), present_button(cb) {} - Atom value; - Gtk::Alignment* value_widget; - int row; + Atom value; + Gtk::Alignment* value_widget; + int row; + Gtk::CheckButton* present_button; }; struct ComboColumns : public Gtk::TreeModel::ColumnRecord { @@ -74,17 +76,17 @@ private: Gtk::TreeModelColumn<Glib::ustring> uri_col; }; - void add_property(const Raul::URI& uri, - const Atom& value); + void add_property(const Raul::URI& uri, + const Atom& value); - Gtk::Widget* create_value_widget(const Raul::URI& uri, - const Atom& value); + Gtk::Widget* create_value_widget(const Raul::URI& uri, + const Atom& value); - void init(); 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); void key_changed(); void add_clicked(); @@ -100,6 +102,7 @@ private: Glib::RefPtr<Gtk::ListStore> _key_store; Glib::RefPtr<Gtk::ListStore> _value_store; sigc::connection _property_connection; + sigc::connection _property_removed_connection; Gtk::VBox* _vbox; Gtk::ScrolledWindow* _scrolledwindow; Gtk::Table* _table; |