pyceo/ceo/tui/Model.py

36 lines
1.0 KiB
Python
Raw Normal View History

2021-09-05 18:48:20 -04:00
from copy import deepcopy
2021-08-28 23:09:02 -04:00
class Model:
2021-09-05 18:48:20 -04:00
"""A convenient place to store View data persistently."""
2021-08-28 23:09:02 -04:00
def __init__(self):
# simple key-value pairs
self.screen = None
self.title = None
self.scene_stack = []
2021-09-05 18:48:20 -04:00
self.deferred_req = None
# view-specific data, to be used when e.g. resizing the window
self._initial_viewdata = {
'adduser': {
'uid': '',
'cn': '',
'program': '',
'forwarding_address': '',
'num_terms': '1',
},
'transaction': {
'op_layout': None,
'msg_layout': None,
'labels': {},
'status': 'not started',
},
}
self.viewdata = deepcopy(self._initial_viewdata)
# data which is shared between multiple views
self.for_member = True
2021-08-28 23:09:02 -04:00
self.confirm_lines = None
self.operations = None
2021-09-05 18:48:20 -04:00
def reset_viewdata(self):
self.viewdata = deepcopy(self._initial_viewdata)