Introduction
This document lists changes made to the Visual Library API. Please, ask on the [email protected] mailing list if you have any question about the details of a change, or are wondering how to convert existing code to be compatible.
Index of APIs
Incompatible changes by date
Fuller descriptions of all changes can be found below (follow links).
Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work.
For a full deprecation list, please consult the Javadoc.
- (Aug 1 '07) ActionMapAction is not handling mouse events to show popup menu
- (Aug 1 '07) CycleFocusAction is using Shift+Tab keystroke for focus-to-previous action
- (Aug 1 '07) Accesibility support improved
- (Jun 8 '07) Zoom actions are using Ctrl key modifier of invocation
All changes by date
- (Sep 27 '17) States for non-registered objects
- (Jul 24 '13) Pan action allows change of invoking mouse button
- (Nov 29 '12) Widget Implements Lookup.Provider
- (May 17 '10) Enhancement of the old layout and adding the possibility of minimizing the gaps between nodes.
- (Sep 7 '08) Support for contiguous selection action added (factory method+provider+event)
- (Aug 25 '08) Added interface that extends EditorController for ability to query for invocation type
- (Jun 24 '08) GraphLayoutFactory.createHierarchicalGraphLayout added two additional calls to allow configuration of inverted and layout spacing.
- (Apr 29 '08) New Resource Table.
- (Apr 22 '08) New Connection Widget Layout Constraints Introduced
- (Apr 22 '08) New Attachable AnchorShape.
- (Mar 12 '08) GraphLayoutFactory.createOrthogonalGraphLayout added
- (Mar 12 '08) GraphLayoutFactory.createHierarchicalGraphLayout added
- (Feb 26 '08) Add scene export feature.
- (Feb 26 '08) Add scene printing feature.
- (Aug 31 '07) Routing policy support for ConnectionWidget
- (Aug 21 '07) Anchor.notifyRevalidate method
- (Aug 10 '07) Accurate LabelWidget rendering using glyph vector
- (Aug 10 '07) Widget.validate(Graphics2D) method added to support off-screen rendering
- (Aug 10 '07) Added support to checking AlignWith-actions with client areas
- (Aug 10 '07) WheelPanAction introduced
- (Aug 10 '07) Bird view support added
- (Aug 10 '07) GraphLayouSupport.setTreeGraphLayoutProperties method introduced
- (Aug 1 '07) BorderSupport.getSwingBorder method introduced
- (Aug 1 '07) Widget.getDependencies method added
- (Aug 1 '07) Popup menu action could be invoked by Shift+F10 key
- (Aug 1 '07) Widget implements javax.accessibility.Accessible interface
- (Aug 1 '07) ActionMapAction is not handling mouse events to show popup menu
- (Aug 1 '07) CycleFocusAction is using Shift+Tab keystroke for focus-to-previous action
- (Aug 1 '07) Accesibility support improved
- (Jun 25 '07) ConnectionWidget.controlPointCutDistance property introduced to render smoother corners of the path
- (Jun 25 '07) VMDColorScheme introduced
- (Jun 8 '07) AnchorShapeFactory.createArrowAnchorShape method introduced
- (Jun 8 '07) GraphLayoutFactory.createTreeGraphLayout added
- (Jun 8 '07) Zoom actions are using Ctrl key modifier of invocation
- (Jun 8 '07) VerticalFlowLayout and HorizontalFlowLayout calculates with weights
- (Jun 5 '07) Mouse dragging event processing improved
- (Jun 5 '07) Additional ActionFactory.createExtendedConnectAction with modifiers parameter added
- (Jun 5 '07) Widget.getCursorAt method introduced, ConnectionWidget.controlPointsCursor property added
- (Jun 5 '07) ActionFactory.createMouseCenteredZoomAction method introduced
- (Jun 4 '07) ImageWidget handles animated images
- (Apr 10 '07) AnimatorListener added
- (Apr 10 '07) ConnectionWidgetCollisionsCollection added
- (Apr 3 '07) Added LabelWidget.orientation property
- (Apr 3 '07) Widget.paintBorder method introduced
- (Mar 13 '07) Added ActionFactory.createActionMapAction methods
- (Mar 9 '07) Cut-distance can be specified for Triangle anchor shape
- (Mar 9 '07) Renaming non-standard names - FillLayout and SerialLayout
- (Mar 9 '07) Move deprecated classes out from the public API - ListWidget and ListItemWidget
- (Mar 8 '07) The library API becomes stable
Changes by version
These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:
OpenIDE-Module-Module-Dependencies: org.netbeans.api.visual > 1.20
- (2.49) States for non-registered objects
- (2.40) Pan action allows change of invoking mouse button
- (2.36) Widget Implements Lookup.Provider
- (2.25) Enhancement of the old layout and adding the possibility of minimizing the gaps between nodes.
- (2.17) Support for contiguous selection action added (factory method+provider+event)
- (2.16) Added interface that extends EditorController for ability to query for invocation type
- (2.15) GraphLayoutFactory.createHierarchicalGraphLayout added two additional calls to allow configuration of inverted and layout spacing.
- (2.14) New Resource Table.
- (2.13) New Connection Widget Layout Constraints Introduced
- (2.13) New Attachable AnchorShape.
- (2.12) GraphLayoutFactory.createOrthogonalGraphLayout added
- (2.12) GraphLayoutFactory.createHierarchicalGraphLayout added
- (2.10) Add scene export feature.
- (2.10) Add scene printing feature.
- (2.9) Routing policy support for ConnectionWidget
- (2.8) Anchor.notifyRevalidate method
- (2.7) Accurate LabelWidget rendering using glyph vector
- (2.7) Widget.validate(Graphics2D) method added to support off-screen rendering
- (2.7) Added support to checking AlignWith-actions with client areas
- (2.7) WheelPanAction introduced
- (2.7) Bird view support added
- (2.7) GraphLayouSupport.setTreeGraphLayoutProperties method introduced
- (2.6) BorderSupport.getSwingBorder method introduced
- (2.6) Widget.getDependencies method added
- (2.6) Popup menu action could be invoked by Shift+F10 key
- (2.6) Widget implements javax.accessibility.Accessible interface
- (2.6) ActionMapAction is not handling mouse events to show popup menu
- (2.6) CycleFocusAction is using Shift+Tab keystroke for focus-to-previous action
- (2.6) Accesibility support improved
- (2.5) ConnectionWidget.controlPointCutDistance property introduced to render smoother corners of the path
- (2.5) VMDColorScheme introduced
- (2.4) AnchorShapeFactory.createArrowAnchorShape method introduced
- (2.4) GraphLayoutFactory.createTreeGraphLayout added
- (2.4) Zoom actions are using Ctrl key modifier of invocation
- (2.4) VerticalFlowLayout and HorizontalFlowLayout calculates with weights
- (2.3) ImageWidget handles animated images
- (2.3) Mouse dragging event processing improved
- (2.3) Additional ActionFactory.createExtendedConnectAction with modifiers parameter added
- (2.3) Widget.getCursorAt method introduced, ConnectionWidget.controlPointsCursor property added
- (2.3) ActionFactory.createMouseCenteredZoomAction method introduced
- (2.2) AnimatorListener added
- (2.2) ConnectionWidgetCollisionsCollection added
- (2.1) Added LabelWidget.orientation property
- (2.1) Widget.paintBorder method introduced
- (2.0) The library API becomes stable
- (2.0) Cut-distance can be specified for Triangle anchor shape
- (2.0) Renaming non-standard names - FillLayout and SerialLayout
- (2.0) Move deprecated classes out from the public API - ListWidget and ListItemWidget
- (2.0) Added ActionFactory.createActionMapAction methods
Changes by affected class
org.netbeans.api.visual.action.ActionFactory
- (Sep 7 '08) Support for contiguous selection action added (factory method+provider+event)
- (Aug 10 '07) Added support to checking AlignWith-actions with client areas
- (Aug 10 '07) WheelPanAction introduced
- (Aug 1 '07) Popup menu action could be invoked by Shift+F10 key
- (Aug 1 '07) ActionMapAction is not handling mouse events to show popup menu
- (Aug 1 '07) CycleFocusAction is using Shift+Tab keystroke for focus-to-previous action
- (Jun 8 '07) Zoom actions are using Ctrl key modifier of invocation
- (Jun 5 '07) Additional ActionFactory.createExtendedConnectAction with modifiers parameter added
- (Jun 5 '07) ActionFactory.createMouseCenteredZoomAction method introduced
- (Mar 13 '07) Added ActionFactory.createActionMapAction methods
org.netbeans.api.visual.anchor.Anchor
- (Aug 21 '07) Anchor.notifyRevalidate method
org.netbeans.api.visual.anchor.AnchorShapeFactory
- (Apr 22 '08) New Attachable AnchorShape.
- (Jun 8 '07) AnchorShapeFactory.createArrowAnchorShape method introduced
- (Mar 9 '07) Cut-distance can be specified for Triangle anchor shape
org.netbeans.api.visual.anchor.AnchorShapeLocationResolver
- (Apr 22 '08) New Attachable AnchorShape.
org.netbeans.api.visual.animator.AnimatorListener
- (Apr 10 '07) AnimatorListener added
org.netbeans.api.visual.border.BorderFactory
- (Apr 29 '08) New Resource Table.
org.netbeans.api.visual.border.BorderSupport
- (Aug 1 '07) BorderSupport.getSwingBorder method introduced
org.netbeans.api.visual.widget.ConnectionWidget
- (Aug 31 '07) Routing policy support for ConnectionWidget
- (Jun 25 '07) ConnectionWidget.controlPointCutDistance property introduced to render smoother corners of the path
org.netbeans.api.visual.router.ConnectionWidgetCollisionsCollector
- (Apr 10 '07) ConnectionWidgetCollisionsCollection added
org.netbeans.api.visual.action.ContiguousSelectEvent
org.netbeans.api.visual.action.ContiguousSelectProvider
org.netbeans.api.visual.graph.layout.GraphLayoutFactory
- (May 17 '10) Enhancement of the old layout and adding the possibility of minimizing the gaps between nodes.
- (Jun 24 '08) GraphLayoutFactory.createHierarchicalGraphLayout added two additional calls to allow configuration of inverted and layout spacing.
- (Mar 12 '08) GraphLayoutFactory.createOrthogonalGraphLayout added
- (Mar 12 '08) GraphLayoutFactory.createHierarchicalGraphLayout added
- (Jun 8 '07) GraphLayoutFactory.createTreeGraphLayout added
org.netbeans.api.visual.graph.layout.GraphLayoutSupport
- (May 17 '10) Enhancement of the old layout and adding the possibility of minimizing the gaps between nodes.
- (Aug 10 '07) GraphLayouSupport.setTreeGraphLayoutProperties method introduced
org.netbeans.api.visual.widget.ImageWidget
- (Jun 4 '07) ImageWidget handles animated images
org.netbeans.api.visual.action.InplaceEditorProvider
org.netbeans.api.visual.laf.InputBindings
- (Jul 24 '13) Pan action allows change of invoking mouse button
org.netbeans.api.visual.widget.LabelWidget
- (Aug 10 '07) Accurate LabelWidget rendering using glyph vector
- (Apr 3 '07) Added LabelWidget.orientation property
org.netbeans.api.visual.layout.LayoutFactory
- (Apr 22 '08) New Connection Widget Layout Constraints Introduced
- (Jun 8 '07) VerticalFlowLayout and HorizontalFlowLayout calculates with weights
- (Mar 9 '07) Renaming non-standard names - FillLayout and SerialLayout
org.netbeans.api.visual.model.ObjectScene
- (Sep 27 '17) States for non-registered objects
org.netbeans.api.visual.widget.ResourceTable
- (Apr 29 '08) New Resource Table.
org.netbeans.api.visual.widget.Scene
- (Apr 29 '08) New Resource Table.
- (Aug 10 '07) Bird view support added
org.netbeans.api.visual.vmd.VMDColorScheme
- (Jun 25 '07) VMDColorScheme introduced
org.netbeans.api.visual.widget.Widget
- (Nov 29 '12) Widget Implements Lookup.Provider
- (Apr 29 '08) New Resource Table.
- (Aug 10 '07) Widget.validate(Graphics2D) method added to support off-screen rendering
- (Aug 1 '07) Widget.getDependencies method added
- (Aug 1 '07) Widget implements javax.accessibility.Accessible interface
- (Aug 1 '07) Accesibility support improved
- (Apr 3 '07) Widget.paintBorder method introduced
Details of all changes by API and date
Visual Library API
States for non-registered objects
Sep 27 '17; API spec. version: 2.49; affected top-level classes:ObjectScene
; made by: sdedic
When the scene is incrementally rendered, it may be possible that a model object becomes selected before some widgets are registered with the scene. Hover, select, focus flags can be attached even to unregistered objects.
Implemented in PR #308
Pan action allows change of invoking mouse button
Jul 24 '13; API spec. version: 2.40; affected top-level classes:InputBindings
; made by: mantlik; issues:
#233296
Built-in pan action is using button from
Scene.getInputBindings().getPanActionButton()
method.
Default value remains MouseEvent.BUTTON2
, i.e. mouse wheel, which is compatible with the previous
implementation.
Widget Implements Lookup.Provider
Nov 29 '12; API spec. version: 2.36; affected top-level classes:Widget
; made by: jhavlin; issues:
#216581
Class
Widget
implements interface
Lookup.Provider
. It already contains method
getLookup()
.
Enhancement of the old layout and adding the possibility of minimizing the gaps between nodes.
May 17 '10; API spec. version: 2.25; affected top-level classes:GraphLayoutFactory
GraphLayoutSupport
; made by: ep-nb; issues:
#178705
The old layout was improved in a way that nodes in a subtree are vertically aligned by the center of the super nodes. Also the possibility of overlapping in the old layout was removed by adding an approach based on the envelope of the (sub)trees. The second improvement was done by adding the possibility of minimizing the gaps between nodes. If a tree was very wide, the old layout used a lot of space. To prevent this the new algorithm with the possibility of minimization of gaps is based on the envelope. Therefore subtrees move as close together as possible.
Support for contiguous selection action added (factory method+provider+event)
Sep 7 '08; API spec. version: 2.17; affected top-level classes:ActionFactory
ContiguousSelectProvider
ContiguousSelectEvent
; made by: dkaspar; issues:
#144139
ActionFactory.createContiguousSelectAction
creates contiguous selection action.
ContiguousSelectProvider
provides logic for selection action.
ContiguousSelectEvent
is an event for ContiguousSelectProvider
.
Added interface that extends EditorController for ability to query for invocation type
Aug 25 '08; API spec. version: 2.16; affected top-level classes:InplaceEditorProvider
; made by: dkaspar; issues:
#144123
InplaceEditorProvider.TypedEditorController
contains getEditorInvocationType()
which returns invocation type
(MOUSE
, KEY
, CODE
).
GraphLayoutFactory.createHierarchicalGraphLayout added two additional calls to allow configuration of inverted and layout spacing.
Jun 24 '08; API spec. version: 2.15; affected top-level classes:GraphLayoutFactory
; made by: krichard; issues:
#138104
There are certain graphs which demand that the hierarchical layout be inverted (target above source). One such graph would be a UML class diagram. For this reason I propose adding a static call to the GraphLayoutFactory to allow for an "inverted" flag to be provided. The default behavior sets inverted to false. Another call to be added the the GraphLayoutFactory would include "inverted", "horizontal spacing", and "layer spacing" (vertical). The default all remain the same.
New Resource Table.
Apr 29 '08; API spec. version: 2.14; affected top-level classes:ResourceTable
Widget
BorderFactory
Scene
; made by: tspiva; issues:
#128348
The resource table will allow for a central location for properties like font, color and paint objects. The resource table will help enforce an applications look and feel. When a property is updated in the resource table, all interested widgets will be notified of the change. The notification allows widgets to update when a resource property changes.
New Connection Widget Layout Constraints Introduced
Apr 22 '08; API spec. version: 2.13; affected top-level classes:LayoutFactory
; made by: tspiva; issues:
#128348
ConnectionWidgetLayout constraints specify where a child component should be placed in releationship to the connection widget. However simply stating left, right is not enough when nodes can be moved. The new constraints specify which connection end instead of left, right top, and bottom.
New Attachable AnchorShape.
Apr 22 '08; API spec. version: 2.13; affected top-level classes:AnchorShapeFactory
AnchorShapeLocationResolver
; made by: tspiva; issues:
#128348
The new anchor shape can wrap an existing anchor shape and provide a new cut distance. One example of when an attachable anchor shape would be used is when a label on a connection widget is to be placed between the anchor shape, and the related widget.
GraphLayoutFactory.createOrthogonalGraphLayout added
Mar 12 '08; API spec. version: 2.12; affected top-level classes:GraphLayoutFactory
; made by: krichard; issues:
#129948
OrthogonalGraphLayout added.
GraphLayoutFactory.createHierarchicalGraphLayout added
Mar 12 '08; API spec. version: 2.12; affected top-level classes:GraphLayoutFactory
; made by: krichard; issues:
#129948
HierarchicalGraphLayout added.
Add scene export feature.
Feb 26 '08; API spec. version: 2.10; affected packages:org.netbeans.api.visual.export
; made by: krichards; issues:
#128387
Added a convenience class, SceneExporter, to allow users to export a Scene to any of a defined set of formats. This export class would also contain functionality to return to polygonal points for each widget that is a child of the layers on the scene.
Add scene printing feature.
Feb 26 '08; API spec. version: 2.10; affected packages:org.netbeans.api.visual.print
; made by: krichards; issues:
#128388
Added a convenience class (within a separate package) to allow users to print a Scene according to standard constraints.
Routing policy support for ConnectionWidget
Aug 31 '07; API spec. version: 2.9; affected top-level classes:ConnectionWidget
; made by: dkaspar; issues:
#113573
ConnectionWidget allows to specify routing policy. The policy defines behaviour of path routing in ConnectionWidget. There are 4 values: Always-route, Update-end-points-only, Disable-routing-until-end-point-is-moved, Disable-routing. AddRemoveControlPointAction and MoveControlPointAction has new factory methods for automatic assignment of routing policy.
Anchor.notifyRevalidate method
Aug 21 '07; API spec. version: 2.8; affected top-level classes:Anchor
; made by: dkaspar; issues:
#111987
Missing Anchor.notifyRevalidate method has been added. Now the Anchor should receive all necessary notification. It is used by VMDNodeAnchor too.
Accurate LabelWidget rendering using glyph vector
Aug 10 '07; API spec. version: 2.7; affected top-level classes:LabelWidget
; made by: dkaspar; issues:
#98762
LabelWidget now has useGlyphVector property. If true then the text in a LabelWidget is converted into glyph-vector (a shape) that is rendered. This allows accurate rendering independently on zoom-factor of a scene. Note that the glyph-vector rendering is slower than regular rendering.
Widget.validate(Graphics2D) method added to support off-screen rendering
Aug 10 '07; API spec. version: 2.7; affected top-level classes:Widget
; made by: dkaspar; issues:
#104474
Scene.validate(Graphics2D) method has been added. It allows to validate a scene without having a main scene view created and shown on screen. See test.view.OffscreenRenderingTest example for usage.
Added support to checking AlignWith-actions with client areas
Aug 10 '07; API spec. version: 2.7; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#105285
AlignWithMoveAction and AlignWithResizeAction allow checking client area of widget (widget boundary without border insets). There are 4 new methods in ActionFactory class introduces to allow specifying outerBounds parameter.
WheelPanAction introduced
Aug 10 '07; API spec. version: 2.7; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#107774
WheelPanAction has been added to allow vertical and horizontal scrolling of a scene view using mouse wheel.
Bird view support added
Aug 10 '07; API spec. version: 2.7; affected top-level classes:Scene
; made by: dkaspar; issues:
#108510
Bird view is a window that is always under your mouse-cursor and shows the scene with a specified zoom factor. A bird view can be created using Scene.createBirdView method. To enable bird view you need to call the BirdViewController.show method on returned controller instance.
GraphLayouSupport.setTreeGraphLayoutProperties method introduced
Aug 10 '07; API spec. version: 2.7; affected top-level classes:GraphLayoutSupport
; made by: dkaspar; issues:
#111339
The GraphLayouSupport.setTreeGraphLayoutProperties method allows change properties of tree graph layout i.e. originX, originY, verticalGap, horizontalGap, vertical.
BorderSupport.getSwingBorder method introduced
Aug 1 '07; API spec. version: 2.6; affected top-level classes:BorderSupport
; made by: dkaspar; issues:
#103456
BorderSupport.getSwingBorder method introduced to acquired a Swing border from a library border.
Widget.getDependencies method added
Aug 1 '07; API spec. version: 2.6; affected top-level classes:Widget
; made by: dkaspar; issues:
#107446
Widget.getDependencies method is added
Popup menu action could be invoked by Shift+F10 key
Aug 1 '07; API spec. version: 2.6; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#108783
Popup menu action (created by ActionFactory.createPopupMenuAction method) could be invoked by an user using Shift+F10 key.
Widget implements javax.accessibility.Accessible interface
Aug 1 '07; API spec. version: 2.6; affected top-level classes:Widget
; made by: dkaspar; issues:
#109023
The Widget implements javax.accessibility.Accessible interface.
ActionMapAction is not handling mouse events to show popup menu
Aug 1 '07; API spec. version: 2.6; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#110146
ActionMapAction (created by ActionFactory.createActionMapAction method) is not handling mouse events to show popup menu.
CycleFocusAction is using Shift+Tab keystroke for focus-to-previous action
Aug 1 '07; API spec. version: 2.6; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#110389
CycleFocusAction (created using ActionFactory.createCycleFocusAction method) is using Shift+Tab keystroke for focus-to-previous action. Previously it was Ctrl+Tab keystroke.
Accesibility support improved
Aug 1 '07; API spec. version: 2.6; affected top-level classes:Widget
; made by: dkaspar; issues:
#108856
The old logic of resolving accessible context was wrong and was replaced be a logic which by default creates a tree structure of Accessible object that copies the structure of widgets in a scene.
ConnectionWidget.controlPointCutDistance property introduced to render smoother corners of the path
Jun 25 '07; API spec. version: 2.5; affected top-level classes:ConnectionWidget
; made by: dkaspar; issues:
#106508
ConnectionWidget.controlPointCutDistance property allows you to specify a distance where the path should be cut at each control point. See test.widget.ConnectionWidgetCutDistanceTest for example.
VMDColorScheme introduced
Jun 25 '07; API spec. version: 2.5; affected top-level classes:VMDColorScheme
; made by: dkaspar; issues:
#105929
VMDColorScheme abstract class has been introduced to define a UI of VMD widget. There are two predefined schemes available in VMDFactory class. Use them as a paratemer in widget constructors.
AnchorShapeFactory.createArrowAnchorShape method introduced
Jun 8 '07; API spec. version: 2.4; affected top-level classes:AnchorShapeFactory
; made by: dkaspar; issues:
#105499
AnchorShapeFactory.createArrowAnchorShape method introduced.
GraphLayoutFactory.createTreeGraphLayout added
Jun 8 '07; API spec. version: 2.4; affected top-level classes:GraphLayoutFactory
; made by: dkaspar; issues:
#105278
TreeGraphLayout added.
Zoom actions are using Ctrl key modifier of invocation
Jun 8 '07; API spec. version: 2.4; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#104976
All built-in zoom actions are using modifiers from Scene.getInputBindings().getZoomActionModifiers() method. Default value has been changed from nothing to Ctrl key which backward-incompatible change affecting all users. A part of the change InputBindings class has been introduces and assigned to a Scene.
VerticalFlowLayout and HorizontalFlowLayout calculates with weights
Jun 8 '07; API spec. version: 2.4; affected top-level classes:LayoutFactory
; made by: dkaspar; issues:
#105390
When a widget is using VerticalFlowLayout or HorizontalFlowLayout and a child widget has a Number constraint assigned, then the Number value represent a radio in with the remaining gap in the widget is split and added to particular child widget. See test.layout.WeightFlowLayoutTest for example.
Mouse dragging event processing improved
Jun 5 '07; API spec. version: 2.3; made by: dkaspar; issues: #101523Mouse dragging event processing improved. MoveAction and others are now smoothly scrolling a view.
Additional ActionFactory.createExtendedConnectAction with modifiers parameter added
Jun 5 '07; API spec. version: 2.3; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#103289
An additional ActionFactory.createExtendedConnectAction method was added. It allows to speficied a combination of MouseEvent.*_DOWN modifiers that triggers invocation of the action.
Widget.getCursorAt method introduced, ConnectionWidget.controlPointsCursor property added
Jun 5 '07; API spec. version: 2.3; affected packages:org.netbeans.api.visual.widget
; made by: dkaspar; issues:
#104662
Now the mouse cursor is changed also based on its local location in a widget. Therefore ConnectionWidget has controlPointsCursor property which defines a cursor for mouse over control points.
ActionFactory.createMouseCenteredZoomAction method introduced
Jun 5 '07; API spec. version: 2.3; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#104718
ActionFactory.createMouseCenteredZoomAction method introduced.
ImageWidget handles animated images
Jun 4 '07; API spec. version: 2.3; affected top-level classes:ImageWidget
; made by: dkaspar
Now ImageWidget uses ImageObserver to track changes and animations of image. Do not use Utilities.loadImage method for loading animated images since it produces static images only - use Toolkit.createImage instead.
AnimatorListener added
Apr 10 '07; API spec. version: 2.2; affected top-level classes:AnimatorListener
; made by: dkaspar; issues:
#99048
AnimatorListener interface has been added. It allows listening to important events of Animator interface implementation. Built-in animators are accessible using getters on SceneAnimator class.
ConnectionWidgetCollisionsCollection added
Apr 10 '07; API spec. version: 2.2; affected top-level classes:ConnectionWidgetCollisionsCollector
; made by: dkaspar; issues:
#99054
New ConnectionWidgetCollisionsCollection interface added. It allows to obtain a context of currently routed ConnectionWidget. It can be used using RouterFactory.createOrthogonalSearchRouter factory method.
Added LabelWidget.orientation property
Apr 3 '07; API spec. version: 2.1; affected top-level classes:LabelWidget
; made by: dkaspar; issues:
#98641
Added support for rendering vertical labels.
Widget.paintBorder method introduced
Apr 3 '07; API spec. version: 2.1; affected top-level classes:Widget
; made by: dkaspar; issues:
#98307
Widget.paintBorder method introduced.
Added ActionFactory.createActionMapAction methods
Mar 13 '07; API spec. version: 2.0; affected top-level classes:ActionFactory
; made by: dkaspar; issues:
#97563
Added an action whith is using ActionMap and InputMap for handling key-presses and a popup menu.
Cut-distance can be specified for Triangle anchor shape
Mar 9 '07; API spec. version: 2.0; affected top-level classes:AnchorShapeFactory
; made by: dkaspar; issues:
#91613
AnchorShapeFactory.createTriangleAnchorShape factory method now takes cut-distance parameter.
Renaming non-standard names - FillLayout and SerialLayout
Mar 9 '07; API spec. version: 2.0; affected top-level classes:LayoutFactory
; made by: dkaspar; issues:
#97562
FillLayout class has been renamed to OverlayLayout. SerialLayout class has been renamed to FlowLayout. At the same time their factory methods has bee renamed too. LayoutFactory.createFillLayout method renamed to LayoutFactory.createOverlayLayout. LayoutFactory.createHorizontalLayout method renamed to LayoutFactory.createHorizontalFlowLayout. LayoutFactory.createVerticalLayout method renamed to LayoutFactory.createVerticalFlowLayout. The original methods are deprecated now and are going to be removed for 6.0 Milestone 9. The new methods has been added. Also BorderLayout.createFancyDashedBorder method is going to be removed for 6.0 Milestone 9. Use BorderLayout.createDashedBorder(...,true) method instead. Note that the LayouFactory.SerialAlignment enum name is not changed.
Move deprecated classes out from the public API - ListWidget and ListItemWidget
Mar 9 '07; API spec. version: 2.0; affected packages:org.netbeans.api.visual.widget.general
; made by: dkaspar; issues:
#97564
ListWidget and ListItemWidget are not in final shape and are deprecated. Therefore they have been moved out from the public-API packages. Now they are copied in the org.netbeans.modules.visual.experimental.widget.general package. The original classes are still deprecated and going to be removed for 6.0 Milestone 9. Note that if you want to use the experimental widgets (outside of the public-API packages), you have to set an implementation dependency on org.netbeans.api.visual module. Please, do not use implemementation dependency for anything except this.
The library API becomes stable
Mar 8 '07; API spec. version: 2.0; affected packages:org.netbeans.api.visual
; made by: dkaspar; issues:
#95110
The library API becomes stable.