Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Interface: a component to maintain persistent interface state.
Here, "presentation state" is understood as state not rooted within the model and without effect on the final rendered result. Most of this state is transitory and arises from the normal working from the UI (and toolkit set). Yet part of this state is relevant to the way to work with the tooling, so we typically expect these choices and traces of usage to remain sticky, persistent across editing sessions.
In Lumiera, handling of persistent presentation state relies on the UI backbone structure known as UI-Bus. Any element of more than local relevance, as attached to this backbone, will emit state mark notification messages, whenever some transition of presentation state is deemed relevant. The PresentationStateManager operates as one of the core services and receives, groups and remembers those messages, always retaining the latest state information observed for any property of any tangible interface element encountered thus far.
Definition in file state-manager.hpp.
#include "lib/idi/entry-id.hpp"
#include "lib/diff/gen-node.hpp"
#include "lib/nocopy.hpp"
#include <string>
Classes | |
class | StateManager |
Interface: handling of persistent interface state. More... | |
Namespaces | |
stage | |
Lumiera GTK UI implementation root. | |
stage::ctrl | |
Backbone of the Lumiera GTK UI. | |