Open
Conversation
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 the functions and hooks to implement stepwise undo / redo for LevelNote objects.
It follows the structure and naming conventions of other object categories in the history system, extending enums as necessary, leveraging the existing read/writeLevelNoteFromSnapshot functions which already captures note data in full snapshots. It's a simple capture of the entire LevelNote vector, no optimisations for single item changes.
Includes logic to bundle sequential attribute updates into a single history step to reduce noise, like that from working in the Info Panel.
Some minor changes to editNotes.cpp to capture events correctly for the history system. It looks like this belongs in editTransform.cpp but decided against that to keep the scope reasonable.