+ Tab * click_to_tab (double, std::list<Tab>::iterator *, std::list<Tab>::iterator *);
+
+ void route_group_property_changed (ARDOUR::RouteGroup *);
+ void route_added_to_route_group (ARDOUR::RouteGroup *, boost::weak_ptr<ARDOUR::Route>);
+ void route_removed_from_route_group (ARDOUR::RouteGroup *, boost::weak_ptr<ARDOUR::Route>);
+
+ Gtk::Menu* _menu;
+ std::list<Tab> _tabs; ///< current list of tabs
+ Tab* _dragging; ///< tab being dragged, or 0
+ /** routes that were in the tab that is being dragged when the drag started */
+ ARDOUR::RouteList _initial_dragging_routes;
+ bool _dragging_new_tab; ///< true if we're dragging a new tab
+ bool _drag_moved; ///< true if there has been movement during any current drag
+ double _drag_fixed; ///< the position of the fixed end of the tab being dragged
+ 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
+ double _drag_min; ///< minimum position for drag
+ double _drag_max; ///< maximum position for drag
+ double _drag_first; ///< first mouse pointer position during drag
+
+ /** colors that have been used for new route group tabs */
+ static std::list<Gdk::Color> _used_colors;