X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Froute_group_menu.h;h=b29114a14501acc2c47f9996d7869a8e4630c6a7;hb=20fb871d5ac252c820bc8dc38403b2fbb4e4aca8;hp=b588be783851d92eebbc628e47b6dad2ba81ecff;hpb=ce7a5e1c9fa3edf2d9cc66875505e402a0aaa6f6;p=ardour.git diff --git a/gtk2_ardour/route_group_menu.h b/gtk2_ardour/route_group_menu.h index b588be7838..b29114a145 100644 --- a/gtk2_ardour/route_group_menu.h +++ b/gtk2_ardour/route_group_menu.h @@ -23,25 +23,29 @@ #include "ardour/route_group.h" #include "ardour/session_handle.h" +class RouteGroupDialog; -class RouteGroupMenu : public Gtk::Menu, public ARDOUR::SessionHandlePtr +class RouteGroupMenu : public ARDOUR::SessionHandlePtr { public: RouteGroupMenu (ARDOUR::Session*, PBD::PropertyList*); ~RouteGroupMenu(); - void rebuild (ARDOUR::RouteGroup *); - - sigc::signal GroupSelected; + Gtk::Menu* menu (); + void build (ARDOUR::WeakRouteList const &); + void detach (); private: - void add_item (ARDOUR::RouteGroup *, ARDOUR::RouteGroup *, Gtk::RadioMenuItem::Group*); + void add_item (ARDOUR::RouteGroup *, std::set const &, Gtk::RadioMenuItem::Group*); void new_group (); - void set_group (ARDOUR::RouteGroup *); + void set_group (Gtk::RadioMenuItem*, ARDOUR::RouteGroup *); + void new_group_dialog_finished (int, RouteGroupDialog*); + + Gtk::Menu* _menu; PBD::PropertyList* _default_properties; bool _inhibit_group_selected; - ARDOUR::RouteGroup* _selected_route_group; + ARDOUR::WeakRouteList _subject; }; #endif /* __ardour_gtk_route_group_menu_h__ */