Skip to content

Commit 70fbbc5

Browse files
committed
register custom event in sub-controllers
1 parent bacae2f commit 70fbbc5

File tree

1 file changed

+18
-0
lines changed
  • src/navigate/controller/sub_controllers

1 file changed

+18
-0
lines changed

src/navigate/controller/sub_controllers/gui.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ def __init__(self, view, parent_controller=None):
6161
#: Controller: parent controller
6262
self.parent_controller = parent_controller
6363

64+
# register events
65+
for event_label, event_handler in self.custom_events.items():
66+
self.register_event_listener(event_label, event_handler)
67+
if hasattr(self, "event_listeners"):
68+
for event_label, event_label in self.event_listeners.items():
69+
self.register_event_listener(event_label, event_handler)
70+
6471
def initialize(self):
6572
"""This function is called when the controller is initialized
6673
@@ -108,3 +115,14 @@ def show_verbose_info(self, *info):
108115
information to be printed
109116
"""
110117
logger.info(f"{self.__class__.__name__} : {info}")
118+
119+
def register_event_listener(self, event_name, event_handler):
120+
"""Register event listner in the parent_controller
121+
"""
122+
if not hasattr(self.parent_controller, "event_listners"):
123+
self.parent_controller.event_listerners = {}
124+
self.parent_controller.event_listeners[event_name] = event_handler
125+
126+
@property
127+
def custom_events(self):
128+
return {}

0 commit comments

Comments
 (0)