blob: 0e0ecb1eb3051fb77180c2057276d0966247b531 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd">
<apichanges>
<apidefs>
<apidef name="explorer">Explorer API</apidef>
</apidefs>
<changes>
<change id="ScrollOnExpand">
<api name="explorer"/>
<summary>Expose scrollOnExpand property on TreeView.</summary>
<version major="6" minor="73"/>
<date day="13" month="12" year="2020"/>
<author login="lkishalmi"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
It is now possible to set/get the <code>scrollOnExpand</code> property
in TreeView.
</description>
<class package="org.openide.explorer.view" name="TreeView"/>
<issue number="NETBEANS-5146"/>
</change>
<change id="HideIcons">
<api name="explorer"/>
<summary>Hide node icons in OutlineView and TreeView.</summary>
<version major="6" minor="59"/>
<date day="20" month="10" year="2014"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
It is possible not to show icons in OutlineView and in TreeView and it's descendants.
Methods OutlineView.setShowNodeIcons(boolean)/isShowNodeIcons()
and NodeRenderer.setShowIcons(boolean)/isShowIcons()
are added for this purpose.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<class package="org.openide.explorer.view" name="NodeRenderer"/>
<issue number="247556"/>
</change>
<change id="NoAutoComplete">
<api name="explorer"/>
<summary>Turn auto-complete in combo box editor off.</summary>
<version major="6" minor="55"/>
<date day="11" month="11" year="2013"/>
<author login="saubrecht"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
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.
</description>
<issue number="238038"/>
</change>
<change id="PropertySheetExtensions">
<api name="explorer"/>
<summary>PropertySheet extensions</summary>
<version major="6" minor="47"/>
<date day="6" month="9" year="2012"/>
<author login="saubrecht"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
PropertySheet class has new methods which allow subclasses to provide custom
popup menu, check expansion state, expand/collapse property categories,
retrieve the selected property.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertySheet"/>
<issue number="217624"/>
</change>
<change id="OutlineView_setPropertyColumnAttribute">
<api name="explorer"/>
<summary>setPropertyColumnAttribute() method added to OutlineView</summary>
<version major="6" minor="44"/>
<date day="4" month="4" year="2012"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
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.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="208713"/>
</change>
<change id="OutlineView_with_quicksearch">
<api name="explorer"/>
<summary>QuickSearch attached to OutlineView</summary>
<version major="6" minor="43"/>
<date day="8" month="3" year="2012"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
Added <a href="@TOP@/org/openide/explorer/view/OutlineView.html#isQuickSearchAllowed--">OutlineView.isQuickSearchAllowed()</a>,
<a href="@TOP@/org/openide/explorer/view/OutlineView.html#setQuickSearchAllowed-boolean-">OutlineView.setQuickSearchAllowed()</a>
and <a href="@TOP@/org/openide/explorer/view/OutlineView.html#setQuickSearchTableFilter-org.openide.explorer.view.QuickSearchTableFilter-boolean-">OutlineView.setQuickSearchTableFilter()</a>
methods to control quick search functionality on OutlineView.
Interface <a href="@TOP@/org/openide/explorer/view/QuickSearchTableFilter.html">QuickSearchTableFilter</a>
introduced to provide custom table cell data for quick search.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<class package="org.openide.explorer.view" name="QuickSearchTableFilter"/>
<issue number="110686"/>
</change>
<change id="PropertyEnv.create">
<api name="explorer"/>
<summary>API method for creating a PropertyEnv instance</summary>
<version major="6" minor="39"/>
<date day="31" month="8" year="2011"/>
<author login="tpavek"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
Added <a href="@TOP@/org/openide/explorer/propertysheet/PropertyEnv.html#create-java.beans.FeatureDescriptor-java.lang.Object...-">PropertyEnv.create</a>
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).
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyEnv"/>
<issue number="201223"/>
</change>
<change id="slowRename">
<api name="explorer"/>
<summary>In-place rename can be processed on background</summary>
<version major="6" minor="38"/>
<date day="30" month="6" year="2011"/>
<author login="jtulach"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
By providing <a href="@TOP@/architecture-summary.html#property-slowRename">slowRename</a>
property, nodes can request in-place rename to be finished on background.
</description>
<class package="org.openide.explorer.view" name="TreeView"/>
<class package="org.openide.explorer.view" name="TreeTableView"/>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="190736"/>
</change>
<change id="BaseTable.setQuickSearchAllowed">
<api name="explorer"/>
<summary>Allows one to disable quick search in property sheets, either globally or per-instance.</summary>
<version major="6" minor="37"/>
<date day="10" month="6" year="2011"/>
<author login="tomwheeler"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
Added methods <code>setQuickSearchAllowed(boolean)</code> and <code>isQuickSearchAllowed()</code>
to BaseTable to control and query whether the quick search feature is enabled. Since the BaseTable
instance of a PropertySheet is private, <code>setQuickSearchAllowed(boolean)</code> and
<code>isQuickSearchAllowed()</code> 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 <code>ps.quickSearch.disabled.global</code> system property
to <code>true</code>.
</description>
<class package="org.openide.explorer.propertysheet" name="BaseTable" link="no" />
<class package="org.openide.explorer.propertysheet" name="PropertySheet"/>
<issue number="199349"/>
</change>
<change id="TreeView.quickSearchAllowed">
<api name="explorer"/>
<summary>It's possible to define whether the quick search is enabled or disabled in TreeView.</summary>
<version major="6" minor="33"/>
<date day="16" month="11" year="2010"/>
<author login="theanuradha"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
Methods <code>setQuickSearchAllowed()</code> and <code>isQuickSearchAllowed()</code>
added to TreeView to control quick search enable or disable.
</description>
<class package="org.openide.explorer.view" name="TreeView"/>
<issue number="181452"/>
</change>
<change id="OutlineView.defaultActionAllowed">
<api name="explorer"/>
<summary>It's possible to define whether the default action is allowed or not in OutlineView.</summary>
<version major="6" minor="32"/>
<date day="4" month="10" year="2010"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
Methods <code>setDefaultActionAllowed()</code> and <code>isDefaultActionAllowed()</code>
added to OutlineView to control invocation of the default action.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="190258"/>
</change>
<change id="OutlineView.setTreeHorizontalScrollBarPolicy">
<api name="explorer"/>
<summary>OutlineView can provide horizontal scroll bar in the tree column.</summary>
<version major="6" minor="30"/>
<date day="7" month="7" year="2010"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
In order to be able to provide horizontal scroll bar in the tree column,
two methods are added: <code>getTreeHorizontalScrollBarPolicy()</code>
and <code>setTreeHorizontalScrollBarPolicy()</code>.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="188130"/>
</change>
<change id="ListView.setShowParentNode">
<api name="explorer"/>
<summary>ListView can now display ".." item</summary>
<version major="6" minor="28"/>
<date day="24" month="4" year="2010"/>
<author login="jtulach"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>
To simplify navigation "up" in the <code>ListView</code> one
can turn on <a href="@TOP@/org/openide/explorer/view/ListView.html#setShowParentNode-boolean-">showParentNode</a>
property.
</description>
<class package="org.openide.explorer.view" name="ListView"/>
<issue number="35954"/>
</change>
<change id="OutlineView.setPropertyColumns">
<api name="explorer"/>
<summary><code>OutlineView.setPropertyColumns</code>,
<code>OutlineView.addPropertyColumn</code> and
<code>OutlineView.removePropertyColumn</code> added.
</summary>
<version major="6" minor="25"/>
<date day="11" month="1" year="2010"/>
<author login="tboudreau"/>
<compatibility binary="compatible" source="compatible" deprecation="yes" deletion="no" addition="yes"/>
<description>
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.
<p/>
Deprecated <code>OutlineView.setProperties()</code>, as this was
only needed for ease of replacement of TreeTableView.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="179397"/>
</change>
<change id="OutlineView.setTreeSortable">
<api name="explorer"/>
<summary><code>OutlineView.setTreeSortable</code> added.</summary>
<version major="6" minor="24"/>
<date day="21" month="12" year="2009"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>Added method to set or unset the tree column as sortable.</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="178613"/>
</change>
<change id="TreeView.setAutoWaitCursor">
<api name="explorer"/>
<summary><code>TreeView.setAutoWaitCursor</code> added.</summary>
<version major="6" minor="21"/>
<date day="19" month="10" year="2009"/>
<author login="t_h"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>Added method to control automatic setting of wait cursor when node is expanded.</description>
<class package="org.openide.explorer.view" name="TreeView"/>
<issue number="169353"/>
</change>
<change id="CheckNodes">
<api name="explorer"/>
<summary>Support for check-boxes displayed next to node icons.</summary>
<version major="6" minor="18"/>
<date day="8" month="3" year="2009"/>
<author login="mentlicher"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>Nodes can have check-boxes rendered next to their icons or display names.
</description>
<class package="org.openide.explorer.view" name="CheckableNode"/>
<issue number="159546"/>
</change>
<change id="SetSelectedNodes">
<api name="explorer"/>
<summary>setSelectedNodes() does partial selection instead of throwing IllegalArgumentException when
some of newly selected nodes are not under root context.</summary>
<version major="6" minor="16"/>
<date day="16" month="9" year="2008"/>
<author login="t_h"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="no"/>
<description>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
<a href="@TOP@/org/openide/explorer/ExplorerManager.html#setSelectedNodes-org.openide.nodes.Node:A-"><code>setSelectedNodes()</code></a>.
does partial selection
of valid nodes instead of throwing IllegalArgumentException.
</description>
<class package="org.openide.explorer" name="ExplorerManager"/>
<issue number="145376"/>
</change>
<change id="OutlineView">
<api name="explorer"/>
<summary>Added OutlineView component which is a replacement for buggy TreeTableView.</summary>
<version major="6" minor="15"/>
<date day="29" month="5" year="2008"/>
<author login="saubrecht"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no" addition="yes"/>
<description>Added new OutlineView component which is a table with expandable
tree-like part and which replaces the current buggy TreeTableView.
</description>
<class package="org.openide.explorer.view" name="OutlineView"/>
<issue number="33281"/>
</change>
<change id="ColumnDisplayNameWithMnemonicTTV">
<api name="explorer"/>
<summary>Added support for property ColumnDisplayNameWithMnemonicTTV.</summary>
<version major="6" minor="12"/>
<date day="2" month="11" year="2007"/>
<author login="saubrecht"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no"/>
<description>Added support for property ColumnDisplayNameWithMnemonicTTV. This
property may be used to specify column names with mnemonic char using '&amp;' char.
Such display name will be used in 'Change Visible Columns' dialog window.
</description>
<class package="org.openide.explorer.view" name="NodeTableModel"/>
<issue number="113642"/>
</change>
<change id="setUseSubstringInQuickSearch">
<api name="explorer"/>
<summary>Added method TreeView.setUseSubstringInQuickSearch(boolean).</summary>
<version major="6" minor="11"/>
<date day="11" month="7" year="2007"/>
<author login="dstrupl"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no"/>
<description>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.
</description>
<class package="org.openide.explorer.view" name="TreeView"/>
<issue number="108729"/>
</change>
<change id="extendedDelete">
<api name="explorer"/>
<summary>Added an interface and a registration slot
for explorer delete action interceptors.</summary>
<version major="6" minor="10"/>
<date day="15" month="6" year="2007"/>
<author login="pnejedly"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no"/>
<description>Added an interface ExtendedDelete that can be registered to
handle deletion of selected nodes instead of the default implementation.
</description>
<class package="org.openide.explorer" name="ExtendedDelete"/>
<issue number="76722"/>
</change>
<change id="descriptionAreaAndPopupConfig">
<api name="explorer"/>
<summary>Added setters to show/hide the description area and
enable/disable the popup menu</summary>
<version major="6" minor="9"/>
<date day="1" month="6" year="2007"/>
<author login="tboudreau"/>
<compatibility binary="compatible" source="compatible" deprecation="no" deletion="no"/>
<description>Added setters for the visibility of the description area
and availability of the popup menu to PropertySheet
</description>
<class package="org.openide.explorer.propertysheet" name="PropertySheet"/>
<issue number="100170"/>
</change>
<change id="deleted-PropertySheetSettings">
<api name="explorer"/>
<summary>PropertySheetSettings was deleted</summary>
<version major="6" minor="8"/>
<date day="9" month="11" year="2006"/>
<author login="rmatous"/>
<compatibility binary="compatible" source="incompatible" deprecation="no" deletion="yes"/>
<description>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 &lt; 6.8 is added additional dependency
on org.openide.options with spec.version 6.6 during runtime.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertySheetSettings" link="no"/>
<issue number="88769"/>
</change>
<change id="ExternalDragAndDrop.explorer">
<api name="explorer"/>
<summary>When an external object(s) is dragged over the Explorer, the drag
events are passed to Nodes under the cursor.</summary>
<version major="6" minor="7"/>
<date day="30" month="5" year="2006"/>
<author login="saubrecht"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description> <p>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.
</p>
<p>When the object is dropped then the Node under the cursor will be
asked to provide supported <code>PasteType</code>s that will handle
the drop.</p>
</description>
<package name="org.openide.explorer.view" />
<issue number="35228"/>
</change>
<change id="dnd.convertor.drag">
<api name="explorer"/>
<summary>
Dragging uses
Node.drag
and
ExClipboard.convert
</summary>
<version major="6" minor="3"/>
<date day="29" month="4" year="2005"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
When doing drag and drop of nodes from explorer
to another place in explorer the
<a href="@org-openide-nodes@/org/openide/nodes/Node.html">
Node.drag</a> method is called when doing copy
and in both cases of copy or move the
<a href="@org-openide-util-ui@/org/openide/util/datatransfer/ExClipboard.html">
ExClipboard.convert
</a> method is called for Transferable containing
all the nodes, so one can wrap the whole transfer with
pre and post operations.
</description>
<package name="org.openide.explorer.view" />
<issue number="57972"/>
</change>
<change id="NodeTableModel.ColumnMnemonicCharTTV">
<api name="explorer"/>
<summary>Added a new <code>ColumnMnemonicCharTTV</code> property to <code>NodeTableModel</code>
</summary>
<version major="5" minor="9"/>
<date day="30" month="3" year="2005"/>
<author login="saubrecht"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
The new property allows you to specify a mnemonic character for display names
of <code>TreeTableView</code> columns.
</description>
<class package="org.openide.explorer.view" name="NodeTableModel"/>
<issue number="56781"/>
</change>
<change id="item-separator-attribute-for-StringArrayPropertyEditor">
<api name="explorer"/>
<summary>One can specify separator for property editor for <code>String[]</code> </summary>
<version major="5" minor="7"/>
<date day="18" month="3" year="2005"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" semantic="compatible" source="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
One can specify an item separator for properties using string array editor. For example
following code:
<pre xml:space="preserve">
Node.Property np = new Node.Property (String[].class, ...);
np.setValue ("item.separator", "-");
</pre>
separates items returned from <code>getAsText</code> and parsed by <code>setAsText</code>
by <q>-</q>. List of supported parameters can be found
<a href="@TOP@/org/openide/explorer/doc-files/propertyViewCustomization.html#core_editors_custom_parameters" shape="rect">here</a>.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyPanel"/>
<issue number="56257"/>
</change>
<change id="ExplorerActions.DeleteActionPerfomer">
<api name="explorer"/>
<summary>Nodes in explorer can supress default confirmation dialog during delete operation</summary>
<version major="5" minor="6"/>
<date day="11" month="3" year="2005"/>
<author login="rkubacki"/>
<compatibility modification="yes" semantic="compatible" binary="compatible" source="compatible" deprecation="no" addition="no" deletion="no"/>
<description>
Nodes that need to supress default confirmation dialog shown during delete action
can do this if they return <code>Boolean.TRUE</code> from <code>Node.getValue(String)</code>
for attribute customDelete.
</description>
<issue number="56256"/>
</change>
<change id="TreeView.dragActive">
<api name="explorer"/>
<summary>Fixed <code>TreeView.drag/dropActive</code> switcher</summary>
<version major="4" minor="45"/>
<date day="25" month="8" year="2004"/>
<author login="jrechtacek"/>
<compatibility modification="yes" semantic="compatible" binary="compatible" source="compatible" deprecation="no" addition="no" deletion="no"/>
<description>
The methods <code>TreeView.setDragSource(boolean)</code> and <code>TreeView.setDropTarget</code>
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.
</description>
<class package="org.openide.explorer.view" name="TreeView"/>
<issue number="47672"/>
</change>
<change>
<api name="explorer"/>
<summary>Added ExplorerUtils.getHelpCtx</summary>
<version major="4" minor="40"/>
<date day="14" month="6" year="2004"/>
<author login="pnejedly"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Add the utility method for computing the help id for a set
of nodes with a fallback to provided default id.
</description>
<class package="org.openide.explorer" name="ExplorerUtils"/>
<issue number="37543"/>
</change>
<change>
<api name="explorer"/>
<summary>Deprecation of NodeRenderer.sharedInstance()</summary>
<version major="4" minor="36"/>
<date day="1" month="6" year="2004"/>
<author login="tboudreau"/>
<compatibility deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no" modification="no"/>
<description>
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.
</description>
<class package="org.openide.explorer.view" name="NodeRenderer"/>
<issue number="43148"/>
</change>
<change id="delete-InplaceEditor.handleInitialInputEvent">
<api name="explorer"/>
<summary>Removal of org.openide.explorer.propertysheet.InplaceEditor.handleInitialInputEvent</summary>
<version major="4" minor="17"/>
<date day="9" month="12" year="2003"/>
<author login="tboudreau"/>
<compatibility deletion="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" modification="no"/>
<description>
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.
</description>
<class package="org.openide.explorer.propertysheet" name="InplaceEditor"/>
<issue number="37626"/>
</change>
<change id="PropertyPanel-rewrite">
<api name="explorer"/>
<summary>Property panel rewrite, addition of set/getProperty methods and new constructors, deprecation of getPropertyEditor</summary>
<version major="4" minor="17"/>
<date day="9" month="12" year="2003"/>
<author login="tboudreau"/>
<compatibility deprecation="yes" addition="yes" modification="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no"/>
<description>
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.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyPanel"/>
<issue number="31896"/>
</change>
<change id="ExplorerManager-action-factories">
<api name="explorer"/>
<summary>Copy, Cut, Paste and Delete Action Factory</summary>
<version major="4" minor="14"/>
<date day="21" month="11" year="2003"/>
<author login="jtulach"/>
<compatibility addition="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
<description>
As part of the work on separation of openide.jar into smaller parts
the existing <code>ExplorerActions</code> class and <code>ExplorerPanel</code>
are being deprecated and replaced by new factory methods in
<code>ExplorerUtils</code> class. Use them to create actions
handling copy, cut, paste and delete on given ExplorerManager.
</description>
<class link="no" package="org.openide.explorer" name="ExplorerActions"/>
<class link="no" package="org.openide.explorer" name="ExplorerPanel"/>
<class package="org.openide.explorer" name="ExplorerUtils"/>
<issue number="34758"/>
</change>
<change id="boolean.editor.hints">
<api name="explorer"/>
<summary>
Additional hints for boolean, Boolean properties
</summary>
<version major="4" minor="3"/>
<date day="4" month="4" year="2003"/>
<author login="tboudreau"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
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.
</description>
<issue number="32619"/>
</change>
<change id="integer.editor.hints">
<api name="explorer"/>
<summary>
Additional hints for int,Integer properties
</summary>
<version major="4" minor="3"/>
<date day="4" month="4" year="2003"/>
<author login="tboudreau"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
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.
</description>
<issue number="20736"/>
<issue number="5278"/>
<issue number="31879"/>
</change>
<change id="string.editor.hints">
<api name="explorer"/>
<summary>
Additional hints for String properties
</summary>
<version major="4" minor="2"/>
<date day="26" month="3" year="2003"/>
<author login="tboudreau"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
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.
</description>
<issue number="29294"/>
</change>
<change>
<api name="explorer"/>
<summary>MenuView.MenuItem implements HelpCtx.Provider</summary>
<version major="3" minor="38"/>
<date day="13" month="2" year="2003"/>
<author login="pnejedly"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
The HelpCtx of the underlying node is now exported through
HelpCtx.Provider interface. For the API users, HelpCtx.findHelp
keeps working the same way.
</description>
<class package="org.openide.explorer.view" name="MenuView"/>
</change>
<change>
<api name="explorer"/>
<summary>PropertyPanel.getState, PropertyEnv.add/removePropertyChanageListener</summary>
<version major="2" minor="20"/>
<date day="27" month="5" year="2002"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>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
<code>PropertyPanel.getState()</code>,
<code>PropertyEnv.addPropertyChangeListener(PropertyChangeListener)</code> and
<code>PropertyEnv.removePropertyChangeListener(PropertyChangeListener)</code>.
Added public static field
<code>PropertyPanel.PROP_STATE</code>.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyPanel"/>
<class package="org.openide.explorer.propertysheet" name="PropertyEnv"/>
<issue number="23369"/>
</change>
<change>
<api name="explorer"/>
<summary>Add set/getSelectionMode in TreeView</summary>
<version major="2" minor="15"/>
<date day="24" month="4" year="2002"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
Added public methods
<code>TreeView.setSelectionMode(int)</code> and
<code>TreeView.getSelectioMode()</code>.
</description>
<class package="org.openide.explorer.view" name="TreeView"/>
</change>
<change>
<api name="explorer"/>
<summary>Add generic help support to property editors</summary>
<version major="2" minor="7"/>
<date day="6" month="3" year="2002"/>
<author login="akemr"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description> New property PROPERTY_HELP_ID added to improve generic help
support to property editors.
</description>
<class package="org.openide.explorer.propertysheet" name="ExPropertyEditor"/>
<issue number="19294"/>
</change>
<change>
<api name="explorer"/>
<summary>Constructor DefaultPropertyModel (bean, propertyDescriptor) added</summary>
<version major="2" minor="4"/>
<date day="20" month="2" year="2002"/>
<author login="jtulach"/>
<compatibility addition="yes" modification="no" deprecation="no" binary="compatible" source="compatible" semantic="compatible" deletion="no"/>
<description>
<p>
New constructor to make DefaultPropertyModel more easily usable with PropertyDescriptor created by hand
and not obtained from BeanInfo.
</p>
</description>
<class package="org.openide.explorer.propertysheet" name="DefaultPropertyModel"/>
<issue number="20601"/>
</change>
<change>
<api name="explorer"/>
<summary>The whole <code>org.openide.explorer.propertysheet.editors</code> package is deprecated</summary>
<compatibility deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no" modification="no"/>
<description>
<p>
The entire
<code>org.openide.explorer.propertysheet.editors</code>
package is generally deprecated
and no longer included in Javadoc.
</p>
<p>
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.
</p>
</description>
<package name="org.openide.explorer.propertysheet.editors"/>
</change>
<change>
<api name="explorer"/>
<summary>New property changesImmediate in <code>PropertyPanel</code>
</summary>
<date day="22" month="8" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no">
Added two public methods to class PropertyPanel: <code>public boolean
isChangeImmediate();</code> and <code>public void
setChangeImmediate(boolean b);</code>
</compatibility>
<description>
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).
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyPanel"/>
</change>
<change>
<api name="explorer"/>
<summary><code>PropertyEnv</code> can control validation state</summary>
<date day="9" month="7" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
New constants and methods added to the class <code>PropertyEnv</code>:
<pre xml:space="preserve">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);</pre>
<br/>
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 <code>PropertyEnv</code> should
provide information on what they do.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyEnv"/>
</change>
<change>
<api name="explorer"/>
<summary>Moved validity check into <code>ExPropertyEditor</code>
</summary>
<date day="30" month="10" year="2000"/>
<compatibility addition="yes" deletion="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" modification="no">
Deletion from newly added <code>PropertyEnv</code> only.
</compatibility>
<description>
Minor change to the new class <code>PropertyEnv</code>: removed methods
<code>set</code>/<code>isValid</code> from <code>PropertyEnv</code> and
introduced new constant <code>PROP_VALUE_VALID</code> in the
<code>ExPropertyEditor</code>.
</description>
<class package="org.openide.explorer.propertysheet" name="PropertyEnv"/>
<class package="org.openide.explorer.propertysheet" name="ExPropertyEditor"/>
</change>
<change>
<api name="explorer"/>
<summary><code>ExPropertyEditor</code> added and used</summary>
<date day="25" month="10" year="2000"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
New interface <code>ExPropertyEditor</code> added to the package <code>org.openide.explorer.propertysheet</code>.
It extends <code>PropertyEditor</code> allowing to pass information to the
property editor by passing an instance of <code>PropertyEnv</code> class - this
class was also added. To be able to pass the required information
the <code>PropertyModel</code> interface was also extended to <code>ExPropertyModel</code>.
<code>DefaultPropertyModel</code> was modified to implement the new interface
<code>ExPropertyModel</code> (instead of <code>PropertyModel</code>).
</description>
<class package="org.openide.explorer.propertysheet" name="ExPropertyEditor"/>
<class package="org.openide.explorer.propertysheet" name="DefaultPropertyModel"/>
<class package="org.openide.explorer.propertysheet" name="PropertyEnv"/>
<class package="org.openide.explorer.propertysheet" name="ExPropertyModel"/>
</change>
<change>
<api name="explorer"/>
<summary>Property editor for <code>File</code> accepts hint <code>baseDir</code>
</summary>
<date day="25" month="9" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
The property editor for <code>java.io.File</code> may now be given the
property hint <code>baseDir</code> specifying a directory from which
relative filenames edited by the editor may be resolved.
</description>
</change>
<change>
<api name="explorer"/>
<summary>Property editor for <code>DataObject</code> accepts hint <code>rootNode</code>
</summary>
<version major="1" minor="41"/>
<date day="19" month="10" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
The property editor for <code>org.openide.loaders.DataObject</code> may now be given the
property hint <code>rootNode</code> specifying a root node of displyed nodes hierarchy.
If omited filesystems repository root node is used instead.
</description>
</change>
<change id="PropertyDialogManager-removed">
<api name="explorer"/>
<summary><code>PropertyDialogManager</code> removed</summary>
<date day="31" month="5" year="2000"/>
<compatibility deletion="yes" source="incompatible" binary="compatible" semantic="compatible" deprecation="no" addition="no" modification="no">
First broken, later restored binary compatibility in trunk and
<code>boston</code>. Code referring to this class can generally be easily
rewritten to simply embed the supplied component in a dialog and show that
dialog.
</compatibility>
<description>
Made inaccessible. No one should have been using this class outside its
package to begin with, it was public by accident.
</description>
<class link="no" package="org.openide.explorer.propertysheet" name="PropertyDialogManager"/>
</change>
<change id="SetDefaultValueAction-removed">
<api name="explorer"/>
<summary><code>SetDefaultValueAction</code> removed</summary>
<date day="30" month="11" year="2000"/>
<author login="jglick"/>
<compatibility deletion="yes" source="incompatible" binary="compatible" semantic="compatible" deprecation="no" addition="no" modification="no"/>
<description>
Made inaccessible. No reason for it to have been public.
</description>
<class link="no" package="org.openide.explorer.propertysheet" name="SetDefaultValueAction"/>
</change>
<change>
<api name="explorer"/>
<summary><code>BeanTreeView.selectionChanged</code> made protected, not public</summary>
<date day="6" month="11" year="2000"/>
<compatibility modification="yes" source="incompatible" binary="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no"/>
<description>
Method <code>selectionChanged</code> made protected, not public, to match
the access mode of the method it was implementing in
<code>TreeView</code>. Code calling it as public is erroneous.
</description>
<class package="org.openide.explorer.view" name="BeanTreeView"/>
</change>
<change>
<api name="explorer"/>
<summary>Deserialization of explorer managers and panels may throw <code>SafeException</code>
</summary>
<date day="9" month="3" year="2000"/>
<author login="jglick"/>
<compatibility modification="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="no" deletion="no"/>
<description>
<code>readExternal</code> of <code>ExplorerPanel</code> or deserialization
of <code>ExplorerManager</code> may throw <code>SafeException</code> to
indicate a failure in the loading of the manager's handles, but the stream
is OK.
</description>
<class link="no" package="org.openide.explorer" name="ExplorerPanel"/>
<class package="org.openide.explorer" name="ExplorerManager"/>
</change>
<change>
<api name="explorer"/>
<summary><code>MenuView.Acceptor</code> deprecated and not used</summary>
<date day="5" month="9" year="2000"/>
<compatibility deprecation="yes" binary="incompatible" source="incompatible" semantic="compatible" addition="no" deletion="no" modification="no">
Subclasses accessing the <code>action</code> field will be broken.
</compatibility>
<description>
Interface <code>MenuView.Acceptor</code> is now deprecated. It is
recommended to use <code>nodes.NodeAcceptor</code> over
<code>MenuView.Acceptor</code>, which will be probably removed entirely in
future. The protected field <code>action</code> in both
<code>MenuView.Menu</code> and <code>MenuView.MenuItem</code> has changed
type to be <code>NodeAcceptor</code>.
</description>
<class package="org.openide.explorer.view" name="MenuView"/>
</change>
<change>
<api name="explorer"/>
<summary>Set explored context while selecting nodes</summary>
<date day="13" month="9" year="2000"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
New method <code>setExploredContext</code> added with a second parameter
giving nodes which are to be selected.
</description>
<class package="org.openide.explorer" name="ExplorerManager"/>
</change>
<change>
<api name="explorer"/>
<summary>Set explored context while selecting nodes (and throw an exception)</summary>
<date day="20" month="2" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
New method <code>public final void setExploredContextAndSelection(Node
value, Node[] selection) throws PropertyVetoException</code> added to the
class <code>ExplorerManager</code>. It is replacement for the
<code>setExploredContext</code> method which should throw the exception.
</description>
<class package="org.openide.explorer" name="ExplorerManager"/>
</change>
<change>
<api name="explorer"/>
<summary>Table explorer views added</summary>
<version major="1" minor="7"/>
<date day="7" month="5" year="2001"/>
<compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
<description>
New explorer views permit viewing of a list of tree of nodes with
properties displayed in tabular form.
</description>
<class package="org.openide.explorer.view" name="NodeTableModel"/>
<class package="org.openide.explorer.view" name="TreeTableView"/>
<class package="org.openide.explorer.view" name="ListTableView"/>
</change>
</changes>
<htmlcontents>
<head>
<title>Change History for the Explorer API</title>
<link rel="stylesheet" href="prose.css" type="text/css"/>
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html">Overview</a>
</p>
<h1>Introduction</h1>
<h2>What do the Dates Mean?</h2>
<p>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.</p>
<ul>
<li>The <code>release41</code> branch was made on Apr 03 '05 for use in the NetBeans 4.1 release.
Specification versions: 6.0 begins after this point.</li>
<li>The <code>release40</code> branch was made on Nov 01 '04 for use in the NetBeans 4.0 release.
Specification versions: 5.0 begins after this point.</li>
</ul>
<hr/>
<standard-changelists module-code-name="org.openide.explorer"/>
<hr/>
<p>@FOOTER@</p>
</body>
</htmlcontents>
</apichanges>