Apprisant Logo
New Features

Release 1.2

Geo Project Properties Dialog Geo
- Added support for Projects to encapsulate the context for a diagram. Projects contain libraries, a toolkit properties file, a toolkit initializer class, a data source, and one or more diagrams, and can be saved and reopened. See the Using Geo page accessible from the Help menu and the help page for the Project Properties dialog accessble from the Edit menu.
- Improved the Libraries dialog user interface.
- Now displays the current view rectangle in the View dialog.
- Streamlined the use of application factory classes to instantiate display elements.

Data Access
- The diagram can now access data object keys and property values directly through property accessor (get*/is*) methods, without requiring that the data objects implement the toolkit's DataObject interface. See the Data Objects page in the Developers' Guide.
- The SimpleDataModel class can now take data objects that don't implement the DataObject interface.

ToolTip Diagram
- Support for tooltips which can be set individually for each display element or defaulted to the element's key. Tooltips can be enabled using the diagram's tooltips property. See Tooltips on the Diagram Properties page of the Developers' Guide.

Bounds Renderer Renderers
- New FormattedTextRenderer displays text containing style, weight and line-break directives, as well as element or data attribute values. See Formatted Text Renderer in the Developers' Guide.
- New BoundsRenderer outlines or fills the bounds of another renderer, with padding, offset, and round rectangle arc properties. Can also be used for drop shadows. See Bounds Renderer in the Developers' Guide.
- New AlignmentRenderer aligns one renderer's graphic relative to the bounds of another, with reference position, alignment and offset properties. See Alignment Renderer in the Developers' Guide.
- A new Diagram method calculates the bounds of a single renderer for an element. See calcBounds(AGRenderer, GeneralElement) in the Diagram API documentation.
- A new method in the diagram's rendering manager gets a reference to a renderer by name. See getRenderer(String) in the RenderManager API documentation.
Renderer Alignment
- The Shape renderer's scalable property can be set to GRAPHIC to scale the graphic but not the width of the outline. See Shape Renderer in the Developers' Guide.
- The renderer XML reader now automatically wraps a list of renderer children in a List renderer as necessary.
- Some renderer XML tags have been modified to be more concise. See the List, Class, Boolean and Option renderers in the Developers' Guide.
- Geo and the design tools now allow reading of a renderer XML file that contains errors.

Framework and Utilities
- A new method in the apprisant.diagram.awtext.GeomUtils class converts a List of Point2D objects to a GeneralPath. See toGeneralPath(List) in the GeomUtils API documentation.
- Introduced a Redistribution license for customers wishing to redistribute the toolkit's runtime, and scripts to install it into a jar file. See Toolkit Redistribution in the Developers' Guide.

FormattedText Renderer Examples and Demos
- Tooltips have been added to the Color and Trailmarker demos.
- The Camp, Project and Schedule demos have been reimplemented to use the data objects' property accessor methods.
- The Oilfield demo has been modified to use the FormattedTextRenderer.
- The LayersEx example shows how layers can be implemented with the diagram.
- The BoundsRenEx and the AlignRenEx examples illustrate the use of the Bounds and Alignment  renderers.
- The ObjectIfcEx example has been added as an example that uses the toolkit's DataObject interface.

Documentation
- The Developers' Guide has been completely revised and updated.

Bugfixes
- Fixed problems with JPEG export and many other miscellaneous issues.