working on multiple editor types

This commit is contained in:
2026-05-16 17:50:51 +10:00
parent 44c3ebe887
commit 7df6ce10c7
10 changed files with 411 additions and 375 deletions

View File

@@ -71,7 +71,14 @@ class PluginLoader(Window):
setattr(self.app, f"action_{action_name}", wrapper)
def create_widget(self, widget_type: str, *args):
return getattr(textual.widgets, widget_type)(*args)
new_widget = getattr(textual.widgets, widget_type)(*args)
def on_func(event_name: str, function):
self.event_handler.subscribe(new_widget, event_name, function)
new_widget.message_signal.subscribe(self, lambda e: self.event_handler.message_handler(new_widget, e))
setattr(new_widget, "on", on_func)
return new_widget
def run_on_message(self, widget, event, function):
self.event_handler.subscribe(widget, event, function)