Release Notes

JViews Charts 8.5 Release Notes

This document describes the main changes that have been made to JViews Charts since version 8.1.

Incompatibilities
General Changes
Decoration Types: Labels
Decoration Types: Arbitrary Graphic Objects
Decoration Types: Animated Images
Header, Footer Anti-aliasing
Blinking Colors
Legend: Reversing the Order of the Legend Items
Legend: High-Low-Open-Close Charts
Legend: Interaction
Interactions: Picking the Nearest Rendered Item
Interactions: Fast Mouse Movements
Performance: Batching of Data Source Changes
Performance: Batching of Renderer Changes
Handling of Undefined y Values
Treemap Renderer API
IlvIMapArea API
Utility Methods for Shapes
Use of Generic types
Avoiding Memory Leaks
Improved Web Deployment Options
Improved Applet Integration
Improved Eclipse/RCP integration
Improved SWT integration
Other Changes in Charts Classes
Other Changes in DHTML JavaServer Faces Components
Other Changes in Utility Classes
Example Changes


Incompatibilities

There are no known incompatibilities.

General Changes


Decoration Types: Labels

It is now easy to add labels as decorations at fixed positions in a chart, for example in a corner.

New Interfaces and Classes

ilog.views.chart.graphic.IlvLabelDecoration

A class to display a label as a chart decoration.


Decoration Types: Arbitrary Graphic Objects

It is now easy to add graphic objects from the JViews Framework, such as polygons, ellipses, arcs, closed splines, relief labels, etc. as decorations at fixed positions in a chart.

New Interfaces and Classes

ilog.views.chart.graphic.IlvGraphicDecoration

A class that displays an IlvGraphic, a graphic object in the JViews Framework sense, as a chart decoration.

ilog.views.chart.graphic.IlvPositionableDecoration

A chart decoration that can be freely positioned at any place in the chart area.


Decoration Types: Animated Images

The IlvImageDecoration class now supports animated images.

Header, Footer Anti-aliasing

The header and footer labels now support anti-aliasing.

New Interfaces and Classes

ilog.views.chart.swing.IlvJLabel

This class is a Swing label, with additional bean properties.


Blinking Colors

The background of a chart, the background of a legend, and the colors used to draw grid lines can now be blinking colors. This means, they change their color periodically, alternating between two steady colors. Additionally, an extended color chooser component is provided that allows the user to select a blinking color.

New Interfaces and Classes

ilog.views.chart.IlvChartOwnedDrawable

This class denotes an object that is drawn as part of the chart area component, and that may be "owned" by a chart.

ilog.views.util.java2d.IlvBlinkingColor

This class defines a blinking color.

ilog.views.util.java2d.IlvBlinkingDrawingResource

This interface defines colors and paints that can blink.

ilog.views.util.java2d.IlvBlinkingMultiColor

This class defines a blinking color consisting of multiple subcolors.

ilog.views.util.java2d.IlvBlinkingMultiPaint

This class defines a blinking paint consisting of multiple subpaints.

ilog.views.util.java2d.IlvBlinkingObject

A blinking object is an object that supports blinking.

ilog.views.util.java2d.IlvBlinkingObjectOwner

A blinking object owner is an object that owns an object that supports blinking and is able to delay the repaint of the blinking by a sequence

ilog.views.util.java2d.IlvBlinkingPaint

This class defines a blinking paint.

ilog.views.util.swing.color.IlvAlphaColorChooserPanel

IlvAlphaColorChooserPanel is an abstract base class for panels to be added to a JColorChooser.

ilog.views.util.swing.color.IlvBlinkingColorChooserPanel

IlvBlinkingColorChooserPanel defines a panel that allows to choose a blinking color.

ilog.views.util.swing.color.IlvBlinkingColorPreviewPanel

A panel that wraps another panel and enables blinking behavior for the foreground of the wrapped panel.

ilog.views.util.swing.color.IlvJColorChooser

A component that lets you choose a color.

ilog.views.util.swing.color.IlvRGBAColorChooserPanel

IlvRGBAColorChooserPanel defines a panel to be added to a JColorChooser.


Legend: Reversing the Order of the Legend Items

The legend items can now be displayed in reverse order. This can be useful to match the order on an axis.

Modified Classes

ilog.views.chart.IlvLegend

ilog.views.chart.IlvLegendLayout


Legend: High-Low-Open-Close Charts

The legend items of a High-Low-Open-Close chart that shows multiple High-Low-Open-Close series can now be customized by API.

New Interfaces and Classes

ilog.views.chart.IlvHiLoOpenCloseRendererLegendItem

Represents a legend item associated with a quadruple of data sets (low, high, open, close) displayed by a IlvHiLoChartRenderer in CANDLE or OPENCLOSE mode.

Modified Classes

ilog.views.chart.renderer.IlvHiLoChartRenderer


Legend: Interaction

When the user clicks on an item in the legend and drags it, the entire legend will now be dragged, by default. This behavior is customizable.

Modified Classes

ilog.views.chart.IlvLegend


Interactions: Picking the Nearest Rendered Item

When the user clicks on a chart to designated a rendered item, previously only two modes were available: NEARESTPOINT_PICKING where the user has to click near the displayed data point (with a tolerance), and ITEM_PICKING where the user can click in the entire rendered item, for example a bar in the case of a bar chart. Now a third mode has been added: NEARESTITEM_PICKING which is like ITEM_PICKING, except that it allows a tolerance.

Modified Classes

ilog.views.chart.interactor.IlvChartDataInteractor

ilog.views.chart.IlvChart

ilog.views.chart.IlvChartRenderer

ilog.views.chart.IlvStyle

ilog.views.chart.faces.IlvChartConstants

ilog.views.chart.faces.dhtml.interactor.IlvChartSelectInteractor

ilog.views.chart.renderer.IlvCompositeChartRenderer

ilog.views.chart.renderer.IlvSingleChartRenderer

ilog.views.chart.renderer.IlvTreemapChartRenderer

ilog.views.chart.servlet.IlvPickPointAction

ilog.views.chart.util.IlvGraphicUtil


Interactions: Fast Mouse Movements

When the mouse entered the chart's panel quickly, some interactors could fail to recognize this as a mouse movement.

Modified Classes

ilog.views.chart.interactor.IlvChartEditPointInteractor

ilog.views.chart.interactor.IlvChartHighlightInteractor

ilog.views.chart.interactor.IlvChartLocalReshapeInteractor


Performance: Batching of Data Source Changes

Multiple changes to different data sets in the same data set can now be handled more efficiently, through notifications that a batch of changes to the data source begins or ends.

New Interfaces and Classes

ilog.views.chart.event.DataSourceListener2

Defines an extended interface for objects that listen to changes in an ilog.views.chart.data.IlvDataSource.

Modified Classes

ilog.views.chart.data.IlvAbstractDataSource

ilog.views.chart.IlvChartRenderer

ilog.views.chart.renderer.IlvBarChartRenderer

ilog.views.chart.renderer.IlvBubbleChartRenderer

ilog.views.chart.renderer.IlvComboChartRenderer

ilog.views.chart.renderer.IlvHiLoChartRenderer

ilog.views.chart.renderer.IlvPolylineChartRenderer


Performance: Batching of Renderer Changes

Multiple changes to the renderers of a chart can now be handled more efficiently. In particular the legend is now refreshed only once for a series of renderer changes.

New Interfaces and Classes

ilog.views.chart.event.ChartRendererListener2

Defines an extended interface for objects that listen to changes in an ilog.views.chart.IlvChartRenderer.

Modified Classes

ilog.views.chart.IlvChart

ilog.views.chart.IlvChartRenderer


Handling of Undefined y Values

When the y value for the smallest or largest x value in a data set is undefined, it is possible to specify whether this x value should be included in the x range of the data set or not.

Modified Classes

ilog.views.chart.data.IlvAbstractDataSet


Treemap Renderer API

A method that is useful for programming interactions on the treemap has been added.

Modified Classes

ilog.views.chart.renderer.IlvTreemapChartRenderer


IlvIMapArea API

It is now easier to customize the sensitive areas of a chart in a thin-client application. You can override the method addImageMapAreas of a renderer and manipulate the returned list of IlvIMapArea objects.

Modified Classes

ilog.views.chart.servlet.IlvIMapArea


Utility Methods for Shapes

Utility methods are now provided: for translating shapes and for determining the distance between a point and a shape.

New Interfaces and Classes

ilog.views.util.java2d.IlvShapeUtil

The class IlvShapeUtil contains static methods that are useful when working with Java2D Shape objects.

ilog.views.util.java2d.IlvTranslatedShape

This class is a translation of a given shape by a given translation vector.

ilog.views.util.java2d.IlvPolygon2D

An IlvPolygon2D instance describes a closed (circular) polyline with no specific starting or end points, in other words, a polygon.


Use of Generic types

Whenever an API method expects or returns an object of type Collection, List, Set, Iterator, etc., the argument type or return type uses generics. This allows for stricter type checking and more useful warnings.

Avoiding Memory Leaks

Methods have been added that can help cleaning up references so that the garbage collector can reclaim more memory.

Modified Classes

ilog.views.chart.data.IlvCombinedDataSet

ilog.views.chart.data.lod.IlvDataTileController


Improved Web Deployment Options

More web deployment options are supported in this release:

Improved Applet Integration

Modified Classes

ilog.views.util.IlvResourceUtil


Improved Eclipse/RCP integration

Support for garbage collection of ClassLoaders has been added. In situations where class loaders have a limited lifetime, for example in Eclipse/RCP, JViews will now drop cached objects that belong to a class loader when unregisterClassLoader is called.

New Interfaces and Classes

ilog.views.util.event.ClassLoaderLifetimeEvent

This class describes a turning point in the lifetime of a ClassLoader.

ilog.views.util.event.ClassLoaderLifetimeListener

This interface allows to react on turning points of class loaders.

Modified Classes

ilog.views.util.IlvClassLoaderUtil


Improved SWT integration

It is now possible to tell the AWT toolkit to ignore some events, when you know that SWT will already react on these events. In particular, it allows to prevent AWT from terminating the application while SWT is still saving the application state.

New Interfaces and Classes

ilog.views.util.swt.IlvAWTEventFilter

This interface specifies a filter that allows to ignore some events on the AWT side, knowing that the SWT side of the GUI will handle them.

Modified Classes

ilog.views.util.swt.IlvEventThreadUtil


Other Changes in Charts Classes

Modified Classes

ilog.views.chart.IlvLegendLayout

ilog.views.chart.IlvChartRenderer

ilog.views.chart.renderer.IlvSingleChartRenderer

ilog.views.chart.renderer.IlvTreemapChartRenderer


Other Changes in DHTML JavaServer Faces Components

New Interfaces and Classes

ilog.views.chart.faces.dhtml.component.IlvChartFacesContextualMenu

This class defines a base class for DHTML component that displays a contextual menu for a chart.

Modified Classes

ilog.views.faces.IlvFacesUtil

ilog.views.faces.component.IlvFacesContextualMenu

ilog.views.faces.dhtml.IlvDHTMLConstants

ilog.views.faces.dhtml.interactor.IlvFacesObjectSelectInteractor

ilog.views.faces.dhtml.interactor.IlvFacesObjectSelectRectInteractor

ilog.views.faces.dhtml.interactor.IlvObjectSelectInteractor

ilog.views.faces.dhtml.renderkit.IlvFacesContextualMenuRenderer

ilog.views.faces.dhtml.taglib.IlvObjectSelectInteractorTag

ilog.views.faces.taglib.IlvBaseTag

ilog.views.faces.taglib.IlvMenuTag


Other Changes in Utility Classes

New Interfaces and Classes

ilog.views.util.java2d.IlvMultipleGradientPaintConstants

Constants for gradient paints.

Modified Classes

ilog.views.util.collections.IlvCollections

ilog.views.util.collections.IlvUnsynchronizedStack

ilog.views.util.data.IlvTableModelMappingException

ilog.views.util.java2d.IlvLinearGradientPaint

ilog.views.util.java2d.IlvMultipleGradientPaint

ilog.views.util.java2d.IlvRadialGradientPaint

ilog.views.util.print.IlvPage

ilog.views.util.print.IlvPrintingController

ilog.views.util.styling.IlvCSSFunction

ilog.views.util.swing.IlvSwingUtil

ilog.views.util.swing.calendar.IlvJTimeChooser

ilog.views.util.swing.layout.IlvVerticalFlowLayout

ilog.views.util.swing.tree.IlvDefaultTreeCellRenderer

ilog.views.util.time.IlvTimeIterator


Example Changes