Lumiera  0.pre.03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
InteractionDirector Class Reference

#include "gui/interact/interaction-director.hpp"


Top-level controller to establish a link between the model and transient user interaction state (focus, current window)

Definition at line 99 of file interaction-director.hpp.

Public Member Functions

 InteractionDirector (ctrl::GlobalCtx &)
 ~InteractionDirector ()
void editSetup ()
void forkProject ()
void newProject ()
void newSequence ()
void newTrack ()
void openFile ()
void render ()
void saveSnapshot ()
- Public Member Functions inherited from Tangible
virtual ~Tangible ()
 this is an interface More...
void clearErr ()
 invoke the hook to clear error markers More...
void clearMsg ()
 invoke the hook to clear notification messages 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 More...
void mark (GenNode const &)
 generic handler for all incoming "state mark" messages More...
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 ID () const
 operator LuidH () const
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 (ID child)
- Public Member Functions inherited from DiffMutable
virtual ~DiffMutable ()
 this is an interface More...

Private Types

using Assets = unique_ptr< setting::AssetController >
using State = unique_ptr< ctrl::UiState >
using Timelines = std::vector< unique_ptr< timeline::TimelineController >>

Private Member Functions

void buildMutator (lib::diff::TreeMutator::Handle) override
 set up a binding to allow some top-level UI state to be treated as part of the session model More...
workspace::WorkspaceWindowgetWorkspaceWindow ()

Private Attributes

Assets assets_
unique_ptr< Navigatornavigator_
unique_ptr< SpotLocatorspotLocator_
Timelines timelines_
unique_ptr< FocusTrackertracker_
State uiState_
unique_ptr< ViewLocatorviewLocator_

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 Tangible
 Tangible (ID identity, ctrl::BusTerm &nexus)
- Protected Attributes inherited from Tangible
ctrl::BusTerm uiBus_

Member Typedef Documentation

using Timelines = std::vector<unique_ptr<timeline::TimelineController>>

Definition at line 111 of file interaction-director.hpp.

using Assets = unique_ptr<setting::AssetController>

Definition at line 112 of file interaction-director.hpp.

using State = unique_ptr<ctrl::UiState>

Definition at line 113 of file interaction-director.hpp.

Constructor & Destructor Documentation

Definition at line 79 of file interaction-director.cpp.

Member Function Documentation

void buildMutator ( lib::diff::TreeMutator::Handle  )

set up a binding to allow some top-level UI state to be treated as part of the session model

See also

Implements Tangible.

void newProject ( )
void saveSnapshot ( )
void forkProject ( )
void editSetup ( )
void openFile ( )
void render ( )
void newSequence ( )
void newTrack ( )
workspace::WorkspaceWindow& getWorkspaceWindow ( )

Member Data Documentation

ctrl::GlobalCtx& globalCtx_

Definition at line 102 of file interaction-director.hpp.

unique_ptr<ViewLocator> viewLocator_

Definition at line 105 of file interaction-director.hpp.

unique_ptr<SpotLocator> spotLocator_

Definition at line 106 of file interaction-director.hpp.

unique_ptr<Navigator> navigator_

Definition at line 107 of file interaction-director.hpp.

Referenced by InteractionDirector::InteractionDirector().

unique_ptr<FocusTracker> tracker_

Definition at line 108 of file interaction-director.hpp.

State uiState_

Definition at line 115 of file interaction-director.hpp.

Assets assets_

Definition at line 116 of file interaction-director.hpp.

Timelines timelines_

Definition at line 117 of file interaction-director.hpp.

+ Inheritance diagram for InteractionDirector:
+ Collaboration diagram for InteractionDirector:

The documentation for this class was generated from the following files: