Preliminary controller layout work for plugin integration; controller base message refactor naming

This commit is contained in:
2026-01-18 13:53:29 -06:00
parent 99f1bffefb
commit e2f29207ba
11 changed files with 89 additions and 19 deletions

View File

@@ -3,7 +3,8 @@
# Lib imports
# Application imports
from .controllers.controller_manager import ControllerManager
from libs.controllers.controller_manager import ControllerManager
from .controllers.files_controller import FilesController
from .controllers.tabs_controller import TabsController
from .controllers.commands_controller import CommandsController

View File

@@ -1,51 +0,0 @@
# Python imports
# Lib imports
# Application imports
from libs.singleton import Singleton
from libs.controllers.controller_base import ControllerBase
from libs.controllers.controller_context import ControllerContext
from libs.event_factory import Code_Event_Types
class ControllerManagerException(Exception):
...
class ControllerManager(Singleton, dict):
def __init__(self):
super(ControllerManager, self).__init__()
def _crete_controller_context(self) -> ControllerContext:
controller_context = ControllerContext()
controller_context.message_to = self.message_to
controller_context.message_all = self.message_all
return controller_context
def register_controller(self, name: str, controller: ControllerBase):
if not name or controller == None:
raise ControllerManagerException("Must pass in a 'name' and 'controller'...")
if name in self.keys():
raise ControllerManagerException(f"Can't bind controller to registered name of '{name}'...")
controller.set_controller_context( self._crete_controller_context() )
self[name] = controller
def get_controllers_key_list(self) -> list[str]:
return self.keys()
def message_to(self, name: str, event: Code_Event_Types.CodeEvent):
self[name]._controller_message(event)
def message_all(self, event: Code_Event_Types.CodeEvent):
for key in self.keys():
self[key]._controller_message(event)

View File

@@ -67,7 +67,7 @@ class FilesController(ControllerBase, list):
view = event.view,
file = file
)
self.message_all(eve)
self.message(eve)
self.append(file)
@@ -105,7 +105,7 @@ class FilesController(ControllerBase, list):
file = popped_file,
next_file = next_file
)
self.message_all(eve)
self.message(eve)
return popped_file, next_file
@@ -127,7 +127,7 @@ class FilesController(ControllerBase, list):
file = file,
next_file = next_file
)
self.message_all(eve)
self.message(eve)
self.remove(file)
file.close()

View File

@@ -53,7 +53,7 @@ class TabsController(ControllerBase):
tab.get_parent().file.buffer
)
self.message_all(event)
self.message(event)
def close_tab(tab, eve, file):
event = Event_Factory.create_event(
@@ -61,7 +61,7 @@ class TabsController(ControllerBase):
buffer = tab.get_parent().file.buffer
)
self.message_all(event)
self.message(event)
tab = TabWidget()
tab.file = event.file