Re: Undo (UI Concept)
Re: Undo (UI Concept)
- Subject: Re: Undo (UI Concept)
- From: Jean-Daniel Dupas <email@hidden>
- Date: Fri, 17 Apr 2009 19:07:22 +0200
The problem with the 2 undo approach is when you start to think about
"redo".
What append if you undo twice and redo once.
- You restore only one value, and get a state that should not be
possible as the inference function would have complete the last row if
it was done by the user.
- You restore both rows, and that's odd, as you either have one redo
that will do nothing, or don't have more redo, but the user will
probably expect one as he undo twice.
My policy in this case is 'one event => one undo'.
Le 17 avr. 09 à 18:48, K.Darcy Otto a écrit :
Yes, I was thinking this too, at first. But then I started to look
around to see if I could find analogous situations. The closest I
can come is when Pages has a table - let's say 2x2. When the user
is in the bottom right cell, and presses tab, two things happen
simultaneously: the data is accepted in that cell, and a new line is
added to the bottom of the table. When it comes to undoing, the
"undo add line" is first, then "undo typing" is second. I know
this isn't exactly the same, but it does seem to be two undos for
one action – and it would be strange for it not to be (that is, to
lose the new line, and the typing, all at once).
On 17-Apr-09, at 9:33 AM, Clark Cox wrote:
IMHO, if the user performed a single action to get to the current
state, then it shouldn't take more than one undo to get to the
previous state. So, as a user, I'd prefer #2.
On Fri, Apr 17, 2009 at 9:26 AM, K.Darcy Otto <email@hidden>
wrote:
I am writing a program which has a two-column table. The user can
fill in
the table with whatever he or she wishes, but sometimes it is
possible to
determine what should be displayed in the left column by looking
at what is
displayed in the right column. I have set up the program so that
a user can
turn on an "inference" function, so if the user has:
Column 1: Blank
Column 2: X
Then the program will automatically fill in "A" for column 1
(because there
is no other possibility, given the "X" in column 2). So the table
now looks
like this:
Column 1: A
Column 2: X
Now, the question is, how to implement undo. There are at least two
possibilities:
(1) Undo returns column 2 to its previous state, before "X" was
entered. An
additional undo is required to revert column 1 to blank.
(2) Undo returns column 2 to its previous state, and column 1 to
blank.
I'm not sure what is best, from the perspective of designing a
UI. I have
currently implemented (2), but I have a sneaking suspicion (1)
might be more
appropriate. Note that the "A" in column 1 is inferred, but there
is
nothing wrong or odd with it standing alone.
--
Clark S. Cox III
email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden