-
Notifications
You must be signed in to change notification settings - Fork 0
/
controller.py
34 lines (28 loc) · 959 Bytes
/
controller.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from model import MainModel
from window import Window
from observer import Observer
from logger import logger
class MainController(Observer):
"""
Implements the controller from MVC-Pattern
:param model: The model from mvc
:param view: The view from mvc
"""
def __init__(self, view: Window, model: MainModel):
Observer.__init__(self)
self.model = model
self.view = view
self.view.attach(self)
self.model.attach(self)
def update(self, arg) -> None:
# pylint: disable=R0201
"""
Function which gets called from observed objects
:param arg: Arguments which the observed class wants to be transmitted
"""
state = arg[0]
logger.info("State: %s", str(state))
if state == self.view.State.LOAD_GRAPH:
logger.info("ctrl: Loadign new graph %s", arg[1])
else:
logger.info("Not handled by controller")