Skip to content

Add statement DataGrid and canvas panning to plan viewer#331

Merged
erikdarlingdata merged 1 commit intodevfrom
feature/plan-viewer-grid-pan
Feb 27, 2026
Merged

Add statement DataGrid and canvas panning to plan viewer#331
erikdarlingdata merged 1 commit intodevfrom
feature/plan-viewer-grid-pan

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

  • Replace ComboBox statement selector with a sortable DataGrid panel (left side) showing #, Query, CPU, Elapsed, UDF, Est. Cost, Critical, and Warning columns
  • Add click-and-drag canvas panning via Preview mouse events with node hit-testing
  • Ported from plan-b Avalonia implementation, adapted for WPF

Test plan

  • Build clean (0 errors, 0 new warnings)
  • Load multi-statement plan — statements grid appears with sortable columns
  • Click grid rows — plan renders for selected statement
  • Sort by CPU/Elapsed/Warnings — numeric sorting works correctly
  • Click-and-drag on empty canvas — plan pans smoothly
  • Click on node — properties panel opens (not intercepted by pan)
  • Single-statement plans — grid hidden, renders directly as before

🤖 Generated with Claude Code

Replace the ComboBox statement selector with a sortable DataGrid panel
on the left side. Columns: #, Query, CPU, Elapsed, UDF (conditional),
Est. Cost (for estimated plans), Critical, Warnings. Uses SortMemberPath
for proper numeric sorting on formatted display columns.

Add click-and-drag canvas panning via Preview mouse events with hit
testing to distinguish node clicks from empty canvas drags.

Ported from plan-b Avalonia implementation, adapted for WPF.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 817aad9 into dev Feb 27, 2026
3 checks passed
@erikdarlingdata erikdarlingdata deleted the feature/plan-viewer-grid-pan branch February 27, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant