I hope I understood correctly what is this: it's automatically changed by the build...
[guess.git] / todo.txt
blob68ac3da1e42e0c2d8bf89789610a842102f5f953
1 fix morphing
3 edge labels
5 node labels should color based on background
7 > g.jkkLayout2()
8 None
9 java.lang.NullPointerException
10         at edu.uci.ics.jung.visualization.contrib.KKLayoutInt.initializeLocation
11 s(KKLayoutInt.java:130)
12         at edu.uci.ics.jung.visualization.AbstractLayout.initialize(AbstractLayo
13 ut.java:87)
14         at com.hp.hpl.guess.Graph$1.run(Graph.java:461)
15         at java.lang.Thread.run(Thread.java:534)
17 creation of node/edge betweenness, degrank, etc. returns an exception the first time.  They also violate the node field as default rule.
19 relate anchor sizes to node size (hard to grab nodes)
21 eflat77: the simplest way for weighted is to run DijkstraShortestPath for each vertex in a loop, thus:
22 eflat77: DijkstraShortestPath dsp = new DijkstraShortestPath(g, nev, cached);
23 eflat77: // g: graph, nev: way to get edge weights, cached: boolean that tells you whether the (partial) results will be cached for later use
24 eflat77: and then:
25 eflat77: Map distances = dsp.getDistanceMap(v);
26 eflat77: for each v in g.
27 eflat77: this will also work for unweighted graphs if nev is not specified (that is, just DijkstraShortestPath(g, cached), or just DSP(g)) but it's not the most efficient method. 
30 * Radial layout: asks for a central vertex.  If all vertices are
31   assumed to have labels of some sort, perhaps throwing up a
32   table/list of them (or giving an option for this) might be handy.
33   As it is, I don't have any way of even guessing (so to speak) what
34   the format is and naming a "random" vertex.
36 * A possibly useful display: show the number of vertices and edges
37   (total, and those at least partially currently visible).  This lets
38   users know how much they're missing (as it were) when they're way
39   zoomed in.
41 * MDS layout is practically useless for this graph, it appears.
43 * find equivalent graphs - take each subgraph, order nodes by degree
44   and generate a matrix, where two nodes have equal degree define a
45   potential "transpose"... if two graphs have equivalent matricies,
46   they're equal.
48 * nodes should have label by default
50 * nodes seem to forget about resizings when in edit mode
52 * bug in DRAW_EDIT_MODE, whole frame moves when dragged
54 * make special kind of pysequence as output of node-node that gives
55   the "last" node.  This will let us "append"
57 * make pysequence behave like collection
59 * groupings... perhaps a cool (and easily implementable feature) is to
60 have a flag on D which tells it if it should 1) evaluated once, and
61 the cache, or 2) be re-evaluated on each access or add a method that
62 invalidates the cache in D, and a function that invalidates all
63 caches...?
65 2. use awt filedialog, not swing, on macs. check for System property os.name startsWithIgnoreCase("mac")
66 instead of the text field to the left of it, have a static text field with the result of the Choose file... dialog
67 and when you show the file name in the static text field, drop the path prefix and just show the file name
68  if you really wnat to look right, OK and Cancel should be swapped positions on the mac.
69 it's what you'll need, but you have to modify the two .icns files to use your own icons (use photoshop to make them), and i moved your lib/ directory into Guess.app/Contents/Resources and renamed it to Java.
70 http://developer.apple.com/technotes/tn/tn2042.html
72 Begel Mac: ok, running
73 Begel Mac: what do i do once it's loaded
74 Begel Mac: i clicked on the rightmost tool at the bottom toolbar
75 Begel Mac: adn this panel popped open from the side
76 Begel Mac: but the buttons are all the wrong size and unviewable
77 Begel Mac: oh, it's not a button
78 Begel Mac: it was a tab, with only one tab that wasn't wide enough to show the label
79 Begel Mac: you need to pop open the left panel bigger
80 Begel Mac: when i click any tool in there, it keeps shrinking back to the original size
81 Begel Mac: that's bad
82 Begel Mac: what's this last button on the left panel?
83 Begel Mac: it's blank?
84 Begel Mac: your file menu is completely bogus
86  here's part of it
87  http://developer.apple.com/documentation/Java/Conceptual/Java14Development/index.html
88  http://developer.apple.com/documentation/Java/Conceptual/Java131Development/index.html
89  http://developer.apple.com/samplecode/OSXAdapter/OSXAdapter.html
90  http://developer.apple.com/samplecode/AppleJavaExtensions/AppleJavaExtensions.html
91  OSXAdapter shows you how to program against it
92  the second one is the jar you need to cmopile against
94 http://developer.apple.com/samplecode/OSXAdapter/OSXAdapter.html
96 should rescale font on guesstextnodes to fit inside width/height bounds
97 -> have to draw a box around?
99 get weights to mean something to jung
100 -> option 1, push variable (e.g. weight) into userdatum (only do it once, but if data changes you lose) 
101 -> option 2, reroute queries for userdatum to __getattr_/__setattr__ (lots of DB queries)
103 collapse/uncollapse nodes...  
105 have a "manager" object that takes a new node name and a list of
106 nodes.  Listed nodes get deleted and all edges from them removed (keep
107 track of these).
109 foo.scratch* = whatever
110 (save data as scratch data, don't commit to DB)
112 demo to show pie charts as nodes
114 hulls don't update when nodes are removed/added
116 3d shadowbox on nodes
118 fix multiedge vis
120 copy edges
122 rename nodes, redirect edges
123   - assume new name is non-existent in namespace
124   - delete original name in namespace
125   - low level call(s) in dbserver
126   - hidden call in Node?
128 Different shaped hulls, maybe extend standard ones so they cover the
129 area a little better.