• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Multi Level Undo/Redo

How should multi level undo work?

  • Let me undo/redo from the middle of the list!

    Votes: 0 0.0%
  • Let me undo (or redo) all the actions back to and including the selected item

    Votes: 0 0.0%
  • I wouldn't use multi level undo/redo!

    Votes: 0 0.0%

  • Total voters
    0
  • Poll closed .

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
34,981
Country
unitedkingdom
We are re-writing the old Undo/Redo system and in the process we expect to make it possible to undo actions that are earlier than the last one. There are a couple of ways to do this.

First select a past action and undo it (or redo it). - The results of this might be unpredictable depending on what else you have done since.

Second is to select a past action in the list and have ADE undo everything back to an including that one - or redo everything. This is the way programs like Visual Studio work and I can see that it is both predictable and safe - but how useful overall - saves you backtracking one at a time though.

Third - let's not bother with undo/redo except for the last action
 
Last edited:
My answer would be "Not at all".

What's your own preference? The third choice (having discounted the second ;))?

What if you wanted to try moving a taxiway (with all its many links and interconnections to other taxiways etc.) a few feet one way or another, and then decided after some additional intermediate work, that the end result was worse than what you had before? Surely a couple of clicks on the undo function in the knowledge that everything would be back to square one is useful? It's a bit like having a multitude of back-ups, with the freedom to select exactly the one which suits your purpose best.

EDIT: I probably argued that a bit strong, because I read choice three as being "can only undo last action" in the sense that you can only click undo once! Obviously that's ridiculous...:o
 
Last edited:
What's your own preference? The third choice (having discounted the second ;))?

A single-level undo. With the proviso that I could repeat the action, and that an undo would not undo an immediately preceeding undo (if you see what I mean).
 
A single-level undo. With the proviso that I could repeat the action, and that an undo would not undo an immediately preceeding undo (if you see what I mean).

Not really - undo one at a time and redo one at a time?
 
Not really - undo one at a time and redo one at a time?

What I mean is that Undo would undo a previous edit, a second Undo immediately afterwards would undo the edit previous to that undone by the previous Undo :D

Consider it as a stack:

edit 1
edit 2
edit 3
undo (undoes edit 3)
edit 1
edit 2
undo (undoes edit 2)
edit 1
redo (reinstates edit 2)
edit 1
edit 2

etc.
 
Last edited:
I would prefer Undo/Redo that allows you to Undo each action in turn with a click of the Undo button. If I want to undo the action I did three times ago, I click the Undo button 3 times and action, 1, 2, and 3 are undone in order. Same for redo.

This is what I am used to. :)

This isn't single level undo (i.e. you can't undo any action but the last), and it's not the multi level redo you describe above (selecting from a list). So I don't know how to vote...
 
I would prefer Undo/Redo that allows you to Undo each action in turn with a click of the Undo button. If I want to undo the action I did three times ago, I click the Undo button 3 times and action, 1, 2, and 3 are undone in order. Same for redo.

This is what I am used to. :)

This isn't single level undo (i.e. you can't undo any action but the last), and it's not the multi level redo you describe above (selecting from a list). So I don't know how to vote...

That's what I would call single level undo Tom. ADE had unlimited levels of undo but currently only a single level undo per action as you describe.

Multi level undo is look at a list of actions and select one in the past to restore the state of the airport to that point.

To be accurate the new system in ADE will allow you do continue with single level (or step) undo if you wish.
 
I would prefer Undo/Redo that allows you to Undo each action in turn with a click of the Undo button. If I want to undo the action I did three times ago, I click the Undo button 3 times and action, 1, 2, and 3 are undone in order. Same for redo.

This is what I am used to. :)

This isn't single level undo (i.e. you can't undo any action but the last), and it's not the multi level redo you describe above (selecting from a list). So I don't know how to vote...

I think what you want is option 3, but the way option three is worded make's it seem like only one undo can be achieved. That's why I initially argued against it. However, my current understanding is that option three allows multiple undo - it's just that for every undo you must click the "undo" button, rather than being able to "shortcut" straight to an earlier state (which I think is what option two is about).

Single level undo does not mean that you can only undo one action. It means that you can only undo one action at a time.

Have I got that right?

ps. George, I do see what you mean - and I love the way you explained it too :D

EDIT: Whoops, cross-posted. Jon has now clarified, thanks.
 
Last edited:
Hi Folks

Jon -
Selectable undo please. :D

Particularly relevant to co-located items.

My workflow and aims may be bizarre
but I often need to move items aside,
peform a different object move,
then reinstate original item's placement.

HT makes sense
ATB
Paul
 
Hi Folks

Jon -
Selectable undo please. :D

Particularly relevant to co-located items.

My workflow and aims may be bizarre
but I often need to move items aside,
peform a different object move,
then reinstate original item's placement.

HT makes sense
ATB
Paul

Why not use Send to Back for the top item if you want to get to one under it?
 
Hi Folks -

Why not use Send to Back for the top item
if you want to get to one under it?
Jon -
My apologies. :o
Works beautifully.

IIRC it wasn't implemented last time I'd performed this task, :D
(see Suggestions thread),
I'm only now getting back to working on those AFDs. :(



Still would prefer the option 1,
as I'm sure there was some other reason for doing so.
(Will post if I remember what).



Thanks again
ATB
Paul
 
Last edited:
No worries. I can't remember when we added that.
 
Thats a tough question,... though a continuous undo sometimes is nice,... memory could be a problem down the road... I guess the question could be then: How far would you like the undo/redo go? 5 back or 10 back etc. Of course, undo's/redo's could be written onto disk temporarily (solves the memory problem then). So I guess my original answer should be changed! :)

'round and around she goes, where she stops nobody knows.... :D
 
Thats a tough question,... though a continuous undo sometimes is nice,... memory could be a problem down the road... I guess the question could be then: How far would you like the undo/redo go? 5 back or 10 back etc. Of course, undo's/redo's could be written onto disk temporarily (solves the memory problem then). So I guess my original answer should be changed! :)

'round and around she goes, where she stops nobody knows.... :D

The new code that handles this allows a limit to be set on the number of levels. We will probably make it available to the user to set. Generally the amount of memory required by each transaction (what gets stored when you do something so that it can be undone/redone later) is not that great (less than 1Kb each). I think the new code should be more memory friendly than the existing code as well.

I have seen systems where the whole object (in this case it would be the project) is saved each time the state changes - this is horrible from both memory and speed of course. The new ADE system will just store the state of object properties before any changes are made so that they can be undone/redone later. Thus 100 transactions in the undo/redo stacks should be less than 1Mb.
 
The new code that handles this allows a limit to be set on the number of levels. We will probably make it available to the user to set. Generally the amount of memory required by each transaction (what gets stored when you do something so that it can be undone/redone later) is not that great (less than 1Kb each). I think the new code should be more memory friendly than the existing code as well.

I have seen systems where the whole object (in this case it would be the project) is saved each time the state changes - this is horrible from both memory and speed of course. The new ADE system will just store the state of object properties before any changes are made so that they can be undone/redone later. Thus 100 transactions in the undo/redo stacks should be less than 1Mb.

Sounds Great!! So I would like to definately change my answer then, Give us as many possble changes as our systems allow please! :D
 
Back
Top