# krypton-suite/standard-toolkit architecture

> Architecture diagram of the GitHub repository krypton-suite/standard-toolkit, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/krypton-suite/standard-toolkit
- Repository: https://github.com/krypton-suite/standard-toolkit

## Overview

Krypton Standard Toolkit is a Windows Forms UI component suite. An application embeds its controls; users act through ribbon commands, navigator pages, and docking layouts, and the controls present the resulting interface. The README also identifies Toolkit and Workspace as distinct components. The tree and excerpts show docking operations, drag handling, global palette management, and image storage; they do not establish all cross-component wiring, so the graph leaves those connections out. Workspace is documented, but its source directory is not present in the supplied tree.

Main entry points: [`Source/Krypton Components/Krypton.Docking/Elements Impl/KryptonDockingManager.cs`](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Elements%20Impl/KryptonDockingManager.cs) (Docking manager), [`Source/Krypton Components/Krypton.Ribbon/Controls Ribbon/KryptonRibbon.cs`](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Ribbon/KryptonRibbon.cs) (Ribbon controls), [`Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonManager.cs`](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonManager.cs) (Global manager), [`Source/Krypton Components/Krypton.Toolkit/Storage/Images/KryptonImageStorage.cs`](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/KryptonImageStorage.cs) (Image storage)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["UI components"]
  node_ribbon["Ribbon controls<br/>[KryptonRibbon.cs]"]
  node_backstage["Backstage UI"]
  node_gallery["Ribbon galleries<br/>[KryptonGallery.cs]"]
  node_workspace["Workspace"]
end

subgraph group_navigation["Navigation"]
  node_navigator["Navigator control"]
  node_pages["Pages and collection"]
  node_navdrag["Page drag handling"]
  node_navdragmanager["Drag manager<br/>[DragManager.cs]"]
end

subgraph group_docking["Docking"]
  node_dockmanager["Docking manager"]
  node_dockworkspace["Dockable workspace"]
  node_docknavigator["Dockable navigator"]
  node_floatwindow["Floating windows"]
  node_dockdrag["Dock drag manager"]
end

subgraph group_toolkit["Toolkit services"]
  node_manager["Global manager<br/>[KryptonManager.cs]"]
  node_palette["Palette system<br/>[KryptonManager.cs]"]
  node_imagestorage["Image storage"]
  node_genericimages["Generic images"]
  node_toolbarimages["Toolbar images"]
  node_taskimage["Task dialog images"]
end

node_application(("Host application"))

node_application -->|"hosts controls"| node_ribbon
node_application -->|"hosts controls"| node_navigator
node_application -->|"uses component"| node_workspace
node_application -->|"configures layout"| node_dockmanager
node_ribbon -->|"provides backstage"| node_backstage
node_ribbon -->|"hosts galleries"| node_gallery
node_navigator -->|"manages pages"| node_pages
node_navdrag -->|"starts drag"| node_navdragmanager
node_dockmanager -->|"manages layout"| node_dockworkspace
node_dockmanager -->|"manages layout"| node_docknavigator
node_dockmanager -->|"creates windows"| node_floatwindow
node_dockdrag -->|"moves window"| node_floatwindow
node_application -->|"sets global UI"| node_manager
node_manager -->|"selects palette"| node_palette
node_manager -->|"exposes images"| node_imagestorage
node_imagestorage -->|"provides storage"| node_genericimages
node_imagestorage -->|"provides storage"| node_toolbarimages
node_application -->|"sets dialog image"| node_taskimage

click node_ribbon "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Ribbon/KryptonRibbon.cs"
click node_backstage "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Backstage/KryptonBackstageView.cs"
click node_gallery "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Ribbon/KryptonGallery.cs"
click node_workspace "https://github.com/krypton-suite/standard-toolkit/tree/master/Source/Krypton%20Components"
click node_navigator "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Controls%20Navigator/KryptonNavigator.cs"
click node_pages "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Page/KryptonPageCollection.cs"
click node_navdrag "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Controller/DragViewController.cs"
click node_navdragmanager "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Dragging/DragManager.cs"
click node_dockmanager "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Elements%20Impl/KryptonDockingManager.cs"
click node_dockworkspace "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Control%20Docking/KryptonDockableWorkspace.cs"
click node_docknavigator "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Control%20Docking/KryptonDockableNavigator.cs"
click node_floatwindow "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Control%20Docking/KryptonFloatingWindow.cs"
click node_dockdrag "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Dragging/DockingDragManager.cs"
click node_manager "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonManager.cs"
click node_palette "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonManager.cs"
click node_imagestorage "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/KryptonImageStorage.cs"
click node_genericimages "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/Generic/GenericImageStorage.cs"
click node_toolbarimages "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/Toolbar/ToolBarImageStorage.cs"
click node_taskimage "https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonTaskDialog/Elements/KryptonTaskDialogElementContent.ImageStorage.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ribbon,node_backstage,node_gallery,node_workspace toneBlue
class node_navigator,node_pages,node_navdrag,node_navdragmanager toneAmber
class node_dockmanager,node_dockworkspace,node_docknavigator,node_floatwindow,node_dockdrag toneMint
class node_manager,node_palette,node_imagestorage,node_genericimages,node_toolbarimages,node_taskimage toneRose
class node_application toneIndigo
```

## Components

### UI components

- [Ribbon controls](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Ribbon/KryptonRibbon.cs): `Source/Krypton Components/Krypton.Ribbon/Controls Ribbon/KryptonRibbon.cs`
- [Backstage UI](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Backstage/KryptonBackstageView.cs): `Source/Krypton Components/Krypton.Ribbon/Controls Backstage/KryptonBackstageView.cs`
- [Ribbon galleries](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Ribbon/Controls%20Ribbon/KryptonGallery.cs): `Source/Krypton Components/Krypton.Ribbon/Controls Ribbon/KryptonGallery.cs`
- [Workspace](https://github.com/krypton-suite/standard-toolkit/tree/master/Source/Krypton%20Components): `Source/Krypton Components`

### Navigation

- [Navigator control](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Controls%20Navigator/KryptonNavigator.cs): `Source/Krypton Components/Krypton.Navigator/Controls Navigator/KryptonNavigator.cs`
- [Pages and collection](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Page/KryptonPageCollection.cs): `Source/Krypton Components/Krypton.Navigator/Page/KryptonPageCollection.cs`
- [Page drag handling](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Controller/DragViewController.cs): `Source/Krypton Components/Krypton.Navigator/Controller/DragViewController.cs`
- [Drag manager](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Navigator/Dragging/DragManager.cs): `Source/Krypton Components/Krypton.Navigator/Dragging/DragManager.cs`

### Docking

- [Docking manager](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Elements%20Impl/KryptonDockingManager.cs): `Source/Krypton Components/Krypton.Docking/Elements Impl/KryptonDockingManager.cs`
- [Dockable workspace](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Control%20Docking/KryptonDockableWorkspace.cs): `Source/Krypton Components/Krypton.Docking/Control Docking/KryptonDockableWorkspace.cs`
- [Dockable navigator](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Control%20Docking/KryptonDockableNavigator.cs): `Source/Krypton Components/Krypton.Docking/Control Docking/KryptonDockableNavigator.cs`
- [Floating windows](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Control%20Docking/KryptonFloatingWindow.cs): `Source/Krypton Components/Krypton.Docking/Control Docking/KryptonFloatingWindow.cs`
- [Dock drag manager](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Docking/Dragging/DockingDragManager.cs): `Source/Krypton Components/Krypton.Docking/Dragging/DockingDragManager.cs`

### Toolkit services

- [Global manager](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonManager.cs): `Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonManager.cs`
- [Palette system](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonManager.cs): `Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonManager.cs`
- [Image storage](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/KryptonImageStorage.cs): `Source/Krypton Components/Krypton.Toolkit/Storage/Images/KryptonImageStorage.cs`
- [Generic images](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/Generic/GenericImageStorage.cs): `Source/Krypton Components/Krypton.Toolkit/Storage/Images/Generic/GenericImageStorage.cs`
- [Toolbar images](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Storage/Images/Toolbar/ToolBarImageStorage.cs): `Source/Krypton Components/Krypton.Toolkit/Storage/Images/Toolbar/ToolBarImageStorage.cs`
- [Task dialog images](https://github.com/krypton-suite/standard-toolkit/blob/master/Source/Krypton%20Components/Krypton.Toolkit/Controls%20Toolkit/KryptonTaskDialog/Elements/KryptonTaskDialogElementContent.ImageStorage.cs): `Source/Krypton Components/Krypton.Toolkit/Controls Toolkit/KryptonTaskDialog/Elements/KryptonTaskDialogElementContent.ImageStorage.cs`

### Other components

- **Host application**

## Connections

- Host application → Ribbon controls: hosts controls
- Host application → Navigator control: hosts controls
- Host application → Workspace: uses component
- Host application → Docking manager: configures layout
- Ribbon controls → Backstage UI: provides backstage
- Ribbon controls → Ribbon galleries: hosts galleries
- Navigator control → Pages and collection: manages pages
- Page drag handling → Drag manager: starts drag
- Docking manager → Dockable workspace: manages layout
- Docking manager → Dockable navigator: manages layout
- Docking manager → Floating windows: creates windows
- Dock drag manager → Floating windows: moves window
- Host application → Global manager: sets global UI
- Global manager → Palette system: selects palette
- Global manager → Image storage: exposes images
- Image storage → Generic images: provides storage
- Image storage → Toolbar images: provides storage
- Host application → Task dialog images: sets dialog image
