diff options
author | Carl Hetherington <carl@carlh.net> | 2011-11-03 01:44:17 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-11-03 01:44:17 +0000 |
commit | 154c2a35d7a14eda847a6a610f5fbe8fb17109d8 (patch) | |
tree | 0ab60ea0bd686f2fde078a5ff3a0d7a74135f7d6 /gtk2_ardour/visibility_group.h | |
parent | 22d87a18dc602ef29a82f5c1fa68ba00ecacfe4b (diff) |
Allow overrides of the user-set visibility stuff and use it to make sure the master bus doesn't get solo isolate etc. (#4431).
git-svn-id: svn://localhost/ardour2/branches/3.0@10407 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/visibility_group.h')
-rw-r--r-- | gtk2_ardour/visibility_group.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/visibility_group.h b/gtk2_ardour/visibility_group.h index d9e13e1e93..940b8bcc52 100644 --- a/gtk2_ardour/visibility_group.h +++ b/gtk2_ardour/visibility_group.h @@ -37,7 +37,14 @@ class VisibilityGroup public: VisibilityGroup (std::string const &); - void add (Gtk::Widget *, std::string const &, std::string const &, bool visible = true); + void add ( + Gtk::Widget *, + std::string const &, + std::string const &, + bool visible = 0, + boost::function<boost::optional<bool> ()> = 0 + ); + Gtk::Menu* menu (); Gtk::Widget* list_view (); bool button_press_event (GdkEventButton *); @@ -56,6 +63,7 @@ private: std::string id; std::string name; bool visible; + boost::function<boost::optional<bool> ()> override; }; class ModelColumns : public Gtk::TreeModelColumnRecord { @@ -74,6 +82,7 @@ private: void toggle (std::vector<Member>::iterator); void list_view_visible_changed (std::string const &); void update_list_view (); + bool should_actually_be_visible (Member const &) const; std::vector<Member> _members; std::string _xml_property_name; |