34 using std::unique_ptr;
46 : timelineID_{identity}
47 , rootTrackID_{trackID}
56 , timelineID_{r.timelineID_}
57 , rootTrackID_{r.rootTrackID_}
61 : WLink{std::move (rr)}
62 , timelineID_{rr.timelineID_}
63 , rootTrackID_{rr.rootTrackID_}
66 TimelineGui::~TimelineGui()
69 TODO (
"cascading destruction of the TimelineWidget");
85 unique_ptr<TimelinePage>
89 unique_ptr<TimelinePage> pageHandle {widget =
new TimelineWidget{timelineID_, rootTrackID_, nexus}};
104 if (this->isActive())
105 operator*().buildMutator (buffer);
109 .ignoreAllChanges());
smart-Handle as anchor point for "the UI representation" of a timeline.
connection point at the UI-Bus.
TimelineGui(ID identity, ID trackID)
Initially, TimelineGui is just an empty placeholder handle.
Anchor point and placeholder for the UI representation of a Timeline from the session.
std::unique_ptr< TimelinePage > buildTimelineWidget(BusTerm &)
actually build a TimelineWidget to enact the role represented by this smart-handle ...
void connect(TimelineWidget &otherTarget)
(re)connect this smart link to the given target.
static Builder< TreeMutator > build()
DSL: start building a custom adapted tree mutator, where the operations are tied by closures or wrapp...
SUB & emplace(SUB &&implementation)
move-construct an instance of a subclass into the opaque buffer
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
Lumiera GTK UI implementation root.
Types marked with this mix-in may be duplicated by copy-construction, yet may not be moved or transfe...
A set of basic GTK includes for the UI.
void buildMutator(lib::diff::TreeMutator::Handle buffer) override
forwarding implementation of the DiffMutable interface, delegating through the referred TimelineWidge...
Customisable intermediary to abstract mutating operations on arbitrary, hierarchical object-like data...