|
This document describes the changes that have been made to the JViews Prototypes (or BGO) module since version 3.0.
General Changes
Library Changes
New Classes
Modified Classes
In JViews 3.0, only the scale factor of a prototype instance relative to its prototype was saved to IVL files. This could result in a wrong geometry of a prototype instance when the IVL file was later reloaded, in particular if the prototype included non-zoomable objects like labels, or if you rotated the prototype instance.
In JViews 3.5, all the transformations applied to a prototype instance are recorded and saved to IVL files. This ensures that the prototype instance will be restored with its correct geometry in all cases, even if it contains non-zoomable labels or if you rotate it.
IVL files generated with JViews 3.0 (or older versions) can still be reloaded using version 3.5, but the reverse is not true: IVL files generated with JViews 3.5 cannot be reloaded using version 3.0 (or older versions).
ilog.views.prototypes.IlvGraphicGroupInteractor
In JViews 3.0, when you encapsulated a prototype instance in an IlvGraphicGroup, the mouse and keyboard events could not be dispatched to the elements of the prototype. So, if you had defined interactive behaviors on your prototype, these behaviors did not work in the graphic group.The new class IlvGraphicGroupInteractor solves this problem. You just have to set this object interactor on the graphic group to have mouse and keyboard events dispatched to the prototype's elements.
ilog.views.prototypes.IlvPrototypeLibrary
The class IlvPrototypeLibrary has a new method:public static IlvPrototype getPrototype(String prototypeURL, Class jarClass) throws MalformedURLException, IlvReadFileException, IOException;This new method makes it easier to load a prototype from a URL or from a JAR file. The URL is of the form:http://www.bgofactory.org/libraries/weather.ivl#metarStation
The first part of the URL is the location of the IVL file containing the prototype library, and the "anchor" part (after the '#') is the name of the prototype.
The expression parser could enter an infinite loop when it encountered the '!' character (for example to test for inequality). If an expression contained a property name that started with a predefined function name (for example 'expanded'), the expression parser took the function name as a token, resulting in a syntax error. The connection interactor had several functional and refresh problems. Deleting an object did not delete the connections between this object and other objects. In Composer, it was not possible to type Return in the text area of the Prototype Wizard page for editing a Java behavior. In Composer, the Property Table page of the Prototype Wizard did not work with JDK 1.3.