Invert selection and isolate objects (hide unselected)#105
Open
dustenhubbard wants to merge 2 commits into
Open
Invert selection and isolate objects (hide unselected)#105dustenhubbard wants to merge 2 commits into
dustenhubbard wants to merge 2 commits into
Conversation
Proofreading a dense section (for example auto-segmentation output) often means working on one or a few traces while many others crowd the field. An invert-selection action lets the user pick out a working set quickly by selecting the few traces to exclude and then flipping the selection. Invert selection (Ctrl+Shift+I) flips which traces are selected on the current section. Hidden and group-hidden traces are skipped unless show-all traces (A) is active, and locked objects are never selected, matching the existing selection paths. Selected ztrace points and flags are left untouched. Like the other selection operations it is a view convenience and is not itself undoable. The action is wired into the field trace context menu next to Select all and Deselect, registered in the default shortcuts, and listed in the keyboard-shortcuts help dialog. Refs #71
Proofreading a large auto-seg ROI is sluggish because every object stays live. An object spans many sections, so isolating a working set has to persist as the user pages through the volume, not just on one section. Object list: * Invert selection flips which objects are selected in the list. Object rows are freely selectable, so nothing is excluded; with no active filter this inverts against every object in the series. It lives in a new "Selection" menu and is prepended to the object right-click menu (it is a table selection operation, so it belongs with the list rather than in the shared field object menu). * Hide unselected objects hides every other object throughout the whole series via the existing series-wide Series.hideObjects path, so the isolation persists across sections. It is undoable series-wide (the same machinery as the existing object Hide), and Show all objects is the clear restore. Objects in the complement are hidden regardless of lock state, since locking guards edits and quantification rather than visibility. An empty selection is a no-op, so the series is never fully blanked. Hide unselected objects and Show all objects are field methods, so they are also reachable from the object right-click menu and act on the object(s) owning the field's selected traces. Refs #71
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Invert selection to the field (Ctrl+Shift+I) and the object list, and Hide unselected objects / Show all objects to isolate a working set across the whole series. Isolation uses the existing series-wide hide path, so a single undo restores every section.
Closes #71.