Lumiera
0.pre.03
»edit your freedom«
|
#include "stage/ctrl/state-recorder.hpp"
Simple map based implementation of the PresentationStateManager interface.
Requires a permanent connection to the UI-Bus, which is given as reference at construction. The intention is to use such an implementation embedded within the stage::ctrl::CoreService, which in turn then manages the lifecycle of this UI-Bus connection. Besides, a derived mock implementation is available through the test::Nexus
Definition at line 92 of file state-recorder.hpp.
Public Member Functions | |
StateRecorder (BusTerm &busConnection) | |
void | recordState (ID uiElm, StateMark stateMark) |
Interface for the operating facility (CoreService) to feed state mark messages to be remembered. More... | |
Private Types | |
using | Record = Storage::Record const & |
using | Storage = StateMapGroupingStorage |
Private Member Functions | |
virtual void | clearState () override |
virtual StateMark | currentState (ID uiElm, string propertyKey) const override |
virtual void | replayAllProperties (ID uiElm) override |
replay all captured state from the given element. More... | |
virtual void | replayAllState () override |
virtual void | replayAllState (string propertyKey) override |
replay all captured state from any element, but captured especially for the given property | |
void | replayPropertiesOf (Record entry) |
virtual void | replayState (ID uiElm, string propertyKey) override |
Private Attributes | |
Storage | storage_ |
BusTerm & | uiBus_ |
Additional Inherited Members | |
Protected Types inherited from StateManager | |
using | ID = lib::idi::BareEntryID const & |
using | StateMark = lib::diff::GenNode const & |
Protected Member Functions inherited from StateManager | |
virtual | ~StateManager () |
this is an interface | |
|
inlineoverrideprivatevirtual |
replay all captured state from the given element.
Implements StateManager.
Definition at line 146 of file state-recorder.hpp.
References steam::mobject::session::query::anonymous_namespace{fake-configrules.cpp}::entry(), and StateRecorder::replayPropertiesOf().
|
inline |
Interface for the operating facility (CoreService) to feed state mark messages to be remembered.
uiElm | originator of the state notification |
stateMark | state information to record |
Definition at line 176 of file state-recorder.hpp.
References StateMapGroupingStorage::clearProperty(), StateMapGroupingStorage::clearState(), and StateMapGroupingStorage::record().
Referenced by CoreService::note().
|
inlineprivate |
Definition at line 200 of file state-recorder.hpp.
References BusTerm::mark().
Referenced by StateRecorder::replayAllProperties().