A blockable UI system (also known as a dockable panel system) allows users to customize their workspace by rearranging UI components. This guide explains how to implement such a system for Symphony IDE, similar to what you’d find in Visual Studio, VS Code, or JetBrains IDEs.
Online FlowChart & Diagrams Editor - Mermaid Live Editor
graph TD
DockManager[Dock Manager] --> DockContainer
DockContainer --> DockZone1[Dock Zone: Top]
DockContainer --> DockZone2[Dock Zone: Left]
DockContainer --> DockZone3[Dock Zone: Center]
DockContainer --> DockZone4[Dock Zone: Right]
DockContainer --> DockZone5[Dock Zone: Bottom]
DockZone2 --> DockGroup1[Dock Group]
DockZone3 --> DockGroup2[Dock Group]
DockZone4 --> DockGroup3[Dock Group]
DockGroup1 --> Panel1[Panel: Explorer]
DockGroup2 --> Panel2[Panel: Editor]
DockGroup3 --> Panel3[Panel: Properties]
DockGroup3 --> Panel4[Panel: Output]
DockManager -.-> DragController[Drag Controller]
DockManager -.-> DropTarget[Drop Target Indicator]
DockManager -.-> LayoutSerializer[Layout Serializer]