Grant Baillie wrote:
On Jan 3, 2006, at 11:22, John Anderson wrote:
Scenario 2: A user manipulates the UI after making an undoable change
A user makes an undoable change, and then clicks on another
collection. Thanks to CPIA, changes in the UI are also changes in
the repository. This means that "Undo" operation might actually
just cause the user to switch back to their preview collection. It
would take a 2nd Undo operation to actually "undo" the original
change.
I'm not sure I understand this, but if you mean that undo moves the
user interface back to exactly what it was when you did the last
commit, yes that's the way it works and this is what you expect --
undo should get you back to exactly where you were, view included.
Hmm... Following this to its logical conclusion, don't we end up
having to support undoing things that aren't traditionally undoable,
like resizing or moving windows?
Typically you choose commit points at the beginning of user commands
that change user data -- for example cut or paste, but not changes to
the view, like resizing windows. If we have a way to save/restore the
state of the repository to what it was at those commit points, then
because the state of the UI is stored in the repository just like the
state of user items, you naturally end up with a view of the world that
was the same as it was when you where there. So resizing a wouldn't
cause a commit point to be saved, but if you did a cut, then resized the
window, then did an undo, your window would be back to its original size.
--Grant
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev