Ardour
9.0-pre0-822-g12e3bc5c20
|
#include <group_tabs.h>
Classes | |
struct | Tab |
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_source_rgb_a (cairo_t *cr, Gdk::Color, float a=1.0) |
static void | set_source_rgb_a (cairo_t *cr, Gtkmm2ext::Color, float a=1.0) |
static void | set_focus_handler (sigc::slot< void, Gtk::Widget * >) |
Static Public Member Functions inherited from Gtkmm2ext::CairoTheme | |
static void | set_flat_buttons (bool yn) |
static void | set_boxy_buttons (bool yn) |
static void | set_widget_prelight (bool yn) |
static bool | flat_buttons () |
static bool | boxy_buttons () |
static bool | widget_prelight () |
Protected Member Functions | |
virtual double | visible_extent () const =0 |
double | extent () const |
double | offset () const |
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 > &) |
void | on_realize () |
bool | on_button_press_event (GdkEventButton *) |
Gdk::Color | get_parent_bg () |
void | on_map () |
void | on_unmap () |
virtual void | on_name_changed () |
Protected Member Functions inherited from ARDOUR::SessionHandlePtr | |
virtual void | session_going_away () |
Protected Attributes | |
bool | _dragging_new_tab |
true if we're dragging a new tab More... | |
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 Private Member Functions | |
static void | emit_gui_changed_for_members (std::shared_ptr< ARDOUR::RouteList >) |
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 | _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... | |
double | _extent |
double | _offset |
bool | _hovering |
PBD::ScopedConnection | _new_route_group_connection |
Static Private Attributes | |
static std::list< Gdk::Color > | _used_colors |
Additional Inherited Members | |
Public Attributes inherited from CairoWidget | |
sigc::signal< void > | StateChanged |
sigc::signal< bool > | QueueDraw |
sigc::signal< bool > | QueueResize |
Static Protected Attributes inherited from CairoWidget | |
static sigc::slot< void, Gtk::Widget * > | 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 48 of file group_tabs.h.
GroupTabs::GroupTabs | ( | ) |
|
virtual |
|
private |
|
inlineprivatevirtual |
Reimplemented in EditorGroupTabs.
Definition at line 118 of file group_tabs.h.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
privatepure virtual |
Compute all the tabs for this widget.
Implemented in RecorderGroupTabs, MixerGroupTabs, and EditorGroupTabs.
|
private |
|
privatepure virtual |
Draw a tab.
cr | Cairo context. |
t | Tab. |
Implemented in RecorderGroupTabs, MixerGroupTabs, and EditorGroupTabs.
|
private |
|
private |
|
staticprivate |
|
inlineprotected |
Definition at line 89 of file group_tabs.h.
Gtk::Menu* GroupTabs::get_menu | ( | ARDOUR::RouteGroup * | g, |
bool | tabArea = false |
||
) |
Create route-group context menu
g | Route group, or 0. |
tabArea | false if context menu is not for a group tab, show the "create new from" items here. When true a given group's context menu for the group g is displayed. |
|
private |
|
private |
|
static |
|
static |
|
private |
|
private |
|
private |
|
private |
|
inlineprotected |
Definition at line 92 of file group_tabs.h.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
privatepure virtual |
Coordinate map (editor, mixer)
x | x-coordinate |
y | y-coordinate |
Implemented in RecorderGroupTabs, MixerGroupTabs, and EditorGroupTabs.
|
private |
|
privatevirtual |
Implements Gtkmm2ext::CairoCanvas.
|
private |
|
private |
|
private |
|
privatepure virtual |
Implemented in RecorderGroupTabs, MixerGroupTabs, and EditorGroupTabs.
void GroupTabs::run_new_group_dialog | ( | ARDOUR::RouteList const * | , |
bool | with_master | ||
) |
|
privatepure virtual |
Implemented in RecorderGroupTabs, MixerGroupTabs, and EditorGroupTabs.
|
private |
void GroupTabs::set_extent | ( | double | ) |
|
static |
void GroupTabs::set_offset | ( | double | ) |
|
virtual |
Reimplemented from ARDOUR::SessionHandlePtr.
|
private |
|
private |
|
private |
|
protectedpure virtual |
Implemented in RecorderGroupTabs, MixerGroupTabs, and EditorGroupTabs.
|
private |
first mouse pointer position during drag
Definition at line 175 of file group_tabs.h.
|
private |
the position of the fixed end of the tab being dragged
Definition at line 170 of file group_tabs.h.
|
private |
maximum position for drag
Definition at line 174 of file group_tabs.h.
|
private |
minimum position for drag
Definition at line 173 of file group_tabs.h.
|
private |
true if there has been movement during any current drag
Definition at line 169 of file group_tabs.h.
|
private |
the position of the moving end of the tab being dragged
Definition at line 171 of file group_tabs.h.
|
private |
offset from the mouse to the end of the tab being dragged
Definition at line 172 of file group_tabs.h.
|
private |
tab being dragged, or 0
Definition at line 166 of file group_tabs.h.
|
protected |
true if we're dragging a new tab
Definition at line 94 of file group_tabs.h.
|
private |
Definition at line 176 of file group_tabs.h.
|
private |
Definition at line 179 of file group_tabs.h.
|
private |
routes that were in the tab that is being dragged when the drag started
Definition at line 168 of file group_tabs.h.
|
private |
Definition at line 164 of file group_tabs.h.
|
mutableprivate |
Definition at line 181 of file group_tabs.h.
|
private |
Definition at line 177 of file group_tabs.h.
|
private |
current list of tabs
Definition at line 165 of file group_tabs.h.
|
staticprivate |
colors that have been used for new route group tabs
Definition at line 184 of file group_tabs.h.