20 #include <gtkmm/menu.h>
80 virtual void draw_tab (cairo_t* cr,
Tab const & t)
const = 0;
91 virtual double extent ()
const = 0;
111 void render (cairo_t *, cairo_rectangle_t*);
117 Tab *
click_to_tab (
double, std::list<Tab>::iterator *, std::list<Tab>::iterator *);
bool _drag_moved
true if there has been movement during any current drag
std::list< Tab > _tabs
current list of tabs
void new_from_rec_enabled()
double _drag_moving
the position of the moving end of the tab being dragged
double _drag_offset
offset from the mouse to the end of the tab being dragged
Tab * _dragging
tab being dragged, or 0
bool _dragging_new_tab
true if we're dragging a new tab
void route_removed_from_route_group(ARDOUR::RouteGroup *, boost::weak_ptr< ARDOUR::Route >)
static void set_group_color(ARDOUR::RouteGroup *, uint32_t)
void route_added_to_route_group(ARDOUR::RouteGroup *, boost::weak_ptr< ARDOUR::Route >)
void remove_group(ARDOUR::RouteGroup *)
virtual ARDOUR::RouteList selected_routes() const =0
double _drag_max
maximum position for drag
void subgroup(ARDOUR::RouteGroup *, bool, ARDOUR::Placement)
void collect(ARDOUR::RouteGroup *)
virtual void add_menu_items(Gtk::Menu *, ARDOUR::RouteGroup *)
void route_group_property_changed(ARDOUR::RouteGroup *)
void set_session(ARDOUR::Session *)
Gtk::Menu * get_menu(ARDOUR::RouteGroup *g)
double _drag_fixed
the position of the fixed end of the tab being dragged
void new_from_selection()
bool on_button_release_event(GdkEventButton *)
static void emit_gui_changed_for_members(ARDOUR::RouteGroup *)
Tab * click_to_tab(double, std::list< Tab >::iterator *, std::list< Tab >::iterator *)
double _drag_min
minimum position for drag
ARDOUR::RouteGroup * create_and_add_group() const
virtual void draw_tab(cairo_t *cr, Tab const &t) const =0
virtual PBD::PropertyList default_properties() const
virtual void sync_order_keys()=0
void un_subgroup(ARDOUR::RouteGroup *)
virtual double extent() const =0
void set_activation(ARDOUR::RouteGroup *, bool)
virtual ARDOUR::RouteList routes_for_tab(Tab const *t) const =0
void render(cairo_t *, cairo_rectangle_t *)
bool on_button_press_event(GdkEventButton *)
static uint32_t group_color(ARDOUR::RouteGroup *)
void on_size_request(Gtk::Requisition *)
double _drag_first
first mouse pointer position during drag
virtual std::list< Tab > compute_tabs() const =0
ARDOUR::RouteGroup * group
route group
bool on_motion_notify_event(GdkEventMotion *)
void edit_group(ARDOUR::RouteGroup *)
static std::string group_gui_id(ARDOUR::RouteGroup *)
static std::list< Gdk::Color > _used_colors
std::list< boost::shared_ptr< Route > > RouteList
virtual double primary_coordinate(double, double) const =0
void run_new_group_dialog(ARDOUR::RouteList const &)
ARDOUR::RouteList _initial_dragging_routes