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
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:134
stage::ctrl::StateManager
Interface: handling of persistent interface state.
Definition
state-manager.hpp:72
stage::ctrl::StateManager::replayAllState
virtual void replayAllState()=0
stage::ctrl::StateManager::ID
lib::idi::BareEntryID const & ID
Definition
state-manager.hpp:76
stage::ctrl::StateManager::replayAllState
virtual void replayAllState(string propertyKey)=0
stage::ctrl::StateManager::replayAllProperties
virtual void replayAllProperties(ID uiElm)=0
stage::ctrl::StateManager::replayState
virtual void replayState(ID uiElm, string propertyKey)=0
stage::ctrl::StateManager::clearState
virtual void clearState()=0
stage::ctrl::StateManager::~StateManager
virtual ~StateManager()
this is an interface
Definition
ui-state.cpp:38
stage::ctrl::StateManager::StateMark
lib::diff::GenNode const & StateMark
Definition
state-manager.hpp:77
stage::ctrl::StateManager::currentState
virtual StateMark currentState(ID uiElm, string propertyKey) const =0
util::NonCopyable
Any copy and copy construction prohibited.
Definition
nocopy.hpp:38
entry-id.hpp
Bare symbolic and hash ID used for accounting of asset like entries.
gen-node.hpp
Generic building block for tree shaped (meta)data structures.
stage
Lumiera GTK UI implementation root.
Definition
guifacade.cpp:37
nocopy.hpp
Mix-Ins to allow or prohibit various degrees of copying and cloning.
lib::diff::GenNode
generic data element node within a tree
Definition
gen-node.hpp:224
stage
ctrl
state-manager.hpp
Generated on Fri Nov 7 2025 for Lumiera by
1.9.8