46 : paneSplitPosition_{topLevelContainer.property_position()}
48 , headerPane_{bodyCanvas_.get_vadjustment()}
49 , displayEvaluation_{}
81 signalStructureChange_();
146 double pos = hadj->get_value();
159 int contentWidthPx = alloc.get_width();
181 signalStructureChange_();
201 NOTREACHED (
"TimelineLayout: top-Level must not be re-ordered");
207 NOTREACHED (
"TimelineLayout: top-Level must not be re-ordered");
Expecting Advice and giving Advice: a cross-cutting collaboration of loosely coupled participants.
A time interval anchored at a specific point in time.
basic constant internal time value.
Lumiera's internal time value datatype.
int translateTimeToPixels(TimeValue startTimePoint) const override
TimeValue applyScreenDelta(Time anchor, double deltaPx) const override
TimeSpan overallSpan() const
void calibrateExtension(uint pxWidth)
Define the extension of the window in pixels.
void attachChangeNotification(FUN &&trigger)
Attach a λ or functor to be triggered on each actual change.
void setVisibleStart(TimeValue start)
void installForkRoot(TrackBody &rootTrackBody)
The Lumiera Timeline model does not rely on a list of tracks, as most conventional video editing soft...
Visitor and state holder for a collaborative layout adjustment pass.
void perform()
Conduct global passes over the wired layout elements, in order to adjust and coordinate the overall t...
void attach(LayoutElement &e)
DisplayEvaluation displayEvaluation_
HeaderPaneWidget headerPane_
void remove(TrackHeadWidget &) override
void setupStructure(LayoutElement &)
void syncZoomWindow(PAdjustment)
Signal receiver (slot) to react on scrollbar changes.
void establishLayout(DisplayEvaluation &) override
TimelineLayout also participates itself in the DisplayEvaluation, notably to set up the basic paramet...
Gtk::WidgetPath getBodyWidgetPath() const
void completeLayout(DisplayEvaluation &) override
TimelineLayout(Gtk::Paned &)
void triggerDisplayEvaluation() override
Perform a complete recursive pass over all elements relevant for layout, reestablish size allocation ...
void rehook(TrackHeadWidget &) noexcept override
void hook(TrackHeadWidget &) override
void sizeZoomWindow(Gtk::Allocation &)
Signal receiver (slot) to react on changes of the window screen space allocation.
void installRootTrack(TrackHeadWidget &, TrackBody &)
This function is invoked once for each new TimelineWidget, in order to build the starting point for t...
BodyCanvasWidget bodyCanvas_
Helper to organise and draw the space allocated for a fork of sub-tracks.
DisplayManager::SignalStructureChange signalStructureChange_
A set of basic GTK includes for the UI.
boost::rational< int64_t > FSecs
rational representation of fractional seconds
Glib::RefPtr< Gtk::Adjustment > PAdjustment
Lumiera GTK UI implementation root.
A core service of the timeline UI to ensure consistent display and layout of all components within th...
a family of time value like entities and their relationships.
This helper class serves to manage the layout and display of the horizontally extended space of a "tr...