Added builder wrapper due to plugin setup
This commit is contained in:
		
							
								
								
									
										33
									
								
								src/core/builder_wrapper.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/core/builder_wrapper.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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,8 +56,7 @@ class BaseController(IPCSignalsMixin, KeyboardSignalsMixin, BaseControllerData): | |||||||
|     def _tggl_top_main_menubar(self): |     def _tggl_top_main_menubar(self): | ||||||
|         logger.debug("_tggl_top_main_menubar > stub...") |         logger.debug("_tggl_top_main_menubar > stub...") | ||||||
|  |  | ||||||
|     def setup_builder_and_container(self): |     def _load_glade_file(self): | ||||||
|         self.builder     = Gtk.Builder() |  | ||||||
|         self.builder.add_from_file(settings_manager.get_glade_file()) |         self.builder.add_from_file(settings_manager.get_glade_file()) | ||||||
|         self.builder.expose_object("main_window", self.window) |         self.builder.expose_object("main_window", self.window) | ||||||
|  |  | ||||||
| @@ -65,3 +64,4 @@ class BaseController(IPCSignalsMixin, KeyboardSignalsMixin, BaseControllerData): | |||||||
|         self.base_container = BaseContainer() |         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 | # Application imports | ||||||
| from plugins.plugins_controller import PluginsController | from plugins.plugins_controller import PluginsController | ||||||
|  | from ..builder_wrapper import BuilderWrapper | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -15,14 +16,15 @@ class BaseControllerData: | |||||||
|  |  | ||||||
|     def setup_controller_data(self) -> None: |     def setup_controller_data(self) -> None: | ||||||
|         self.window      = settings_manager.get_main_window() |         self.window      = settings_manager.get_main_window() | ||||||
|         self.builder     = None |         self.builder     = BuilderWrapper() | ||||||
|  |  | ||||||
|         self.base_container   = None |         self.base_container   = None | ||||||
|         self.was_midified_key = False |         self.was_midified_key = False | ||||||
|         self.ctrl_down   = False |         self.ctrl_down   = False | ||||||
|         self.shift_down  = False |         self.shift_down  = False | ||||||
|         self.alt_down    = False |         self.alt_down    = False | ||||||
|  |  | ||||||
|         self.setup_builder_and_container() |         self._load_glade_file() | ||||||
|         self.plugins     = PluginsController() |         self.plugins     = PluginsController() | ||||||
|  |  | ||||||
|     def collect_files_dirs(self, args, unknownargs): |     def collect_files_dirs(self, args, unknownargs): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user