~ubuntu-branches/ubuntu/saucy/libjgraph-java/saucy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
07-MAY-2006: JGraph 5.10.1.0

- Fixes marquee selection artifacts on autoscrolling
- Uses absolute offsets for better combined edge label positions
- Adds EdgeHandle.getRelativeLabelPosition for relative label positioning
- Adds EdgeRenderer.getRelativeLabelPosition for better label positions
- Added GraphLayoutCache parameter to refresh, update and route methods
- Adds getPortSize() and setPortSize() so custom ports may override static value
- Adds check for edge visibility in getNeighbours
- Ungrouping now only removes ports of removed cells
      see bug #36 - http://www.jgraph.com/tracker/bug.php?op=show&bugid=36
- Added groupsEditable flag to JGraph
- Fixed scale centering for zoom less than 1
- DefaultRouter does no longer add control points that overlap source or target
- Fixes ordering issues in model
- Adds removeEmptyGroups switch in DefaultGraphModel
- Adds moveBeyondGraphBounds to JGraph to constrain dragging to graph bounds
- Adds constrainDrag() in rootHandle for controlling where dragging is allowed
- build.xml references examples main in com rather than org package
- isVertex now returns false for null vertex parameter
      see bug #28 - http://www.jgraph.com/tracker/bug.php?op=show&bugid=28
- Removed setting of initialLocation in RootHandle.mouseReleased to null
      see bug #27 - http://www.jgraph.com/tracker/bug.php?op=show&bugid=27
- Fixes edge label repaint on Macs
- Fixes marquee color and repaint on Macs
- Selection on insertion defaults to false
- Adds link attribute to GraphConstants

03-AUG-2006: JGraph-5.10.0.1 Beta 2

- Fixes possible NPE during grid repainting
- Fixes non-accelerated buffered image not always created when graph changes size
- Corrects background repaint to allow for clip bounds
- Reduces repaint area using clip bounds
- Corrects clip bounds bug when renderering non-accelerated double buffer

30-JUL-2006: JGraph-5.10.0.0 Beta 1

- Changes selection in default selection model from ArrayList to LinkedHashSet
- Improves double buffering image retention across operations
- Minimum Java version now 1.4

25-JUL-2006: JGraph-5.9.2.0-Cardiff

- Corrects old value on selection enable change in JGraph
- Improves performance when removing cells
- Improves performance when making cells invisible
- Adds static helper method DefaultGraphModel.getRootsAsCollection()
- Adds support for Component to be used as graph background

11-JUL-2006: JGraph-5.9.1.0-Berlin

- Adds background image support
- Adds port.gif to free distribution
- Fixes incorrect first paint in GraphEdX

06-JUL-2006: JGraph-5.9.0.0-Berlin

- Moves double buffering image to JGraph to share more effectively
- Removes labels caching and label bounds methods from EdgeView

22-JUN-2006: JGraph-5.8.3.2-Munich

- Changes getInsertionOffset to protected

21-JUN-2006: JGraph-5.8.3.1-Munich

- Adds case in handleAttributes to allow for correct removal of the user object
- Adds getInsertionOffset hook in GraphTransferHandler to position cloned cells
- Corrects NPE possibly caused in EdgeRenderer.getLabelPosition()
- Adds JPanel vertex example

14-JUN-2006: JGraph-5.8.3.0-Munich

- Various example additions and improvements
- Fixes leak on Macs by not using XOR painting in marquee, handles & port renderer
- Corrected memory display on GraphEd status bar

07-JUN-2006: JGraph-5.8.2.3-Malibu

- Add Port Labels example

29-MAY-2006: JGraph-5.8.2.2-Los Angeles

- Fixes infinite loop when null cell passed into remove()
- Deprecates GraphConstants.getValue, use GraphModel instead

23-MAY-2006: JGraph-5.8.2.1-San Francisco

- Adds manual dispose() calls to assist Apple JVM GC reclaim memory

17-MAY-2006: JGraph-5.8.2-San Francisco

- Adds com.jgraph examples to free distribution
- Adds getPartial in GraphLayoutCache to fix persistence problem

02-MAY-2006: JGraph-5.8.1.1-Vienna

- Fixes preview of children for context edges in GraphContext

30-APR-2006: JGraph-5.8.1.0-Vienna

- Fixes XMLEncoding/Serialization for file I/O in GraphEdX
- Adds serialization for weak hash map in GraphLayoutCache
- Scaling now centers zoom correctly
- Adds JGraph.getCenterPoint method
- EdgeView.getPointCount checks for points being null before using
- Calls marquee handler for toggle events if isForceMarquee returns true
- Adds edgeLabelMovable switch to graph to prevent edge label movement
- Corrects NPE editing null edge labels when setAutoSizeOnValueChange is true
- Makes AbstractCellView.editor public so it can be changed

16-MAR-2006: JGraph-5.8.0.0-Vienna

- Uses weak graph reference in EdgeRenderer
- Adds MyCellView demo demonstrating cell view factory usage
- Adds GraphSelectionDemo, demonstrating graph selection events

28-FEB-2006: JGraph-5.7.4.8-London

- Adds PREVIEW_EDGE_GROUP global switch to GraphContext class
- Uses CompoundVertexView for groups in GraphEd (Thanks to Jerry Pulley!)
- Creating default bounds in GraphEd.group for new group cells
- Changes AbstractCellView.translate and scale to public visibility
- Disposes graphics in JGraph.getImage to clean-up resources

20-FEB-2006: JGraph-5.7.4.7-London

- User Manual freely available

30-JAN-2006: JGraph-5.7.4.6-London

- Fixes minor problems with port magic
- Undeprecates the PortView.getLocation(CellView) method
- Fixes issue with floating port location when edge also connects to fixed port
- Updates HashSet in handleParentMap() accordingly with model roots

03-JAN-2006: JGraph-5.7.4.5-London

- Makes hiddenMapping a WeakHashMap to avoid possible memory leak
- Adds removeViewLocalAttribute() helper method
- Lazily instantiates removeAttribute set in AttributeMap for performance
- Adds addPort(Point2D) method to DefaultGraphCell
- Adds isVertex() helper method to DefaultGraphModel
- Removes ununsed settingUI variable from JGraph
- Cache roots in HashSet for performance in handleParentMap()
- Optimises setting cursor in BasicGraphUI.MouseHandler.mouseMoved()
- Moves createEdgeView method into factory (in GraphEd)
- Improves performance of Bezier edge creation
- Adds JGraph.getPortViewAt with custom tolerance

08-DEC-2005: JGraph-5.7.4.4-London

- Adds XMLEncoding of JGraph instance example to GraphEdX
- Adds serialization of JGraph instance example to GraphEdX
- GraphEd adds (un)installListeners hook for subclassers
- Listener list in GraphLayoutCache is no longer transient
- Adds SerialGraph serialization example to commercial distribution
- Adds marquee handler as an optional serializable field
- Fixes searching for closest control point when adding points
- Fixes selection check in BasicGraphUI.MouseHandle.mousePressed

05-DEC-2005: JGraph-5.7.4.3-London

- Adds layout cache de-/serialization example to GraphEdX
- Fixes de-/serialization of layout cache (no listeners)
- Fixes wrong use of transient modifiers in various classes
- Adds hook for processing loaded graph layout caches in GraphEdX
- Adds hook to configure encoder in GraphEdX
- Optimizes focus clearing after removing, fixes focus after inserting
- Fixes duplicate call to getDescendants when creating transferable
- GraphEd checks null in createGraphCell before using grid
- Adds new hook to GraphEd for populating the content pane

25-NOV-2005: JGraph-5.7.4.2-Shanghai

- Makes invalidate in EdgeView protected
- Fixes an issue with artifacts being left on the display with dragging cells

16-NOV-2005: JGraph-5.7.4.1-Shanghai

- Improvements to the JGraph User Manual Exporting section
- Adds automatic resizing and flag to JGraph (Thanks to Rene Voss!)
- Layout Cache now partial in GraphEdX

01-NOV-2005: JGraph-5.7.4-Shanghai

- Adds XML encoding/decoding to GraphEdX
- DefaultCellViewFactory is Serializable
- Adds createMarqueeHandler hook in GraphEd example
- Makes gradientColor in EdgeRenderer protected
- JGraph.getImage uses print instead of paint to draw graphics
- Moves grouping into GraphEdX example and adds persistance
- Fixes undoable edit relay condition in DefaultGraphModel

05-OCT-2005: JGraph-5.7.3.1-Shanghai

- Fixes static initialization block ordering issues

27-SEP-2005: JGraph-5.7.3-Shanghai

- Adds getBounds for an array of cellviews to GraphLayoutCache
- Fixes possible headless errors in BasicGraphUI.installDefaults
- Fixes possible headless errors in AbstractCellView, EdgeRenderer, VertexView
- Fixes GraphConstants class initializer headless support
- Adds getAllViews to GraphLayoutCache
- Adds showCells method in GraphLayoutCache
- Moves adding of edits to createEdit, removes createInsert/RemoveEdit
- Adds DefaultGraphModel.edit method for combined edits
- Adds switch to disable all port magic in PortView

06-SEP-2005: JGraph-5.7.2-Shanghai

- Removes paintingContext argument from EdgeRenderer.getLabelSize method
- Fixes cloning order in DefaultGraphModel.cloneCells to include all parents
- Changes the cloneCell method signature in DefaultGraphModel (no parent)
- Adds setParent helper method in DefaultGraphModel
- EdgeView.getLabelVector returns different values for loops and normal edges
- AbstractCellView.translate uses all attributes instead of view-local
- GraphLayoutCache.translateViews calls AbstractCellView.translate for locked group positions
- Fixes locked width or height locks child position in group resize
- Fixes scaling takes into account sizeable axis for groups
- Fixes handling of connectable attribute in EdgeHandle

31-AUG-2005: JGraph-5.7.1-Shanghai

- Adds showsInvisibleEditedCells, showsInsertedCells switches to layout cache
- Adds collapseXScale, collapseYScale properties to layout cache
- Adds movesParentsOnCollapse, resizesParentsOnCollapse switches
- Automatically updates the parent location (size optional) on collapse
- Adds GraphLayoutCache.toggleCollapsedState helper method
- AttributeMap clones extra label positions (point2d arrays)

29-AUG-2005: JGraph-5.7-Shanghai

- Fixes possible NPE in JGraph(GraphLayoutCache) c'tor
- Fixes possible NPE in AbstractCellView.updateGroupBounds
- Fixes possible NPE in PortView.getBounds for null locations
- AttributeMap.applyValue replaces port views in lists
- Fixes possible NPE in RootHandle.mouseDragged (adding dirty region)
- AbstractCellView.includeInGroupBounds handles promoted edges
- GraphLayoutCacheEdit.execute refreshes all changed cells
- EdgeHandle.createConnectionSet takes edge promotion into account
- EdgeView keeps manual control points while routing is active
- Adds preferred linestyle (for renderer) to routing interface
- Fixes all routers to conform with new interface
- Fixes model to keep edge in port if opposite connected to same port
- Adds DefaultEdge.LoopRouting routing base class with control logic
- Adds default routing for loops in GraphConstants
- Changes Edge.Routing interface to return a point list
- Adds EdgeView.isLoop method to find self-references
- Fixes NPE when disconnecting promoted edges
- Adds movesChildrenOnExpand switch to layout cache
- Keeps source/target for promoted edges hidden
- Blocks connecting of edges to themselfes

10-AUG-2005: JGraph-5.6.3.1-Fire

- Corrects corruption in User Manual pdf
- Removes unused variables

07-AUG-2005: JGraph-5.6.3-Fire

- Adds alwaysReceiveAsCopyAction switch to GraphTransferHandler
- Changed example package names
- Using Unix file endings in all files
- Moved IconAnimator and IconExample to free distros
- VertexRenderer and PortRenderer do not keep a reference to the graph
- Uses locked handle color to paint selected and focused cell borders
- Repaints focused cell area after selection change
- Scales tolerance in JGraph.getNextViewAt
- Removes unused colorspace variable in JGraph
- Edge renderer allows linewidths of zero (only paints labels)
- Adds isPopupTrigger checks to EdgeView.isAdd/RemovePointEvent
- Moves setXORMode from BasicGraphUI.paint to MarqueeHandler.paint

31-JUL-2005: Jgraph-5.6.2.1-Fire

- Fixes lazy creation of undo map breaks undo history

29-JUL-2005: Jgraph-5.6.2-Fire

- Added User Manual to commercial distribution

13-JUL-2005: JGraph-5.6.1.1-Fire

- Fixes NPE for JGraphGraphFactory dialog in applet
- Fixes cells not moved out of groups if move into groups enabled

10-JUL-2005: JGraph-5.6.1-Fire

- Fixes ignored connection changes in EdgeHandle
- Fixes possible cast exception in VertexView
- Adds empty constructor to graph layout cache
- EdgeHandle removes extra labels with shift-clicks
- DefaultGraphModel.handleConnectionSet does two steps
- Moves into groups only if not intersecting parent group
- VertexView uses Rectangle2D for default bounds
- GraphTransferHandler creates serializable bounds
- EdgeView.getPerimeterPoint returns edge center
- EdgeHandle inserts extra labels on label cloning
- Fixes array store exception in EdgeView.update
- Fixes class cast exception in GraphConstants.getExtraLabelPositions
- SizeHandle and EdgeHandle change color if cell is being edited
- Fixes filtering bug for vertices in GraphLayoutCache.getCells
- Removes unused opaque attribute in VertexRenderer
- Adds new helper method getSelectionCellAt to JGraph
- PortView avoids port magic if parentview is edgeview

27-JUN-2005: JGraph-5.6-Fire

- Checks edges disconnectable state in EdgeHandle, target group scaling
- Fixes initial editor location for edge labels
- Adds JGraph.getSelectionCells(Object[]) helper method
- Fixed missing cloning of bounds in JGraph.getCellBounds
- Adds getCells helper method in GraphLayoutCache
- Adds setCollapsedState to graph layout cache for combined (un)folding
- Changes types of (extra) label position to Point2D
- Default model getAttributes returns model attributes for null only
- Moves cells out of groups if not intersecting with parent
- VertexRenderer no longer resets opaque for null backgrounds
- Adds new groupOpaque attribute for expanded group transparency
- AbstractCellView not longer ignores inset if group is opaque
- Removes invalid connections in GraphTransferHandler.handleExternalDrop
- Resets DefaultEdge source and target on clone
- Fixes new group child not removed as roots in layout cache
- Refreshes context instead of update in GraphLayoutCache
- Supports new bean properties in BasicGraphUI
- GraphContext supports edges connected to edges for preview
- Removes casts to VertexView (allows edges to have ports)
- EdgeHandle supports new visible parent scheme, adds hooks
- EdgeView returns perimeter of next visible parent
- DefaultGraphModel.getEdges uses all descendants (w/ edges)
- Changes source and target port in DefaultEdge to transient
- DefaultEdge does no longer clone source and target ports
- Adds showsChangedConnections switch to graph layout cache
- Adds default implementations for getPerimeterPoint for edges
- Adds getPerimeterPoint to CellView interface
- Moves getCenterPoint to AbstractCellView
- Adds handleExternalDrop, createTransferable hooks to GraphTransferHandler
- JGraph.setGridColor/set(Locked)HandleColor/setHandleSize fire property changes
- Adds bean properties for gridColor, (locked)handleColor & handleSize
- Adds status bar to GraphEd with heap usage
- Adds configuration dialog to graph factory
- AttributeMap.applyValue replaces Point2D with SerializablePoint2D
- DefaultGraphModel.getRoots can run in linear time by checking model type

21-JUN-2005: JGraph-5.5.3-Picasso

- Adds JGraph.getImage helper method to create images
- Adds DefaultGraphModel.isGroup static helper method
- Adds GraphModel.getValue method to get a user object for a cell
- VertexRenderer invokes installAttributes if leaf or opaque
- Adds JGraph.getTopmostViewAt helper method
- Adds getGraphForEvent static helper to BasicMarqueeHandler
- Adds ParentMap.addEntries and constructor for arrays
- ReconnectEdgesToVisibleParent takes into account direction
- Adds moveIntoGroups, moveOutOfGroups switches for dnd-grouping
- Fixes BasicGraphUI.MouseHandler.mouseReleased and mouseDragged do not check isEnabled
- EdgeHandle checks disconnectable in mouseDragged instead of mousePressed

16-JUN-2005: JGraph-5.5.2.1-Picasso

- Fixed possible infinite loop in JGraph.getPortViewAt

16-JUN-2005: JGraph-5.5.2-Picasso

- Adds reconnectToVisible switch and hooks in GraphLayoutCache
- Restores auto-select in JGraphGraphFactory.insertIntoGraph
- Adds GraphLayoutCache.setVisible(Object[], Object[], ConnectionSet)
- Adds EdgeView.getNearestPoint hook for custom floating
- Adds DefaultGraphModel.getConnectionSet and constructor
- JGraph.getPortViewAt ignores edges for port-jumping
- VertexRenderer installs attributes if border not null
- Adds resetAttributes hook to VertexRenderer
- Adds constructor to ConnectionSet
- VertexRenderer opaque if no background and gradient color

08-JUN-2005: JGraph-5.5.1.1-Picasso

- Adds examples-only distribution
- Adds WHATSNEW to distributions

31-MAY-2005: JGraph-5.5.1-Picasso

- EdgeView only sets default label position if label exists
- Removes unused createFallbackAttributeMap in AbstractCellView
- Adds checkDefaultLabelPosition hook in EdgeView
- Clones defaultBounds in VertexView.update
- Fixes GraphContext.createMapping to only clone the source attributes
- Fixes possible NPE in BasicGraphUI.getEditorLocation
- Fixes possible NPE in EdgeRenderer
- Lazy creation of undo map in AttributeMap.applyMap
- Makes PortView.getLocation serializable in AttributeMap.clonePoints
- Replaces unnecessary use of createRect, createPoint in AbstractCellView
- Fixes MyPortView and GraphEdMv Examples
- Adds hooks to AbstractCellView for attribute creation and cloning
- Deprecates changeAttributes from GraphCell interface
- Moves default checks from DefaultEdge to EdgeView.update
- Stores fallback-bounds in VertexView.update
- Adds Adapter Example and Note to commercial version
- Adds Updating Guide to commercial version
- Adds getEditorLocation hook in BasicGraphUI
- Optimizes EdgeView memory footprint in case of no line ends
- Adds check for label in EdgeRenderer.getLabelBounds before calculating
- Optimizes memory usage for edges in GeneralPath constructor call
- Reduces initial size of edge points list to 4
- Tunes hit detection on edges

24-MAY-2005: JGraph-5.5-Picasso

- Isolates use of EdgeView.getEdgeRenderer to EdgeView (tracker 28/29)
- Adds typecheck in BasicGraphUI for EdgeView.getRenderer call
- Fixes negative location of in-place editor for edge labels
- Fixes labels not moveable for self-references (tracker 68)
- Fixes cropping of edgelabels in EdgeRenderer
- VertexView.getPerimeterPoint uses getRenderer method, makes cast
- Creates Rectangle2D in VertexView
- Adds valueForCellChanged to GraphModel interface

19-APR-2005: JGraph-5.4.7-Picasso

- Javadocs review
- Fixes label not moveable for self-references
- Fixes DefaultEdge.DefaultRouting for self-references
- Adds nearest point parameter to PortView.getLocation

12-APR-2005: JGraph-5.4.6-Picasso

- Review of javadocs, removing warnings and adding various details
- Fixes possible division by zero in EdgeRenderer.getLabelPosition
- Adds GraphLayoutCache.createNestedMap helper method
- AbstractCellView clones cell attributes in refresh

05-APR-2005: JGraph-5.4.5-Picasso

- Fixes selectable not taken into account if view local
- Adds helper to JGraph to return the attributes of a cell(view)
- Corrected event point coordinate scaling in EdgeHandle.mouseDragged
- Fixes missing refresh if source/target not accepted in EdgeHandle
- Fixes missing initial extra label-bounds in EdgeRenderer, EdgeView
- DefaultEdge.clone sets clone ports to original edge ports

28-MAR-2005: JGraph-5.4.4-Picasso

- Adds createGraph, graph accessors, static inner classes in GraphEd
- Changed GraphLayoutCache.setAllAttributeLocal to setAllAttributesLocal
- Adds GraphLayoutCache getEdges method that account for visibility
- Adds GraphLayoutCache.edit shortcut method with nested map parameter
- Replaced certain setViews calls in EdgeRenderer with assignment of view where
    setView is called directly afterwards for performance reasons
- Adds GraphLayoutCache.editCell method for single-cell changes
- Adds return value to BasicGraphUI.MouseHandler.handleEditTrigger to
  support invalid hit regions and select cells if editing did not start
  (Thanks to Timothy Wall from the Abbott project for this fix!)
- Fixes GraphEd.connect checks against model.acceptsSource and target
- Adds graph parameter to BasicMarqueeHandler.paint and overlay
- Adds new static method GraphConstants.merge to merge a nested change into a nested map
- Adds new method GraphLayoutCache.getNeighbours that returns the neighbours of a cell
    excluding a set of cells passed in. Has switches for visible cells and
    direction ( i.e. use outgoing edges only )

14-MAR-2005: JGraph-5.4.3-Picasso

- Changes initial capacity of AttributeMaps to 8 when using empty constructor
- Changes default array list size to 0 in AbstractGraphCell.childViews
- Fixes graphChanged and GraphLayoutCacheEdit call reloadRoots after execution
- Fixes default value for label position in DefaultEdge.checkDefaults
- Uses new label positioning and moving in EdgeRenderer, EdgeView.EdgeHandle
- Checks for graph != in EdgeRenderer.getExtraLabelSize, getExtraLabelBounds
- GraphEd new cells have unique labels

07-MAR-2005: JGraph-5.4.2-Picasso

- GraphEd extends JApplet, uses getContentPane
- JGraph.updateAutoSize snaps to grid
- VertexRenderer.paintSelectionBorder restores previous graphics stroke
- LabelAlongEdge attribute ignores number of control points in EdgeRenderer
- Ignores ports when removing children cells from view roots
- Changes previousAttributes default value to null in DefaultGraphModel.GraphModelEdit
- Changes List to Set in getEdges for performance.

27-FEB-2005: JGraph-5.4.1-Picasso

- Adds HugeGraphTest to examples for performance testing large graphs
- Changes askLocalAttributes to allAttributeLocal in GraphLayoutCache
- Removes unnecessary contains calls in model.handleConnection, cache.insertViews, graphChanged
- GraphEd consumes event after connect to avoid selection of source vertex
- Moves location of toBack/toFront buttons in GraphEd toolbar
- GraphEd uses GraphLayoutCache.ungroup method
- Adds createEdgeAttributes, createGroupCell, createDefaultGraphEdge hooks in GraphEd
- Fixes GraphLayoutCache.insert no longer overwrites nested attributes
- Adds port in GraphEd.createDefaultGraphCell, makes createAttribute public
- BasicGraphUI.getPreferredSize takes inset into account
- Removes final modifier from defaultdecorationsize in GraphConstants
- Adds defaultinset static value to GraphConstants
- Removes orphan port in GraphLayoutCache.ungroup
- Fixes refresh of collapsed group connections
- Adds JGraph.snap(Rectangle2D) utility method
- Adds hiddenCellViews accessor, constructor argument
- Adds getters for various GraphLayoutCache members
- Silently ignores exceptions in initOffscreen
- Adds DefaultGraphModel.cloneCells
- Fix possible orphan ports
- Fixes wrong constant-name in GraphConstants.setSelectable (44)
- Removes default bounds from attribute map

07-FEB-2005: JGraph-5.4-Picasso

- Moves addVisibleDependencies call to setVisibleImpl in GraphLayoutCache
- Adds static setSource/TargetPort helper methods in DefaultGraphModel
- Fixes duplicate reference to user object by removing from AttributeMap
- Moves user object cloning from cell to GraphModel.cloneUserObject
- Fixes cache.addVisibleDependencies may return null in array
- JGraph.convertValueOf uses String.valueOf
- AbstractCellView adds toString, getValue to use cell or local value
- Adds DefaultGraphModel.getUserObject convenience method
- Changes SizeHandler.invalidate modifier from private to protected (41)
- Fixes platform-specific selection modification in BasicGraphUI.isToggleEvent (SF #1110335)
- Fixes bug in BasicGraphUI.MouseHandler for single-click editing (SF #1110340)
- Fixes bug in DefaultGraphCellEditor.inHitRegion method (SF #1110340)
- Adds valueForCellChanged to default model, removes value from storageMap
- Fixes DefaultGraphModel.getEdges removes descendant edges of passed-in cells from output
- Fixes possible NPE when removing source/target in non-disconnectable mode (SF #1111989)
- Uses renderer component to determine tooltip in JGraph.getToolTipText (Thread 894)
- Clones properties of hidden cells when cloning collapsed groups
- Adds Abbott-based tests (Thanks to Thimothy Wall!)
- Renames GraphLayoutCache.hiddenSet to hiddenMapping
- Adds event listener for GraphLayoutCache, cleans up event model
- Adds missing methods to GraphModelChange (40)
- Adds workaround for possible NPE in EdgeRenderer.getPaintBounds (39)
- Optimizes implementation of selectAll action in BasicGraphUI
- Fixes edges connected to group cells not updated in partial views
- Renames groupBorder attribute to inset, default is 0
- Adds selectable, childrenSelectable, constrained (sizing) attributes
- Fixes EdgeHandle calls cache.edit if label clicked but not moved
- Fixes possible NPE in EdgeHandle.mouseDragged (SF #1099828)
- Resets source and target in EdgeHandle.mouseReleased (SF #1099828)
- Fixes child positions when dropped with null bounds in GraphTransferHandler
- Fixes wrong accessor name in GraphLayoutCache.setSelectsLocalInsertedCells

10-JAN-2005: JGraph-5.3.1-Tiger

- Showing connections and parents in GraphLayoutCache.edit
- Weakens guard condition in GraphLayoutCache.edit
- Accepts null argument in GraphLayoutCache.insert
- Adds comments to AttributeMap.applyValue and reorders method
- Fixes auto-inserted edgeviews have inconsistent state after refresh
- Adds better default bounds in GraphTransferHandler
- Refactors updateAutoSize in JGraph
- VertexView only returns handle if sizeable and not auosized
- Fixes autosizing for view-local bounds attribute, resize must be view-local, too
- Updates drop target listener in GraphUI on transferHandler changes
- Fixes insertEdge, adds insert(Object[]), insertGroup(Object, Object[])
- DefaultGraphModel.connect ignores old port (connects anyway)
- Ignores NPE in BasicGraphUI.createHandle
- Changes insert method signature in GraphLayoutCache
- Sets VALUE_STROKE_PURE rendering hint in EdgeRenderer.paint

03-JAN-2005: JGraph-5.3-Tiger

- Removes updating of portviews in EdgeView.update
- PortView.getNextPoint uses point list, not source-/targetgetter
- Fixes Spline edge-style has wrong arrow size.
- Fixes Spline edge finishes short of correct end point
- Refreshes context in GraphLayoutCache.GraphViewChange.execute
- Adds DefaultGraphModel.cellsChanged for listener notification
- HelloWorld example uses latest methods from GraphLayoutCache
- SelectAll selects topmost visible children of invisible groups
- Fixes missing update on auto-shown connections in layout cache
- Adds cloning for point list in EdgeView.update
- Fixes invocation order in GraphLayoutCache.GraphViewEdit.execute
- Adds a new static class for the GraphTransferHandler
- Does not user clone for new values in AttributeMap.applyValue
- Does not clone AttributeMap in AbstractCellView.updateAllAttributes
- Adds code examples to Javadocs in GraphLayoutCache
- Adds getEdgesBetween, getIncoming-, getOutgoingEdges etc. to DefaultGraphModel
- Adds insertVertex, -edge, -group, ungroup, collapse, expand to GraphLayoutCache
- Adds GraphLayoutCache.insertEdge and insertVertex
- Adds getter for ROUTING_SIMPLE in GraphConstants
- Adds context for visible cells in GraphViewEdit.execute
- Adds ConnectionSet.getPort to find port for edge
- Adds check for null and default attribute map in setAttributes
- Checks for valid bounds in DefaultGraphCell.setAttributes
- Changes constructors in default graph cells
- Added static DefaultGraphModel.cloneCell for deep cloning
- Adds setters to SerializablePoint2D and -Rectangle2D

20-Dec-2004: JGraph-5.2.1-Bridgewater

- Adds switch for scaled port drawing to JGraph
- Fixed BasicGraphUI auto-selection ignores enabled state
- Fixed possible NPE in DefaultGraphModel.getRoots
- Adds cell bounds in BasicGraphUI.TransferHandler.importData
- Adds default value for AbstractCellView.allAttributes
- Fixes selection of dropped cell hierarchies in BasicGraphUI
- Fixes missing repaint after GraphLayoutCache.setVisible
- Renames partial cache connection controlling switches
- Fixes missing visible dependencies in GraphLayoutCache.edit
- Fixes NPE in RootHandler if used with invisible cells
- Adds GraphLayoutCache.getVisibleCells for filtering
- VertexRenderer ignores focused state in paintSelectionBorder
- Fixes NPE when cells with connected edges are removed
- Adds GraphLayoutCache.setInserted for event notification
- GraphViewEdit calls Observers with inserted cells
- Adds Object[] to GraphLayoutCache.createLocalEdit
- Adds select local / all inserted cells in GraphLayoutCache
- Fixes error in autosizing (in-place autosizing)
- Fixes grouping hides cells in partial layout caches
- Fixes missing GraphConstants.DEFAULTFONT (uses Label.font)
- Adds flag to BasciMarqueeHandler.overlay for clearing
- Adds BasicMarqueeHandler processMouseDraggedEvent
- Adds AbstractCellView.setCell, setAttributes
- Renames AbstractCellView.setAttributes to changeAttributes
- TransferHandler ignores attributes based on bounds
- Adds static DefaultGraphModel.getAll(GraphModel)
- Fixes partial reloading in GraphLayoutCache.setModel
- Adds constructor for cell view arrays to GraphLayoutCache
- Makes cell views and GraphLayoutCache fields transient
- Check and replace model reference in JGraph.setLayoutCache
- Reuse mapped cellviews in GraphLayoutCache.getModel
- Adds GraphLayoutCache.editCells, getCellViews, insertClones
- Adds constructor for layout cache to JGraph
- Adds empty constructors to cell views

29-Nov-2004: JGraph-5.2-Revelation

- Renamed graph view listener in basic graph ui
- Fixed unscaled handle size in basic graph ui
- Extra labels rendered with graph.convertValueToString
- GraphConstants.setExtraLabels takes Object[], not String[]
- Made getInitialLocation more stable in BasicGraphUI
- Removed unused constructor from layout cache
- Moved setAutoSizeOnValueChanged switch to layout cache
- Remove from visibleSet, mapping in cache when removed from model
- Added changed property to layout cache to return modified views
- Fixed main condition statement in includeInGroupBounds
- Moved cell view factory into its own default class
- Added new constructor to default graph model
- Removed dependency between layout cache and cell views and JGraph
- Replaced select new cells with select cloned cells
- AttributeMap clone uses super.clone

12-Oct-2004: JGraph-5.1-Independence

- Added order method to JGraph
- Removed view-dependent layering
- Removed unused array inversion loops
- Add group border attribute with default constant
- Graph layout cache isOrdered is deprecated (cannot order invisible cells)
- Fixed graph layout cache's order method
- EdgeHandle hides handles for edge groups
- Moved new cell selection to layout cache
- Added inversion flag to layout cache's order method
- Clone passed-in cells only in cloneCells (adds no childs)
- GraphTransferHandler honors disabled property
- DefaultEdge allows children (edge grouping)
- Fixed strong typing in ConnectionSet c'tor
- Fixed constrained edge point editing
- Added getDefaultPortForCell hook for subclassers
- GetNextViewAt filters for leaf views (vertices)
- Added additional edge labels (no in-place edit)
- Fixed preview flickering in graphed
- Added jump to floating port switch
- Updated graphed example and added hooks
- Added getLeafViewAt, getNextSelectableViewAt
- GetPortViewAt, GetNextViewAt scales arguments

28-SEP-2004: JGraph-5.0.4-Revolution

- Sync attributes with user object in DefaultGraphCell
- Fixed flickering in edge connection mode
- Fixed class cast exception in myportview example
- Default group border changed to 20 pixels

19-SEP-2004: JGraph-5.0.3-Revolution

- VerteView uses opaque, adds group border
- Group opaque attribute is used in renderer
- Group intersection respects opaque mode
- Using attribute map to handle in-place edits
- Using attribute map for user object cloning
- Fixed some bugs in dirty region preview
- Fixed default port appearance

14-SEP-2004: JGraph-5.0.2-Revolution

- Added supercall to edge renderer paint
- VertexRenderer respects Opaque mode
- EdgeRenderer supports gradient paint
- No gradient vertex rendering in preview mode
- Provide port magic hook in PortView
- Minor fixes

12-SEP-2004: JGraph-5.0.1-Revolution

- Removed putMapping and refresh from factory methods
- Fixed unaccepted mousepoints when over invalid ports
- Added switch to accept invalid null-ports during previews
- Added dash offset to GraphConstant to allow moving edge patterns
- Added gradient background to vertex renderer, graph constants
- Separated storage attribute maps from transport maps
- Remove GraphModel.createAttributes, use custom cells instead
- Added hook to modify (augment) change context in layout cache
- Added switch to autosize on value changes (in-place edits)
- Added isMarqueeTrigger, handleMarquee hooks in BasicMarqueeHandler
- Made GraphLayoutCache.valueForCellChanged more usable
- Added switch to disable cell selection
- GraphConstants allows per-axis relative/absolute ports
- "Port Magic" only if edge is orthogonal (not bezier or spline)
- Calls getCellEditorValue only if needed in completeEditing

10-JUL-2004: JGraph-5.0-Revolution

- Fixed scrollCellToVisible in-place scaling bug
- Fixed clear selection on model update bug

24-MAY-2004: JGraph-4.0-Revelation

- Replaced ValueChangeHandler with GraphLayoutCache.valueForCellChanged
- Moved createPoint, createRect to AttributeMap
- Added AttributeMap, factory method in GraphModel
- Fixed GraphEd add/remove point with shift
- Replaced Map with AttributeMap (major API change)

11-MAY-2004: JGraph-3.4.1-Paris

- Removed GraphConstants.availableKeys
- Fixed NPE in EdgeHandler.mousePressed (773550)
- Fixed screen/model coordinates bug in GraphEd (862449)
- Fixed typo in examples/GraphEd (862455)
- Fixed accidental cloning in RootHandler (837362)
- Spline, Bezier linestyles for n points (Thanks to Martin Krueger!)
- Shift ports only if edge is not routed
- Include changed parents in selection event
- Cut, Copy, Paste is disabled on default
- Cloneable is disabled on default

03-MAY-2004: JGraph-3.4-Paris

- Can handle overlapping edges with a control point (Thanks to Martin Svoboda!)
- Removed e.consume and check from BasicMarqueeHandler
- Changed SizeHandle, EdgeHandle to static
- Moved event hooks from views to handles

26-APR-2004: JGraph-3.3-Zurich

- Added examples to source distribution
- Added support for view-local attributes
- Added support for sizeable in-place editors
- Changed Appearance of non-floating Ports
- Changed CellViewFactory interface
- AbstractCellView.getRenderer is now public
- Added Attribute moveableAxis, sizeableAxis to GraphConstants (2)
- Fixed possible NPE in JGraph.getCellBounds(Object[])

21-MAR-2004: JGraph-3.2-Lucerne

- In-place editing no longer calls convertValueToString twice
- DefaultGraphCell.changeAttributes no longer directly sets the user object
- Added set/isLabelAlongEdge to GraphConstants/EdgeRenderer (845673)
- DefaultGraphModel.getAttributes(null) returns the model's attributes (737213)
- Switched to double coordinates (use GraphConstans.createXY)
- GraphTransferHandler.canImport does not always return true
- Added moveBelowZero control property to JGraph (890057)

12-JAN-2004: JGraph-3.1-Lucerne

- Moved to Ant build environment
- Fixed GraphSelectionEvent contains wrong items (834450)
- Fixed broken Contract in JGraph.getSelectionCount (848439)
- Fixed error in Edge selection (835950)
- Renamed PERCENT to PERMILLE in GraphConstants (799536)
- Replaced direct renderer access in EdgeHandle (788180)
- Enabled live preview for dragEnabled mode (691135)
- Added GraphConstants.NEGATIVE_ALLOWED switch (786895)
- renamed BasicTransferable to BasicGraphTransferable
- code cleanup

01-SEP-2003: JGraph-3.0-Lucerne

- New package name org.jgraph.* for all classes
- Cleaned up directory structure (ready for Ant)

-----------------------------------------------------------------------------------------------

04-AUG-2003: JGraph-2.2.2-Lucerne

- New EdgeRenderer.translateGraphics hook for subclassers
- Fixes for ordered layoutcaches
- Include ports in cache-dependent order
- Removed cloned children parent dependency
- Fixed wrong order in exportData for DnD and clipboard

25-JUL-2003: JGraph-2.2.1-Lucerne

- Fixed cut-paste bug by adding ParentMap to GraphTransferable
  - Note: Children are removed from their parents upon removal from the model.
- EdgeView: Cached values are now public

13-JUL-2003: JGraph-2.2-Geneva

- Selection Change: Improved repaint performance (700788)
- Edge: Improved performance. Thanks to Denis O. Mikhalkin!
- GraphConstants: Changed IconAttributes type to Icon
- ParentMap: GraphModel dependency removed -> Model is in charge of computing the changed cells
- Edgelabel-position now depends on edge direction
- EdgeView: Don't allow label moves if cell/graph not moveable
- BasicGraphUI: Using ParentMap when cloning cells
- VertexRenderer(boolean hideGroups) constructor added
- ParentMap.clone method added
- GraphConstants.*_FILLED arrow styles removed
- EdgeView.beginShape, endShape, lineShape and sharedPath are now public
- Added getPreviousConnectionset/getPreviousParentMap to GraphModelChange
- Added JGraph/DefaultGraphModel.getDescendantList in favor of getDescendants
- DefaultEdge.defaultPoints is now public
- GraphConstants: Added FONT to availableKeys
- DefaultGraphCellEditor: Removed clickcount test in isCellEditable
- BasicGraphUI: Added MouseEvent method to MouseHandler.handleEditTrigger and pass to startEditing method
- Removed unused FontXY constants from GraphConstants

12-MAY-2003: JGraph-2.1.1-Geneva

- Added bean method to ConnectionSet for XMLEncoder
- Added Null-Check to isCellEditable
- Fixed shared points bug in DefaultEdge (see https://sourceforge.net/tracker/?func=detail&atid=435210&aid=710799&group_id=43118)
- Block autosizing in JGraph when the graph is being edited

17-MAR-2003: JGraph-2.1-Geneva

- Added new rel/version file that reflects the current working version (used by all *.sh and *.bat scripts)
- Added automated source code checking in build script using PMD (http://pmd.sf.net), target name = checksrc
- ParentMap does not use TreeNode interface anymore, uses GraphModel instead
- Fixed possible NPE in paintCell (see http://sourceforge.net/forum/message.php?msg_id=1919609)
- Fixed NPE in BasicGraphUI.MouseHandler.mouseDragged and mouseReleased
- Replaced fontStyle, fontName and fontSize by single font bean property (http://sourceforge.net/tracker/?func=detail&atid=537692&aid=694387&group_id=43118)
- Added null test to JGraph.getCellBounds (see http://sourceforge.net/forum/forum.php?thread_id=823687&forum_id=140880)
- Changed API to allow Vertex/Port combined cells (see http://sourceforge.net/forum/forum.php?thread_id=821998&forum_id=140879)
- Changed XORMode color in EdgeHandle, SizeHandle and RootHandle (see http://sourceforge.net/tracker/index.php?func=detail&aid=677743&group_id=43118&atid=435210)
- handleParentMap at DefaultGraphModel updated for user defined Cells 
- Added getParentMap and getConnectionSet to DefaultGraphModel.GraphModelEdit (see http://sourceforge.net/tracker/?func=detail&aid=675521&group_id=43118&atid=435210)
- DefaultGraphModel.contains does not use DefaultMutableTreeNode. Use getParent method instead
- Fixed BasicGraphUI.paintGrid, min. grid size is 2 pixels (see http://sourceforge.net/tracker/index.php?func=detail&aid=677748&group_id=43118&atid=435210)
- Fixed BasicGraphUI.MouseHandler.mousePressed (see http://sourceforge.net/tracker/index.php?func=detail&aid=680124&group_id=43118&atid=435210)
- Test marquee != null in BasicGraphUI.paint
- DNDPreview problem is solved in J2SDK1.4.1_01 (no preview for double buffering, but no freezing either)
- Limit number of visible relations to MAXCELLS for live preview
- Check for nullpointer in BasicGraphUI.isConstrainedMoveEvent
- Fit up to Java 1.4 (Marked relevant lines with //JAVA13 and moved TransferHandler.java to /rel directory, updated Makefiles)
- PortRenderer.getRendererComponent now absorbs the focus argument (see http://sourceforge.net/tracker/?func=detail&aid=683388&group_id=43118&atid=435210)
- Added reference to GraphModel in ParentMap (Thanks to Michael Lawley!)
- Added GraphModel.isPort, GraphModel.isEdge (Thanks to Michael Lawley!)
- Moved JGraph.cloneCells implementation to GraphModel (Thanks to Michael Lawley!)
- Added NULL-check on oldBounds in AbstractCellView.setBounds
- Added explicit setBounds(map, bounds) in GraphConstants.translate(map, int, int)
- Handle Java-Bug in large zoom levels in VertexRenderer.paint (Bug: Zero length string passed to TextLayout constructor)
- Use GraphModel interface in BasicGraphUI.MouseHandler.mouseReleased (see http://sourceforge.net/tracker/?func=detail&atid=435210&aid=671137&group_id=43118)
- Added JGraph.setGridStyle and improved grid/zoom integration (Thanks to Claudio Rosati!)
- GraphConstants.translate: Do not go into negative coordinates (see http://sourceforge.net/forum/message.php?msg_id=1842610)
- EdgeHandle/SizeHandle: Do not go into negative coordinates (dito)

01-FEB-2003: JGraph-2.0-Geneva

- Rounding erros on large zoom levels removed
- GraphConstants.createPropertyMap removed
- GraphModel.isOrdered removed
- GraphModel.isAttributeStore removed
- GraphConstants.is/setVisible removed
- CellRenderer.supportsAttribute removed
- AbstractCellView.isControlAttribute removed
- VertexRenderer.is/setHideGroups added
- BasicGraphUI.is/setSnapSelectedView added
- Edge.Routing added
- GraphConstants.ROUTING_SIMPLE added
- DefaultEdge.DefaultRouting class added
- GraphConstants.get/setRouting added
- GraphConstants.createAttributes added
- GraphLayoutCache.reset, is/setVisible, partial, ordered added
- DefaultGraphModel.getSource/TargetVertex added
- GraphLayoutCache.hiddenSet added
- JGraph.VERSION (use JGraph -version) added
- VertexRenderer.paintSelectionBorder added
- Provide a handleEditTrigger Hook in BasicGraphUI.MouseHandler added
- GraphView renamed to GraphLayoutCache
- GraphLayoutCache.toBack/toFront take cells as arguments
- JGraph.get/setView renamed to JGraph.get/setGraphLayoutCache
- JGraph.SnapSize renamed to Tolerance (including getter, setter etc.)
- JGraph.convertValueToString support view-local values
- DefaultGraphCell.setAttributes renamed to changeAttributes
- Port.add/remove renamed to Port.addEdge/removeEdge (see http://sourceforge.net/forum/forum.php?thread_id=773281&forum_id=140880)
- GraphConstants.ARROW prefix added to arrow styles
- GraphConstants.STYLE prefix added to line styles
- getPerimterPoint method was moved to the renderer
- GraphViewChange.getAttributeMap renamed to getAttributes
- GraphModelChange.getStoredAttributeMap renamed to getPreviousAttributes
- DefaultGraphModel.handlePropertyMap renamed to handleAttributes
- importData may return false to signal sender to not remove cells
- DefaultGraphSelectionModel.isChildrenSelectable now supports a cell argument
- Rounding erros on large zoom levels removed (Thanks to Jenya!)
- The maximum number of edges to paint in live-preview is now MAXCELLS
- EdgeHandle does now support the SHIFT-key for constrained moving
- Added some accessor methods to BasicMarqueeHandler for subclassers
- BasicGraphUI.PropertyChangeListener calls repaint after GraphLayoutCache change
- JGraph.setGraphLayoutCache checks and updates the cache's model if necessary
- Vertices are not removed when their last port is removed dynamically
- EdgeRenderer now cached the created Shape in the corresponding EdgeView
- BasicGraphUI.isDescendant uses GraphModel interface to return its data
- Live preview during real DND (only for JDK < 1.4.0, see BasicGraphUI line 28)
- DefaultEdge.constructor offers user object und boolean (allows children)
- JGraph.disconnectOnMove must check the CONNECTABLE/DISCONNECTABLE attributes
- Vertex, Port and Edge may carry the CONNECTABLE/DISCONNECTABLE attributes
- NPE on edge change when new the port was not visible in other view removed
- Groups may contain ports (Concurrency side-effects in EdgeRenderer.createShape)
- Cache the bounds property of groups and recompute on change of children only
- GetBounds-Infinite-Loop solved by exluding childedges between childs to group
- Propagate CellView.update to parent instead of child (bubble up)
- TransferHandler now supports move and DnD across multiple views, models and JVMS
- Clone edges when reconnected and the Control key is pressed
- ExecutableGraphChange interface added to execute all changes in model (Delegation)
- In-place editing from empty to non-empty content is incorrectly undone
- Removed in-place manipulation of BOUNDS-attribute in SizeHandle and RootHandle
- Changed execution order of compound edits: first model then args in-order
- Use GraphModel interface in DefaultGraphModel.getRoots only (no typecast)
- GraphLayoutCache.getMapping may return null (if cell is not visible)
- GraphUndoManager.redo throws CannotRedoException instead of CannotUndoException
- Handles.initOffscreen is protected instead of package private

06-JAN-2003: JGraph-1.0.7-Valencia

- DefaultGraphSelectionModel.CellPlaceHolder is now a protected inner class with public accessors (see http://sourceforge.net/forum/forum.php?thread_id=780577&forum_id=140880)
- DefaultGraphCell.getChildren never returns null (see http://sourceforge.net/forum/forum.php?thread_id=780591&forum_id=140880)
- SizeHandle/RootHandle double buffer members are now protected (see http://sourceforge.net/forum/message.php?msg_id=1773109)
- dependency between isMoveable, isAutosize and isSizeable was removed. (see http://sourceforge.net/forum/forum.php?thread_id=770111&forum_id=140880)
- focus argument and childrenSelected are handled separately by renderer (see http://sourceforge.net/forum/forum.php?thread_id=773281&forum_id=140880)
- focused cell's highlight color is different from other selected cells (see http://sourceforge.net/forum/forum.php?thread_id=773281&forum_id=140880)

18-NOV-2002: JGraph-1.0.6-Madrid

- Updated CVS Repository and Distribution directory structure
- New Distribution Files (Readme, News, ChangeLog, ...)
- Ant-compatible Build Scripts
- Script-based Automatic Core Migration to Java 1.4
- Reformated source code
- Reorganized Java imports

13-JUN-2002: JGraph-1.0.5-Malaga

- Scaled importData
- InvokesStopCellEditing
- Remove update from AbstractCellView.constructor
- Move AbstractCellView.update call to subconstructor
- Font Style/Size for default font
- Typetest in DefaultGraphModel.getChild
- Group Resize overrides Size protection
- Group Resize overrides Position protection
- GraphConstants.applyMap: undoMap removed
- AbstractCellView uses createMap
- DefaultGraphCell uses createMap

06-JUN-2002: JGraph-1.0.4-Xinzo

- GraphModelEdit.getStoredAttributeMap
- Paints released Clone-Mode during Move
- GraphModelEdit.handleEmptyGroups
- DefaultGraphModel.createLayerEdit
- public GraphViewLayerEdit.execute

28-MAY-2002: JGraph-1.0.3-Zaragoza

Initial Release