Introduction

What do the Dates Mean?

The supplied dates indicate when the API change was made, on the CVS trunk. From this you can generally tell whether the change should be present in a given build or not; for trunk builds, simply whether it was made before or after the change; for builds on a stabilization branch, whether the branch was made before or after the given date. In some cases corresponding API changes have been made both in the trunk and in an in-progress stabilization branch, if they were needed for a bug fix; this ought to be marked in this list.


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.

All changes by date

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.openide.explorer > 1.20

Changes by affected class

org.openide.explorer.propertysheet.BaseTable

org.openide.explorer.view.BeanTreeView

org.openide.explorer.view.CheckableNode

org.openide.explorer.propertysheet.DefaultPropertyModel

org.openide.explorer.ExplorerActions

org.openide.explorer.ExplorerManager

org.openide.explorer.ExplorerPanel

org.openide.explorer.ExplorerUtils

org.openide.explorer.propertysheet.ExPropertyEditor

org.openide.explorer.propertysheet.ExPropertyModel

org.openide.explorer.ExtendedDelete

org.openide.explorer.propertysheet.InplaceEditor

org.openide.explorer.view.ListTableView

org.openide.explorer.view.ListView

org.openide.explorer.view.MenuView

org.openide.explorer.view.NodeRenderer

org.openide.explorer.view.NodeTableModel

org.openide.explorer.view.OutlineView

org.openide.explorer.propertysheet.PropertyDialogManager

org.openide.explorer.propertysheet.PropertyEnv

org.openide.explorer.propertysheet.PropertyPanel

org.openide.explorer.propertysheet.PropertySheet

org.openide.explorer.propertysheet.PropertySheetSettings

org.openide.explorer.view.QuickSearchTableFilter

org.openide.explorer.propertysheet.SetDefaultValueAction

org.openide.explorer.view.TreeTableView

org.openide.explorer.view.TreeView


Details of all changes by API and date


Explorer API

Turn auto-complete in combo box editor off.

Nov 11 '13; API spec. version: 6.55; made by: saubrecht; issues: #238038
Now it's possible to turn off the default autocomplete for in-line combo box editors by using "canAutoComplete" attribute to Boolean.FALSE on appropriate FeatureDescriptor.

PropertySheet extensions

Sep 6 '12; API spec. version: 6.47; affected top-level classes: PropertySheet; made by: saubrecht; issues: #217624
PropertySheet class has new methods which allow subclasses to provide custom popup menu, check expansion state, expand/collapse property categories, retrieve the selected property.

setPropertyColumnAttribute() method added to OutlineView

Apr 4 '12; API spec. version: 6.44; affected top-level classes: OutlineView; made by: mentlicher; issues: #208713
In order to conveniently set attributes to column properties, setPropertyColumnAttribute() method is added to OutlineView. After OutlineView.setProperties() method was deprecated, the preferred way how to add columns is via addPropertyColumn()/setPropertyColumns(). But then there's no Node.Property to set additional attributes on. This is why setPropertyColumnAttribute() method is introduced.

QuickSearch attached to OutlineView

Mar 8 '12; API spec. version: 6.43; affected top-level classes: OutlineView QuickSearchTableFilter; made by: mentlicher; issues: #110686
Added OutlineView.isQuickSearchAllowed(), OutlineView.setQuickSearchAllowed() and OutlineView.setQuickSearchTableFilter() methods to control quick search functionality on OutlineView. Interface QuickSearchTableFilter introduced to provide custom table cell data for quick search.

API method for creating a PropertyEnv instance

Aug 31 '11; API spec. version: 6.39; affected top-level classes: PropertyEnv; made by: tpavek; issues: #201223
Added PropertyEnv.create method for creating an instance of PropertyEnv for given property and beans (nodes). To be used when there is a need to initialize an ExPropertyEditor instance independently from PropertySheet or PropertyPanel infrastructure (e.g. before the property appears in UI).

In-place rename can be processed on background

Jun 30 '11; API spec. version: 6.38; affected top-level classes: TreeView TreeTableView OutlineView; made by: jtulach; issues: #190736
By providing slowRename property, nodes can request in-place rename to be finished on background.

Allows one to disable quick search in property sheets, either globally or per-instance.

Jun 10 '11; API spec. version: 6.37; affected top-level classes: org.openide.explorer.propertysheet.BaseTable PropertySheet; made by: tomwheeler; issues: #199349
Added methods setQuickSearchAllowed(boolean) and isQuickSearchAllowed() to BaseTable to control and query whether the quick search feature is enabled. Since the BaseTable instance of a PropertySheet is private, setQuickSearchAllowed(boolean) and isQuickSearchAllowed() delegate methods were also added to PropertySheet. This allows a developer control on a per-instance basis, though it is also possible to disable property sheet quick search globally by setting the ps.quickSearch.disabled.global system property to true.

It's possible to define whether the quick search is enabled or disabled in TreeView.

Nov 16 '10; API spec. version: 6.33; affected top-level classes: TreeView; made by: theanuradha; issues: #181452
Methods setQuickSearchAllowed() and isQuickSearchAllowed() added to TreeView to control quick search enable or disable.

It's possible to define whether the default action is allowed or not in OutlineView.

Oct 4 '10; API spec. version: 6.32; affected top-level classes: OutlineView; made by: mentlicher; issues: #190258
Methods setDefaultActionAllowed() and isDefaultActionAllowed() added to OutlineView to control invocation of the default action.

OutlineView can provide horizontal scroll bar in the tree column.

Jul 7 '10; API spec. version: 6.30; affected top-level classes: OutlineView; made by: mentlicher; issues: #188130
In order to be able to provide horizontal scroll bar in the tree column, two methods are added: getTreeHorizontalScrollBarPolicy() and setTreeHorizontalScrollBarPolicy().

ListView can now display ".." item

Apr 24 '10; API spec. version: 6.28; affected top-level classes: ListView; made by: jtulach; issues: #35954
To simplify navigation "up" in the ListView one can turn on showParentNode property.

OutlineView.setPropertyColumns, OutlineView.addPropertyColumn and OutlineView.removePropertyColumn added.

Jan 11 '10; API spec. version: 6.25; affected top-level classes: OutlineView; made by: tboudreau; issues: #179397
Added methods to manipulate the displayed columns of an OutlineView without needing to create prototype property objects, both making it simpler to use, and avoiding the common problem of properties not appearing because the prototype property does not use the exact type required.

Deprecated OutlineView.setProperties(), as this was only needed for ease of replacement of TreeTableView.

OutlineView.setTreeSortable added.

Dec 21 '09; API spec. version: 6.24; affected top-level classes: OutlineView; made by: mentlicher; issues: #178613
Added method to set or unset the tree column as sortable.

TreeView.setAutoWaitCursor added.

Oct 19 '09; API spec. version: 6.21; affected top-level classes: TreeView; made by: t_h; issues: #169353
Added method to control automatic setting of wait cursor when node is expanded.

Support for check-boxes displayed next to node icons.

Mar 8 '09; API spec. version: 6.18; affected top-level classes: CheckableNode; made by: mentlicher; issues: #159546
Nodes can have check-boxes rendered next to their icons or display names.

setSelectedNodes() does partial selection instead of throwing IllegalArgumentException when some of newly selected nodes are not under root context.

Sep 16 '08; API spec. version: 6.16; affected top-level classes: ExplorerManager; made by: t_h; issues: #145376
Nodes can be removed outside of AWT thread while e.g. view can try to select them. This generated IllegalArgumentException during checking if such a node is under root context. Now setSelectedNodes(). does partial selection of valid nodes instead of throwing IllegalArgumentException.

Added OutlineView component which is a replacement for buggy TreeTableView.

May 29 '08; API spec. version: 6.15; affected top-level classes: OutlineView; made by: saubrecht; issues: #33281
Added new OutlineView component which is a table with expandable tree-like part and which replaces the current buggy TreeTableView.

Added support for property ColumnDisplayNameWithMnemonicTTV.

Nov 2 '07; API spec. version: 6.12; affected top-level classes: NodeTableModel; made by: saubrecht; issues: #113642
Added support for property ColumnDisplayNameWithMnemonicTTV. This property may be used to specify column names with mnemonic char using '&' char. Such display name will be used in 'Change Visible Columns' dialog window.

Added method TreeView.setUseSubstringInQuickSearch(boolean).

Jul 11 '07; API spec. version: 6.11; affected top-level classes: TreeView; made by: dstrupl; issues: #108729
Added method setUseSubstringInQuickSearch(boolean). This method allows using substring search for the typed in text in the quick search feature instead of the (default) prefix search.

Added an interface and a registration slot for explorer delete action interceptors.

Jun 15 '07; API spec. version: 6.10; affected top-level classes: ExtendedDelete; made by: pnejedly; issues: #76722
Added an interface ExtendedDelete that can be registered to handle deletion of selected nodes instead of the default implementation.

Added setters to show/hide the description area and enable/disable the popup menu

Jun 1 '07; API spec. version: 6.9; affected top-level classes: PropertySheet; made by: tboudreau; issues: #100170
Added setters for the visibility of the description area and availability of the popup menu to PropertySheet

PropertySheetSettings was deleted

Nov 9 '06; API spec. version: 6.8; affected top-level classes: org.openide.explorer.propertysheet.PropertySheetSettings; made by: rmatous; issues: #88769
PropertySheetSettings was deleted from org.openide.explorer. To ensure binary compatibility there was added dependency transformation that ensures that for all modules that depend on org.openide.explorer with spec.version < 6.8 is added additional dependency on org.openide.options with spec.version 6.6 during runtime.
Binary-compatible

When an external object(s) is dragged over the Explorer, the drag events are passed to Nodes under the cursor.

May 30 '06; API spec. version: 6.7; affected packages: org.openide.explorer.view; made by: saubrecht; issues: #35228

When an external object (e.g. file(s)) is dragged over the Explorer, the drag events passed to Nodes under the cursor. It means that the appropriate Node is asked whether the dragged object(s) can be dropped to it. The drag support classes will also provide appropriate visual drag feedback - change cursor shape and/or draw drop line indicator.

When the object is dropped then the Node under the cursor will be asked to provide supported PasteTypes that will handle the drop.

Dragging uses Node.drag and ExClipboard.convert

Apr 29 '05; API spec. version: 6.3; affected packages: org.openide.explorer.view; made by: jtulach; issues: #57972
When doing drag and drop of nodes from explorer to another place in explorer the Node.drag method is called when doing copy and in both cases of copy or move the ExClipboard.convert method is called for Transferable containing all the nodes, so one can wrap the whole transfer with pre and post operations.

Added a new ColumnMnemonicCharTTV property to NodeTableModel

Mar 30 '05; API spec. version: 5.9; affected top-level classes: NodeTableModel; made by: saubrecht; issues: #56781
The new property allows you to specify a mnemonic character for display names of TreeTableView columns.

One can specify separator for property editor for String[]

Mar 18 '05; API spec. version: 5.7; affected top-level classes: PropertyPanel; made by: jtulach; issues: #56257
One can specify an item separator for properties using string array editor. For example following code:
           Node.Property np = new Node.Property (String[].class, ...);
           np.setValue ("item.separator", "-");        
         
separates items returned from getAsText and parsed by setAsText by -. List of supported parameters can be found here.

Nodes in explorer can supress default confirmation dialog during delete operation

Mar 11 '05; API spec. version: 5.6; made by: rkubacki; issues: #56256
Nodes that need to supress default confirmation dialog shown during delete action can do this if they return Boolean.TRUE from Node.getValue(String) for attribute customDelete.

Fixed TreeView.drag/dropActive switcher

Aug 25 '04; API spec. version: 4.45; affected top-level classes: TreeView; made by: jrechtacek; issues: #47672
The methods TreeView.setDragSource(boolean) and TreeView.setDropTarget can set drag/dropActive on/off. The drag source and drop target are enabled by default. Before the views were forced to be drag/drop active no matter what state was set.

Added ExplorerUtils.getHelpCtx

Jun 14 '04; API spec. version: 4.40; affected top-level classes: ExplorerUtils; made by: pnejedly; issues: #37543
Add the utility method for computing the help id for a set of nodes with a fallback to provided default id.

Deprecation of NodeRenderer.sharedInstance()

Jun 1 '04; API spec. version: 4.36; affected top-level classes: NodeRenderer; made by: tboudreau; issues: #43148
NodeRenderer.sharedInstance() is now deprecated. Components which wish to render nodes should create their own private instance of NodeRenderer, to avoid one view's painting interfering with another's.

Removal of org.openide.explorer.propertysheet.InplaceEditor.handleInitialInputEvent

Dec 9 '03; API spec. version: 4.17; affected top-level classes: InplaceEditor; made by: tboudreau; issues: #37626
This method was introduced post-3.5, and has proven unnecessary, as the event may effectively be dispatched to the component using dispatchEvent(). It will instead be the responsibility of the component to determine if it has just been added to a container and should handle the event in some special way because of that.

Property panel rewrite, addition of set/getProperty methods and new constructors, deprecation of getPropertyEditor

Dec 9 '03; API spec. version: 4.17; affected top-level classes: PropertyPanel; made by: tboudreau; issues: #31896
As part of the rewrite of the internals of PropertyPanel to use the new property sheet's infrastructure, users of PropertyPanel are encouraged to use Node.Property rather than PropertyModel objects to drive their PropertyPanel instances. To that end, methods and constructors have been added in order to support using Node.Property objects. The method getPropertyEditor() has been deprecated, and the property change PROP_PROPERTY_EDITOR will no longer be fired. As documented, in the case of custom editors, its function has not changed, but for inline uses, there is no particular use for holding a reference to the property editor instance, so for inline uses it is no longer guaranteed to return the same property editor instance as previously - this is now the sole responsibility of the Property object. As this method was primarily used by the old property sheet, this is a low-impact change.

Copy, Cut, Paste and Delete Action Factory

Nov 21 '03; API spec. version: 4.14; affected top-level classes: org.openide.explorer.ExplorerActions org.openide.explorer.ExplorerPanel ExplorerUtils; made by: jtulach; issues: #34758
As part of the work on separation of openide.jar into smaller parts the existing ExplorerActions class and ExplorerPanel are being deprecated and replaced by new factory methods in ExplorerUtils class. Use them to create actions handling copy, cut, paste and delete on given ExplorerManager.

Additional hints for boolean, Boolean properties

Apr 4 '03; API spec. version: 4.3; made by: tboudreau; issues: #32619
Properties of type boolean or Boolean can now supply the following hint to the property editor: stringValues - a String[2] which will be used to replace the standard "true" or "false" displayed in the editor.

Additional hints for int,Integer properties

Apr 4 '03; API spec. version: 4.3; made by: tboudreau; issues: #20736 #5278 #31879
Properties representing instances of int or Integer can now supply the following hints to their property editors: stringKeys, intValues, codeValues. The String[] keys will be displayed in a drop down in the propertysheet; the int[] values are used when a key of the corresponding index is selected; the optional codeValues String[] can be used to supply custom text to getJavaInitializationString() for code generation. This replaces the functionality of the now deprecated ChoicePropertyEditor.

Additional hints for String properties

Mar 26 '03; API spec. version: 4.2; made by: tboudreau; issues: #29294
Properties representing String instances can now supply the following additional hints: oneline, suppressCustomEditor and instructions. These affect the behavior of the custom editor if invoked. If these hints are not supplied, behavior will be the same as it always was.

MenuView.MenuItem implements HelpCtx.Provider

Feb 13 '03; API spec. version: 3.38; affected top-level classes: MenuView; made by: pnejedly
The HelpCtx of the underlying node is now exported through HelpCtx.Provider interface. For the API users, HelpCtx.findHelp keeps working the same way.

PropertyPanel.getState, PropertyEnv.add/removePropertyChanageListener

May 27 '02; API spec. version: 2.20; affected top-level classes: PropertyPanel PropertyEnv; issues: #23369
Define interface that would allow to tell customizer that it should check user changed values and that it should commit values. PropertyPanel controls/obtains the value of the PropertyEnv.getState of the current property editor. Thus adding method PropertyPanel.getState () and firing property changes appropriatelly. Added public methods PropertyPanel.getState(), PropertyEnv.addPropertyChangeListener(PropertyChangeListener) and PropertyEnv.removePropertyChangeListener(PropertyChangeListener). Added public static field PropertyPanel.PROP_STATE.

Add set/getSelectionMode in TreeView

Apr 24 '02; API spec. version: 2.15; affected top-level classes: TreeView
Added public methods TreeView.setSelectionMode(int) and TreeView.getSelectioMode().

Add generic help support to property editors

Mar 6 '02; API spec. version: 2.7; affected top-level classes: ExPropertyEditor; made by: akemr; issues: #19294
New property PROPERTY_HELP_ID added to improve generic help support to property editors.

Constructor DefaultPropertyModel (bean, propertyDescriptor) added

Feb 20 '02; API spec. version: 2.4; affected top-level classes: DefaultPropertyModel; made by: jtulach; issues: #20601

New constructor to make DefaultPropertyModel more easily usable with PropertyDescriptor created by hand and not obtained from BeanInfo.

Property editor for DataObject accepts hint rootNode

Oct 19 '01; API spec. version: 1.41
The property editor for org.openide.loaders.DataObject may now be given the property hint rootNode specifying a root node of displyed nodes hierarchy. If omited filesystems repository root node is used instead.

Property editor for File accepts hint baseDir

Sep 25 '01
The property editor for java.io.File may now be given the property hint baseDir specifying a directory from which relative filenames edited by the editor may be resolved.

New property changesImmediate in PropertyPanel

Aug 22 '01; affected top-level classes: PropertyPanel
The added property allows to control whether the changes fired from property editor are immediately propagated to the value of the property (more precisely to the property model).
Compatibility: Added two public methods to class PropertyPanel: public boolean isChangeImmediate(); and public void setChangeImmediate(boolean b);

PropertyEnv can control validation state

Jul 9 '01; affected top-level classes: PropertyEnv
New constants and methods added to the class PropertyEnv:
public static final String PROP_STATE;
public static final Object STATE_VALID;
public static final Object STATE_NEEDS_VALIDATION;
public static final Object STATE_INVALID;
public void setState (Object state);
public Object getState ();
public void addVetoableChangeListener(VetoableChangeListener l);
public void removeVetoableChangeListener(VetoableChangeListener l);

The added methods allow to modify the state of the "environment" from a property editor. They also allow listening on such changes and veto the change if needed. The API documentation for the class PropertyEnv should provide information on what they do.

Table explorer views added

May 7 '01; API spec. version: 1.7; affected top-level classes: NodeTableModel TreeTableView ListTableView
New explorer views permit viewing of a list of tree of nodes with properties displayed in tabular form.

Set explored context while selecting nodes (and throw an exception)

Feb 20 '01; affected top-level classes: ExplorerManager
New method public final void setExploredContextAndSelection(Node value, Node[] selection) throws PropertyVetoException added to the class ExplorerManager. It is replacement for the setExploredContext method which should throw the exception.

SetDefaultValueAction removed

Nov 30 '00; affected top-level classes: org.openide.explorer.propertysheet.SetDefaultValueAction; made by: jglick
Made inaccessible. No reason for it to have been public.
Binary-compatible

BeanTreeView.selectionChanged made protected, not public

Nov 6 '00; affected top-level classes: BeanTreeView
Method selectionChanged made protected, not public, to match the access mode of the method it was implementing in TreeView. Code calling it as public is erroneous.
Binary-compatible

Moved validity check into ExPropertyEditor

Oct 30 '00; affected top-level classes: PropertyEnv ExPropertyEditor
Minor change to the new class PropertyEnv: removed methods set/isValid from PropertyEnv and introduced new constant PROP_VALUE_VALID in the ExPropertyEditor.
Compatibility: Deletion from newly added PropertyEnv only.

ExPropertyEditor added and used

Oct 25 '00; affected top-level classes: ExPropertyEditor DefaultPropertyModel PropertyEnv ExPropertyModel
New interface ExPropertyEditor added to the package org.openide.explorer.propertysheet. It extends PropertyEditor allowing to pass information to the property editor by passing an instance of PropertyEnv class - this class was also added. To be able to pass the required information the PropertyModel interface was also extended to ExPropertyModel. DefaultPropertyModel was modified to implement the new interface ExPropertyModel (instead of PropertyModel).

Set explored context while selecting nodes

Sep 13 '00; affected top-level classes: ExplorerManager
New method setExploredContext added with a second parameter giving nodes which are to be selected.

MenuView.Acceptor deprecated and not used

Sep 5 '00; affected top-level classes: MenuView
Interface MenuView.Acceptor is now deprecated. It is recommended to use nodes.NodeAcceptor over MenuView.Acceptor, which will be probably removed entirely in future. The protected field action in both MenuView.Menu and MenuView.MenuItem has changed type to be NodeAcceptor.
Compatibility: Subclasses accessing the action field will be broken.

PropertyDialogManager removed

May 31 '00; affected top-level classes: org.openide.explorer.propertysheet.PropertyDialogManager
Made inaccessible. No one should have been using this class outside its package to begin with, it was public by accident.
Compatibility: First broken, later restored binary compatibility in trunk and boston. Code referring to this class can generally be easily rewritten to simply embed the supplied component in a dialog and show that dialog.
Binary-compatible

Deserialization of explorer managers and panels may throw SafeException

Mar 9 '00; affected top-level classes: org.openide.explorer.ExplorerPanel ExplorerManager; made by: jglick
readExternal of ExplorerPanel or deserialization of ExplorerManager may throw SafeException to indicate a failure in the loading of the manager's handles, but the stream is OK.

The whole org.openide.explorer.propertysheet.editors package is deprecated

(date unknown); affected packages: org.openide.explorer.propertysheet.editors

The entire org.openide.explorer.propertysheet.editors package is generally deprecated and no longer included in Javadoc.

As of 3.14, this package is again included in the Javadoc, though only only a few interfaces remain, and of these several are in fact deprecated, and the rest will probably be deprecated at some point.


Built on October 2 2014.  |  Portions Copyright 1997-2014 Oracle. All rights reserved.