Lumiera
0.pre.03
»edit your freedom«
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
54
namespace
stage
{
55
namespace
ctrl {
56
57
using
std::string;
58
59
70
class
StateManager
71
:
util::NonCopyable
72
{
73
protected
:
74
virtual
~StateManager
();
75
76
using
ID =
lib::idi::BareEntryID
const
&;
77
using
StateMark =
lib::diff::GenNode
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
87
replayAllState() =0;
88
89
virtual
void
90
replayAllState (
string
propertyKey) =0;
91
92
virtual
void
93
replayAllProperties (ID uiElm) =0;
94
95
virtual
void
96
clearState() =0;
97
98
private
:
99
};
100
101
102
103
}}
// namespace stage::ctrl
104
#endif
/*STAGE_CTRL_STATE_MANAGER_H*/
lib::idi::BareEntryID
type erased baseclass for building a combined hash and symbolic ID.
Definition:
entry-id.hpp:133
util::NonCopyable
Any copy and copy construction prohibited.
Definition:
nocopy.hpp:37
stage::ctrl::StateManager::~StateManager
virtual ~StateManager()
this is an interface
Definition:
ui-state.cpp:38
nocopy.hpp
Mix-Ins to allow or prohibit various degrees of copying and cloning.
stage
Lumiera GTK UI implementation root.
Definition:
guifacade.cpp:37
gen-node.hpp
Generic building block for tree shaped (meta)data structures.
stage::ctrl::StateManager
Interface: handling of persistent interface state.
Definition:
state-manager.hpp:70
entry-id.hpp
Bare symbolic and hash ID used for accounting of asset like entries.
lib::diff::GenNode
generic data element node within a tree
Definition:
gen-node.hpp:222
stage
ctrl
state-manager.hpp
Generated on Fri Dec 13 2024 05:05:35 for Lumiera by
1.8.13