The first version of a program like this I wrote with a colleague in
the mid-80's.  For several years it was an important part of our
toolkit as we studied Siemion Fajtlowicz's Graffiti conjectures
(automated conjecture creation in graph theory).  This version had
"drag-and-trash" and I included it in my second (Java) version.  To
tell you the truth, I'd forgotten about it until I saw the
instructions on Rado's latest JSProcessing version, and I was
pleasantly surprised to be reminded about it.  The only argument in
favor that I can give is

(a) I used it frequently

(b) I found it easy, quick, intuitive, and useful

(c) I can't recall making unintended deletions

I imagine we could vigorously debate "intuitive" and (c) is debatable
given that I didn't even recall it was a "feature."  ;-)

Of course, a compromise would be to make the behavior configurable.

In any event, the Fateman/Chen paper reminded me that an undo facility
might be a good idea - either saving the entire graph, or since basic
operations would seem to be easily reversible, maybe saving the atomic
action needed to reverse an edit.  The first could get expensive in
space, and the second makes a good argument for keeping the
functionality simple as both Rado and Fateman/Chen have suggested.

Rado - this is very nice work!  I'd imagine the next step is figuring
out how to integrate it with the notebook and the command-line,
especially with regard to communicating changes back to the underlying
data structure.   Maybe the code for plot() and TinyMCE would give
some hints on invoking a graph editor properly (at the command-line,
and at the notebook, respectively).  Sage has various mechanisms for
communication, but I wouldn't know which to suggest.  Thanks for the
contribution - this will be a great addition to Sage.

Rob
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to