X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Froute_group_menu.h;h=5d711ff66f4c911ff5e4949b77d927cbfa2727d9;hb=ba8953605dd8359f0ec8a2aacb51102deda05df7;hp=ba955f64a269f5cedf907ddd4176f94b3a2d6a05;hpb=bb9cc45cd22af67ac275a5e73accbe14fee664d8;p=ardour.git diff --git a/gtk2_ardour/route_group_menu.h b/gtk2_ardour/route_group_menu.h index ba955f64a2..5d711ff66f 100644 --- a/gtk2_ardour/route_group_menu.h +++ b/gtk2_ardour/route_group_menu.h @@ -17,26 +17,31 @@ */ -#include "ardour/route_group.h" +#ifndef __ardour_gtk_route_group_menu_h__ +#define __ardour_gtk_route_group_menu_h__ -namespace ARDOUR { - class Session; -} +#include "ardour/route_group.h" +#include "ardour/session_handle.h" -class RouteGroupMenu : public Gtk::Menu +class RouteGroupMenu : public ARDOUR::SessionHandlePtr { public: - RouteGroupMenu (ARDOUR::Session &, ARDOUR::RouteGroup::Property); + RouteGroupMenu (ARDOUR::Session*, PBD::PropertyList*); + ~RouteGroupMenu(); - void rebuild (ARDOUR::RouteGroup *); + Gtk::Menu* menu (); + void build (ARDOUR::WeakRouteList const &); + void detach (); - sigc::signal GroupSelected; - -private: - void add_item (ARDOUR::RouteGroup *, ARDOUR::RouteGroup *, Gtk::RadioMenuItem::Group*); + private: + void add_item (ARDOUR::RouteGroup *, std::set const &, Gtk::RadioMenuItem::Group*); void new_group (); void set_group (ARDOUR::RouteGroup *); - ARDOUR::Session& _session; - ARDOUR::RouteGroup::Property _default_properties; + Gtk::Menu* _menu; + PBD::PropertyList* _default_properties; + bool _inhibit_group_selected; + ARDOUR::WeakRouteList _subject; }; + +#endif /* __ardour_gtk_route_group_menu_h__ */