This is most likely a big project.
From Chris Godsil's wishlist (replies by Jason Grout and Robert Miller, in that order).
>>> A graph editor. This would allow graphs to be constructed and edited by
>>> pointing and clicking. It should be able to output ps/pdf files. We
>>> want to
>>> be able to save the current state in machine readable form, and to be able
>>> to input graphs in this form. This means we will have drawings as explicit
>>> objects. (Thus it would be easy to write programs to generate drawings.)
>>> If we have a graph displayed in the editor, we should be able to access it
>>> from sage/python, and compute parameters there. So I would like to be able
>>> to adjust the graph with the mouse, or from sage.
>>> Some people will want to be able to use arbitrarily complicated curves
>>> for the edges, and to place all sorts of text around the drawing. This
>>> will
>>> lead to something like xfig rewritten in sage.
>> Indeed, this does sound like a very ambitious project. We might look at
>> incorporating other graph editors. There are a few written in Java that
>> might be useful. As it is, though, do we have any GUI things we can work
>> with other than Java (like the recent interactive 3d plots) or some sort
>> of AJAX trickery? We may be able to do something with javascript
>> draggable objects here, using jquery or some other javascript GUI
>> library. It seems like at one point someone mentioned another javascript
>> library for drawing on a web page.
> Sean Howe wrote a javascript editor, and that is lurking in my email
> somewhere. I think it was decided against for reasons of notebook
> security, and in favor of the new Java3d stuff. The problem is that
> interactive GUIs is a difficult problem for anything in Sage. Also,
> nothing has been written for the Java3d stuff yet. The problem with a
> lot of graph visualizers and editors already written is that most of
> them aren't very high quality, and there are so many low quality
> ones...