|
JGo 5.2 is shipping
February
2007. Version 5.2 introduces several new classes and methods
that make programming easier.
We have added a JGoCollection class, to make it easier to refer
to and manipulate a set of JGoObjects, without having to use
a JGoSelection.
It is easier to make copies of JGoObjects. You can add a copy
of a JGoObject to a JGoDocument by calling the JGoDocument.addCopy
method. If you need a copy of a JGoObject without adding it to
a document, you can call the JGoObject.copy method. Both of these
methods perform the copy correctly by using two passes to make
sure any references within or among the objects being copied
are maintained.
We have refactored the JGoSubGraph class by splitting out the
basic concept into a JGoSubGraphBase class. This makes it easier
for you to implement your own subgraph-like classes without inheriting
the implementation and expectations regarding there being a Label
or a Port, nor whether the subgraph is collapsible and has a
Handle.
For Swing, there are two new sample applications:
BoxApp: http://www.nwoods.com/forum/forum_posts.asp?TID=1821
UpdateDemo: http://www.nwoods.com/forum/forum_posts.asp?TID=1822
For SWT, there is now support for advanced graphics, so that
shapes are drawn with anti-aliasing. JGo for SWT now requires
SWT version 3.2.
SWT Support
Responding to the exploding use of Eclipse™ and SWT, we
have also reimplemented JGo to run on SWT in addition to Swing/Java2D/AWT.
JGO SWT is sold as a separate product family with the same options
and pricing as JGo Swing. The major features of JGo SWT are:
-
Implemented to have no dependence on AWT,
Swing, or Java2D
-
Does not depend on the Eclipse framework
besides SWT itself,
so it is easy to create stand-alone applications
- Maintains source-code compatibility (to the degree possible)
with JGo for Swing, so porting
JGo-related code in either direction is easy
-
Requires SWT version
3.0 or later
There is currently no support for JGoInstruments in JGo SWT.
New in JGo 5.2
- added JGoCollection, a light weight JGoObjectCollection that
you can pass to any method that requires a JGoObjectCollection
or JGoObjectSimpleCollection
- added JGoDocument property: LinksLayer,
the layer to hold links; initially same as JGoDocument.getDefaultLayer()
- added JGoDocument.add method, which adds links to the JGoDocument.getLinksLayer()
and non-links to the getDefaultLayer()
- added JGoDocument.addCopy
method, a convenient way to make a copy of a JGoObject and
add it to a JGoDocument
- added JGoObject.copy method, a convenient
way to make a copy of a JGoObject without adding it to a
JGoDocument
- added JGoSelection.toArray, addArray, and addCollection
- added
JGoViewEvent.SELECTION_STARTING and SELECTION_FINISHED events,
raised before and after many objects are
selected or de-selected
- changed, improved JGoPrintPreview
(Swing)
- refactored JGoSubGraph by splitting into a new base
class, JGoSubGraphBase, that can be used
to implement your own
subgraphs
- added UpdateDemo and BoxApp example
applications (Swing)
New in 5.1
- Added JGoArea.addCollection
and JGoLayer.addCollection, to support reparenting nodes
without getting the links disconnected
- Many JGoSubGraph enhancements
- New picking and selecting methods and properties
- Added JGoDocument.isUnoccupied,
to tell whether there are any "avoidable" objects
in a rectangular region
-
Added JGoDocument ValidCycle property, with
associated constants and methods
-
Improved support for headless
servers
-
Improved stroke path for self-loop links to
observe Curviness value
-
Added JGoLink RoundedCorners property
-
Added
JGoObject.isUpdatePartner, setUpdatePartner, and partnerUpdate
method, called by JGoObject.update
-
Added JGoView.printPreview
-
Added JGoActionObject
interface and a new state to JGoView for handling JGoActionObjects,
such
as buttons or knobs
-
Improved routing
of Orthogonal links in layered-digraph autolayout
-
Added
overloads to various JGoNetwork methods to take
JGoObject instead
of JGoNetworkNode,
for convenience in customizing
the network that will
be laid out
-
Added JGoXMLSaveRestore interface for easier persistence of custom
objects
-
Added
SVGImage example class
-
Added RotText and RotImage example classes
to Demo1
-
Added JTreeApp example
app
New in 5.0
- Improved
bean support
- Bean information provided for JGoView, JGoPalette,
and JGoOverview, allowing
tighter integration with most Java IDEs, including visual editing of user
interfaces, property editors, and easier association of event listeners.
- Added JGoOverview and JGoPalette (previously example
classes, but now with additional features)
- Added many view events (cases of JGoViewEvent,
such as LINK_CREATED and OBJECT_EDITED)
- Improved
moving and copying to avoid recalculating link strokes
- Added
AdjustingStyle property to JGoLink, to control how
the link stroke is replotted when
a port is moved
- Added Curviness property to JGoLink,
so that cubic (Bezier) links are automatically curved
- Added
ValidSelfNode and ValidDuplicateLinks properties
to JGoPort, heeded by JGoPort.validLink
- Added methods
to JGoArea (moveChildren, rescaleChildren, and layoutChildren)
called
by geometryChange
and geometryChangeChild
- Added AutoRescale
property to JGoObject, heeded by JGoArea.rescaleChildren
- Added
generic JGoNode class
- Added JGoBasicNode, JGoIconicNode,
JGoTextNode, JGoSubGraph (previously
example classes,
but now with additional features)
- Added
PartID property to JGoLink and JGoPort and JGoNode,
maintained
by JGoDocument
when JGoDocument.setMaintainsPartIDs(true)
- Added
some flexibility to SVG generation
- Improved performance
of JGoLayeredDiagraphAutoLayout
- Changed example code:
- overrides assume super JGoArea.copyChildren
copies all child objects
and adds them to the area
- replaced overrides
of geometryChange and geometryChangeChild
with overrides of layoutChildren
- changed
overrides of JGoPort.validLink
to use new ValidSelfNode
and ValidDuplicateLinks
functionality
New in 4.1
- SVG
-
graphs within graphs
-
text wrapping
-
Bezier curves (strokes,
links and polygons)
-
automatic routing
of orthogonal links to avoid nodes
-
extensive and customizable
user-input features
-
new example classes
and applications
-
and dozens of other
new features.
New in 4.0
- example servlet using JPEGView to produce images for web servers
(see
sample online)
- support for Swing undo/redo
- option to allow views to show objects at negative coordinates
- greeking of JGoText and JGoPort at small scales, sensitive to
printing
- DefaultBase property for JGoImages, for convenience when loading
images in Applets
- resizing a link to connect it to a new port now modifies the
existing link
- example code for reading and writing XML files for Flower processes
- new GeneralNode example classes, with varying numbers of labeled
ports
- new JPEGView example class, to demonstrate producing JPEG images
from documents
- new Overview example class in Demo1, allowing navigation of
another view
- improvements to the Flower editor sample
Features of JGo
JGo has full support for the Java 2 platform:
- Swing based views
- Java2D features such as thick and dotted line pens
- drag-and-drop support between components
- tooltips for JGo objects
- scaling views (zooming in and out)
- orthogonal links
- printing framework
- good documentation
- many performance optimizations, in both time and space
- several useful example applications
- support for JComponents as JGoControls
- control over JGoGridView grid appearance and behavior
- view events and listeners (to be notified of selection changes
or double-clicks)
- documents, selections and objects are Serializable
- documents and selections are Transferable
- support for automatic layout, available as a separate add-on
product
- layers of objects within documents
- support for Linux
- a "modifiable" property for documents and layers,
for easy "read-only-ness"
- various improvements to strokes / links / labeledlinks
- built-in ability to allow users to copy as well as move within
a view
- a JGo.jar file is included, so that you don't have to build
it yourself
Platforms
JGo works with all the popular Java development environments that
support the Java 2 platform.
JGo 5.1 also supports the SWT / Eclipse environment. JGo
can be used in a servlet in a J2EE environment.
Customer Gallery
 |
Our Customer Gallery: see the
diverse set of applications our customers are building. |
|