init
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user