undo?

Jonathan Coles jonathan at jpcoles.com
Fri Jan 21 02:03:24 CET 2005


Am Donnerstag, den 20.01.2005, 14:54 -0500 schrieb Russell Nelson:
> One more wacky idea: Maybe, instead of saving the session as an XML
> file, it should be saved as a sequence of commands?  Thuban would have
> a command interpreter which would implement changes made to the layers
> and the map.  There would be a command for menu items and any extra
> data submitted with them, e.g. filenames or projection selections.  So
> when you load something, that's a command, or when you set the
> projection, that's a command.  As you do things, the commands are
> saved.  And .... there's an undo/redo facility which issues the
> reverse of the commands.  So if you botched something accidentally,
> you could undo that action.  Anyway, I'm not proposing a patch for
> this, just pointing out that it's one way to implement an "undo"
> facility.  Users like undo because it lets them experiment safely.

i've had some good experiences with developing a system that uses a
simple language to operate. i was involved in developing a visualization
tool for astronomical data with the CS and astrophysics departments at
RIT (GPL'd, of course ;). because of how we designed the system the
different modules would talk to each other using a language. the system
even allowed for the communication to go over the network so different
parts of the system could be on different machines (e.g. one machine
that could do fast graphics and rendering).

anyway, the point of all that was to say that this is a good idea. not
that i'm volunteering to help implement it at the moment :) 

however, i'm not sure that the whole session file should be a sequence
of commands. if it was, the only way to get the final state of the
session would be to run through all the commands from the beginning when
the session is loaded. if the final state was saved using the current
mechanism and *in addition* the commands were saved this could be really
cool. the user could load a saved file and then still be able to undo
things they had done in a previous session!

also, it would further seperate the UI and Model components and allow
much fuller tests.

--jonathan

-- 
=====================================================================
 Jonathan Coles                               http://www.jpcoles.com
 jonathan at jpcoles.com                    GnuPG Key: /gpg_pub_key.asc
=====================================================================




More information about the Thuban-devel mailing list

This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)