From f7d944f7a9e23b9fd099d3921b6ebae61eeb91b7 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Tue, 13 Jan 2026 11:23:26 -0600 Subject: [PATCH] Created libs.code package and moved pertinant DTOs to it as well as widget.code that can go there too --- src/core/widgets/code/code_base.py | 2 ++ src/core/widgets/code/command_system/command_system.py | 3 ++- src/core/widgets/code/controllers/commands_controller.py | 5 +++-- src/core/widgets/code/controllers/completion_controller.py | 5 ++--- src/core/widgets/code/controllers/controller_manager.py | 6 +++--- src/core/widgets/code/controllers/files_controller.py | 4 ++-- src/core/widgets/code/controllers/foundation/__init__.py | 3 --- .../widgets/code/controllers/source_views_controller.py | 5 ++--- src/core/widgets/code/controllers/tabs_controller.py | 5 ++--- src/core/widgets/code/source_file.py | 2 +- src/core/widgets/code/source_view.py | 1 + src/core/widgets/code/tabs_widget.py | 2 +- src/libs/code/__init__.py | 3 +++ src/libs/code/controllers/__init__.py | 3 +++ .../foundation => libs/code/controllers}/controller_base.py | 2 +- .../code/controllers}/controller_context.py | 2 +- .../foundation => libs/code/controllers}/emit_dispatcher.py | 2 +- src/libs/code/dto/__init__.py | 3 +++ src/libs/{ => code}/dto/code/__init__.py | 2 +- src/libs/{ => code}/dto/code/add_new_file_event.py | 0 src/libs/{ => code}/dto/code/added_new_file_event.py | 0 src/libs/{ => code}/dto/code/code_event.py | 0 src/libs/{ => code}/dto/code/cursor_moved_event.py | 0 src/libs/{ => code}/dto/code/file_path_set_event.py | 0 src/libs/{ => code}/dto/code/focused_view_event.py | 0 src/libs/{ => code}/dto/code/get_command_system_event.py | 0 src/libs/{ => code}/dto/code/get_file_event.py | 0 src/libs/{ => code}/dto/code/get_swap_file_event.py | 0 src/libs/{ => code}/dto/code/modified_changed_event.py | 0 src/libs/{ => code}/dto/code/pop_file_event.py | 0 src/libs/{ => code}/dto/code/popped_file_event.py | 0 src/libs/{ => code}/dto/code/remove_file_event.py | 0 src/libs/{ => code}/dto/code/removed_file_event.py | 0 src/libs/{ => code}/dto/code/request_completion_event.py | 0 src/libs/{ => code}/dto/code/set_active_file_event.py | 0 src/libs/{ => code}/dto/code/swap_file_event.py | 0 src/libs/{ => code}/dto/code/swapped_file_event.py | 0 src/libs/{ => code}/dto/code/text_changed_event.py | 0 src/libs/{ => code}/dto/code/text_inserted_event.py | 0 src/{core/widgets => libs}/code/event_factory.py | 6 +++--- src/libs/db/__init__.py | 2 +- src/libs/dto/__init__.py | 2 +- src/libs/mixins/__init__.py | 2 +- src/libs/settings/__init__.py | 2 +- 44 files changed, 41 insertions(+), 33 deletions(-) delete mode 100644 src/core/widgets/code/controllers/foundation/__init__.py create mode 100644 src/libs/code/__init__.py create mode 100644 src/libs/code/controllers/__init__.py rename src/{core/widgets/code/controllers/foundation => libs/code/controllers}/controller_base.py (95%) rename src/{core/widgets/code/controllers/foundation => libs/code/controllers}/controller_context.py (92%) rename src/{core/widgets/code/controllers/foundation => libs/code/controllers}/emit_dispatcher.py (88%) create mode 100644 src/libs/code/dto/__init__.py rename src/libs/{ => code}/dto/code/__init__.py (96%) rename src/libs/{ => code}/dto/code/add_new_file_event.py (100%) rename src/libs/{ => code}/dto/code/added_new_file_event.py (100%) rename src/libs/{ => code}/dto/code/code_event.py (100%) rename src/libs/{ => code}/dto/code/cursor_moved_event.py (100%) rename src/libs/{ => code}/dto/code/file_path_set_event.py (100%) rename src/libs/{ => code}/dto/code/focused_view_event.py (100%) rename src/libs/{ => code}/dto/code/get_command_system_event.py (100%) rename src/libs/{ => code}/dto/code/get_file_event.py (100%) rename src/libs/{ => code}/dto/code/get_swap_file_event.py (100%) rename src/libs/{ => code}/dto/code/modified_changed_event.py (100%) rename src/libs/{ => code}/dto/code/pop_file_event.py (100%) rename src/libs/{ => code}/dto/code/popped_file_event.py (100%) rename src/libs/{ => code}/dto/code/remove_file_event.py (100%) rename src/libs/{ => code}/dto/code/removed_file_event.py (100%) rename src/libs/{ => code}/dto/code/request_completion_event.py (100%) rename src/libs/{ => code}/dto/code/set_active_file_event.py (100%) rename src/libs/{ => code}/dto/code/swap_file_event.py (100%) rename src/libs/{ => code}/dto/code/swapped_file_event.py (100%) rename src/libs/{ => code}/dto/code/text_changed_event.py (100%) rename src/libs/{ => code}/dto/code/text_inserted_event.py (100%) rename src/{core/widgets => libs}/code/event_factory.py (97%) diff --git a/src/core/widgets/code/code_base.py b/src/core/widgets/code/code_base.py index f784437..185a590 100644 --- a/src/core/widgets/code/code_base.py +++ b/src/core/widgets/code/code_base.py @@ -31,11 +31,13 @@ class CodeBase: completion_controller = CompletionController() source_views_controller = SourceViewsController() + # self.controller_manager.register_controller("base", self) self.controller_manager.register_controller("files", files_controller) self.controller_manager.register_controller("tabs", tabs_controller) self.controller_manager.register_controller("commands", commands_controller) self.controller_manager.register_controller("completion", completion_controller) self.controller_manager.register_controller("source_views", source_views_controller) + # self.controller_manager.register_controller("plugins", plugins_controller) def get_tabs_widget(self): return self.controller_manager["tabs"].get_tabs_widget() diff --git a/src/core/widgets/code/command_system/command_system.py b/src/core/widgets/code/command_system/command_system.py index 7e2929f..50d0b72 100644 --- a/src/core/widgets/code/command_system/command_system.py +++ b/src/core/widgets/code/command_system/command_system.py @@ -3,7 +3,8 @@ # Lib imports # Application imports -from ..event_factory import Event_Factory, Event_Factory_Types +from libs.code.event_factory import Event_Factory, Event_Factory_Types + from ..source_view import SourceView from . import commands diff --git a/src/core/widgets/code/controllers/commands_controller.py b/src/core/widgets/code/controllers/commands_controller.py index 70be1ee..2e564a5 100644 --- a/src/core/widgets/code/controllers/commands_controller.py +++ b/src/core/widgets/code/controllers/commands_controller.py @@ -3,11 +3,12 @@ # Lib imports # Application imports -from ..event_factory import Event_Factory_Types +from libs.code.event_factory import Event_Factory_Types + +from libs.code.controllers.controller_base import ControllerBase from ..command_system import CommandSystem -from .foundation.controller_base import ControllerBase diff --git a/src/core/widgets/code/controllers/completion_controller.py b/src/core/widgets/code/controllers/completion_controller.py index 0a2921a..fc69484 100644 --- a/src/core/widgets/code/controllers/completion_controller.py +++ b/src/core/widgets/code/controllers/completion_controller.py @@ -8,13 +8,12 @@ from gi.repository import GLib from gi.repository import GtkSource # Application imports -from ..event_factory import Event_Factory, Event_Factory_Types +from libs.code.event_factory import Event_Factory, Event_Factory_Types +from libs.code.controllers.controller_base import ControllerBase from ..completion_providers.example_completion_provider import ExampleCompletionProvider from ..completion_providers.lsp_completion_provider import LSPCompletionProvider -from .foundation.controller_base import ControllerBase - class CompletionController(ControllerBase): diff --git a/src/core/widgets/code/controllers/controller_manager.py b/src/core/widgets/code/controllers/controller_manager.py index 7e8165a..76aa3af 100644 --- a/src/core/widgets/code/controllers/controller_manager.py +++ b/src/core/widgets/code/controllers/controller_manager.py @@ -5,10 +5,10 @@ # Application imports from libs.singleton import Singleton -from ..event_factory import Event_Factory_Types +from libs.code.event_factory import Event_Factory_Types -from .foundation.controller_base import ControllerBase -from .foundation.controller_context import ControllerContext +from libs.code.controllers.controller_base import ControllerBase +from libs.code.controllers.controller_context import ControllerContext diff --git a/src/core/widgets/code/controllers/files_controller.py b/src/core/widgets/code/controllers/files_controller.py index 82d9a1c..3d30747 100644 --- a/src/core/widgets/code/controllers/files_controller.py +++ b/src/core/widgets/code/controllers/files_controller.py @@ -3,12 +3,12 @@ # Lib imports # Application imports -from ..event_factory import Event_Factory, Event_Factory_Types +from libs.code.event_factory import Event_Factory, Event_Factory_Types +from libs.code.controllers.controller_base import ControllerBase from ..source_file import SourceFile from ..source_buffer import SourceBuffer -from .foundation.controller_base import ControllerBase diff --git a/src/core/widgets/code/controllers/foundation/__init__.py b/src/core/widgets/code/controllers/foundation/__init__.py deleted file mode 100644 index fcd302a..0000000 --- a/src/core/widgets/code/controllers/foundation/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" - Code Controllers Foundation Package -""" \ No newline at end of file diff --git a/src/core/widgets/code/controllers/source_views_controller.py b/src/core/widgets/code/controllers/source_views_controller.py index 8cf6fe1..c129546 100644 --- a/src/core/widgets/code/controllers/source_views_controller.py +++ b/src/core/widgets/code/controllers/source_views_controller.py @@ -3,15 +3,14 @@ # Lib imports # Application imports -from ..event_factory import Event_Factory, Event_Factory_Types +from libs.code.event_factory import Event_Factory, Event_Factory_Types +from libs.code.controllers.controller_base import ControllerBase from ..command_system import CommandSystem from ..key_mapper import KeyMapper from ..source_view import SourceView -from .foundation.controller_base import ControllerBase - class SourceViewsController(ControllerBase, list): diff --git a/src/core/widgets/code/controllers/tabs_controller.py b/src/core/widgets/code/controllers/tabs_controller.py index 71b453f..4d8f90f 100644 --- a/src/core/widgets/code/controllers/tabs_controller.py +++ b/src/core/widgets/code/controllers/tabs_controller.py @@ -3,15 +3,14 @@ # Lib imports # Application imports -from ..event_factory import Event_Factory, Event_Factory_Types +from libs.code.event_factory import Event_Factory, Event_Factory_Types +from libs.code.controllers.controller_base import ControllerBase from ..tabs_widget import TabsWidget from ..tab_widget import TabWidget from ..source_view import SourceView -from .foundation.controller_base import ControllerBase - class TabsController(ControllerBase): diff --git a/src/core/widgets/code/source_file.py b/src/core/widgets/code/source_file.py index d039d0b..26bcaa4 100644 --- a/src/core/widgets/code/source_file.py +++ b/src/core/widgets/code/source_file.py @@ -12,7 +12,7 @@ from gi.repository import GtkSource from gi.repository import Gio # Application imports -from .event_factory import Event_Factory, Event_Factory_Types +from libs.code.event_factory import Event_Factory, Event_Factory_Types from .source_buffer import SourceBuffer diff --git a/src/core/widgets/code/source_view.py b/src/core/widgets/code/source_view.py index e6cc897..ce48f6b 100644 --- a/src/core/widgets/code/source_view.py +++ b/src/core/widgets/code/source_view.py @@ -9,6 +9,7 @@ from gi.repository import Gtk from gi.repository import GLib from gi.repository import GtkSource +# Application imports from .mixins.source_view_dnd_mixin import SourceViewDnDMixin diff --git a/src/core/widgets/code/tabs_widget.py b/src/core/widgets/code/tabs_widget.py index 1d82fe7..6b0a016 100644 --- a/src/core/widgets/code/tabs_widget.py +++ b/src/core/widgets/code/tabs_widget.py @@ -6,7 +6,7 @@ gi.require_version('Gtk', '3.0') from gi.repository import Gtk # Application imports -from .event_factory import Event_Factory_Types +from libs.code.event_factory import Event_Factory_Types from .source_view import SourceView from .source_file import SourceFile diff --git a/src/libs/code/__init__.py b/src/libs/code/__init__.py new file mode 100644 index 0000000..f320a83 --- /dev/null +++ b/src/libs/code/__init__.py @@ -0,0 +1,3 @@ +""" + Libs Code Package +""" \ No newline at end of file diff --git a/src/libs/code/controllers/__init__.py b/src/libs/code/controllers/__init__.py new file mode 100644 index 0000000..1b2fbeb --- /dev/null +++ b/src/libs/code/controllers/__init__.py @@ -0,0 +1,3 @@ +""" + Libs Code Controllers Package +""" \ No newline at end of file diff --git a/src/core/widgets/code/controllers/foundation/controller_base.py b/src/libs/code/controllers/controller_base.py similarity index 95% rename from src/core/widgets/code/controllers/foundation/controller_base.py rename to src/libs/code/controllers/controller_base.py index 30dec2c..67eb76d 100644 --- a/src/core/widgets/code/controllers/foundation/controller_base.py +++ b/src/libs/code/controllers/controller_base.py @@ -5,7 +5,7 @@ # Application imports from libs.singleton import Singleton -from ...event_factory import Event_Factory_Types +from ..event_factory import Event_Factory_Types from .emit_dispatcher import EmitDispatcher from .controller_context import ControllerContext diff --git a/src/core/widgets/code/controllers/foundation/controller_context.py b/src/libs/code/controllers/controller_context.py similarity index 92% rename from src/core/widgets/code/controllers/foundation/controller_context.py rename to src/libs/code/controllers/controller_context.py index a790c0c..67bb5b4 100644 --- a/src/core/widgets/code/controllers/foundation/controller_context.py +++ b/src/libs/code/controllers/controller_context.py @@ -3,7 +3,7 @@ # Lib imports # Application imports -from ...event_factory import Event_Factory_Types +from ..event_factory import Event_Factory_Types diff --git a/src/core/widgets/code/controllers/foundation/emit_dispatcher.py b/src/libs/code/controllers/emit_dispatcher.py similarity index 88% rename from src/core/widgets/code/controllers/foundation/emit_dispatcher.py rename to src/libs/code/controllers/emit_dispatcher.py index 432faad..41d5621 100644 --- a/src/core/widgets/code/controllers/foundation/emit_dispatcher.py +++ b/src/libs/code/controllers/emit_dispatcher.py @@ -3,7 +3,7 @@ # Lib imports # Application imports -from ...event_factory import Event_Factory_Types +from ..event_factory import Event_Factory_Types diff --git a/src/libs/code/dto/__init__.py b/src/libs/code/dto/__init__.py new file mode 100644 index 0000000..212583b --- /dev/null +++ b/src/libs/code/dto/__init__.py @@ -0,0 +1,3 @@ +""" + Libs Code DTO(s) Package +""" diff --git a/src/libs/dto/code/__init__.py b/src/libs/code/dto/code/__init__.py similarity index 96% rename from src/libs/dto/code/__init__.py rename to src/libs/code/dto/code/__init__.py index f65207c..c3c48a4 100644 --- a/src/libs/dto/code/__init__.py +++ b/src/libs/code/dto/code/__init__.py @@ -1,5 +1,5 @@ """ - Code DTO Class Package + Libs Code DTO(s) Code Package """ diff --git a/src/libs/dto/code/add_new_file_event.py b/src/libs/code/dto/code/add_new_file_event.py similarity index 100% rename from src/libs/dto/code/add_new_file_event.py rename to src/libs/code/dto/code/add_new_file_event.py diff --git a/src/libs/dto/code/added_new_file_event.py b/src/libs/code/dto/code/added_new_file_event.py similarity index 100% rename from src/libs/dto/code/added_new_file_event.py rename to src/libs/code/dto/code/added_new_file_event.py diff --git a/src/libs/dto/code/code_event.py b/src/libs/code/dto/code/code_event.py similarity index 100% rename from src/libs/dto/code/code_event.py rename to src/libs/code/dto/code/code_event.py diff --git a/src/libs/dto/code/cursor_moved_event.py b/src/libs/code/dto/code/cursor_moved_event.py similarity index 100% rename from src/libs/dto/code/cursor_moved_event.py rename to src/libs/code/dto/code/cursor_moved_event.py diff --git a/src/libs/dto/code/file_path_set_event.py b/src/libs/code/dto/code/file_path_set_event.py similarity index 100% rename from src/libs/dto/code/file_path_set_event.py rename to src/libs/code/dto/code/file_path_set_event.py diff --git a/src/libs/dto/code/focused_view_event.py b/src/libs/code/dto/code/focused_view_event.py similarity index 100% rename from src/libs/dto/code/focused_view_event.py rename to src/libs/code/dto/code/focused_view_event.py diff --git a/src/libs/dto/code/get_command_system_event.py b/src/libs/code/dto/code/get_command_system_event.py similarity index 100% rename from src/libs/dto/code/get_command_system_event.py rename to src/libs/code/dto/code/get_command_system_event.py diff --git a/src/libs/dto/code/get_file_event.py b/src/libs/code/dto/code/get_file_event.py similarity index 100% rename from src/libs/dto/code/get_file_event.py rename to src/libs/code/dto/code/get_file_event.py diff --git a/src/libs/dto/code/get_swap_file_event.py b/src/libs/code/dto/code/get_swap_file_event.py similarity index 100% rename from src/libs/dto/code/get_swap_file_event.py rename to src/libs/code/dto/code/get_swap_file_event.py diff --git a/src/libs/dto/code/modified_changed_event.py b/src/libs/code/dto/code/modified_changed_event.py similarity index 100% rename from src/libs/dto/code/modified_changed_event.py rename to src/libs/code/dto/code/modified_changed_event.py diff --git a/src/libs/dto/code/pop_file_event.py b/src/libs/code/dto/code/pop_file_event.py similarity index 100% rename from src/libs/dto/code/pop_file_event.py rename to src/libs/code/dto/code/pop_file_event.py diff --git a/src/libs/dto/code/popped_file_event.py b/src/libs/code/dto/code/popped_file_event.py similarity index 100% rename from src/libs/dto/code/popped_file_event.py rename to src/libs/code/dto/code/popped_file_event.py diff --git a/src/libs/dto/code/remove_file_event.py b/src/libs/code/dto/code/remove_file_event.py similarity index 100% rename from src/libs/dto/code/remove_file_event.py rename to src/libs/code/dto/code/remove_file_event.py diff --git a/src/libs/dto/code/removed_file_event.py b/src/libs/code/dto/code/removed_file_event.py similarity index 100% rename from src/libs/dto/code/removed_file_event.py rename to src/libs/code/dto/code/removed_file_event.py diff --git a/src/libs/dto/code/request_completion_event.py b/src/libs/code/dto/code/request_completion_event.py similarity index 100% rename from src/libs/dto/code/request_completion_event.py rename to src/libs/code/dto/code/request_completion_event.py diff --git a/src/libs/dto/code/set_active_file_event.py b/src/libs/code/dto/code/set_active_file_event.py similarity index 100% rename from src/libs/dto/code/set_active_file_event.py rename to src/libs/code/dto/code/set_active_file_event.py diff --git a/src/libs/dto/code/swap_file_event.py b/src/libs/code/dto/code/swap_file_event.py similarity index 100% rename from src/libs/dto/code/swap_file_event.py rename to src/libs/code/dto/code/swap_file_event.py diff --git a/src/libs/dto/code/swapped_file_event.py b/src/libs/code/dto/code/swapped_file_event.py similarity index 100% rename from src/libs/dto/code/swapped_file_event.py rename to src/libs/code/dto/code/swapped_file_event.py diff --git a/src/libs/dto/code/text_changed_event.py b/src/libs/code/dto/code/text_changed_event.py similarity index 100% rename from src/libs/dto/code/text_changed_event.py rename to src/libs/code/dto/code/text_changed_event.py diff --git a/src/libs/dto/code/text_inserted_event.py b/src/libs/code/dto/code/text_inserted_event.py similarity index 100% rename from src/libs/dto/code/text_inserted_event.py rename to src/libs/code/dto/code/text_inserted_event.py diff --git a/src/core/widgets/code/event_factory.py b/src/libs/code/event_factory.py similarity index 97% rename from src/core/widgets/code/event_factory.py rename to src/libs/code/event_factory.py index 72b7a21..f023a39 100644 --- a/src/core/widgets/code/event_factory.py +++ b/src/libs/code/event_factory.py @@ -6,9 +6,9 @@ import re # Lib imports # Application imports -from libs.singleton import Singleton -from libs.dto.code import CodeEvent -from libs.dto import code +from ..singleton import Singleton +from .dto.code import CodeEvent +from .dto import code diff --git a/src/libs/db/__init__.py b/src/libs/db/__init__.py index d20f589..2b83284 100644 --- a/src/libs/db/__init__.py +++ b/src/libs/db/__init__.py @@ -1,5 +1,5 @@ """ - DB Package + Libs DB Package """ from .models import User diff --git a/src/libs/dto/__init__.py b/src/libs/dto/__init__.py index 1763ba0..3e41b36 100644 --- a/src/libs/dto/__init__.py +++ b/src/libs/dto/__init__.py @@ -1,5 +1,5 @@ """ - DTO Class Package + Libs DTO(s) Package """ from .event import Event \ No newline at end of file diff --git a/src/libs/mixins/__init__.py b/src/libs/mixins/__init__.py index e852849..c45077c 100644 --- a/src/libs/mixins/__init__.py +++ b/src/libs/mixins/__init__.py @@ -1,3 +1,3 @@ """ - Libs.Mixins Package + Libs Mixins Package """ \ No newline at end of file diff --git a/src/libs/settings/__init__.py b/src/libs/settings/__init__.py index 228a75d..168d6ee 100644 --- a/src/libs/settings/__init__.py +++ b/src/libs/settings/__init__.py @@ -1,4 +1,4 @@ """ - Settings Package + Libs Settings Package """ from .manager import SettingsManager \ No newline at end of file