Ardour  9.0-pre0-582-g084a23a80d
ArdourCanvas::Table Class Reference

#include <table.h>

Inheritance diagram for ArdourCanvas::Table:
[legend]

Classes

struct  AxisInfo
 
struct  CellInfo
 
struct  Index
 
struct  index_hash
 

Public Member Functions

 Table (Canvas *)
 
 Table (Item *)
 
void set_row_spacing (Distance s)
 
void set_col_spacing (Distance s)
 
void set_padding (FourDimensions const &padding)
 
void set_homogenous (bool)
 
void set_row_homogenous (bool)
 
void set_col_homogenous (bool)
 
void compute_bounding_box () const
 
void size_request (double &w, double &h) const
 
void size_allocate_children (Rect const &r)
 
void add (Item *)
 
void add_front (Item *)
 
void remove (Item *)
 
void attach (Item *, uint32_t upper_left_x, uint32_t upper_left_y, uint32_t lower_right_x, uint32_t lower_right_y, PackOptions row_options=PackOptions(0), PackOptions col_options=PackOptions(0), FourDimensions padding=FourDimensions(0.))
 
void attach (Item *, uint32_t upper_left_x, uint32_t upper_right_y, PackOptions row_options=PackOptions(0), PackOptions col_options=PackOptions(0), FourDimensions padding=FourDimensions(0.))
 
void attach_with_span (Item *, uint32_t upper_left_x, uint32_t upper_left_y, uint32_t hspan, uint32_t vspan, PackOptions row_options=PackOptions(0), PackOptions col_options=PackOptions(0), FourDimensions padding=FourDimensions(0.))
 
void set_row_size (uint32_t row, Distance)
 
void set_col_size (uint32_t row, Distance)
 
- Public Member Functions inherited from ArdourCanvas::Rectangle
 Rectangle (Canvas *)
 
 Rectangle (Canvas *, Rect const &)
 
 Rectangle (Item *)
 
 Rectangle (Item *, Rect const &)
 
void render (Rect const &, Cairo::RefPtr< Cairo::Context >) const
 
void _size_allocate (Rect const &)
 
Rect const & get () const
 
Coord x0 () const
 
Coord y0 () const
 
Coord x1 () const
 
Coord y1 () const
 
Distance height () const
 
Distance width () const
 
void set (Rect const &)
 
void set_x0 (Coord)
 
void set_y0 (Coord)
 
void set_x1 (Coord)
 
void set_y1 (Coord)
 
double vertical_fraction (double y) const
 
void set_corner_radius (double d)
 
void set_outline_what (What)
 
void set_outline_all ()
 
void dump (std::ostream &) const
 
- Public Member Functions inherited from ArdourCanvas::Item
 Item (Canvas *)
 
 Item (Item *)
 
 Item (Item *, Duple const &p)
 
virtual ~Item ()
 
void redraw () const
 
virtual void prepare_for_render (Rect const &area) const
 
virtual void add_items_at_point (Duple point, std::vector< Item const * > &items) const
 
virtual bool covers (Duple const &point) const
 
void grab ()
 
void ungrab ()
 
void unparent ()
 
void reparent (Item *, bool already_added=false)
 
Itemparent () const
 
uint32_t depth () const
 
const Itemclosest_ancestor_with (const Item &other) const
 
bool common_ancestor_within (uint32_t, const Item &other) const
 
bool is_ancestor_of (const Item &candidate) const
 
bool is_descendant_of (const Item &candidate) const
 
void set_position (Duple)
 
void set_x_position (Coord)
 
void set_y_position (Coord)
 
void move (Duple)
 
Duple position () const
 
Duple window_origin () const
 
Duple canvas_origin () const
 
ScrollGroupscroll_parent () const
 
void set_size_request (double w, double h)
 
void set_size_request_to_display_given_text (const std::vector< std::string > &strings, gint hpadding, gint vpadding)
 
void size_allocate (Rect const &)
 
Rect allocation () const
 
void set_layout_sensitive (bool)
 
bool layout_sensitive () const
 
Rect bounding_box () const
 
Coord height () const
 
Coord width () const
 
Duple item_to_parent (Duple const &) const
 
Rect item_to_parent (Rect const &) const
 
Duple parent_to_item (Duple const &) const
 
Rect parent_to_item (Rect const &) const
 
void canvas_to_item (Coord &, Coord &) const
 
void item_to_canvas (Coord &, Coord &) const
 
Duple canvas_to_item (Duple const &) const
 
Rect item_to_canvas (Rect const &) const
 
Duple item_to_canvas (Duple const &) const
 
Rect canvas_to_item (Rect const &) const
 
Duple item_to_window (Duple const &, bool rounded=true) const
 
Duple window_to_item (Duple const &) const
 
Rect item_to_window (Rect const &, bool rounded=true) const
 
Rect window_to_item (Rect const &) const
 
void raise_to_top ()
 
void raise (int)
 
void lower_to_bottom ()
 
virtual void hide ()
 
virtual void show ()
 
void block_change_notifications ()
 
void unblock_change_notifications ()
 
bool self_visible () const
 
bool visible () const
 
Canvascanvas () const
 
void set_ignore_events (bool)
 
bool ignore_events () const
 
void set_data (std::string const &, void *)
 
void * get_data (std::string const &) const
 
void clear (bool with_delete=false)
 
std::list< Item * > const & items () const
 
void raise_child_to_top (Item *)
 
void raise_child (Item *, int)
 
void lower_child_to_bottom (Item *)
 
PackOptions pack_options () const
 
void set_pack_options (PackOptions)
 
std::string whoami () const
 
const std::string & tooltip () const
 
void set_tooltip (const std::string &)
 
void start_tooltip_timeout ()
 
void stop_tooltip_timeout ()
 
std::string whatami () const
 
bool resize_queued () const
 
void queue_resize ()
 
bool scroll_translation () const
 
void disable_scroll_translation ()
 
Duple position_offset () const
 
- Public Member Functions inherited from ArdourCanvas::Fill
 Fill (Item &self)
 
 Fill (const Fill &)=delete
 
Filloperator= (const Fill &)=delete
 
virtual ~Fill ()
 
virtual void set_fill_color (Gtkmm2ext::Color)
 
virtual void set_fill (bool)
 
Gtkmm2ext::Color fill_color () const
 
bool fill () const
 
void set_gradient (StopList const &stops, bool is_vertical)
 
void set_pattern (Cairo::RefPtr< Cairo::Pattern >)
 
- Public Member Functions inherited from ArdourCanvas::Outline
 Outline (Item &self)
 
 Outline (const Outline &)=delete
 
Outlineoperator= (const Outline &)=delete
 
virtual ~Outline ()
 
Gtkmm2ext::Color outline_color () const
 
virtual void set_outline_color (Gtkmm2ext::Color)
 
Distance outline_width () const
 
virtual void set_outline_width (Distance)
 
bool outline () const
 
virtual void set_outline (bool)
 

Protected Member Functions

void child_changed (bool bbox_changed)
 
- Protected Member Functions inherited from ArdourCanvas::Item
void begin_change ()
 
void end_change ()
 
void begin_visual_change ()
 
void end_visual_change ()
 
void set_bbox_clean () const
 
void set_bbox_dirty () const
 
bool bbox_dirty () const
 
void invalidate_lut () const
 
void clear_items (bool with_delete)
 
void ensure_lut () const
 
void add_child_bounding_boxes (bool include_hidden=false) const
 
void render_children (Rect const &area, Cairo::RefPtr< Cairo::Context > context) const
 
void prepare_for_render_children (Rect const &area) const
 
Duple scroll_offset () const
 
- Protected Member Functions inherited from ArdourCanvas::Fill
void setup_fill_context (Cairo::RefPtr< Cairo::Context >) const
 
void setup_gradient_context (Cairo::RefPtr< Cairo::Context >, Rect const &, Duple const &) const
 
- Protected Member Functions inherited from ArdourCanvas::Outline
void setup_outline_context (Cairo::RefPtr< Cairo::Context >) const
 

Private Types

typedef std::unordered_map< Index, CellInfo, index_hashCells
 
typedef std::vector< AxisInfoAxisInfos
 

Private Member Functions

void _add (Item *)
 
void _add_front (Item *)
 
void _remove (Item *)
 
void layout ()
 
Duple compute (Rect const &)
 

Private Attributes

FourDimensions padding
 
FourDimensions margin
 
Distance row_spacing
 
Distance col_spacing
 
bool collapse_on_hide
 
bool row_homogenous
 
bool col_homogenous
 
bool draw_hgrid
 
bool draw_vgrid
 
bool ignore_child_changes
 
Cells cells
 
AxisInfos row_info
 
AxisInfos col_info
 

Additional Inherited Members

- Public Types inherited from ArdourCanvas::Rectangle
enum  What {
  NOTHING = 0x0 , LEFT = 0x1 , RIGHT = 0x2 , TOP = 0x4 ,
  BOTTOM = 0x8 , ALL = LEFT|RIGHT|TOP|BOTTOM
}
 
- Public Types inherited from ArdourCanvas::Fill
typedef std::vector< std::pair< double, Gtkmm2ext::Color > > StopList
 
- Public Attributes inherited from ArdourCanvas::Item
sigc::signal1< bool, GdkEvent *, EventAccumulator< bool > > Event
 
bool _resize_queued
 
double _requested_width
 
double _requested_height
 
- Static Public Attributes inherited from ArdourCanvas::Item
static int default_items_per_cell
 
- Protected Attributes inherited from ArdourCanvas::Rectangle
Rect _rect
 
- Protected Attributes inherited from ArdourCanvas::Item
Canvas_canvas
 
Item_parent
 
ScrollGroup_scroll_parent
 
Duple _position
 
bool _visible
 
Rect _pre_change_bounding_box
 
Rect _bounding_box
 
PackOptions _pack_options
 
Rect _allocation
 
bool _layout_sensitive
 
std::map< std::string, void * > _data
 
LookupTable_lut
 
std::list< Item * > _items
 
- Protected Attributes inherited from ArdourCanvas::Fill
Item_self
 
Gtkmm2ext::Color _fill_color
 
bool _fill
 
bool _transparent
 
StopList _stops
 
bool _vertical_gradient
 
Cairo::RefPtr< Cairo::Pattern > _pattern
 
- Protected Attributes inherited from ArdourCanvas::Outline
Item_self
 
Gtkmm2ext::Color _outline_color
 
Distance _outline_width
 
bool _outline
 

Detailed Description

Definition at line 31 of file canvas/canvas/table.h.

Member Typedef Documentation

◆ AxisInfos

typedef std::vector<AxisInfo> ArdourCanvas::Table::AxisInfos
private

Definition at line 164 of file canvas/canvas/table.h.

◆ Cells

typedef std::unordered_map<Index, CellInfo, index_hash> ArdourCanvas::Table::Cells
private

Definition at line 137 of file canvas/canvas/table.h.

Constructor & Destructor Documentation

◆ Table() [1/2]

ArdourCanvas::Table::Table ( Canvas )

◆ Table() [2/2]

ArdourCanvas::Table::Table ( Item )

Member Function Documentation

◆ _add()

void ArdourCanvas::Table::_add ( Item )
private

◆ _add_front()

void ArdourCanvas::Table::_add_front ( Item )
private

◆ _remove()

void ArdourCanvas::Table::_remove ( Item )
private

◆ add()

void ArdourCanvas::Table::add ( Item )
virtual

Reimplemented from ArdourCanvas::Item.

◆ add_front()

void ArdourCanvas::Table::add_front ( Item )
virtual

Reimplemented from ArdourCanvas::Item.

◆ attach() [1/2]

void ArdourCanvas::Table::attach ( Item ,
uint32_t  upper_left_x,
uint32_t  upper_left_y,
uint32_t  lower_right_x,
uint32_t  lower_right_y,
PackOptions  row_options = PackOptions(0),
PackOptions  col_options = PackOptions(0),
FourDimensions  padding = FourDimensions(0.) 
)

◆ attach() [2/2]

void ArdourCanvas::Table::attach ( Item ,
uint32_t  upper_left_x,
uint32_t  upper_right_y,
PackOptions  row_options = PackOptions(0),
PackOptions  col_options = PackOptions(0),
FourDimensions  padding = FourDimensions(0.) 
)

◆ attach_with_span()

void ArdourCanvas::Table::attach_with_span ( Item ,
uint32_t  upper_left_x,
uint32_t  upper_left_y,
uint32_t  hspan,
uint32_t  vspan,
PackOptions  row_options = PackOptions(0),
PackOptions  col_options = PackOptions(0),
FourDimensions  padding = FourDimensions(0.) 
)

◆ child_changed()

void ArdourCanvas::Table::child_changed ( bool  bbox_changed)
protectedvirtual

Reimplemented from ArdourCanvas::Item.

◆ compute()

Duple ArdourCanvas::Table::compute ( Rect const &  )
private

◆ compute_bounding_box()

void ArdourCanvas::Table::compute_bounding_box ( ) const
virtual

Update _bounding_box and _bounding_box_dirty

Reimplemented from ArdourCanvas::Rectangle.

◆ layout()

void ArdourCanvas::Table::layout ( )
privatevirtual

Reimplemented from ArdourCanvas::Item.

◆ remove()

void ArdourCanvas::Table::remove ( Item )
virtual

Reimplemented from ArdourCanvas::Item.

◆ set_col_homogenous()

void ArdourCanvas::Table::set_col_homogenous ( bool  )

◆ set_col_size()

void ArdourCanvas::Table::set_col_size ( uint32_t  row,
Distance   
)

◆ set_col_spacing()

void ArdourCanvas::Table::set_col_spacing ( Distance  s)

◆ set_homogenous()

void ArdourCanvas::Table::set_homogenous ( bool  )

◆ set_padding()

void ArdourCanvas::Table::set_padding ( FourDimensions const &  padding)

◆ set_row_homogenous()

void ArdourCanvas::Table::set_row_homogenous ( bool  )

◆ set_row_size()

void ArdourCanvas::Table::set_row_size ( uint32_t  row,
Distance   
)

◆ set_row_spacing()

void ArdourCanvas::Table::set_row_spacing ( Distance  s)

◆ size_allocate_children()

void ArdourCanvas::Table::size_allocate_children ( Rect const &  r)
virtual

Reimplemented from ArdourCanvas::Item.

◆ size_request()

void ArdourCanvas::Table::size_request ( double &  w,
double &  h 
) const
virtual

Reimplemented from ArdourCanvas::Rectangle.

Member Data Documentation

◆ cells

Cells ArdourCanvas::Table::cells
private

Definition at line 138 of file canvas/canvas/table.h.

◆ col_homogenous

bool ArdourCanvas::Table::col_homogenous
private

Definition at line 100 of file canvas/canvas/table.h.

◆ col_info

AxisInfos ArdourCanvas::Table::col_info
private

Definition at line 166 of file canvas/canvas/table.h.

◆ col_spacing

Distance ArdourCanvas::Table::col_spacing
private

Definition at line 97 of file canvas/canvas/table.h.

◆ collapse_on_hide

bool ArdourCanvas::Table::collapse_on_hide
private

Definition at line 98 of file canvas/canvas/table.h.

◆ draw_hgrid

bool ArdourCanvas::Table::draw_hgrid
private

Definition at line 101 of file canvas/canvas/table.h.

◆ draw_vgrid

bool ArdourCanvas::Table::draw_vgrid
private

Definition at line 102 of file canvas/canvas/table.h.

◆ ignore_child_changes

bool ArdourCanvas::Table::ignore_child_changes
mutableprivate

Definition at line 104 of file canvas/canvas/table.h.

◆ margin

FourDimensions ArdourCanvas::Table::margin
private

Definition at line 95 of file canvas/canvas/table.h.

◆ padding

FourDimensions ArdourCanvas::Table::padding
private

Definition at line 94 of file canvas/canvas/table.h.

◆ row_homogenous

bool ArdourCanvas::Table::row_homogenous
private

Definition at line 99 of file canvas/canvas/table.h.

◆ row_info

AxisInfos ArdourCanvas::Table::row_info
private

Definition at line 165 of file canvas/canvas/table.h.

◆ row_spacing

Distance ArdourCanvas::Table::row_spacing
private

Definition at line 96 of file canvas/canvas/table.h.


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