feat(editor): introduce split pane manager plugin and refactor source view system
* address TODO item for split_pane_manager plugin and bound keys * add split_pane_manager plugin with create/close split view commands * move sibling focus/move commands from core into plugin system * remove legacy toggle_source_view plugin * redesign EditorsContainer to use simpler Box-based layout * refactor source view API to return (scrolled_window, source_view) * add source view lifecycle events (create/remove/removed) * rename GetNewCommandSystemEvent → CreateCommandSystemEvent * update CommandsController to support command system creation and cleanup * ensure command systems are removed with their source views * improve focus border handling across sibling chains * update telescope integration for new source view structure * clean up container imports and initialization logic * remove old keybindings and align with new split pane workflow
This commit is contained in:
@@ -52,8 +52,8 @@ class Plugin(PluginCode):
|
||||
)
|
||||
self.emit_to("source_views", event)
|
||||
|
||||
source_view = event.response
|
||||
telescope.set_source_view(source_view)
|
||||
scrolled_win, source_view = event.response
|
||||
telescope.set_source_view(scrolled_win, source_view)
|
||||
|
||||
event = Event_Factory.create_event(
|
||||
"register_completer",
|
||||
|
||||
@@ -99,13 +99,9 @@ class Telescope(Gtk.Dialog):
|
||||
def unmap_parent_resize_event(self, parent):
|
||||
parent.disconnect(self.size_allocate_id)
|
||||
|
||||
def set_source_view(self, source_view):
|
||||
scrolled_win = Gtk.ScrolledWindow()
|
||||
def set_source_view(self, scrolled_win, source_view):
|
||||
self.source_view = source_view
|
||||
|
||||
scrolled_win.add(self.source_view)
|
||||
self.main_box.pack_end(scrolled_win, True, True, 0)
|
||||
|
||||
scrolled_win.show_all()
|
||||
|
||||
def _handle_destroy(self, widget):
|
||||
|
||||
Reference in New Issue
Block a user