Lumiera
0.pre.03
»edit your freedom«
|
#include "stage/timeline/timeline-layout.hpp"
Top-level anchor point for the timeline display (widgets).
The central entity to organise concerns relevant for the presentation of the Timeline as a whole, as opposed to rendering individual tracks as part of the Timeline.
Definition at line 100 of file timeline-layout.hpp.
Public Member Functions | |
TimelineLayout (Gtk::Paned &) | |
Gtk::WidgetPath | getBodyWidgetPath () const |
void | installRootTrack (TrackHeadWidget &, TrackBody &) |
This function is invoked once for each new TimelineWidget, in order to build the starting point for the track widget structure, which then can be extended recursively to add further nested tracks. More... | |
void | setupStructure (LayoutElement &) |
Public Member Functions inherited from ZoomMetric< DisplayManager > | |
TimeValue | applyScreenDelta (Time anchor, double deltaPx) const override |
TimeSpan | coveredTime () const override |
int | translateScreenDelta (Offset timeOffset) const override |
int | translateTimeToPixels (TimeValue startTimePoint) const override |
Public Member Functions inherited from LayoutElement | |
virtual | ~LayoutElement () |
this is an interface | |
Protected Member Functions | |
void | completeLayout (DisplayEvaluation &) override |
void | establishLayout (DisplayEvaluation &) override |
TimelineLayout also participates itself in the DisplayEvaluation, notably to set up the basic parameters for Zoom management. | |
model::ViewHook< TrackBody > & | getBodyHook () override |
model::CanvasHook< Gtk::Widget > & | getClipHook () override |
model::ViewHook< TrackHeadWidget > & | getHeadHook () override |
void | hook (TrackHeadWidget &) override |
void | hook (TrackBody &) override |
void | rehook (TrackHeadWidget &) noexcept override |
void | rehook (TrackBody &) noexcept override |
void | remove (TrackHeadWidget &) override |
void | remove (TrackBody &) override |
void | triggerDisplayEvaluation () override |
Perform a complete recursive pass over all elements relevant for layout, reestablish size allocation and negotiate distribution of available space. More... | |
Protected Member Functions inherited from ViewHook< TrackHeadWidget > | |
virtual | ~ViewHook () |
this is an interface | |
virtual void | hook (TrackHeadWidget &widget)=0 |
virtual void | rehook (TrackHeadWidget &widget) noexcept=0 |
virtual void | remove (TrackHeadWidget &widget)=0 |
void | reOrder (IT newOrder) |
re-attach elements in a given, new order. More... | |
Protected Member Functions inherited from ViewHook< TrackBody > | |
virtual | ~ViewHook () |
this is an interface | |
virtual void | hook (TrackBody &widget)=0 |
virtual void | rehook (TrackBody &widget) noexcept=0 |
virtual void | remove (TrackBody &widget)=0 |
void | reOrder (IT newOrder) |
re-attach elements in a given, new order. More... | |
Protected Member Functions inherited from LayoutElement | |
virtual | ~LayoutElement () |
this is an interface | |
Private Member Functions | |
void | sizeZoomWindow (Gtk::Allocation &) |
Signal receiver (slot) to react on changes of the window screen space allocation. More... | |
void | syncZoomWindow (PAdjustment) |
Signal receiver (slot) to react on scrollbar changes. More... | |
Private Attributes | |
BodyCanvasWidget | bodyCanvas_ |
DisplayEvaluation | displayEvaluation_ |
HeaderPaneWidget | headerPane_ |
Glib::PropertyProxy< int > | paneSplitPosition_ |
Additional Inherited Members | |
Protected Attributes inherited from ZoomMetric< DisplayManager > | |
ZoomWindow | zoomWindow_ |
void installRootTrack | ( | TrackHeadWidget & | head, |
TrackBody & | body | ||
) |
This function is invoked once for each new TimelineWidget, in order to build the starting point for the track widget structure, which then can be extended recursively to add further nested tracks.
anchor the display of the root track into the two display panes
The central problem for this widget hierarchy is that we have to build two matching structures in parallel...
Definition at line 74 of file timeline-layout.cpp.
void setupStructure | ( | LayoutElement & | forkRoot | ) |
Definition at line 89 of file timeline-layout.cpp.
|
overrideprotected |
Perform a complete recursive pass over all elements relevant for layout, reestablish size allocation and negotiate distribution of available space.
Definition at line 111 of file timeline-layout.cpp.
|
private |
Signal receiver (slot) to react on scrollbar changes.
Changes the logical window position in the ZoomWindow to reflect the given #scrollPos, which is interpreted relative to the implicitly known size of the timeline canvas in pixels.
Definition at line 144 of file timeline-layout.cpp.
|
private |
Signal receiver (slot) to react on changes of the window screen space allocation.
Whenever an actual change to the usable window width in pixels is detected, the ZoomWindow will be re-calibrated, in turn leading to a DisplayEvaluation.
Definition at line 157 of file timeline-layout.cpp.