Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
CmdContext Class Reference

#include "stage/interact/cmd-context.hpp"

Description

Builder to define a binding to relate some entity or place within the UI with a specific from of interaction gesture or context dependent command invocation.

Todo:
write type comment...

Definition at line 146 of file cmd-context.hpp.

Classes

struct  Resolver
 Helper for dynamic command argument resolution. More...
 

Static Public Member Functions

static CmdContext of (Symbol cmdID, Symbol ctxID)
 global static service accessor function.
 

Public Member Functions

CmdContext && linkSubject (Subject &subj)
 Builder operation: define the subject to use for the following interaction bindings.
 
void setupRelocateDrag ()
 Terminal builder operation: establish the infrastructure for the already defined participants to be involved into a dragging gesture, for the purpose of relocating the subject.
 

Private Member Functions

 CmdContext (InteractionState &iState, Symbol cmdID)
 
- Private Member Functions inherited from MoveOnly
 ~MoveOnly ()=default
 
 MoveOnly ()=default
 
 MoveOnly (MoveOnly &&)=default
 
 MoveOnly (MoveOnly const &)=delete
 
MoveOnlyoperator= (MoveOnly &&)=delete
 
MoveOnlyoperator= (MoveOnly const &)=delete
 

Private Attributes

InteractionStateiState_
 
Symbol cmdID_
 
Subjectsubject_ {nullptr}
 

Constructor & Destructor Documentation

◆ CmdContext()

CmdContext ( InteractionState iState,
Symbol  cmdID 
)
inlineprivate

Definition at line 155 of file cmd-context.hpp.

Member Function Documentation

◆ of()

CmdContext of ( Symbol  cmdID,
Symbol  ctxID 
)
static

global static service accessor function.

Remarks
the implementation of this function taps into the UI-Backbone to access the InteractionDirector for the context interaction state

Definition at line 77 of file cmd-context.cpp.

Referenced by ClipPresenter::establishAppearance().

+ Here is the caller graph for this function:

◆ linkSubject()

CmdContext && linkSubject ( Subject subj)
inline

Builder operation: define the subject to use for the following interaction bindings.

Definition at line 168 of file cmd-context.hpp.

References CmdContext::subject_.

Referenced by ClipPresenter::establishAppearance().

+ Here is the caller graph for this function:

◆ setupRelocateDrag()

void setupRelocateDrag ( )

Terminal builder operation: establish the infrastructure for the already defined participants to be involved into a dragging gesture, for the purpose of relocating the subject.

Remarks
Typical example would be dragging a Clip within the timeline. This invocation would then create a suitable InteractionState subclass and use the previously given Subject to hook up signal bindings for the trigger condition to start forming the "drag a clip" gesture.

Definition at line 85 of file cmd-context.cpp.

References CmdContext::cmdID_, CmdContext::iState_, InteractionState::linkTrigger(), and CmdContext::subject_.

Referenced by ClipPresenter::establishAppearance().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ iState_

InteractionState& iState_
private

Definition at line 149 of file cmd-context.hpp.

Referenced by CmdContext::setupRelocateDrag().

◆ cmdID_

Symbol cmdID_
private

Definition at line 150 of file cmd-context.hpp.

Referenced by CmdContext::setupRelocateDrag().

◆ subject_

Subject* subject_ {nullptr}
private

Definition at line 153 of file cmd-context.hpp.

Referenced by CmdContext::linkSubject(), and CmdContext::setupRelocateDrag().

+ Inheritance diagram for CmdContext:
+ Collaboration diagram for CmdContext:

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