Added builder wrapper due to plugin setup
This commit is contained in:
parent
cc8f62776d
commit
ea62eb280c
|
@ -0,0 +1,33 @@
|
|||
# Python imports
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk
|
||||
|
||||
# Application imports
|
||||
|
||||
|
||||
|
||||
class BuilderWrapper(Gtk.Builder):
|
||||
"""docstring for BuilderWrapper."""
|
||||
|
||||
def __init__(self):
|
||||
super(BuilderWrapper, self).__init__()
|
||||
|
||||
self.objects = {}
|
||||
|
||||
def get_object(self, id: str, use_gtk: bool = True) -> any:
|
||||
if not use_gtk:
|
||||
return self.objects[id]
|
||||
|
||||
return super(BuilderWrapper, self).get_object(id)
|
||||
|
||||
def expose_object(self, id: str, object: any, use_gtk: bool = True) -> None:
|
||||
if not use_gtk:
|
||||
self.objects[id] = object
|
||||
else:
|
||||
super(BuilderWrapper, self).expose_object(id, object)
|
||||
|
||||
def dereference_object(self, id: str) -> None:
|
||||
del self.objects[id]
|
|
@ -56,12 +56,12 @@ class BaseController(IPCSignalsMixin, KeyboardSignalsMixin, BaseControllerData):
|
|||
def _tggl_top_main_menubar(self):
|
||||
logger.debug("_tggl_top_main_menubar > stub...")
|
||||
|
||||
def setup_builder_and_container(self):
|
||||
self.builder = Gtk.Builder()
|
||||
def _load_glade_file(self):
|
||||
self.builder.add_from_file(settings_manager.get_glade_file())
|
||||
self.builder.expose_object("main_window", self.window)
|
||||
|
||||
settings_manager.set_builder(self.builder)
|
||||
self.base_container = BaseContainer()
|
||||
|
||||
settings_manager.register_signals_to_builder([self, self.base_container])
|
||||
settings_manager.register_signals_to_builder([self, self.base_container])
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ from shutil import which
|
|||
|
||||
# Application imports
|
||||
from plugins.plugins_controller import PluginsController
|
||||
from ..builder_wrapper import BuilderWrapper
|
||||
|
||||
|
||||
|
||||
|
@ -15,14 +16,15 @@ class BaseControllerData:
|
|||
|
||||
def setup_controller_data(self) -> None:
|
||||
self.window = settings_manager.get_main_window()
|
||||
self.builder = None
|
||||
self.builder = BuilderWrapper()
|
||||
|
||||
self.base_container = None
|
||||
self.was_midified_key = False
|
||||
self.ctrl_down = False
|
||||
self.shift_down = False
|
||||
self.alt_down = False
|
||||
|
||||
self.setup_builder_and_container()
|
||||
self._load_glade_file()
|
||||
self.plugins = PluginsController()
|
||||
|
||||
def collect_files_dirs(self, args, unknownargs):
|
||||
|
|
Loading…
Reference in New Issue