ardour
|
#include <group_tabs.h>
Classes | |
struct | Tab |
Public Member Functions | |
GroupTabs () | |
virtual | ~GroupTabs () |
void | set_session (ARDOUR::Session *) |
Gtk::Menu * | get_menu (ARDOUR::RouteGroup *g) |
void | run_new_group_dialog (ARDOUR::RouteList const &) |
Public Member Functions inherited from CairoWidget | |
CairoWidget () | |
virtual | ~CairoWidget () |
void | set_dirty () |
Gtkmm2ext::ActiveState | active_state () const |
Gtkmm2ext::VisualState | visual_state () const |
virtual void | set_active_state (Gtkmm2ext::ActiveState) |
virtual void | set_visual_state (Gtkmm2ext::VisualState) |
void | unset_active_state () |
void | unset_visual_state () |
void | set_active (bool) |
bool | get_active () |
void | set_draw_background (bool yn) |
Public Member Functions inherited from ARDOUR::SessionHandlePtr | |
SessionHandlePtr (ARDOUR::Session *s) | |
SessionHandlePtr () | |
virtual | ~SessionHandlePtr () |
Static Public Member Functions | |
static void | set_group_color (ARDOUR::RouteGroup *, uint32_t) |
static std::string | group_gui_id (ARDOUR::RouteGroup *) |
static uint32_t | group_color (ARDOUR::RouteGroup *) |
Static Public Member Functions inherited from CairoWidget | |
static void | provide_background_for_cairo_widget (Gtk::Widget &w, const Gdk::Color &bg) |
static void | set_flat_buttons (bool yn) |
static bool | flat_buttons () |
static void | set_widget_prelight (bool yn) |
static bool | widget_prelight () |
static void | set_source_rgb_a (cairo_t *cr, Gdk::Color, float a=1.0) |
static void | set_focus_handler (sigc::slot< void >) |
Static Private Member Functions | |
static void | emit_gui_changed_for_members (ARDOUR::RouteGroup *) |
Private Attributes | |
Gtk::Menu * | _menu |
std::list< Tab > | _tabs |
current list of tabs More... | |
Tab * | _dragging |
tab being dragged, or 0 More... | |
ARDOUR::RouteList | _initial_dragging_routes |
bool | _dragging_new_tab |
true if we're dragging a new tab More... | |
bool | _drag_moved |
true if there has been movement during any current drag More... | |
double | _drag_fixed |
the position of the fixed end of the tab being dragged More... | |
double | _drag_moving |
the position of the moving end of the tab being dragged More... | |
double | _drag_offset |
offset from the mouse to the end of the tab being dragged More... | |
double | _drag_min |
minimum position for drag More... | |
double | _drag_max |
maximum position for drag More... | |
double | _drag_first |
first mouse pointer position during drag More... | |
Static Private Attributes | |
static std::list< Gdk::Color > | _used_colors |
Additional Inherited Members | |
Public Attributes inherited from CairoWidget | |
sigc::signal< void > | StateChanged |
Protected Member Functions inherited from CairoWidget | |
virtual bool | on_expose_event (GdkEventExpose *) |
void | on_size_allocate (Gtk::Allocation &) |
void | on_state_changed (Gtk::StateType) |
void | on_style_changed (const Glib::RefPtr< Gtk::Style > &) |
bool | on_button_press_event (GdkEventButton *) |
Gdk::Color | get_parent_bg () |
virtual void | on_name_changed () |
Protected Member Functions inherited from ARDOUR::SessionHandlePtr | |
virtual void | session_going_away () |
Protected Attributes inherited from CairoWidget | |
Gtkmm2ext::ActiveState | _active_state |
Gtkmm2ext::VisualState | _visual_state |
bool | _need_bg |
bool | _grabbed |
Protected Attributes inherited from ARDOUR::SessionHandlePtr | |
ARDOUR::Session * | _session |
PBD::ScopedConnectionList | _session_connections |
Static Protected Attributes inherited from CairoWidget | |
static bool | _flat_buttons = false |
static bool | _widget_prelight = true |
static sigc::slot< void > | focus_handler |
Parent class for tabs which represent route groups as colored tabs; Currently used on the left-hand side of the editor and at the top of the mixer.
This class also contains a fair bit of code to handle changes to route group colours; it seems a bit out of place, but I could not really think of a better place to put it.
Definition at line 38 of file group_tabs.h.
GroupTabs::GroupTabs | ( | ) |
Definition at line 43 of file group_tabs.cc.
|
virtual |
Definition at line 52 of file group_tabs.cc.
|
private |
Definition at line 533 of file group_tabs.cc.
|
inlineprivatevirtual |
Reimplemented in EditorGroupTabs.
Definition at line 93 of file group_tabs.h.
|
private |
Convert a click position to a tab.
c | Click position. |
prev | Filled in with the previous tab to the click, or _tabs.end(). |
next | Filled in with the next tab after the click, or _tabs.end(). |
Definition at line 274 of file group_tabs.cc.
|
private |
Collect all members of a RouteGroup so that they are together in the Editor or Mixer.
g | Group to collect. |
Definition at line 489 of file group_tabs.cc.
|
privatepure virtual |
Compute all the tabs for this widget.
Implemented in EditorGroupTabs, and MixerGroupTabs.
|
private |
Definition at line 437 of file group_tabs.cc.
|
privatevirtual |
Definition at line 399 of file group_tabs.cc.
|
private |
Definition at line 541 of file group_tabs.cc.
|
privatepure virtual |
|
private |
Definition at line 455 of file group_tabs.cc.
|
staticprivate |
Definition at line 690 of file group_tabs.cc.
|
privatepure virtual |
Implemented in EditorGroupTabs, and MixerGroupTabs.
Gtk::Menu * GroupTabs::get_menu | ( | ARDOUR::RouteGroup * | g | ) |
g | Route group, or 0. |
Definition at line 304 of file group_tabs.cc.
|
static |
Definition at line 616 of file group_tabs.cc.
|
static |
Definition at line 604 of file group_tabs.cc.
|
private |
Definition at line 359 of file group_tabs.cc.
|
private |
Definition at line 348 of file group_tabs.cc.
|
private |
Definition at line 379 of file group_tabs.cc.
|
private |
Definition at line 90 of file group_tabs.cc.
|
private |
Definition at line 189 of file group_tabs.cc.
|
private |
Definition at line 159 of file group_tabs.cc.
|
private |
|
privatepure virtual |
x | x coordinate |
y | y coordinate |
Implemented in EditorGroupTabs, and MixerGroupTabs.
|
private |
Definition at line 555 of file group_tabs.cc.
|
privatevirtual |
Implements CairoWidget.
Definition at line 244 of file group_tabs.cc.
|
private |
Definition at line 660 of file group_tabs.cc.
|
private |
Definition at line 647 of file group_tabs.cc.
|
private |
Definition at line 675 of file group_tabs.cc.
|
privatepure virtual |
Implemented in EditorGroupTabs, and MixerGroupTabs.
void GroupTabs::run_new_group_dialog | ( | ARDOUR::RouteList const & | rl | ) |
Definition at line 419 of file group_tabs.cc.
|
privatepure virtual |
Implemented in EditorGroupTabs, and MixerGroupTabs.
|
private |
Definition at line 549 of file group_tabs.cc.
|
static |
Set the color of the tab of a route group
Definition at line 562 of file group_tabs.cc.
|
virtual |
Reimplemented from ARDOUR::SessionHandlePtr.
Definition at line 58 of file group_tabs.cc.
|
private |
Definition at line 462 of file group_tabs.cc.
|
privatepure virtual |
Implemented in EditorGroupTabs, and MixerGroupTabs.
|
private |
Definition at line 468 of file group_tabs.cc.
|
private |
first mouse pointer position during drag
Definition at line 135 of file group_tabs.h.
|
private |
the position of the fixed end of the tab being dragged
Definition at line 130 of file group_tabs.h.
|
private |
maximum position for drag
Definition at line 134 of file group_tabs.h.
|
private |
minimum position for drag
Definition at line 133 of file group_tabs.h.
|
private |
true if there has been movement during any current drag
Definition at line 129 of file group_tabs.h.
|
private |
the position of the moving end of the tab being dragged
Definition at line 131 of file group_tabs.h.
|
private |
offset from the mouse to the end of the tab being dragged
Definition at line 132 of file group_tabs.h.
|
private |
tab being dragged, or 0
Definition at line 125 of file group_tabs.h.
|
private |
true if we're dragging a new tab
Definition at line 128 of file group_tabs.h.
|
private |
routes that were in the tab that is being dragged when the drag started
Definition at line 127 of file group_tabs.h.
|
private |
Definition at line 123 of file group_tabs.h.
|
private |
current list of tabs
Definition at line 124 of file group_tabs.h.
|
staticprivate |
colors that have been used for new route group tabs
Definition at line 138 of file group_tabs.h.