Release Notes |
This document describes the main changes that have been made to the JViews Gantt module since version 4.0.
Incompatibilities
General Changes
Library Changes
New Packages
ilog.views.gantt.IlvAbstractGanttModel
ilog.views.gantt.IlvDefaultGanttModel
ilog.views.gantt.IlvGanttConfiguration
ilog.views.gantt.IlvHierarchyChart
ilog.views.gantt.IlvTimeScrollController
ilog.views.gantt.action.IlvAction
ilog.views.gantt.event.ConstraintRemovedEvent
ilog.views.gantt.event.ReservationRemovedEvent
ilog.views.gantt.graphic.IlvGanttSheet
ilog.views.gantt.graphic.grid.IlvGanttGridRenderer
ilog.views.gantt.graphic.grid.IlvHorizontalGanttGrid
ilog.views.gantt.graphic.grid.IlvVerticalGanttGrid
ilog.views.gantt.graphic.renderer.IlvActivityLabel
ilog.views.gantt.graphic.renderer.IlvActivitySymbol
ilog.views.gantt.scale.IlvTimeScale
ilog.views.gantt.scale.IlvTimeScaleRow
ilog.views.gantt.scale.IlvBasicTimeScaleRow
ilog.views.gantt.graphic.grid.IlvGanttGridRenderer
ilog.views.gantt.graphic.grid.IlvHorizontalGanttGrid
ilog.views.gantt.graphic.grid.IlvVerticalGanttGrid
draw(Graphics, IlvGanttSheet)
method of the IlvGanttGridRenderer
interface has been changed to draw(Graphics, IlvGanttGridContext)
. If you have created a
custom grid implementation that overrides the old draw
method, you have to
rewrite your draw
method in order to migrate to JViews 5.0. The benefit
of using an IlvGanttGridContext
instead of an IlvGanttSheet
argument is that a different grid context can be
provided while drawing the grid on screen and printing the grid on paper. The grid
renderer becomes more flexible and can be used for displaying on screen and printing on
paper.The main general changes are the following:
ilog.views.gantt.servlet
package for server-side
development and the Gantt DHTML JavaScript components for client-side development. See
Chapter 7 of the User's Manual for more information on how to develop Gantt Web
Applications using the new thin client support.IlvTimeScale
and the IlvGanttSheet
have new APIs that allow you to print the Gantt chart
and the Schedule chart onto multiple pages without scrolling the user interface. See
Chapter 8 of the User's Manual for more information on how to print the Gantt chart and
the Schedule chart.ConstraintRemovedEvents
and ReservationRemovedEvents
that indicate if the object is being removed from the data model as part of a
"higher-level" operation. The chart looks at these new flags in the event to
determine if it can group and optimize the graphic redraws. The IlvAbstractGanttModel
base
class provides new methods to fire events with these flags and the IlvDefaultGanttModel
implementation has been updated to fire events with the new flags set appropriately. If
you have created a custom Gantt model implementation, you should update your code that
fires the constraint and reservation removal events to use the new flags. This will give
you the best performance possible. If you have a custom data model implementation and do
not update your code, you will have better performance than JViews 4.0, but it will
not be optimal.This package provides the framework classes for developing the server side of Gantt Web Applications. See Chapter 7 of the User's Manual for more information on how to develop Web Applications using the new Gantt thin client support.
This collection of DHTML JavaScript components allows you to easily develop the thin client side of Gantt Web Applications. See Chapter 7 of the User's Manual for more information on how to develop Web Applications using the new Gantt thin client support.
demos.gantt.print
,
demos.gantt.print.printable
,
and demos.gantt.print.preview
These 3 packages consist of the print and preview framework. Refer to Chapter 8 of the Gantt User's Manual for information on how to use them. They are not provided in the core library,
gantt.jar
, of the Gantt package. Instead, they are provided as Java source files with the Gantt Print Example. The source files of these 3 packages can be found in<installdir>/demos/gantt/print/src
.
ilog.views.gantt.IlvGanttComponentManager
An
IlvGanttComponentManager
coordinates the scrolling, row expand/collapse, and selection behaviors of a chart's UI components. Use theIlvHierarchyChart.getComponentManager()
method to obtain an instance of this interface.
ilog.views.gantt.event.GanttModelListener
This new interface should be implemented by an object interested in receiving
GanttModelChangedEvents
from anIlvHierarchyChart
or anIlvGanttConfiguration
.
ilog.views.gantt.scale.IlvTimeScale.PaintContext
An inner class of
IlvTimeScale
, this class has been introduced so that anIlvTimeScale
displays better on the screen and prints better on paper.
ilog.views.gantt.graphic.grid.IlvGanttGridContext
This interface defines a render context for painting Gantt grids. It provides the necessary information needed to paint the horizontal and the vertical grids of the Gantt sheet.
ilog.views.gantt.graphic.grid.IlvAbstractGanttGrid
IlvAbstractGanttGrid
is the basic class used to implement the grids for the Gantt sheet.
ilog.views.gantt.IlvAbstractGanttModel
fireConstraintRemoved(IlvConstraint, boolean)
- Fires a ConstraintRemovedEvent
with a flag that indicates whether the
constraint was removed as the side effect of removing an activity from the data model.
This flag allows the chart to optimize its redraw when an activity is removed from the
Gantt data model.fireReservationRemoved(IlvReservation, int)
- Fires a ReservationRemovedEvent
with a flag that indicates whether the
reservation was removed as the side effect of removing an activity or a resource from the
data model. This flag allows the chart to optimize its redraw when an activity or resource
is removed from the Gantt data model.ilog.views.gantt.IlvDefaultGanttModel
IlvDefaultGanttModel(int, int, int, int, float)
- Creates a data
model with the specified initial capacities and load factor. IlvDefaultGanttModel(int, int, int, int)
- Creates a data model
with the specified initial capacities and the default load factor.ilog.views.gantt.IlvGanttConfiguration
SelectionListener
, TimeScrollListener
,
VerticalExpansionListener
, and VerticalScrollListener
events are now republished through the
configuration's event service. This means that the add/removeListener
methods can now be used to register for these
events. Previously, only the data model events were available through the event service. add/removeGanttModelListener
- Adds/removes a listener to
receive notifications when the configuration's data model has been changed.get/setVisibleIntervalAnimationSteps
- Returns/sets the number
of steps in the animation of changes to the visible time interval.ilog.views.gantt.IlvHierarchyChart
add/removeGanttModelListener
- Adds/removes a listener to
receive notifications when the chart's data model has been changed. get/setDividerBorder
- Returns/sets the border of the chart's
divider component. getComponentManager
- Returns the component manager that
coordinates the scrolling, row expand/collapse, and selection behaviors of the chart's UI
components.is/setDisplayingConstraints
- Returns/sets whether the chart is
displaying constraints. The default value is true
for a Gantt chart or false
for a Schedule chart.is/setConstraintLayerVisible
- Returns/sets whether the
constraint graphic layer is visible. This API was previously in IlvGanttChart
,
it is now applicable to Schedule charts as well.getSelectedConstraints
- Returns the constraints that are
selected in the chart. This API was previously in IlvGanttChart
,
it is now applicable to Schedule charts as well.select(IlvConstraint, boolean)
- Selects or deselects a
constraint. This API was previously in IlvGanttChart
, it is
now applicable to Schedule charts as well.get/setVisibleIntervalAnimationSteps
- Returns/sets the number
of steps in the animation of changes to the visible time interval.ilog.views.gantt.IlvTimeScrollController
get/setAnimationSteps
- Returns/sets the number of steps in the
animation of changes to the visible time interval.ilog.views.gantt.action.IlvAction
get/setName
- Returns/sets the name of the action.ilog.views.gantt.event.ConstraintRemovedEvent
ConstraintRemovedEvent(IlvGanttModel, IlvConstraint, boolean)
-
Creates a ConstraintRemovedEvent
with a flag that indicates
whether the constraint was removed as the side effect of removing an activity from the
data model. This flag allows the chart to optimize its redraw when an activity is removed
from the Gantt data model.isRemovingActivity
- Returns whether the constraint was removed
as the side effect of removing an activity from the data model.ilog.views.gantt.event.ReservationRemovedEvent
REMOVING_NONE
, REMOVING_ACTIVITY
, and REMOVING_RESOURCE
- Flags that indicate whether a reservation
was removed as the side effect of removing an activity or a resource from the data model.ReservationRemovedEvent(IlvGanttModel, IlvReservation, int)
-
Creates a ReservationRemovedEvent
with a flag that indicates
whether the reservation was removed as the side effect of removing an activity or a
resource from the data model. This flag allows the chart to optimize its redraw when an
activity or resource is removed from the Gantt data model.isRemovingActivity
- Returns whether the reservation was removed
as the side effect of removing an activity from the data model.isRemovingResource
- Returns whether the reservation was removed
as the side effect of removing a resource from the data model.ilog.views.gantt.graphic.IlvGanttSheet
is/setDisplayingConstraints
- Returns/sets whether the Gantt
sheet is displaying constraints.is/setParentActivityMovable
- Replaces the deprecated is/setParentActivityMoveable
methods.print(java.awt.Graphics, java.awt.Rectangle, IlvTransformer)
-
Exports the Gantt sheet to any Graphics
. The area to be printed is specified in Graphics
coordinates.print(java.awt.Graphics, IlvRect, IlvTransformer)
- Exports the
Gantt sheet to any Graphics
. The difference from the previous method is that the area to
be printed is specified in IlvManager
coordinates.createGridContext()
- Creates an IlvGanttGridContext
for the Gantt sheet. The created Gantt grid
context can be used to draw grids for the Gantt sheet.ilog.views.gantt.graphic.renderer.IlvActivityLabel
IlvActivityLabel
now implements the SwingConstants
interface. The constants are now used to specify label alignment. CENTER
horizontal alignment is now supported.TOP
, CENTER
, and BOTTOM
vertical alignment are now supported.IlvActivityLabel
will now throw an IllegalArgumentException
if you attempt to set its graphic to anything other than an IlvLabel
.
get/setHorizontalAlignment
- Returns/sets the alignment of the
label along the X axis relative to the main activity renderer. get/setVerticalAlignment
- Returns/sets the alignment of the
label along the Y axis relative to the main activity renderer.get/setAlignment
- Replaced by the new get/setHorizontalAlignment
methods.ALIGN_LEFT
- Replaced by SwingConstants.LEFT
.
ALIGN_RIGHT
- Replaced by SwingConstants.RIGHT
.ilog.views.gantt.graphic.renderer.IlvActivitySymbol
setGraphic
method now throws an UnsupportedOperationException
.
You should use the setShape
method to change the symbol
instead.ilog.views.gantt.scale.IlvTimeScale
ilog.views.gantt.scale.IlvTimeScaleRow
ilog.views.gantt.scale.IlvBasicTimeScaleRow
paint(Graphics, Rectangle, IlvTimeScale.PaintContext)
- Paints
the time scale to any Graphics
object and with any specified PaintContext
. This method is implemented to support both screen
display and paper hardcopy. Different paint contexts are used for different situations.For details about classes and methods that have been deprecated, see this.
IlvChart
from the new JViews Charts module to present the loads of the resources selected in
an IlvScheduleChart
. IlvGanttChart
and IlvSheduleChart
. A
print framework has been provided with this example as open source code for you to
integrate into your own application.The following bugs have been fixed:
IlvAbstractGanttModel
was bound to a chart, a NullPointerException
would be thrown.