Kevin Clark and Rado Kirov have been advancing the graph editor lately
[1], [2].  Long-term I would love to see an interact control built on
their work.  In an interact one could mouse-around building a graph
and watch various properties react.  In the past I've built two
standalone applications to do this and it can be a very powerful tool
for certain types of investigations in graph theory.  So I'm after the
following mythical capability:

@interact
def experiment(G=graph_input(200,300)):
    L = G.line_graph()
    print "G:    ", G.eigenvalues()
    print "L(G): ", L.eigenvalues()
    plot(L)

So rather than begging for somebody else to tackle this, I tore into
it last night, totally unprepared.  I can
(1) make a new control in sagenb/notebook/interact.py
(2) it "works" in an interact setup, though does not display on the
"canvas" (rather just before it)
(3) and the rest of the interact functions properly.
(4) I can locate the graph information (adjacencies, positions) in the
graph editor, and get them to display in an alert box

What I can't do is get information about the changed graph reflected
in the interact output, either on changes in the graph, or changes in
other interact controls.  I don't know if the graph editor needs to be
modified to be a "control" or if I just don't know how to burrow into
it properly to get what I want.  I think it is the control's
value_js  and/or  _adaptor  methods  that I don't know how to
implement (or which need support in the editor).

There needs to be some configurable way to say *when* the graph has
changed (edge/vertex deletion/creation,  with or without vertex-
location rearrangement).  In other words, when filling out an input
box, hitting enter/return says the input is complete, so the graph
editor needs to do something similar, I imagine.

So now I am admitting I'm stuck and am reduced to begging.  ;-)
Anybody with the right tools, knowledge, and/or experience motivated
to make this happen?  I'd love to collaborate, test, review, write
docstrings, etc, etc. to get this done.

Thanks,
Rob

[1] 
http://groups.google.com/group/sage-devel/browse_thread/thread/c262901cfafd3f45
[2] http://trac.sagemath.org/sage_trac/ticket/8222

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

To unsubscribe from this group, send email to 
sage-devel+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to