# Editor.DockManager

- Kind: class
- Namespace: `Editor`
- Assembly: `Sandbox.Tools`
- Inherits: [Editor.Widget](/api/Editor.Widget)

## Constructors

- [`DockManager`](/api/Editor.DockManager/.ctor)

## Properties

- [`DockTypes`](/api/Editor.DockManager/DockTypes): A list of dock types that are registered.
- [`OnLayoutLoaded`](/api/Editor.DockManager/OnLayoutLoaded): Called when the layout state is loaded, e.g. when the default layout is applied or a saved layout is restored.
- [`State`](/api/Editor.DockManager/State): A string representing the entire state of the dock manager (position of all docks, etc). Setting this restores the layout and invokes [Editor.DockManager.OnLayoutLoaded](/api/Editor.DockManager/OnLayoutLoaded).

## Methods

- [`AddDock`](/api/Editor.DockManager/AddDock): Adds a [Editor.DockWidget](/api/Editor.DockWidget) into the given area.
- [`AddDockFloating`](/api/Editor.DockManager/AddDockFloating): Adds a [Editor.DockWidget](/api/Editor.DockWidget) as a floating window.
- [`Clear`](/api/Editor.DockManager/Clear): Clear all registered dock types.
- [`CreateDockWidget`](/api/Editor.DockManager/CreateDockWidget): Creates a native dock widget container for the given widget.
- [`FindDockWidget`](/api/Editor.DockManager/FindDockWidget): Find an existing dock widget by name. Returns null if not found.
- [`IsDockOpen`](/api/Editor.DockManager/IsDockOpen): Whether the named dock is currently open (visible).
- [`OpenDock`](/api/Editor.DockManager/OpenDock): Open a registered dock and move it into the given area, creating it if needed.
- [`RaiseDock`](/api/Editor.DockManager/RaiseDock): Raise a dock to the front of its tab group.
- [`RegisterDock`](/api/Editor.DockManager/RegisterDock): Register a dock type and create it closed in its default area, so it's available to view menus and layout restoring without appearing in the layout.
- [`RegisterDockType`](/api/Editor.DockManager/RegisterDockType): Registers a dock type without creating its widget.
- [`RemoveDock`](/api/Editor.DockManager/RemoveDock): Remove a dock widget from the manager.
- [`RestoreState`](/api/Editor.DockManager/RestoreState): Restore a layout previously captured from [Editor.DockManager.State](/api/Editor.DockManager/State). Returns false if the state couldn't be restored, e.g. it was saved by an incompatible version.
- [`SetCentralWidget`](/api/Editor.DockManager/SetCentralWidget): Sets a widget as the central (always present, non-closable) area. Must be called before any other dock is added. Returns the dock hosting it, which can be used as a target for relative docking.
- [`SetDockState`](/api/Editor.DockManager/SetDockState): Toggle a registered dock's visibility by name. If the dock doesn't exist yet, it will be created from its registered [Editor.DockManager.DockInfo](/api/Editor.DockManager.DockInfo).
- [`SetSplitterProportions`](/api/Editor.DockManager/SetSplitterProportions)
- [`UnregisterDockType`](/api/Editor.DockManager/UnregisterDockType): Unregister a dock type by name.
