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.