X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_route_groups.h;h=42061ff089a743141f0e9f2abf87411052652136;hb=b49e3982502f5e483422960dc11be967d7c790f4;hp=402f8e2aed5f9644837179456fdb0af75dbdc3ce;hpb=536384ea4ea7d468363ff5f284a817c42083c3b5;p=ardour.git diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h index 402f8e2aed..42061ff089 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 @@ -27,35 +28,44 @@ public: void set_session (ARDOUR::Session *); Gtk::Widget& widget () { - return *_display_packer; + return _display_packer; } void clear (); + Gtkmm2ext::StatefulToggleButton& all_group_active_button() { return _all_group_active_button; } private: struct Columns : public Gtk::TreeModel::ColumnRecord { Columns () { + add (gdkcolor); + add (text); add (is_visible); add (gain); - add (record); + add (gain_relative); add (mute); add (solo); + add (record); + add (monitoring); add (select); - add (edits); - add (text); + add (active_shared); + add (active_state); add (routegroup); } + Gtk::TreeModelColumn gdkcolor; + Gtk::TreeModelColumn text; Gtk::TreeModelColumn is_visible; Gtk::TreeModelColumn gain; - Gtk::TreeModelColumn record; + Gtk::TreeModelColumn gain_relative; Gtk::TreeModelColumn mute; Gtk::TreeModelColumn solo; + Gtk::TreeModelColumn record; + Gtk::TreeModelColumn monitoring; Gtk::TreeModelColumn select; - Gtk::TreeModelColumn edits; - Gtk::TreeModelColumn text; + Gtk::TreeModelColumn active_shared; + Gtk::TreeModelColumn active_state; Gtk::TreeModelColumn routegroup; }; @@ -63,21 +73,28 @@ private: void add (ARDOUR::RouteGroup *); void row_change (const Gtk::TreeModel::Path&,const Gtk::TreeModel::iterator&); - void name_edit (const Glib::ustring&, const Glib::ustring&); + void name_edit (const std::string&, const std::string&); void button_clicked (); - gint button_press_event (GdkEventButton* ev); + bool button_press_event (GdkEventButton* ev); void groups_changed (); void property_changed (ARDOUR::RouteGroup*, const PBD::PropertyChange &); void remove_selected (); 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::VBox _display_packer; + 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; + Gtk::ColorSelectionDialog color_dialog; };