ardour
Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PortMatrixBody Class Reference

#include <port_matrix_body.h>

Inheritance diagram for PortMatrixBody:

Public Member Functions

 PortMatrixBody (PortMatrix *)
 
 ~PortMatrixBody ()
 
void setup ()
 
uint32_t full_scroll_width ()
 
uint32_t alloc_scroll_width ()
 
uint32_t full_scroll_height ()
 
uint32_t alloc_scroll_height ()
 
uint32_t xoffset () const
 
void set_xoffset (uint32_t)
 
uint32_t yoffset () const
 
void set_yoffset (uint32_t)
 
void rebuild_and_draw_grid ()
 
void set_mouseover (PortMatrixNode const &)
 
void set_mouseover (std::list< PortMatrixNode > const &)
 
std::list< PortMatrixNodemouseover () const
 
void highlight_associated_channels (int, ARDOUR::BundleChannel)
 
void component_size_changed ()
 
std::pair< uint32_t, uint32_t > max_size () const
 
uint32_t column_labels_border_x () const
 
uint32_t column_labels_height () const
 

Public Attributes

sigc::signal< void > DimensionsChanged
 

Protected Member Functions

bool on_expose_event (GdkEventExpose *)
 
void on_size_request (Gtk::Requisition *)
 
void on_size_allocate (Gtk::Allocation &)
 
bool on_button_press_event (GdkEventButton *)
 
bool on_button_release_event (GdkEventButton *)
 
bool on_leave_notify_event (GdkEventCrossing *)
 
bool on_motion_notify_event (GdkEventMotion *)
 

Private Member Functions

void compute_rectangles ()
 
void rebuild_and_draw_column_labels ()
 
void rebuild_and_draw_row_labels ()
 
void update_bundles ()
 
void set_cairo_clip (cairo_t *, Gdk::Rectangle const &) const
 

Private Attributes

PortMatrix_matrix
 
PortMatrixColumnLabels_column_labels
 
PortMatrixRowLabels_row_labels
 
PortMatrixGrid_grid
 
std::list< PortMatrixComponent * > _components
 
uint32_t _alloc_width
 allocated width More...
 
uint32_t _alloc_height
 allocated height More...
 
uint32_t _xoffset
 
uint32_t _yoffset
 
uint32_t _column_labels_border_x
 
uint32_t _column_labels_height
 
std::list< PortMatrixNode_mouseover
 
bool _ignore_component_size_changed
 
PBD::ScopedConnectionList _bundle_connections
 

Detailed Description

The main body of the port matrix. It is made up of three parts: column labels, grid and row labels, each drawn using cairo.

Definition at line 36 of file port_matrix_body.h.

Constructor & Destructor Documentation

PortMatrixBody::PortMatrixBody ( PortMatrix p)

Definition at line 35 of file port_matrix_body.cc.

PortMatrixBody::~PortMatrixBody ( )

Definition at line 57 of file port_matrix_body.cc.

Member Function Documentation

uint32_t PortMatrixBody::alloc_scroll_height ( )

Definition at line 308 of file port_matrix_body.cc.

uint32_t PortMatrixBody::alloc_scroll_width ( )

Definition at line 296 of file port_matrix_body.cc.

uint32_t PortMatrixBody::column_labels_border_x ( ) const
Returns
x position at which the column labels meet the border of the matrix

Definition at line 527 of file port_matrix_body.cc.

uint32_t PortMatrixBody::column_labels_height ( ) const

Definition at line 533 of file port_matrix_body.cc.

void PortMatrixBody::component_size_changed ( )

Definition at line 505 of file port_matrix_body.cc.

void PortMatrixBody::compute_rectangles ( )
private

Definition at line 183 of file port_matrix_body.cc.

uint32_t PortMatrixBody::full_scroll_height ( )

Definition at line 302 of file port_matrix_body.cc.

uint32_t PortMatrixBody::full_scroll_width ( )

Definition at line 289 of file port_matrix_body.cc.

void PortMatrixBody::highlight_associated_channels ( int  dim,
ARDOUR::BundleChannel  h 
)

Definition at line 456 of file port_matrix_body.cc.

pair< uint32_t, uint32_t > PortMatrixBody::max_size ( ) const

Definition at line 516 of file port_matrix_body.cc.

std::list<PortMatrixNode> PortMatrixBody::mouseover ( ) const
inline

Definition at line 62 of file port_matrix_body.h.

bool PortMatrixBody::on_button_press_event ( GdkEventButton *  ev)
protected

Definition at line 330 of file port_matrix_body.cc.

bool PortMatrixBody::on_button_release_event ( GdkEventButton *  ev)
protected

Definition at line 346 of file port_matrix_body.cc.

bool PortMatrixBody::on_expose_event ( GdkEventExpose *  event)
protected

Definition at line 65 of file port_matrix_body.cc.

bool PortMatrixBody::on_leave_notify_event ( GdkEventCrossing *  ev)
protected

Definition at line 388 of file port_matrix_body.cc.

bool PortMatrixBody::on_motion_notify_event ( GdkEventMotion *  ev)
protected

Definition at line 398 of file port_matrix_body.cc.

void PortMatrixBody::on_size_allocate ( Gtk::Allocation &  alloc)
protected

Definition at line 171 of file port_matrix_body.cc.

void PortMatrixBody::on_size_request ( Gtk::Requisition *  req)
protected

Definition at line 146 of file port_matrix_body.cc.

void PortMatrixBody::rebuild_and_draw_column_labels ( )
private

Definition at line 374 of file port_matrix_body.cc.

void PortMatrixBody::rebuild_and_draw_grid ( )

Definition at line 367 of file port_matrix_body.cc.

void PortMatrixBody::rebuild_and_draw_row_labels ( )
private

Definition at line 381 of file port_matrix_body.cc.

void PortMatrixBody::set_cairo_clip ( cairo_t *  cr,
Gdk::Rectangle const &  r 
) const
private

Definition at line 498 of file port_matrix_body.cc.

void PortMatrixBody::set_mouseover ( PortMatrixNode const &  n)

Definition at line 422 of file port_matrix_body.cc.

void PortMatrixBody::set_mouseover ( std::list< PortMatrixNode > const &  n)

Definition at line 430 of file port_matrix_body.cc.

void PortMatrixBody::set_xoffset ( uint32_t  xo)

Set x offset (for scrolling)

Definition at line 315 of file port_matrix_body.cc.

void PortMatrixBody::set_yoffset ( uint32_t  yo)

Set y offset (for scrolling)

Definition at line 323 of file port_matrix_body.cc.

void PortMatrixBody::setup ( )

Definition at line 253 of file port_matrix_body.cc.

void PortMatrixBody::update_bundles ( )
private
uint32_t PortMatrixBody::xoffset ( ) const
inline

Definition at line 49 of file port_matrix_body.h.

uint32_t PortMatrixBody::yoffset ( ) const
inline

Definition at line 53 of file port_matrix_body.h.

Member Data Documentation

uint32_t PortMatrixBody::_alloc_height
private

allocated height

Definition at line 98 of file port_matrix_body.h.

uint32_t PortMatrixBody::_alloc_width
private

allocated width

Definition at line 97 of file port_matrix_body.h.

PBD::ScopedConnectionList PortMatrixBody::_bundle_connections
private

Definition at line 107 of file port_matrix_body.h.

PortMatrixColumnLabels* PortMatrixBody::_column_labels
private

Definition at line 92 of file port_matrix_body.h.

uint32_t PortMatrixBody::_column_labels_border_x
private

Definition at line 101 of file port_matrix_body.h.

uint32_t PortMatrixBody::_column_labels_height
private

Definition at line 102 of file port_matrix_body.h.

std::list<PortMatrixComponent*> PortMatrixBody::_components
private

Definition at line 95 of file port_matrix_body.h.

PortMatrixGrid* PortMatrixBody::_grid
private

Definition at line 94 of file port_matrix_body.h.

bool PortMatrixBody::_ignore_component_size_changed
private

Definition at line 105 of file port_matrix_body.h.

PortMatrix* PortMatrixBody::_matrix
private

Definition at line 91 of file port_matrix_body.h.

std::list<PortMatrixNode> PortMatrixBody::_mouseover
private

Definition at line 104 of file port_matrix_body.h.

PortMatrixRowLabels* PortMatrixBody::_row_labels
private

Definition at line 93 of file port_matrix_body.h.

uint32_t PortMatrixBody::_xoffset
private

Definition at line 99 of file port_matrix_body.h.

uint32_t PortMatrixBody::_yoffset
private

Definition at line 100 of file port_matrix_body.h.

sigc::signal<void> PortMatrixBody::DimensionsChanged

Definition at line 73 of file port_matrix_body.h.


The documentation for this class was generated from the following files: