79 #ifndef STAGE_TIMELINE_TIMELINE_LAYOUT_H 80 #define STAGE_TIMELINE_TIMELINE_LAYOUT_H 100 class TrackHeadWidget;
115 Glib::PropertyProxy<int> paneSplitPosition_;
130 Gtk::WidgetPath getBodyWidgetPath()
const;
157 void rehook (
TrackBody&) noexcept
override;
void establishLayout(DisplayEvaluation &) override
TimelineLayout also participates itself in the DisplayEvaluation, notably to set up the basic paramet...
Top-level anchor point for the timeline display (widgets).
Widget to render the body of timeline display, by custom drawing into a canvas control.
Mix-In to implement the DisplayMetric interface on top of a ZoomWindow component, directly embedded h...
Interface to represent _"some presentation layout entity",_ with the ability to attach widgets (manag...
void setupStructure(LayoutElement &)
Allow widgets to connect to a common shared presentation context.
Lumiera's internal time value datatype.
void triggerDisplayEvaluation() override
Perform a complete recursive pass over all elements relevant for layout, reestablish size allocation ...
A collaboration to establish a globally coherent timeline display layout.
void sizeZoomWindow(Gtk::Allocation &)
Signal receiver (slot) to react on changes of the window screen space allocation. ...
Visitor and state holder for a collaborative layout adjustment pass.
Abstraction: service for the widgets to translate themselves into screen layout.
Specialised (abstracted) presentation context with positioning by coordinates.
Lumiera GTK UI implementation root.
void syncZoomWindow(PAdjustment)
Signal receiver (slot) to react on scrollbar changes.
void installRootTrack(TrackHeadWidget &, TrackBody &)
This function is invoked once for each new TimelineWidget, in order to build the starting point for t...
Implementation building block to get the DisplayMetric as defined through a ZoomWindow.
Helper to organise and draw the space allocated for a fork of sub-tracks.
Presentation of the timeline workspace by custom drawing on a canvas.
a family of time value like entities and their relationships.
A set of basic GTK includes for the UI.