52 #ifndef STAGE_CTRL_STATE_RECORDER_H 53 #define STAGE_CTRL_STATE_RECORDER_H 96 using Record = Storage::Record
const&;
106 currentState (ID uiElm,
string propertyKey)
const override 108 return storage_.
retrieve (uiElm, propertyKey);
113 replayState (ID uiElm,
string propertyKey)
override 115 StateMark state = storage_.
retrieve (uiElm, propertyKey);
117 uiBus_.
mark (uiElm, state);
122 replayAllState()
override 124 for (Record
entry : storage_)
135 for (Record
entry : storage_)
137 StateMark state = Storage::getState (
entry, propertyKey);
139 uiBus_.
mark (Storage::getID (
entry), state);
148 auto entry = storage_.find (uiElm);
149 if (
entry != storage_.end())
155 clearState()
override 163 : uiBus_(busConnection)
178 if (MARK_reset == stateMark.idi.getSym())
181 if (MARK_clearErr == stateMark.idi.getSym())
184 if (MARK_clearMsg == stateMark.idi.getSym())
187 storage_.
record (uiElm, stateMark);
202 ID uiElm = Storage::getID (entry);
203 for (
auto& stateMark : Storage::getState (entry))
204 uiBus_.
mark (uiElm, stateMark);
Simple map based implementation of the PresentationStateManager interface.
Constructor for a specially crafted 'ref GenNode'.
Hard wired key constants and basic definitions for communication with the GUI.
void record(BareEntryID const &elementID, GenNode const &stateMark)
remember the state mark for the denoted element
connection point at the UI-Bus.
virtual void replayAllProperties(ID uiElm) override
replay all captured state from the given element.
AnyPair entry(Query< TY > const &query, typename WrapReturn< TY >::Wrapper &obj)
helper to simplify creating mock table entries, wrapped correctly
Implementation of storage for captured presentation state.
Interface: a component to maintain persistent interface state.
void clearProperty(BareEntryID const &elementID, string propertyKey)
clear previously recorded state for a given element and specific property
void clearState(BareEntryID const &elementID)
clear any previously recorded state for a given element
Attachment point to the UI-Bus.
virtual void replayAllState(string propertyKey) override
replay all captured state from any element, but captured especially for the given property ...
Map storage for captured presentation state information.
virtual bool mark(ID subject, GenNode const &mark)
route a state update or notification to the given subject.
Lumiera GTK UI implementation root.
void replayPropertiesOf(Record entry)
Generic building block for tree shaped (meta)data structures.
static const Ref NO
symbolic ID ref "_NO_"
GenNode const & retrieve(BareEntryID const &elementID, string propertyKey) const
retrieve captured state
Interface: handling of persistent interface state.
Lumiera error handling (C++ interface).
void recordState(ID uiElm, StateMark stateMark)
Interface for the operating facility (CoreService) to feed state mark messages to be remembered...
Bare symbolic and hash ID used for accounting of asset like entries.
generic data element node within a tree