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

Editor: Undo/Redo system for the GUI Editor #2535

Open
ivan-mogilko opened this issue Sep 23, 2024 · 2 comments
Open

Editor: Undo/Redo system for the GUI Editor #2535

ivan-mogilko opened this issue Sep 23, 2024 · 2 comments
Labels
context: ui/ux type: enhancement a suggestion or necessity to have something improved what: editor related to the game editor

Comments

@ivan-mogilko
Copy link
Contributor

Having Undo/Redo in the GUI editor is quite wanted by the users. Unfortunately there's none.

This task suggests coding an abstract Undo/Redo system in the Editor first, and then a specialized implementation for the GUI Editor.

There's a ticket #2321 which discusses how to write such a Undo/Redo system, having Room Editor as an example. Please refer to it for explanation and comments on how such system could be done. It does not matter much whether a Room or GUI editor will receive this first, but IMO both should have a common foundation.

@ivan-mogilko ivan-mogilko added type: enhancement a suggestion or necessity to have something improved what: editor related to the game editor context: ui/ux labels Sep 23, 2024
@ericoporto
Copy link
Member

ericoporto commented Nov 18, 2024

The big issue here is how to handle things that happen through property grid, there would be a need for some generic way for everything there somehow, so changes there go to the main undo-redo stack.

Edit: today without undo/redo my system is actually just using git. When I think about AGS, it's hard to think about things separated, I think all things that affect the project state would need to somehow go through an undo/redo system. I don't know how this would actually work memory wise.

@ivan-mogilko
Copy link
Contributor Author

ivan-mogilko commented Nov 18, 2024

The big issue here is how to handle things that happen through property grid, there would be a need for some generic way for everything there somehow, so changes there go to the main undo-redo stack.

There's PropertyChanged virtual method in both EditorComponent and EditorContentPanel classes. I don't remember details of how it works by heart, but I think it's reliable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
context: ui/ux type: enhancement a suggestion or necessity to have something improved what: editor related to the game editor
Projects
None yet
Development

No branches or pull requests

2 participants