Lumiera  0.pre.03
»edit your freedom«
InteractionState Class Referenceabstract

#include "stage/interact/interaction-state.hpp"

Description

Abstract foundation for context dependent UI interactions.

While forming an interaction gesture, context state is picked up incrementally, and maintained here, together with parameters of degree, amount or relative position. Typically, a concrete implementation subclass is geared for one specific kind of interaction or gesture and used as target for wiring Signals to trigger and carry out this specific interaction. The GestureState holder within InteractionDirector is responsible for allocating and maintaining those concrete InteractionState instances, which can then be used to issue complex commands for subjects and further arguments picked up from the interaction.

Todo:

write type comment...

WIP-WIP as of /3/2021 ///////////////////////////////////TODO do we need a translation unit interaction-state.cpp (otherwise delete it!)

Definition at line 76 of file interaction-state.hpp.

Public Member Functions

virtual void linkTrigger (Subject &, Symbol cmdID)=0
 Hook up a trigger signal to initiate a specific interaction gesture. More...
 

Protected Member Functions

virtual ~InteractionState ()
 this is an interface
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Member Function Documentation

◆ linkTrigger()

virtual void linkTrigger ( Subject ,
Symbol  cmdID 
)
pure virtual

Hook up a trigger signal to initiate a specific interaction gesture.

Within the concrete controller implementation for each gesture, the Subject interface shall be used to access an actual widget and to wire this widget's signals to a private implementation function within the concrete gesture controller. The purpose is then to observe this widget and to activate recognition of the gesture when applicable.

Parameters
Subjectthe subject of the interaction gesture; typically implemented by a controller or widget responsible for the UI entity involved.
cmdIDthe actual command to be issued on completion of the interaction
Remarks
typically this contextual information is bound into the signal wiring, meaning that the actual interaction context will be established "late", i.e. only when an actual gesture is about to commence

Implemented in DragRelocateController.

+ Inheritance diagram for InteractionState:
+ Collaboration diagram for InteractionState:

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