aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/display/menu.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-01-08 10:55:18 -0500
committerKevin O'Connor <kevin@koconnor.net>2019-01-08 10:59:43 -0500
commit797367b9f5652df4103d7185567c8d749a8afbff (patch)
tree347768577a2a400b8c511d486d4eca8d4b2c339c /klippy/extras/display/menu.py
parentf4be0ac7be6ec1e94264a7b2f86484e4bcd607ed (diff)
downloadkutter-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.py30
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