Lumiera
0.pre.03
»edit your freedom«
|
#include "stage/timeline/timeline-controller.hpp"
Controller to supervise the timeline display.
As a tangible element, it is attached to the UI-Bus.
Definition at line 78 of file timeline-controller.hpp.
Public Member Functions | |
TimelineController (ID identity, ID trackID, ctrl::BusTerm &nexus, TimelineLayout &) | |
virtual void | buildMutator (lib::diff::TreeMutator::Handle) override |
set up a binding to respond to mutation messages via UiBus More... | |
string const & | getName () const |
Public Member Functions inherited from Tangible | |
virtual | ~Tangible () |
this is an interface | |
void | clearErr () |
invoke the hook to clear error markers More... | |
void | clearMsg () |
invoke the hook to clear notification messages More... | |
ID | getID () const |
void | installExpander (Expander::ProbeFun, Expander::ChangeFun) |
Configure the (optional) functionality to expand or collapse the UI-Element. More... | |
void | installRevealer (Revealer::RevealeItFun) |
Configure the (optional) functionality to bring the UI-Element into sight. More... | |
template<typename... ARGS> | |
void | invoke (Symbol cmdID, ARGS &&...) |
void | invoke (Symbol cmdID, Rec &&arguments) |
Perform a command or action, once the execution context has been established. More... | |
template<typename... ARGS> | |
void | invoke (Symbol cmdID, ARGS &&... args) |
convenience shortcut to issue a command with several arguments | |
void | mark (GenNode const &) |
generic handler for all incoming "state mark" messages | |
void | markErr (string error) |
push an error state tag to the element More... | |
void | markFlash () |
highlight the element visually to catch the user's attention More... | |
void | markMsg (string message) |
push a notification (or warning) message to the element. More... | |
operator LuidH () const | |
operator string () const | |
diagnostic representation. More... | |
void | reset () |
invoke the generic reset hook More... | |
void | slotCollapse () |
Collapse or minimise this element and remember the collapsed state. More... | |
void | slotExpand () |
Expand this element and remember the expanded state. More... | |
void | slotReveal () |
Cause the element to be brought into sight. More... | |
Public Member Functions inherited from DiffMutable | |
virtual | ~DiffMutable () |
this is an interface | |
Private Attributes | |
std::unique_ptr< TrackPresenter > | fork_ |
vector< unique_ptr< MarkerWidget > > | markers_ |
string | name_ |
Additional Inherited Members | |
Public Types inherited from Tangible | |
using | ID = ctrl::BusTerm::ID |
using | LuidH = lib::hash::LuidH |
Protected Types inherited from Tangible | |
using | GenNode = lib::diff::GenNode |
using | Rec = lib::diff::Rec |
Protected Member Functions inherited from Controller | |
virtual void | doMark (GenNode const &mark) override |
default handler for all generic mark messages. More... | |
Protected Member Functions inherited from Tangible | |
Tangible (ID identity, ctrl::BusTerm &nexus) | |
virtual bool | doExpand (bool yes) |
generic default implementation of the expand/collapse functionality. More... | |
virtual void | doReveal () |
generic default implementation of the "reveal" functionality. More... | |
Protected Attributes inherited from Tangible | |
Expander | expand_ |
Revealer | reveal_ |
ctrl::BusTerm | uiBus_ |
TimelineController | ( | ID | identity, |
ID | trackID, | ||
ctrl::BusTerm & | nexus, | ||
TimelineLayout & | layoutManager | ||
) |
identity | used to refer to a corresponding timeline element in the Session |
trackID | the mandatory root track used in the associated Sequence |
nexus | some established connection to the UI-Bus, used for registration. |
Definition at line 76 of file timeline-controller.cpp.
|
overridevirtual |
set up a binding to respond to mutation messages via UiBus
this method is invoked by the UI-Bus when dispatching a MutationMessage...
.buildChildMutator
binding could have been omitted here, since it is precisely the default, which will be provided for a DiffMutable target object automatically (the TimelineController is a stage::model::Tangible, and thus implements the DiffMutable interface, with abstract buildMutator method. Implements Tangible.
Definition at line 133 of file timeline-controller.cpp.
References TreeMutator::build(), lib::diff::anonymous_namespace{tree-mutator-collection-binding.hpp}::collection(), PlantingHandle< BA, DEFAULT >::emplace(), and DataCap::isNested().