removed endpoint_registery; relocated builder_wrapper to be widget_registery under libs/
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
|
||||
64
src/libs/widget_registery.py
Normal file
64
src/libs/widget_registery.py
Normal 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]
|
||||
Reference in New Issue
Block a user