Drag the clipping to pan the map.
Click a circle on the left pane to see details in the right pane.
Powered by MyTool
// Core of the data model are the two Hashtables nodes and edges
//
Synopsis of GraphNode/ GraphEdge fields
//
// 1. id (node and edge)
//
in constructor,
// redundant (same as key in Hashtable)
// get/set
by getID() / setID()
// loaded/ stored (new format): nodeid as
attribute,edgeid not in xml
// imported (old format) as attribute
//
//
2. xy (node only)
// in constructor,
// not redundant
// get/set
by getXY() / setXY()
// loaded/ stored (new format): as attributes x, y
//
imported (old format) as attributes x, y
//
// 3. node1 / node2
(edge only)
// in constructor
// not redundant,
// get by
getNode1/2, no set
// not loaded/ stored (new format), see n1, n2
instead
// not imported (old format), see n1, n2 instead
//
// 4.
color (node and edge)
// in constructor,
// not redundant,
//
get/set by getColor(Color) / setColor (String)
// loaded/ stored (new
format): as attribute (String)
// imported (old format) as attributes
r, g, b
//
// 5. label (node)
// in constructor
// not
redundant,
// get/set by getLabel / setLabel
// loaded/ stored (new
format) as cdata
// imported (old format) as topname>\<basename>\cdata
//
//
6. detail (node and edge)
// in constructor
// not redundant,
//
get/set by getDetail / setDetail
// loaded/ stored (new format) as cdata
//
imported (old format) as <description>\cdata
//
// 7. n1 / n2
(edge only)
// not in constructor
// redundant, see node1 / node2
//
get by getN1/2, no set
// loaded/ stored (new format) as attributes
//
imported (old format) as <assocrl anchrole=tt-topic[12]>\cdata
//
//
8. associations (node only)
// not in constructor
// redundant, see
egdes
// get by getEdges, relatedNode; set by addEdge, removeEdge
//
not loaded/ stored (new format)
// not imported (old format)
//
//Main fields
Hashtable
Hashtable
GraphPanel
TextEditorPanel
"= new TextEditorPanel(this);"
// User Interface
public JFrame
public Container
Content Pane
JPanel
"= null;"
JTextField
"= null;"
private
JMenuBar
"= null;"
int
boolean
"= true;"
JMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
JCheckBoxMenuItem
"= null;"
String []
"= { ""Click to disable editing in the detail pane but enable
hyperlinks"",""Click to enable editing in the detail pane but disable
hyperlinks""};"
String []
"= { ""Click to disable hyperlinks but enable editing in the
detail pane"",""Click to enable hyperlinks but disable editing in the
detail pane""};"
String []
"= {""Editing is now enabled. But unfortunately,\n""
+""hyperlinks will not work any more."",""Hyperlinks are now enabled. But
unfortunately,\n"" +""editing the detail text is now impossible.""};"
String []
"= {""off"", ""on""};"
String []
"= {""Hide"", ""Show""};"
public String
"= "" ******** Provisional BANNER ********* "" +""\r\n
This is My Tool, Release 18 "" + ""\r\n running on Java version "" +
System.getProperty(""java.version"") +""\r\n using components of
de.deepamehta "" + ""\r\n and edu.uci.ics.jung under GPL"" +""\r\n
******** Pro"
public String
"= ""No preferences yet (no installation)"";"
//Graphics accessories
String [][]
"= {{""#b200b2"", ""#0000ff"", ""#00ff00"", ""#ffff00"", //
purple, blue, green, yellow""#ffc800"", ""#ff0000"", ""#c0c0c0"",
""#808080""},// orange, red, pale, dark{""#d2bbd2"", ""#bbbbff"",
""#bbffbb"", ""#ffff99"", ""#ffe8aa"", ""#ffbbbb"", ""#eeeeee"",
""#ccdddd""}};//""#ffe8aa"", ""#ff"
String [][]
"= {{""#b200b2"", ""#0000ff"", ""#00ff00"", ""#ffff00"", ""#ffc800"", ""#ff0000"", ""#d8d8d8"", ""#a0a0a0""},""{""#d2bbd2"", ""#bbbbff"", ""#bbffbb"", ""#ffff99"", ""#ffe8aa"", ""#ffbbbb"", ""#f0f0f0"", ""#c0c0c0""}};"
String [][]
"= {{""#b200b2"", ""#0000ff"", ""#00ff00"", ""#ffff00"", ""#ffc800"", ""#ff0000"", ""#c0c0c0"", ""#808080""},""{""#b277b2"", ""#7777ff"", ""#77ff77"", ""#ffff77"", ""#ffc877"", ""#ff7777"", ""#d8d8d8"", ""#b0b0b0""}};"
Point
"= null;"
Point
"= new Point(0, 0);"
Point
"= new Point(2, 2);"
Point
"= new Point(3, 0);"
Point
"= null;"
Rectangle
"= new Rectangle(2, 2, 2, 2);"
CentralityColoring
// Input/ output accessories
NewStuff
"= null;"
CompositionWindow
"= null;"
String
"= """";"
int
"= 0;"
String
String = "";
String
"= """";"
String
"= """";"
boolean
"= true;"
//Toggles
=> hide classicMenu
boolean
"= false;"
boolean
"= false;"
boolean
"= true;"
int
"= 1;"
// Placeholders
GraphNode
"= new GraphNode(-1, null, null, null, null);"
GraphNode
"= dummyNode;// TODO integrate into Selection()"
GraphEdge
"= new GraphEdge(-1, dummyNode, dummyNode, null, null);"
GraphEdge
"= dummyEdge;"
"=\""gray\"">"" +""Click
a node for its details, ALT+drag "" +""a node to connect it."" + ""
For
help, right-click "" + ""the canvas background.
Selection
"= null;"
The overall structure is a JSplitPane.
The left pane is the GraphPanel.
The
right pane constists of
-- a labelBox with the labelField
--
a detailBox carrying a TextEditorPanel()
This is the Bold + special function. Read the tooltip of the "B+" button
in the lower right.
Process menu clicks
Main window
() {...}
(Graphics)
() {...}
(WindowEvent)
()
()
(String, int, int)
(PopupMenuEvent)
(PopupMenuEvent)
(PopupMenuEvent)
(boolean)
(int, String, String, boolean)
(String)
()
(int)
()
()
(boolean)
just for optics
()
(String, int)
()
(String)
(String)
()
()
(GraphNode)
(GraphEdge)
(GraphNode)
(GraphEdge)
()
just for optics
(Point)
(GraphNode, GraphNode)
(Set)
(GraphNode)
(GraphEdge)
(GraphEdge, boolean)
()
()
(String)
()
()
()
()
()
()
(int)
()
()
()
(int)
()
()
()
()
()
(boolean)