Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
state-manager.hpp
Go to the documentation of this file.
1/*
2 STATE-MANAGER.hpp - maintaining persistent interface state
3
4 Copyright (C)
5 2016, Hermann Vosseler <Ichthyostega@web.de>
6
7  **Lumiera** is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 2 of the License, or (at your
10  option) any later version. See the file COPYING for further details.
11
12*/
13
14
43#ifndef STAGE_CTRL_STATE_MANAGER_H
44#define STAGE_CTRL_STATE_MANAGER_H
45
46
47#include "lib/idi/entry-id.hpp"
48#include "lib/diff/gen-node.hpp"
49#include "lib/nocopy.hpp"
50
51#include <string>
52
53
54namespace stage {
55namespace ctrl {
56
57 using std::string;
58
59
72 {
73 protected:
74 virtual ~StateManager();
75
76 using ID = lib::idi::BareEntryID const&;
78 public:
79
80 virtual StateMark
81 currentState (ID uiElm, string propertyKey) const =0;
82
83 virtual void
84 replayState (ID uiElm, string propertyKey) =0;
85
86 virtual void
88
89 virtual void
90 replayAllState (string propertyKey) =0;
91
92 virtual void
94
95 virtual void
97
98 private:
99 };
100
101
102
103}} // namespace stage::ctrl
104#endif /*STAGE_CTRL_STATE_MANAGER_H*/
type erased baseclass for building a combined hash and symbolic ID.
Definition entry-id.hpp:134
Interface: handling of persistent interface state.
virtual void replayAllState()=0
lib::idi::BareEntryID const & ID
virtual void replayAllState(string propertyKey)=0
virtual void replayAllProperties(ID uiElm)=0
virtual void replayState(ID uiElm, string propertyKey)=0
virtual void clearState()=0
virtual ~StateManager()
this is an interface
Definition ui-state.cpp:38
lib::diff::GenNode const & StateMark
virtual StateMark currentState(ID uiElm, string propertyKey) const =0
Any copy and copy construction prohibited.
Definition nocopy.hpp:38
Bare symbolic and hash ID used for accounting of asset like entries.
Generic building block for tree shaped (meta)data structures.
Lumiera GTK UI implementation root.
Definition guifacade.cpp:37
Mix-Ins to allow or prohibit various degrees of copying and cloning.
generic data element node within a tree
Definition gen-node.hpp:224