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

Moving nodes in the NodeGraph should be undoable #423

Closed
johnhaddon opened this issue Jul 16, 2013 · 10 comments · Fixed by #3833
Closed

Moving nodes in the NodeGraph should be undoable #423

johnhaddon opened this issue Jul 16, 2013 · 10 comments · Fixed by #3833

Comments

@johnhaddon
Copy link
Member

This will probably require #422, so that transitioning between movement in one axis and movement in two axes will still merge into a single undo event appropriately. While doing this, test with a very large number of nodes to determine the performance implications of creating and merging a huge number of undo events.

Alternatively we could cheat and just make a single undoable event at drag end.

@andrewkaufman
Copy link
Contributor

Are we sure moving nodes should be undoable? I'd be tempted to leave it out personally, at least until some serious user testing shows it to be necessary. I get annoyed in other packages when trying to undo actual operations, and my queue is full of nonsense node shifts that I did without thinking.

@johnhaddon
Copy link
Member Author

I've found myself being annoyed that it wasn't undoable on occasion. It does seem like a pretty solid general principle that anything the user does to their script directly should be undoable and should set the unsavedChanges plug - currently (with #419) moving nodes does neither. Maybe you need to stop making nonsense node shifts without thinking?

@andrewkaufman
Copy link
Contributor

They're nonsense in that I don't care about them being undone. They're legitimate in that I like to have a nice pretty node layout, and my opinion of what that is shifts depending on my mood. If Ben feels strongly, I won't oppose it. Just saying that in other software that does this, I find it quite annoying / unnecessary for the type of work I do.

@johnhaddon
Copy link
Member Author

I'm not in any rush to do this one so we can wait for some more input. I just wanted to make a note of it (and the relation to #422) while it was fresh on my mind from the other undo work.

@danieldresser
Copy link
Collaborator

I'll just duck in here to state my opinion:

+1 for undoable node moves
+1 for Andrew should stop making nonsense node shifts

@bentoogood
Copy link
Contributor

I was just showing John one of my shader graphs this morning, moved some nodes off to the side to clarify the connections, then pressed ctrl-z to move them back.
was a little surprised to see nothing happen, seems like a very natural thing to expect.
so another +1 for undoable node moves

@johnhaddon
Copy link
Member Author

Just noting that when we come to do this, we also need to make Backdrop resizing undoable.

@ivanimanishi
Copy link
Member

I'm not that interested in the undo functionality itself, but I do think that changes to node positions should mark the "unsavedChanges" plug to True.
It is quite reasonable to expect that a user would spend a whole session just re-organizing the graph without creating new nodes or changing plug values, and still have something that should be considered "unsavedChanges".
In particular, I was trying to add functionality that would check for unsaved changes to either prevent unnecessary saves, or suggest a save before closing the application, or opening another script. And right now I can't go ahead with that as I may miss the kind of changes described above.

Not a critical issue right now, but I'd like to add my vote in favor of addressing this issue.

@Chadt54
Copy link

Chadt54 commented Jan 23, 2019

Did you guys ever address this issue? It seems like resizing backdrops is undoable, but moving nodes is not. At least in the version I'm using (gaffer-0.52.3.1-linux)

@johnhaddon
Copy link
Member Author

Nope - ticket is still open...

johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Jul 21, 2020
johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Jul 21, 2020
johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Jul 22, 2020
johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Jul 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

6 participants