Sidebar: a group checkbox and a resizable panel

Open
#68 0 comments 0 reactions 1 assignee View on GitHub

@mrcsin is already working on this.

Since Sep 10, 2026.

Assessment

This issue has not been assessed yet.

Description

enhancement

Why

Two mechanical gaps. Group headers are inert text (Legend/TrendLegendView.axaml:18-20), so turning off the heaters means clicking sixteen checkboxes. And the panel is a fixed 280 px with no splitter (MainWindow.axaml:31-45); searching the repository for GridSplitter returns nothing.

Wanted

  • A checkbox on every group header switching every pen of that group. Three states: all on, all off, mixed. Toggling one pen updates the headers it belongs to.
  • Group visibility is derived from the pens, never stored beside them. Pen visibility keeps its single writer (Chart/TrendPenState.cs:20-28, mirrored in Legend/TrendLegendRowViewModel.cs:102-113 with the existing echo guard at :132-142).
  • A pen in several groups (#65) is switched by any of them. The last action wins and every affected header re-derives.
  • A GridSplitter between chart and sidebar with a minimum width for both. The chosen width survives a restart once there is a settings file (#85).

Notes

The legend has no virtualization: a ScrollViewer over nested ItemsControls with no ItemsPanelTemplate (Legend/TrendLegendView.axaml:12-22). Fine for eight pens, worth measuring at fifty before the list grows further.

What the rows themselves show is deliberately separate: #69.

Dominant language
C#
Stars
0
Forks
0
Avg merge
18m
Merged PRs (30d)
42

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Semiteq/SemiPlot

All issues in Semiteq/SemiPlot

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.