X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_route_groups.h;h=45c201a26e694a0e82ed9a4c9005ed03c2e9cd8c;hb=17f5fb81d2c9d2394f62169b90c15bf371b44f6c;hp=b1b82fb531952592e7760aebec3a6774bf2431f4;hpb=759267af15ba002231cb04b0a2d1c53ce9e48295;p=ardour.git diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h index b1b82fb531..45c201a26e 100644 --- a/gtk2_ardour/editor_route_groups.h +++ b/gtk2_ardour/editor_route_groups.h @@ -17,82 +17,87 @@ */ +#ifndef __gtk_ardour_editor_route_groups_h__ +#define __gtk_ardour_editor_route_groups_h__ + +#include +#include +#include +#include + #include "editor_component.h" -class EditorRouteGroups : public EditorComponent +class EditorRouteGroups : public EditorComponent, public ARDOUR::SessionHandlePtr { public: EditorRouteGroups (Editor *); - void connect_to_session (ARDOUR::Session *); + void set_session (ARDOUR::Session *); Gtk::Widget& widget () { - return *_display_packer; + return _display_packer; } - Gtk::Menu* menu (ARDOUR::RouteGroup *); - void clear (); - ARDOUR::RouteGroup* new_route_group () const; private: - struct Columns : public Gtk::TreeModel::ColumnRecord { + struct Columns : public Gtk::TreeModel::ColumnRecord { - Columns () { + 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 is_visible; + 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 routegroup; + Gtk::TreeModelColumn active_shared; + Gtk::TreeModelColumn active_state; + Gtk::TreeModelColumn routegroup; }; Columns _columns; - void activate_all (); - void disable_all (); - void subgroup (ARDOUR::RouteGroup *); - void unsubgroup (ARDOUR::RouteGroup *); - void collect (ARDOUR::RouteGroup *); - + 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 new_from_selection (); - void new_from_rec_enabled (); - void new_from_soloed (); - void edit (ARDOUR::RouteGroup *); + void name_edit (const std::string&, const std::string&); void button_clicked (); - gint button_press_event (GdkEventButton* ev); - void add (ARDOUR::RouteGroup* group); - void remove_route_group (); + bool button_press_event (GdkEventButton* ev); void groups_changed (); - void flags_changed (void*, ARDOUR::RouteGroup*); - void set_activation (ARDOUR::RouteGroup *, bool); + void property_changed (ARDOUR::RouteGroup*, const PBD::PropertyChange &); void remove_selected (); - void run_new_group_dialog (const ARDOUR::RouteList&); + void run_new_group_dialog (); + void row_deleted (Gtk::TreeModel::Path const &); - Gtk::Menu* _menu; Glib::RefPtr _model; Glib::RefPtr _selection; Gtk::TreeView _display; Gtk::ScrolledWindow _scroller; - Gtk::VBox* _display_packer; + Gtk::VBox _display_packer; bool _in_row_change; + bool _in_rebuild; + PBD::ScopedConnectionList _property_changed_connections; + PBD::ScopedConnection all_route_groups_changed_connection; + Gtk::ColorSelectionDialog color_dialog; }; - +#endif // __gtk_ardour_editor_route_groups_h__