Remove tabs UI from code editor and move to plugin. Enhance plugin system.

- Remove tabs controller, tab widget, and tabs widget files and move to plugin
- Delete plugins/README.txt
- Add register_controller method to controller system for plugin use
- Add error handling for plugin crashes via futures callback
This commit is contained in:
2026-02-26 21:09:00 -06:00
parent 597ac2b06a
commit b724d41f6c
16 changed files with 112 additions and 73 deletions

View File

@@ -39,3 +39,6 @@ class ControllerBase(Singleton, EmitDispatcher):
def message_to_selected(self, names: list[str], event: BaseEvent):
for name in names:
self.controller_context.message_to_selected(name, event)
def register_controller(self, name: str, controller):
self.controller_context.register_controller(name, controller)

View File

@@ -25,3 +25,6 @@ class ControllerContext:
def message_to_selected(self, name: list, event: BaseEvent):
raise ControllerContextException("Controller Context 'message_to_selected' must be overriden by Controller Manager...")
def register_controller(self, name: str, controller):
raise ControllerContextException("Controller Context 'register_controller' must be overriden by Controller Manager...")

View File

@@ -22,9 +22,10 @@ class ControllerManager(Singleton, dict):
def _crete_controller_context(self) -> ControllerContext:
controller_context = ControllerContext()
controller_context.message_to = self.message_to
controller_context.message = self.message
controller_context = ControllerContext()
controller_context.message_to = self.message_to
controller_context.message = self.message
controller_context.register_controller = self.register_controller
return controller_context