44#ifndef STAGE_INTERACT_CMD_CONTEXT_H
45#define STAGE_INTERACT_CMD_CONTEXT_H
73 class InteractionState;
A handle to allow for safe »remote implantation« of an unknown subclass into a given opaque InPlaceBu...
Token or Atom with distinct identity.
Hash implementation based on a lumiera unique object id (LUID) When invoking the default ctor,...
Builder to define a binding to relate some entity or place within the UI with a specific from of inte...
static CmdContext of(Symbol cmdID, Symbol ctxID)
global static service accessor function.
CmdContext(InteractionState &iState, Symbol cmdID)
CmdContext && linkSubject(Subject &subj)
Builder operation: define the subject to use for the following interaction bindings.
InteractionState & iState_
void setupRelocateDrag()
Terminal builder operation: establish the infrastructure for the already defined participants to be i...
Collaboration interface for tracking the formation of a gesture.
GestureObserver(Symbol cmdID)
GestureObserver(GestureObserver &&)=default
virtual ~GestureObserver()
this is an interface
GestureObserver & operator=(GestureObserver &&)=default
virtual void markGestureCompleted()=0
virtual void updateOffset(double deltaX, double deltaY)=0
»Null Object« when no gesture is being tracked currently
void markGestureCompleted() override
void updateOffset(double, double) override
Abstract foundation for context dependent UI interactions.
Role-Interface: the Subject of Interaction.
virtual void buildGestureObserver(Symbol cmdID, Buffer)=0
prompt the Subject to build an Observer for the gesture in formation
virtual ~Subject()
this is an interface
virtual Gtk::Widget & exposeWidget()=0
the exposed widget can be used for wiring signal handlers
Types marked with this mix-in may be moved and move-assigned.
Types marked with this mix-in may be moved but not copied.
Any copy and copy construction prohibited.
Lumiera error handling (C++ interface).
A template for generating hash based ID tags carrying compile-time type info.
Lumiera GTK UI implementation root.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Helper allowing type erasure while holding the actual object inline.
Helper for dynamic command argument resolution.
friend Resolver element(Spec elementSpec)
friend Resolver scope(Spec scopeSpec)
Marker types to indicate a literal string and a Symbol.