Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add history and undo to the GUI #12

Closed
rgleichman opened this issue Sep 5, 2020 · 1 comment
Closed

Add history and undo to the GUI #12

rgleichman opened this issue Sep 5, 2020 · 1 comment
Assignees

Comments

@rgleichman
Copy link
Owner

rgleichman commented Sep 5, 2020

Child of Issue #11

This can be done by having all user interactions create events which are saved once executed. All actions have an undo action.

@rgleichman
Copy link
Owner Author

Further changes required:

  • IDs that are unique for the entire duration of the program. This prevents cherry-picked history actions from having conflicting IDs.
  • To implement Emacs style undo, we'll need to save the undo position (how far back in history we're undoing)
  • The undo user input increments the undo position, all other user inputs sets the undo position to the head of the history.
  • Undoing an action adds the inverse of that action to the history.
  • (optional for now) Add a "quit" input. Equivalent of C-g in Emacs to reset the undo number.
  • (optional) Add a user visible counter of how far the undo position is from the original head of the history.

rgleichman added a commit that referenced this issue Sep 21, 2020
…the program.

This will prevent cherry-picked history actions from having conflicting IDs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant