Lumiera  0.pre.03
»edit your freedom«
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 155 of file cmd-context.hpp.

Public Member Functions

CmdContext && linkSubject (Subject &subj)
 Builder operation: define the subject to use for the following interaction bindings. More...
 
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. More...
 

Static Public Member Functions

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

Classes

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

Private Member Functions

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

Private Attributes

Symbol cmdID_
 
InteractionStateiState_
 
Subjectsubject_ {nullptr}
 

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 86 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 177 of file cmd-context.hpp.

◆ 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 94 of file cmd-context.cpp.

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

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