Skip to content

Add global parameter system for edit plugins, optional CTRL invert selection#1639

Open
Z3roCo0l wants to merge 2 commits intocnr-isti-vclab:develfrom
Z3roCo0l:selection-params
Open

Add global parameter system for edit plugins, optional CTRL invert selection#1639
Z3roCo0l wants to merge 2 commits intocnr-isti-vclab:develfrom
Z3roCo0l:selection-params

Conversation

@Z3roCo0l
Copy link

Summary

  • Global Parameter System for Edit Plugins: EditPlugin base class now supports initGlobalParameterList and setCurrentGlobalParamSet for persistent per-plugin settings saved across sessions
  • Optional CTRL Selection Invert: Adds an opt-in Invert CTRL Behavior setting (default OFF) — when enabled, drag adds to selection and CTRL+drag replaces. Default MeshLab behavior is preserved
  • Reload Confirmation Dialogs: Added confirmation prompts before Reload and Reload All to prevent accidental loss of work

Details

The global parameter system extends the existing EditPlugin interface so that any edit plugin can register settings that persist in MeshLab's settings system. The CTRL invert feature uses this system to expose its toggle.

All existing edit plugin factory headers are updated to conform to the new interface (trivial changes — just adding the required virtual method stubs).

Default behavior is unchanged — the CTRL invert is opt-in only.

Test plan

  • Verify default selection behavior (drag = replace, CTRL+drag = add) is unchanged
  • Enable "Invert CTRL Behavior" in settings, verify inverted mode works
  • Verify setting persists across sessions
  • Verify Reload / Reload All show confirmation dialogs
  • Build on Windows, Linux, macOS

Note: This is PR 1 of 3 (split from #1638). PRs 2 (Lasso Cut) and 3 (Undo/Redo) build on this.

…eload confirmations

- EditPlugin base class: initGlobalParameterList + setCurrentGlobalParamSet
  for persistent per-plugin settings
- edit_select: opt-in "Invert CTRL Behavior" parameter (default OFF)
- Reload/Reload All confirmation dialogs
- Updated all edit plugin factory headers for new interface
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