removed endpoint_registery; relocated builder_wrapper to be widget_registery under libs/

This commit is contained in:
2026-01-19 13:50:07 -06:00
parent c6b10ceb17
commit 4ce4d85842
10 changed files with 93 additions and 96 deletions

View File

@@ -1,22 +0,0 @@
# Python imports
# Lib imports
# Application imports
from .singleton import Singleton
class EndpointRegistry(Singleton):
def __init__(self):
self._endpoints = {}
def register(self, rule, **options):
def decorator(f):
self._endpoints[rule] = f
return f
return decorator
def get_endpoints(self):
return self._endpoints

View File

@@ -19,6 +19,12 @@ valid_keyvalue_pat = re.compile(r"[a-z0-9A-Z-_\[\]\(\)\| ]")
class KeyboardSignalsMixin:
""" KeyboardSignalsMixin keyboard hooks controller. """
was_midified_key = False
ctrl_down = False
shift_down = False
alt_down = False
# TODO: Need to set methods that use this to somehow check the keybindings state instead.
def unset_keys_and_data(self, widget = None, eve = None):
self.ctrl_down = False
@@ -34,7 +40,7 @@ class KeyboardSignalsMixin:
self.alt_down = False
def on_global_key_press_controller(self, eve, user_data):
keyname = Gdk.keyval_name(user_data.keyval).lower()
keyname = Gdk.keyval_name(user_data.keyval).lower()
modifiers = Gdk.ModifierType(user_data.get_state() & ~Gdk.ModifierType.LOCK_MASK)
self.was_midified_key = True if modifiers != 0 else False

View File

@@ -0,0 +1,64 @@
# Python imports
# Lib imports
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
# Application imports
from .controllers.controller_base import ControllerBase
from .dto.base_event import BaseEvent
class WidgetRegisteryController(ControllerBase):
"""docstring for WidgetRegisteryController."""
def __init__(self):
super(WidgetRegisteryController, self).__init__()
self._builder: Gtk.Builder = None
self.objects: dict = {}
self.builder_keys: list = []
self._load_glade_file()
def _load_glade_file(self):
self._builder = Gtk.Builder.new_from_file( settings_manager.path_manager.get_glade_file() )
settings_manager.set_builder(self._builder)
widgets = self._builder.get_objects()
for widget in widgets:
self.builder_keys.append( widget.get_name() )
def _controller_message(self, event: BaseEvent):
...
def list_objects(self, id: str) -> list:
return self.objects.keys() + self.builder_keys
def list_non_builder_objects(self, id: str) -> list:
return self.objects.keys()
def list_builder_objects(self, id: str) -> list:
return self.builder_keys
def get_object(self, id: str) -> any:
if id in self.objects:
return self.objects[id]
return self._builder.get_object(id)
def expose_object(self, id: str, object: any, use_gtk: bool = False):
if not use_gtk:
self.objects[id] = object
return
self._builder.expose_object(id, object)
self.builder_keys.append(id)
def dereference_object(self, id: str):
self.builder_keys.remove(id)
if id in self.objects:
del self.objects[id]