31#ifndef STAGE_TIMELINE_TRACK_BODY_H
32#define STAGE_TIMELINE_TRACK_BODY_H
93 using PRuler = std::unique_ptr<RulerTrack>;
Interface to represent _"some presentation layout entity",_ with the ability to attach widgets (manag...
sigc::signal< void > SignalStructureChange
Helper to organise and draw the space allocated for a fork of sub-tracks.
std::vector< TrackBody * > SubTracks
DisplayManager::SignalStructureChange signalStructureChange_
void rehook(TrackBody &) noexcept override
std::vector< PRuler > Rulers
uint calcContentHeight() const
void accommodateContentHeight(uint contentExtension)
ensure content with the given extension can be accommodated within this track's content area
static Decoration decoration
storage for common style/padding settings
void setTrackName(cuString &)
uint establishTrackSpace(TrackProfile &)
recursively establish the screen space allocation for this structure of nested tracks.
uint calcHeight() const
recursively calculate the height in pixels to display this track, including all nested sub-tracks and...
uint getContentOffsetY() const
uint calcRulerHeight() const
sum up the vertical extension required by all overview rulers.
std::unique_ptr< RulerTrack > PRuler
void hook(TrackBody &) override
uint calcSubtrackHeight() const
void remove(TrackBody &) override
Description of the structure and arrangement of tracks for display in the UI.
Abstraction: service for the widgets to translate themselves into screen layout.
A set of basic GTK includes for the UI.
std::array< uint, 6 > Borders
Borders borders
width of up to 6 levels of combined upward slope borders (defined in CSS)
Configure additional vertical padding for the decorations added through CSS.
Lumiera GTK UI implementation root.
Timeline presentation helper to organise drawing of the overview rulers.
Allow widgets to connect to a common shared presentation context.