From df5cc7fe30cbdfac408750026199c688a318b16a Mon Sep 17 00:00:00 2001 From: Manuel Gasser Date: Sun, 21 Dec 2025 11:16:12 +0100 Subject: [PATCH 01/11] Add initial VS style docking layout implementation --- .../Features/BottomBar/BottomBar.cs | 4 +- .../Features/BottomBar/RunningTasksDisplay.cs | 102 +++--- .../Features/CodeEditor/CodeEditorPanel.cs | 2 +- .../CustomControls/InvertedVSplitContainer.cs | 72 ++--- .../Features/Layout/DockSymbol.cs | 12 + .../Features/Layout/DockSymbol.cs.uid | 1 + .../Features/Layout/DockSymbol.tscn | 23 ++ .../Features/Layout/IdeDockLayout.cs | 303 ++++++++++++++++++ .../Features/Layout/IdeDockLayout.cs.uid | 1 + .../Features/Layout/IdeDockLayout.tscn | 19 ++ .../Features/Layout/IdeDockOverlay.cs | 153 +++++++++ .../Features/Layout/IdeDockOverlay.cs.uid | 1 + .../Features/Layout/IdeDockOverlay.tscn | 100 ++++++ .../Features/Layout/IdeLayoutNode.cs | 42 +++ .../Features/Layout/IdeLayoutNode.cs.uid | 1 + .../Features/LeftSideBar/LeftSideBar.cs | 96 +++--- src/SharpIDE.Godot/IdeRoot.cs | 28 +- src/SharpIDE.Godot/IdeRoot.tscn | 83 +---- 18 files changed, 815 insertions(+), 228 deletions(-) create mode 100644 src/SharpIDE.Godot/Features/Layout/DockSymbol.cs create mode 100644 src/SharpIDE.Godot/Features/Layout/DockSymbol.cs.uid create mode 100644 src/SharpIDE.Godot/Features/Layout/DockSymbol.tscn create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeDockLayout.cs create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeDockLayout.cs.uid create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeDockLayout.tscn create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeDockOverlay.cs create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeDockOverlay.cs.uid create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeDockOverlay.tscn create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeLayoutNode.cs create mode 100644 src/SharpIDE.Godot/Features/Layout/IdeLayoutNode.cs.uid diff --git a/src/SharpIDE.Godot/Features/BottomBar/BottomBar.cs b/src/SharpIDE.Godot/Features/BottomBar/BottomBar.cs index 995f8590..27fff250 100644 --- a/src/SharpIDE.Godot/Features/BottomBar/BottomBar.cs +++ b/src/SharpIDE.Godot/Features/BottomBar/BottomBar.cs @@ -4,5 +4,5 @@ namespace SharpIDE.Godot.Features.BottomBar; public partial class BottomBar : PanelContainer { - -} \ No newline at end of file + +} diff --git a/src/SharpIDE.Godot/Features/BottomBar/RunningTasksDisplay.cs b/src/SharpIDE.Godot/Features/BottomBar/RunningTasksDisplay.cs index d965efa3..9c71cfb3 100644 --- a/src/SharpIDE.Godot/Features/BottomBar/RunningTasksDisplay.cs +++ b/src/SharpIDE.Godot/Features/BottomBar/RunningTasksDisplay.cs @@ -7,57 +7,57 @@ namespace SharpIDE.Godot.Features.BottomBar; public partial class RunningTasksDisplay : HBoxContainer { - [Inject] private readonly ActivityMonitor _activityMonitor = null!; - - private bool _isSolutionRestoring; - private bool _isSolutionLoading; - private bool _isSolutionDiagnosticsBeingRetrieved; + [Inject] private readonly ActivityMonitor _activityMonitor = null!; + + private bool _isSolutionRestoring; + private bool _isSolutionLoading; + private bool _isSolutionDiagnosticsBeingRetrieved; - private Label _solutionRestoringLabel = null!; - private Label _solutionLoadingLabel = null!; - private Label _solutionDiagnosticsLabel = null!; - - public override void _Ready() - { - _solutionRestoringLabel = GetNode