43 #ifndef STAGE_CTRL_STATE_RECORDER_H 44 #define STAGE_CTRL_STATE_RECORDER_H 87 using Record = Storage::Record
const&;
97 currentState (ID uiElm,
string propertyKey)
const override 99 return storage_.
retrieve (uiElm, propertyKey);
104 replayState (ID uiElm,
string propertyKey)
override 106 StateMark state = storage_.
retrieve (uiElm, propertyKey);
108 uiBus_.
mark (uiElm, state);
113 replayAllState()
override 115 for (Record
entry : storage_)
126 for (Record
entry : storage_)
128 StateMark state = Storage::getState (
entry, propertyKey);
130 uiBus_.
mark (Storage::getID (
entry), state);
139 auto entry = storage_.find (uiElm);
140 if (
entry != storage_.end())
146 clearState()
override 154 : uiBus_(busConnection)
169 if (MARK_reset == stateMark.idi.getSym())
172 if (MARK_clearErr == stateMark.idi.getSym())
175 if (MARK_clearMsg == stateMark.idi.getSym())
178 storage_.
record (uiElm, stateMark);
193 ID uiElm = Storage::getID (entry);
194 for (
auto& stateMark : Storage::getState (entry))
195 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