diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-01-08 10:55:18 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-01-08 10:59:43 -0500 |
commit | 797367b9f5652df4103d7185567c8d749a8afbff (patch) | |
tree | 347768577a2a400b8c511d486d4eca8d4b2c339c /klippy/extras/display/menu.py | |
parent | f4be0ac7be6ec1e94264a7b2f86484e4bcd607ed (diff) | |
download | kutter-797367b9f5652df4103d7185567c8d749a8afbff.tar.gz kutter-797367b9f5652df4103d7185567c8d749a8afbff.tar.xz kutter-797367b9f5652df4103d7185567c8d749a8afbff.zip |
klippy: Convert printer_state("ready") to an event handler
Convert all users of the printer_state("ready") handler to register a
"klippy:ready" event handler instead.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/display/menu.py')
-rw-r--r-- | klippy/extras/display/menu.py | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/klippy/extras/display/menu.py b/klippy/extras/display/menu.py index 1fc41fbf..470a2078 100644 --- a/klippy/extras/display/menu.py +++ b/klippy/extras/display/menu.py @@ -1007,8 +1007,9 @@ class MenuManager: self._last_encoder_ccw_eventtime = 0 # printer objects self.buttons = self.printer.try_load_module(config, "buttons") - # register itself for a printer_state callback - config.get_printer().add_object('menu', self) + # register itself for printer callbacks + self.printer.add_object('menu', self) + self.printer.register_event_handler("klippy:ready", self.handle_ready) # register buttons & encoder if self.buttons: if self.encoder_pins: @@ -1046,19 +1047,18 @@ class MenuManager: # Load menu root self.load_root() - def printer_state(self, state): - if state == 'ready': - # Load all available printer objects - for cfg_name in self.printer.objects: - obj = self.printer.lookup_object(cfg_name, None) - if obj is not None: - name = ".".join(str(cfg_name).split()) - self.objs[name] = obj - logging.debug("Load module '%s' -> %s" % ( - str(name), str(obj.__class__))) - # start timer - reactor = self.printer.get_reactor() - reactor.register_timer(self.timer_event, reactor.NOW) + def handle_ready(self): + # Load all available printer objects + for cfg_name in self.printer.objects: + obj = self.printer.lookup_object(cfg_name, None) + if obj is not None: + name = ".".join(str(cfg_name).split()) + self.objs[name] = obj + logging.debug("Load module '%s' -> %s" % ( + str(name), str(obj.__class__))) + # start timer + reactor = self.printer.get_reactor() + reactor.register_timer(self.timer_event, reactor.NOW) def timer_event(self, eventtime): # take next from sequence |