Lumiera  0.pre.03
»edit your freedom«
state-recorder.hpp File Reference

Go to the source code of this file.

Description

Implementation of the PresentationStateManager interface through associative (key-value) store.

This implementation groups recorded message by elementID and simply overwrites previous state info for a given attribute with later one. Referral to unknown elements and properties is ignored.

performance
The storage layout was chosen under the assumption that we'll get many elements with only few properties per element. The implementing hash table relies on the hash function for BareEntryID, which uses the embedded hash, which in turn is based on hashing the symbolicID plus a hashed type string.
Todo:
as of 2/2016 noting but a simple data retrieval happens here. Actually, on the long run, we want "intelligent" handling of presentation state, we want to capture and restore state with sensitivity to perspective and work site. Probably this means to layer a second level of aggregation on top.
Warning
state mark entries are added, never discarded. Once we start actually persisting this state, this might get us into trouble.
See also
BusTerm_test::captureStateMark usage example

Definition in file state-recorder.hpp.

Classes

class  StateRecorder
 Simple map based implementation of the PresentationStateManager interface. More...
 

Namespaces

 stage
 Lumiera GTK UI implementation root.
 
 stage::ctrl
 Backbone of the Lumiera GTK UI.