Skip to content

feat(gui): add "Copy to sections" action for selected traces#103

Open
dustenhubbard wants to merge 1 commit into
mainfrom
feat/copy-to-sections
Open

feat(gui): add "Copy to sections" action for selected traces#103
dustenhubbard wants to merge 1 commit into
mainfrom
feat/copy-to-sections

Conversation

@dustenhubbard

Copy link
Copy Markdown
Member

Adds a "Copy to sections..." action to the field and trace-list context menus. Selected traces are copied onto the chosen sections (numbers or ranges) at the same field x-y, re-projected through each section's own transform. Records per-section undo state so one undo reverts the whole copy.

Closes #94. #91 is a duplicate of the same request.

Copying a trace today drops it only into the current section, so placing
the same trace at the same field location across several sections means
navigating to each one and pasting by hand. Add a "Copy to sections..."
action that copies the selected trace(s) onto multiple chosen sections
in one step.

Each trace's field coordinates are re-projected through every target
section's own inverse transform (computed once per section), so the
traces land at the identical field x-y regardless of how each section is
aligned. Sections whose transform is not invertible are skipped and
reported rather than written to. Trace attributes are preserved and the
source (current) section is left unchanged.

An alignment lock protects a section's transform, not its trace content,
so traces are copied onto every chosen section regardless of its lock
status, just as traces can be drawn on a locked section.

Target sections are chosen by number or inclusive range in a small
picker dialog. The parser validates tokens without materializing typed
ranges, so a huge upper bound cannot hang the UI, and it reports
requested sections that do not exist instead of silently dropping them.

The action is available at the field context-menu top level (next to
Copy) and in the trace list. Includes tests for the parser and the
data-model copy operation.

Closes #94. #91 is a duplicate of the same request.
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.

"Copy To": copy a trace to multiple chosen sections at the same x-y location

1 participant