r4 - 11 Aug 2006 - 20:13:19 - TimPetersonYou are here: TWiki >  GRAPEcluster Web  >  Documentation > GraphicalProgrammingToDoList

Graphical Programming TODO list

General

JGraph

  • Fix selection bug in JGraph where deselections are reported wrong to listeners. The workaround is in JGraphView.selectionListener.
  • Fix GraphLayoutCache.getCells(). Corrected version is in MyGraphLayoutCache.

  • JGraph could be reworked to make everything an attribute: parent cells, link connections, etc. Also, all the magic inside JGraph could be made into layers, so everything is controlled in a unified way.

ProgramPlugin

  • View plugin handing is unimplemented. I'd like to have multiple views supported, with a GUI to select them and open them in new windows and such. Example: A tree-based view for browsing everything.

View

  • Moving functions into or out of a View's scope is not handled properly. This isn't needed at present, though.

JGraphView

Bugs

  • Edges cannot be selected inside UserFunctions?.
  • Empty groups disappear permanently. Particularly the root group, which is problematic. Something in JGraph is doing this, but I haven't found it yet.
  • Not all ports can be selected. Cause unknown.
  • Sugiyama layout does not handle cyclic links. Instead, it gives up and moves everything to the origin.
  • Grouping operations inside UserFunctions? cause problems.
  • Animation sometimes slows down. It doesn't move linearly over time, and takes too long.
  • Marquee selection only works on edges. Should work on Functions.
  • Ungrouping can cause name collisions. Particularly, a group with the same-named function inside cannot be ungrouped directly.
  • Manual layout doesn't work. And there's really no facility for doing this properly, since manual dragging doesn't get propagated back into the attribute stack.

Badly-implemented features

  • JGraph cannot handle creating new cells inside hidden ones. This is what happens when you create a UserFunction?, which is initially collapsed. Since I couldn't figure out another way around it, nor an easy way to fix it, I opted to delete things entirely when they get moved inside, and not create them when they should appear inside. This needs to be fixed somehow, so that UserFunctions? can be expanded and collapsed like groups.
  • Too many updates occur. This causes the GUI to work slower than necessary.
  • Too slow to have HighlightUpdatingFunctions on by default. Either make this faster at processing updates, or find a way to coalesce update requests pending during an update, or both.
  • Special UserFunction? handling shouldn't be in JGraphView. Input/output deletion, etc.
  • Sugiyama layout should compact functions more. Functions without input connections are all on the left, when they needn't be so far away.
  • Animation of group collapsing is discontinuous. Should start from pre-collapsed size rather than origin.

Unimplemented features

  • Link routing is absent. Lines shouldn't overlap functions.
  • Positioning/ordering of control panels is unimplemented. There should be a way of specifying which control panels go on which side and in which order.
  • The categorization of Actions is unimplemented. If there get to be a lot of actions, a submenu system like for Options may be required.
  • There is no way to specify the offset of a custom view within the cell view. See getCustomViewBounds(). This would be needed if different CellViews were used.
  • quickEdit() is unimplemented. See Javadoc comment.
  • Attribute layers could have declared input attributes. This would allow optimization of the update() method, since only the necessary layers must be called.

Plugins

DirectionalEndpointsRouting

  • Links inside UserFunctions? going to input/outputs near corners go the wrong way due to being too close to the edge.

-- TimPeterson - 09 Aug 2006

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r4 < r3 < r2 < r1 | More topic actions
General Information
Technology
  • Resources

Documentation
Repository
Related Projects
  • GUI Development
  • MovieMaker?
  • GUI
  • 3D Input Devices
  • Fly Through Path

Related Sites

 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback