# nuksee/partitionexplorer architecture

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

- Interactive diagram: https://gitdiagram.com/nuksee/partitionexplorer
- Repository: https://github.com/nuksee/partitionexplorer

## Overview

PartitionExplorer is a Windows desktop disk-usage explorer. The user opens a drive or folder, the app scans it in the background, then presents measured sizes in a sortable details list and donut/treemap views; users can navigate and act on items. The scan, navigation, and most UI behavior are concentrated in Form1.cs. README-described capabilities whose implementation is not shown are included, but their internal wiring is not inferred. The graph reflects only the sampled source and documented relationships.

Main entry points: [`PartitionExplorer/Form1.cs`](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs) (Main window), [`PartitionExplorer/Program.cs`](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Program.cs) (Application entry), [`PartitionExplorer/TreemapControl.cs`](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/TreemapControl.cs) (Treemap view), [`PartitionExplorer/Theme.cs`](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Theme.cs) (Theme support)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App workflow"]
  node_entry["Application entry<br/>[Program.cs]"]
  node_window["Main window<br/>[Form1.cs]"]
  node_scanner["Folder scanning<br/>[Form1.cs]"]
  node_navigation["Folder navigation<br/>[Form1.cs]"]
  node_item_actions["Item actions<br/>[Form1.cs]"]
end

subgraph group_views["Views and presentation"]
  node_details["Details list<br/>[Form1.cs]"]
  node_donut["Donut chart<br/>[Form1.cs]"]
  node_treemap["Treemap view<br/>[TreemapControl.cs]"]
  node_icons["Flat icons<br/>[FlatIcons.cs]"]
  node_theme["Theme support<br/>[Theme.cs]"]
  node_themed_controls["Themed controls<br/>[ThemedControls.cs]"]
end

subgraph group_integration["Windows integration"]
  node_shell_menu["Explorer context-menu integration<br/>[Form1.cs]"]
end

node_user(("User"))
node_filesystem["Local files and drives"]
node_shell["Windows Explorer"]

node_user -->|"launches"| node_entry
node_entry -->|"opens"| node_window
node_window -->|"starts scans"| node_scanner
node_scanner -->|"reads folders"| node_filesystem
node_window -->|"navigates folders"| node_navigation
node_window -->|"shows results"| node_details
node_window -->|"shows sizes"| node_donut
node_window -->|"updates view"| node_treemap
node_treemap -->|"signals selection"| node_window
node_window -->|"offers actions"| node_item_actions
node_item_actions -->|"opens in Explorer"| node_shell
node_window -.->|"uses icons"| node_icons
node_themed_controls -->|"uses theme"| node_theme
node_window -.->|"applies theme"| node_theme
node_user -->|"enables integration"| node_shell_menu
node_shell -->|"invokes app"| node_shell_menu
node_shell_menu -.->|"opens folder"| node_entry

click node_entry "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Program.cs"
click node_window "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs"
click node_scanner "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs"
click node_navigation "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs"
click node_item_actions "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs"
click node_details "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs"
click node_donut "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs"
click node_treemap "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/TreemapControl.cs"
click node_icons "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/FlatIcons.cs"
click node_theme "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Theme.cs"
click node_themed_controls "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/ThemedControls.cs"
click node_shell_menu "https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.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_entry,node_window,node_scanner,node_navigation,node_item_actions,node_user toneBlue
class node_details,node_donut,node_treemap,node_icons,node_theme,node_themed_controls toneAmber
class node_shell_menu toneMint
class node_filesystem,node_shell toneIndigo
```

## Components

### App workflow

- [Application entry](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Program.cs): `PartitionExplorer/Program.cs`
- [Main window](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`
- [Folder scanning](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`
- [Folder navigation](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`
- [Item actions](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`

### Views and presentation

- [Details list](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`
- [Donut chart](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`
- [Treemap view](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/TreemapControl.cs): `PartitionExplorer/TreemapControl.cs`
- [Flat icons](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/FlatIcons.cs): `PartitionExplorer/FlatIcons.cs`
- [Theme support](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Theme.cs): `PartitionExplorer/Theme.cs`
- [Themed controls](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/ThemedControls.cs): `PartitionExplorer/ThemedControls.cs`

### Windows integration

- [Explorer context-menu integration](https://github.com/nuksee/partitionexplorer/blob/master/PartitionExplorer/Form1.cs): `PartitionExplorer/Form1.cs`

### Other components

- **User**
- **Local files and drives**
- **Windows Explorer**

## Connections

- User → Application entry: launches (evidence: `README.md`)
- Application entry → Main window: opens (evidence: `PartitionExplorer/Program.cs`)
- Main window → Folder scanning: starts scans (evidence: `PartitionExplorer/Form1.cs`)
- Folder scanning → Local files and drives: reads folders (evidence: `PartitionExplorer/Form1.cs`)
- Main window → Folder navigation: navigates folders (evidence: `README.md`)
- Main window → Details list: shows results (evidence: `README.md`)
- Main window → Donut chart: shows sizes (evidence: `README.md`)
- Main window → Treemap view: updates view (evidence: `PartitionExplorer/Form1.cs`)
- Treemap view → Main window: signals selection (evidence: `PartitionExplorer/TreemapControl.cs`)
- Main window → Item actions: offers actions (evidence: `README.md`)
- Item actions → Windows Explorer: opens in Explorer (evidence: `PartitionExplorer/Form1.cs`)
- Main window → Flat icons: uses icons (evidence: `PartitionExplorer/Form1.cs`)
- Themed controls → Theme support: uses theme (evidence: `PartitionExplorer/ThemedControls.cs`)
- Main window → Theme support: applies theme (evidence: `PartitionExplorer/Form1.cs`)
- User → Explorer context-menu integration: enables integration (evidence: `README.md`)
- Windows Explorer → Explorer context-menu integration: invokes app (evidence: `README.md`)
- Explorer context-menu integration → Application entry: opens folder (evidence: `PartitionExplorer/Program.cs`)
