73 lines
3.7 KiB
Markdown
73 lines
3.7 KiB
Markdown
---
|
|
source_files:
|
|
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.GraphList/View/ExportGraphMainView.xaml.cs
|
|
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.GraphList/View/GraphMainView.xaml.cs
|
|
generated_at: "2026-04-16T13:49:07.805829+00:00"
|
|
model: "zai-org/GLM-5-FP8"
|
|
schema_version: 1
|
|
sha256: "e0305153f9f5be9f"
|
|
---
|
|
|
|
# Documentation: Graph List Views
|
|
|
|
## 1. Purpose
|
|
|
|
This module provides two WPF view components for graph-related functionality within the DTS Viewer application. `ExportGraphMainView` and `GraphMainView` are code-behind partial classes for their respective XAML views, both implementing specific interfaces (`IExportGraphMainView` and `IGraphMainView`) and handling the `ApplicationCommands.Undo` command by marking it as handled. These views appear to be part of a modular architecture for displaying and exporting graph data.
|
|
|
|
---
|
|
|
|
## 2. Public Interface
|
|
|
|
### `ExportGraphMainView` (class, partial)
|
|
|
|
**Namespace:** `DTS.Viewer.GraphList`
|
|
**Implements:** `IExportGraphMainView`
|
|
|
|
| Member | Signature | Description |
|
|
|--------|-----------|-------------|
|
|
| Constructor | `public ExportGraphMainView()` | Initializes the component and registers a `CommandBinding` for `ApplicationCommands.Undo` that marks the command as handled in both Execute and CanExecute handlers. |
|
|
|
|
### `GraphMainView` (class, partial)
|
|
|
|
**Namespace:** `DTS.Viewer.GraphList`
|
|
**Implements:** `IGraphMainView`
|
|
|
|
| Member | Signature | Description |
|
|
|--------|-----------|-------------|
|
|
| Constructor | `public GraphMainView()` | Initializes the component and registers a `CommandBinding` for `ApplicationCommands.Undo` that marks the command as handled in both Execute and CanExecute handlers. |
|
|
|
|
---
|
|
|
|
## 3. Invariants
|
|
|
|
- Both views always mark `ApplicationCommands.Undo` as handled (`e.Handled = true`) in both Execute and CanExecute handlers, effectively suppressing default undo behavior.
|
|
- Both views call `InitializeComponent()` as the first operation in their constructors (standard WPF partial class pattern).
|
|
- Both classes are `partial`, indicating there is corresponding XAML markup that defines their visual structure.
|
|
|
|
---
|
|
|
|
## 4. Dependencies
|
|
|
|
### This module depends on:
|
|
- `System.Windows.Input` — Provides `CommandBinding` and `ApplicationCommands` for WPF command routing.
|
|
- `DTS.Common.Interface` — Provides `IExportGraphMainView` and `IGraphMainView` interfaces that these views implement.
|
|
|
|
### What depends on this module:
|
|
- **Unclear from source alone.** The interfaces suggest these views are consumed via their respective interfaces, likely by a presenter, view model, or dependency injection container in the broader application.
|
|
|
|
---
|
|
|
|
## 5. Gotchas
|
|
|
|
1. **Namespace suppression:** Both files include `// ReSharper disable CheckNamespace`, indicating the namespace `DTS.Viewer.GraphList` may not match the folder structure (`DTS.Viewer.Modules/DTS.Viewer.GraphList/View/`). This could cause confusion when navigating the codebase.
|
|
|
|
2. **Commented-out code in `GraphMainView`:** The constructor contains commented references to:
|
|
- `root.IsChecked` — suggests a checkbox or toggle control named `root`
|
|
- `TvTestChannels.Focus()` — suggests a TreeView or similar control named `TvTestChannels`
|
|
- A commented-out method `SetTvFocus()` also references `TvTestChannels`
|
|
|
|
This indicates incomplete refactoring or legacy functionality that was removed but not cleaned up.
|
|
|
|
3. **Undo command suppression without action:** Both views suppress the Undo command but perform no actual undo operation. This may be intentional (to prevent undo in these views) or a placeholder for future functionality.
|
|
|
|
4. **No explicit CanExecute result:** The CanExecute handlers set `e.Handled = true` but do not set `e.CanExecute`. The default behavior of `e.CanExecute` when not explicitly set is unclear from this source alone. |