X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_route_groups.h;h=e413565e351ab85918e884dc78414eb6e778bda6;hb=5173497c6d9b4bed0f64c1c3b4beab442a405849;hp=c5e4eda254e8d0e46b5490f9b0719d91e22cdab2;hpb=da8eec7a8311295ee91308eca9fae2146385c512;p=ardour.git diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h index c5e4eda254..e413565e35 100644 --- a/gtk2_ardour/editor_route_groups.h +++ b/gtk2_ardour/editor_route_groups.h @@ -17,6 +17,7 @@ */ +#include "gtkmm2ext/stateful_button.h" #include "editor_component.h" class EditorRouteGroups : public EditorComponent, public ARDOUR::SessionHandlePtr @@ -31,32 +32,36 @@ public: } void clear (); - Gtk::ToggleButton& all_group_active_button() { return _all_group_active_button; } + Gtkmm2ext::StatefulToggleButton& all_group_active_button() { return _all_group_active_button; } private: struct Columns : public Gtk::TreeModel::ColumnRecord { Columns () { - add (is_visible); + add (text); add (gain); - add (record); + add (gain_relative); add (mute); add (solo); + add (record); add (select); add (edits); - add (text); + add (active_state); + add (is_visible); add (routegroup); } - Gtk::TreeModelColumn is_visible; + Gtk::TreeModelColumn text; Gtk::TreeModelColumn gain; - Gtk::TreeModelColumn record; + Gtk::TreeModelColumn gain_relative; Gtk::TreeModelColumn mute; Gtk::TreeModelColumn solo; + Gtk::TreeModelColumn record; Gtk::TreeModelColumn select; Gtk::TreeModelColumn edits; - Gtk::TreeModelColumn text; + Gtk::TreeModelColumn active_state; + Gtk::TreeModelColumn is_visible; Gtk::TreeModelColumn routegroup; }; @@ -73,15 +78,18 @@ private: void run_new_group_dialog (); void all_group_toggled(); void all_group_changed (const PBD::PropertyChange&); + void row_deleted (Gtk::TreeModel::Path const &); Glib::RefPtr _model; Glib::RefPtr _selection; Gtk::TreeView _display; Gtk::ScrolledWindow _scroller; Gtk::VBox _display_packer; - Gtk::ToggleButton _all_group_active_button; + Gtkmm2ext::StatefulToggleButton _all_group_active_button; bool _in_row_change; - PBD::ScopedConnection property_changed_connection; + bool _in_rebuild; + PBD::ScopedConnectionList _property_changed_connections; + PBD::ScopedConnection all_route_groups_changed_connection; };