+ virtual void add_menu_items (Gtk::Menu *, ARDOUR::RouteGroup *) {}
+ virtual ARDOUR::RouteList selected_routes () const = 0;
+
+ void add_new_from_items (Gtk::Menu_Helpers::MenuList&);
+
+ void new_from_selection (bool with_master);
+ void new_from_rec_enabled (bool with_master);
+ void new_from_soloed (bool with_master);
+
+ void new_group_dialog_finished (int, RouteGroupDialog*, ARDOUR::RouteList const *, bool with_master) const;
+ void edit_group_dialog_finished (int, RouteGroupDialog*) const;
+
+ void collect (ARDOUR::RouteGroup *);
+ void set_activation (ARDOUR::RouteGroup *, bool);
+ void edit_group (ARDOUR::RouteGroup *);
+ void subgroup (ARDOUR::RouteGroup *, bool, ARDOUR::Placement);
+ void un_subgroup (ARDOUR::RouteGroup *);
+ void activate_all ();
+ void disable_all ();
+ void remove_group (ARDOUR::RouteGroup *);
+
+ void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);