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

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

Description

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_
 
ctrl::GlobalCtxglobalCtx_
 
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>>
private

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

using Assets = unique_ptr<setting::AssetController>
private

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

using State = unique_ptr<ctrl::UiState>
private

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  )
overrideprivatevirtual

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

See also
tree-mutator.hpp

Implements Tangible.

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

Member Data Documentation

ctrl::GlobalCtx& globalCtx_
private

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

unique_ptr<ViewLocator> viewLocator_
private

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

unique_ptr<SpotLocator> spotLocator_
private

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

unique_ptr<Navigator> navigator_
private

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

Referenced by InteractionDirector::InteractionDirector().

unique_ptr<FocusTracker> tracker_
private

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

State uiState_
private

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

Assets assets_
private

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

Timelines timelines_
private

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: