diff options
author | Carl Hetherington <carl@carlh.net> | 2009-07-03 18:37:15 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-07-03 18:37:15 +0000 |
commit | b233455b3fd00789e4f8a951f9fe205de92f94e2 (patch) | |
tree | 016011049c624b36944dcf8f11b1d770aff52acd /gtk2_ardour/editor_route_groups.h | |
parent | 6e614ae3bfecf157149e651e49b92dc04cf4cda6 (diff) |
Split route group list out of Editor.
git-svn-id: svn://localhost/ardour2/branches/3.0@5308 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_route_groups.h')
-rw-r--r-- | gtk2_ardour/editor_route_groups.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h new file mode 100644 index 0000000000..5235a6a7e4 --- /dev/null +++ b/gtk2_ardour/editor_route_groups.h @@ -0,0 +1,77 @@ +#include "editor_component.h" + +class EditorRouteGroups : public EditorComponent +{ +public: + EditorRouteGroups (Editor *); + + void connect_to_session (ARDOUR::Session *); + + Gtk::Widget& widget () { + return *_display_packer; + } + + Gtk::Menu* menu (ARDOUR::RouteGroup *); + + void clear (); + +private: + + struct Columns : public Gtk::TreeModel::ColumnRecord { + + Columns () { + add (is_visible); + add (gain); + add (record); + add (mute); + add (solo); + add (select); + add (edits); + add (text); + add (routegroup); + } + + Gtk::TreeModelColumn<bool> is_visible; + Gtk::TreeModelColumn<bool> gain; + Gtk::TreeModelColumn<bool> record; + Gtk::TreeModelColumn<bool> mute; + Gtk::TreeModelColumn<bool> solo; + Gtk::TreeModelColumn<bool> select; + Gtk::TreeModelColumn<bool> edits; + Gtk::TreeModelColumn<std::string> text; + Gtk::TreeModelColumn<ARDOUR::RouteGroup*> routegroup; + }; + + Columns _columns; + + void activate_all (); + void disable_all (); + void subgroup (ARDOUR::RouteGroup*); + void unsubgroup (ARDOUR::RouteGroup*); + + void row_change (const Gtk::TreeModel::Path&,const Gtk::TreeModel::iterator&); + void name_edit (const Glib::ustring&, const Glib::ustring&); + void new_route_group (); + void new_from_selection (); + void new_from_rec_enabled (); + void new_from_soloed (); + void edit (ARDOUR::RouteGroup *); + void button_clicked (); + gint button_press_event (GdkEventButton* ev); + void add (ARDOUR::RouteGroup* group); + void remove_route_group (); + void groups_changed (); + void flags_changed (void*, ARDOUR::RouteGroup*); + void set_activation (ARDOUR::RouteGroup *, bool); + void remove_selected (); + + Gtk::Menu* _menu; + Glib::RefPtr<Gtk::ListStore> _model; + Glib::RefPtr<Gtk::TreeSelection> _selection; + Gtk::TreeView _display; + Gtk::ScrolledWindow _scroller; + Gtk::VBox* _display_packer; + bool _in_row_change; +}; + + |