blob: c397797565d346c15d622e8a3eacd3a2889d408a [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Change History for the Window Systems API</title>
<link rel="stylesheet" href="prose.css" type="text/css">
</head>
<body>
<p class="overviewlink">
<a href="overview-summary.html" shape="rect">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>
<h1>
<a name="list-all-apis">Index of APIs</a>
</h1>
<ul>
<li>
<a href="#winsys">Window System API</a>
</li>
<li>
<a href="#uncategorized-api">Uncategorized changes</a>
</li>
</ul>
<h1>
<a name="incompat-by-date">Incompatible changes by date</a>
</h1>
<p>Fuller descriptions of all changes can be found below (follow links).</p>
<p>Not all deprecations are listed here, assuming that the deprecated
APIs continue to essentially work. For a full deprecation list, please
consult the
<a href="deprecated-list.html">Javadoc</a>.</p>
<ul>
<li>(Mar 27 '08) <a href="#KeepNonPersistentTCInModelWhenClosed">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>(Oct 23 '07) <a href="#close_component_group">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>(Oct 9 '07) <a href="#auto_iconify">Added command line boolean option 'netbeans.winsys.auto_iconify'.</a>
</li>
<li>(May 3 '07) <a href="#isOpenedEditorTopComponent">Added a method to check the TopComponent type - editor/view</a>
</li>
<li>(Apr 6 '07) <a href="#openAtTabPosition">Added methods for opening TopComponent at specified position</a>
</li>
<li>(Mar 6 '07) <a href="#netbeans.windows">Removal of netbeans.windows=sdi and netbeans.windows=mdi cmnd line option.</a>
</li>
<li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li>
<li>(Apr 2 '03) <a href="#TopComponent-DataObject">Removal of TopComponent(DataObject) constructor</a>
</li>
<li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li>
<li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li>
</ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(May 2 '17) <a href="#ModeSelector">Allow to select Mode for opening a TopComponent instance</a>
</li>
<li>(Feb 20 '14) <a href="#COS_afterRedirect">Added method afterRedirect(CloneableOpenSupport) to CloneableOpenSupport</a>
</li>
<li>(Feb 3 '14) <a href="#WinSysBrandingOverride">Override window system branding properties</a>
</li>
<li>(Aug 13 '13) <a href="#COS_redirector">Abstract class CloneableOpenSupportRedirector added</a>
</li>
<li>(Apr 17 '13) <a href="#topcomponent.SubComponent_lookup_and_showing">Added methods getLookup() and isShowing() in TopComponent.SubComponent.</a>
</li>
<li>(Aug 31 '12) <a href="#stop_request_attention">Allow TopComponent's header to be permanently highlighted to draw user's attention.
</a>
</li>
<li>(Jul 4 '12) <a href="#minimize_and_float">New API to check/modify the floating and minimize state of a TopComponent.</a>
</li>
<li>(Mar 31 '12) <a href="#onshowing">Easy to use replacement for <code>invokeWhenUIReady</code></a>
</li>
<li>(Mar 21 '12) <a href="#ctrltab.switching.disable">New branding property to disable Ctrl+Tab window switching.</a>
</li>
<li>(Mar 7 '12) <a href="#topcomponent.subcomponents">Added method TopComponent.getSubComponents.</a>
</li>
<li>(Mar 7 '12) <a href="#topcomponent.shortname">Added method TopComponent.getShortName()</a>
</li>
<li>(Feb 14 '12) <a href="#topcomponent.busy">Added method TopComponent.makeBusy(boolean).</a>
</li>
<li>(Jan 25 '12) <a href="#jtabbedpane.replacement.for.tabbedcontainer">Added branding options to replace the custom TabbedContainer with
plain Swing JTabbedPane.</a>
</li>
<li>(Nov 12 '11) <a href="#turn.copy.dnd.cloneable.TC.off">Added a client property to turn copy drag and drop of clonable TopComponents off.</a>
</li>
<li>(Oct 19 '11) <a href="#role.in.TC.registration.annotation">Added optional <code>role</code> parameter to <code>TopComponent</code> <code>Registration</code> annotation.</a>
</li>
<li>(Jun 7 '11) <a href="#mode.enhancements">Added more attributes to Mode DTD to support new winsys features.</a>
</li>
<li>(Jun 6 '11) <a href="#roles">Support multiple window system layouts.</a>
</li>
<li>(Feb 15 '11) <a href="#mainwindow.custom.background">Allow custom painted background in the main IDE window.</a>
</li>
<li>(Nov 30 '10) <a href="#topcomponent.registration">Register default TopComponent location via annotations</a>
</li>
<li>(Nov 23 '10) <a href="#reuse.existing.frame.as.the.main.window">Reuse existing JFrame instance (if any) as IDE's main window.</a>
</li>
<li>(Jan 14 '10) <a href="#retain.non.persistent.topcomponent.locations">Annotation to retain the location of non-persistent TopComponents
if the user drags them to another location on the screen.
</a>
</li>
<li>(Jul 15 '09) <a href="#wm_openedtcs">New method to retrieve the list of TopComponents opened in a Mode.</a>
</li>
<li>(Jan 29 '09) <a href="#tc_customization">Window system customizations on TopComponent level</a>
</li>
<li>(Jul 8 '08) <a href="#tc.open">TopComponent.openAction</a>
</li>
<li>(Jun 6 '08) <a href="#winsys_customizations">Added a group of resource bundle properties for customization
of window system behavior.</a>
</li>
<li>(May 27 '08) <a href="#keep_preferred_size_when_slided_in">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>(Mar 27 '08) <a href="#KeepNonPersistentTCInModelWhenClosed">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>(Oct 23 '07) <a href="#close_component_group">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>(Oct 9 '07) <a href="#auto_iconify">Added command line boolean option 'netbeans.winsys.auto_iconify'.</a>
</li>
<li>(May 3 '07) <a href="#isOpenedEditorTopComponent">Added a method to check the TopComponent type - editor/view</a>
</li>
<li>(Apr 6 '07) <a href="#openAtTabPosition">Added methods for opening TopComponent at specified position</a>
</li>
<li>(Mar 6 '07) <a href="#netbeans.windows">Removal of netbeans.windows=sdi and netbeans.windows=mdi cmnd line option.</a>
</li>
<li>(Feb 22 '07) <a href="#isEditorTopComponent">Added a method to check the type of a TopComponent - 'editor' or 'view'</a>
</li>
<li>(Nov 23 '06) <a href="#generics">Generics</a>
</li>
<li>(Nov 10 '06) <a href="#maximizedMode">Enhanced logic for maximized mode</a>
</li>
<li>(Oct 17 '06) <a href="#slideInSize">Slided-in windows remember their size</a>
</li>
<li>(Oct 12 '06) <a href="#tcOpenedClosed">New constants PROP_TC_OPENED and PROP_TC_CLOSED in TopComponent.Registry</a>
</li>
<li>(Aug 23 '06) <a href="#invokeWhenUIReady">New method to invoke code after main window is shown</a>
</li>
<li>(May 30 '06) <a href="#ExternalDragAndDrop.windows">Added <code>ExternalDropHandler</code> abstract class.</a>
</li>
<li>(Oct 31 '05) <a href="#TopComponent-getHtmlDisplayName">Added the <code>TopComponent.getHtmlDisplayName</code>,
<code>TopComponent.setHtmlDisplayName</code> and
<code>WindowManager.topComponentHtmlDisplayNameChanged</code> methods.</a>
</li>
<li>(Mar 21 '05) <a href="#TopComponent.toFront">Added the <code>TopComponent</code> ability to bring their parent
<code>Window</code> to front of other windows.</a>
</li>
<li>(Nov 17 '04) <a href="#TC-requestAttention">TopComponent can request attention</a>
</li>
<li>(Jan 20 '04) <a href="#issue-38475">Allow association of Lookup with TopComponent later than
in constructor.
</a>
</li>
<li>(Jan 7 '04) <a href="#issue-36916">Method TopComponent.getPersistenceType() is added to replace usage of client property
PersistenceType.
</a>
</li>
<li>(Dec 27 '03) <a href="#issue-38185">New constructor for better delegation</a>
</li>
<li>(Nov 25 '03) <a href="#issue-37199">Added method findTopComponent(String tcID) to WindowManager</a>
</li>
<li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li>
<li>(Apr 2 '03) <a href="#TopComponent-DataObject">Removal of TopComponent(DataObject) constructor</a>
</li>
<li>(Feb 27 '03) <a href="#issue-25824">CloneableTopComponent.Ref.getArbitraryComponent method added</a>
</li>
<li>(Feb 20 '03) <a href="#issue-28466">New property "WizardPanel_errorMessage" for WizardDescriptor has been added</a>
</li>
<li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li>
<li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li>
<li>(Jul 1 '02) <a href="#issue-25268">Add new DTD 1.2 for wsmode configuration file</a>
</li>
<li>(Jun 14 '02) <a href="#issue-24451">Add new DTD 1.1 for window manager configuration file</a>
</li>
<li>(May 10 '02) <a href="#issue-21618">TopComponent shown state notification methods added to Winsys API</a>
</li>
<li>(Apr 23 '02) <a href="#issue-20153">Add List TopComponent.availableModes(List modes) method</a>
</li>
<li>(Mar 21 '02) <a href="#issue-20942">Add WindowManager.getDefault() method</a>
</li>
<li>(Jan 6 '02) <a href="#issue-19072">Add new DTD 1.1 for workspace configuration file</a>
</li>
<li>(Jul 27 '01) <a href="#4.066026477191475E15">Make a top component visible without focus change</a>
</li>
<li>(Apr 11 '01) <a href="#8.8024753288542E13">OK button in notify dialog can be turned off</a>
</li>
<li>(Mar 7 '01) <a href="#4.53917081804919E14">Open and close notification for top components</a>
</li>
<li>(Jan 15 '01) <a href="#2.287262190947E12">Wizard panels can refuse to go forward</a>
</li>
<li>(Jan 9 '01) <a href="#8.585311501689936E27">Both Swing client properties and descriptor properties checked for wizard steps/image/help</a>
</li>
<li>(Jun 16 '00) <a href="#3720412">Several members of <code>InputOutput</code> removed</a>
</li>
</ul>
<h1>
<a name="all-by-version">Changes by version</a>
</h1>
<p>
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 <samp>1.20</samp>, your
manifest should contain in its main attributes the line:
</p>
<pre>OpenIDE-Module-Module-Dependencies: org.openide.windows &gt; 1.20</pre>
<ul>
<li>
(6.70) <a href="#COS_afterRedirect">Added method afterRedirect(CloneableOpenSupport) to CloneableOpenSupport</a>
</li>
<li>
(6.69) <a href="#WinSysBrandingOverride">Override window system branding properties</a>
</li>
<li>
(6.65) <a href="#COS_redirector">Abstract class CloneableOpenSupportRedirector added</a>
</li>
<li>
(6.63) <a href="#topcomponent.SubComponent_lookup_and_showing">Added methods getLookup() and isShowing() in TopComponent.SubComponent.</a>
</li>
<li>
(6.58) <a href="#stop_request_attention">Allow TopComponent's header to be permanently highlighted to draw user's attention.
</a>
</li>
<li>
(6.57) <a href="#minimize_and_float">New API to check/modify the floating and minimize state of a TopComponent.</a>
</li>
<li>
(6.54) <a href="#onshowing">Easy to use replacement for <code>invokeWhenUIReady</code></a>
</li>
<li>
(6.53) <a href="#ctrltab.switching.disable">New branding property to disable Ctrl+Tab window switching.</a>
</li>
<li>
(6.52) <a href="#topcomponent.subcomponents">Added method TopComponent.getSubComponents.</a>
</li>
<li>
(6.52) <a href="#topcomponent.shortname">Added method TopComponent.getShortName()</a>
</li>
<li>
(6.51) <a href="#topcomponent.busy">Added method TopComponent.makeBusy(boolean).</a>
</li>
<li>
(6.50) <a href="#jtabbedpane.replacement.for.tabbedcontainer">Added branding options to replace the custom TabbedContainer with
plain Swing JTabbedPane.</a>
</li>
<li>
(6.48) <a href="#turn.copy.dnd.cloneable.TC.off">Added a client property to turn copy drag and drop of clonable TopComponents off.</a>
</li>
<li>
(6.45) <a href="#role.in.TC.registration.annotation">Added optional <code>role</code> parameter to <code>TopComponent</code> <code>Registration</code> annotation.</a>
</li>
<li>
(6.44) <a href="#mode.enhancements">Added more attributes to Mode DTD to support new winsys features.</a>
</li>
<li>
(6.43) <a href="#roles">Support multiple window system layouts.</a>
</li>
<li>
(6.38) <a href="#mainwindow.custom.background">Allow custom painted background in the main IDE window.</a>
</li>
<li>
(6.37) <a href="#topcomponent.registration">Register default TopComponent location via annotations</a>
</li>
<li>
(6.36) <a href="#reuse.existing.frame.as.the.main.window">Reuse existing JFrame instance (if any) as IDE's main window.</a>
</li>
<li>
(6.32) <a href="#retain.non.persistent.topcomponent.locations">Annotation to retain the location of non-persistent TopComponents
if the user drags them to another location on the screen.
</a>
</li>
<li>
(6.28) <a href="#wm_openedtcs">New method to retrieve the list of TopComponents opened in a Mode.</a>
</li>
<li>
(6.26) <a href="#tc_customization">Window system customizations on TopComponent level</a>
</li>
<li>
(6.24) <a href="#tc.open">TopComponent.openAction</a>
</li>
<li>
(6.23) <a href="#winsys_customizations">Added a group of resource bundle properties for customization
of window system behavior.</a>
</li>
<li>
(6.22) <a href="#keep_preferred_size_when_slided_in">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>
(6.20) <a href="#KeepNonPersistentTCInModelWhenClosed">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>
(6.18) <a href="#close_component_group">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</li>
<li>
(6.17) <a href="#auto_iconify">Added command line boolean option 'netbeans.winsys.auto_iconify'.</a>
</li>
<li>
(6.16) <a href="#isOpenedEditorTopComponent">Added a method to check the TopComponent type - editor/view</a>
</li>
<li>
(6.15) <a href="#openAtTabPosition">Added methods for opening TopComponent at specified position</a>
</li>
<li>
(6.14) <a href="#netbeans.windows">Removal of netbeans.windows=sdi and netbeans.windows=mdi cmnd line option.</a>
</li>
<li>
(6.13) <a href="#isEditorTopComponent">Added a method to check the type of a TopComponent - 'editor' or 'view'</a>
</li>
<li>
(6.12) <a href="#generics">Generics</a>
</li>
<li>
(6.11) <a href="#maximizedMode">Enhanced logic for maximized mode</a>
</li>
<li>
(6.10) <a href="#slideInSize">Slided-in windows remember their size</a>
</li>
<li>
(6.9) <a href="#tcOpenedClosed">New constants PROP_TC_OPENED and PROP_TC_CLOSED in TopComponent.Registry</a>
</li>
<li>
(6.8) <a href="#invokeWhenUIReady">New method to invoke code after main window is shown</a>
</li>
<li>
(6.7) <a href="#ExternalDragAndDrop.windows">Added <code>ExternalDropHandler</code> abstract class.</a>
</li>
<li>
(6.6.77) <a href="#ModeSelector">Allow to select Mode for opening a TopComponent instance</a>
</li>
<li>
(6.4) <a href="#TopComponent-getHtmlDisplayName">Added the <code>TopComponent.getHtmlDisplayName</code>,
<code>TopComponent.setHtmlDisplayName</code> and
<code>WindowManager.topComponentHtmlDisplayNameChanged</code> methods.</a>
</li>
<li>
(5.8) <a href="#TopComponent.toFront">Added the <code>TopComponent</code> ability to bring their parent
<code>Window</code> to front of other windows.</a>
</li>
<li>
(5.1) <a href="#TC-requestAttention">TopComponent can request attention</a>
</li>
<li>
(4.23) <a href="#issue-38475">Allow association of Lookup with TopComponent later than
in constructor.
</a>
</li>
<li>
(4.20) <a href="#issue-36916">Method TopComponent.getPersistenceType() is added to replace usage of client property
PersistenceType.
</a>
</li>
<li>
(4.19) <a href="#issue-38185">New constructor for better delegation</a>
</li>
<li>
(4.15) <a href="#issue-37199">Added method findTopComponent(String tcID) to WindowManager</a>
</li>
<li>
(4.13) <a href="#issue-29836">New Window System implementation</a>
</li>
<li>
(4.3) <a href="#TopComponent-DataObject">Removal of TopComponent(DataObject) constructor</a>
</li>
<li>
(3.41) <a href="#issue-25824">CloneableTopComponent.Ref.getArbitraryComponent method added</a>
</li>
<li>
(3.39) <a href="#issue-28466">New property "WizardPanel_errorMessage" for WizardDescriptor has been added</a>
</li>
<li>
(3.17) <a href="#issue-19443-2">API separation, phase II</a>
</li>
<li>
(3.14) <a href="#issue-19443-1">API separation, phase I</a>
</li>
<li>
(2.18) <a href="#issue-21618">TopComponent shown state notification methods added to Winsys API</a>
</li>
<li>
(2.14) <a href="#issue-20153">Add List TopComponent.availableModes(List modes) method</a>
</li>
<li>
(2.10) <a href="#issue-20942">Add WindowManager.getDefault() method</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.openide.actions.AbstractCompileAction"><code><span style="color:gray">org.openide.actions.</span>AbstractCompileAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.AddWatchAction"><code><span style="color:gray">org.openide.actions.</span>AddWatchAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.ArgumentsCookie"><code><span style="color:gray">org.openide.cookies.</span>ArgumentsCookie</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.BuildAction"><code><span style="color:gray">org.openide.actions.</span>BuildAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.BuildAllAction"><code><span style="color:gray">org.openide.actions.</span>BuildAllAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.BuildProjectAction"><code><span style="color:gray">org.openide.actions.</span>BuildProjectAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.ChoicePropertyEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>ChoicePropertyEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.CleanAction"><code><span style="color:gray">org.openide.actions.</span>CleanAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.CleanAllAction"><code><span style="color:gray">org.openide.actions.</span>CleanAllAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.windows.CloneableOpenSupport"><code><span style="color:gray">org.openide.windows.</span>CloneableOpenSupport</code></a>
</h2><ul><li>(Feb 20 '14) <a href="#COS_afterRedirect">Added method afterRedirect(CloneableOpenSupport) to CloneableOpenSupport</a>
</li></ul><h2>
<a name="org.openide.windows.CloneableOpenSupportRedirector"><code><span style="color:gray">org.openide.windows.</span>CloneableOpenSupportRedirector</code></a>
</h2><ul><li>(Aug 13 '13) <a href="#COS_redirector">Abstract class CloneableOpenSupportRedirector added</a>
</li></ul><h2>
<a name="org.openide.windows.CloneableTopComponent"><code><span style="color:gray">org.openide.windows.</span>CloneableTopComponent</code></a>
</h2><ul><li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li>
<li>(Apr 2 '03) <a href="#TopComponent-DataObject">Removal of TopComponent(DataObject) constructor</a>
</li>
<li>(Feb 27 '03) <a href="#issue-25824">CloneableTopComponent.Ref.getArbitraryComponent method added</a>
</li></ul><h2>
<a name="org.openide.actions.CompileAction"><code><span style="color:gray">org.openide.actions.</span>CompileAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.CompileAllAction"><code><span style="color:gray">org.openide.actions.</span>CompileAllAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.CompileProjectAction"><code><span style="color:gray">org.openide.actions.</span>CompileProjectAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.CompilerCookie"><code><span style="color:gray">org.openide.cookies.</span>CompilerCookie</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.loaders.CompilerSupport"><code><span style="color:gray">org.openide.loaders.</span>CompilerSupport</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.options.ControlPanel"><code><span style="color:gray">org.openide.options.</span>ControlPanel</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.loaders.DataObjectFilter"><code><span style="color:gray">org.openide.loaders.</span>DataObjectFilter</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.DebuggerCookie"><code><span style="color:gray">org.openide.cookies.</span>DebuggerCookie</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.DebugProjectAction"><code><span style="color:gray">org.openide.actions.</span>DebugProjectAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.DialogDisplayer"><code><span style="color:gray">org.openide.</span>DialogDisplayer</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>DirectoryOnlyEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.ElementCookie"><code><span style="color:gray">org.openide.cookies.</span>ElementCookie</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.ElementFormatEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>ElementFormatEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.ExecCookie"><code><span style="color:gray">org.openide.cookies.</span>ExecCookie</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.loaders.ExecSupport"><code><span style="color:gray">org.openide.loaders.</span>ExecSupport</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.ExecuteAction"><code><span style="color:gray">org.openide.actions.</span>ExecuteAction</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.ExecuteProjectAction"><code><span style="color:gray">org.openide.actions.</span>ExecuteProjectAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.loaders.ExecutionSupport"><code><span style="color:gray">org.openide.loaders.</span>ExecutionSupport</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li>
<li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.loaders.ExtensionListEditor"><code><span style="color:gray">org.openide.loaders.</span>ExtensionListEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.ExternalCompiler"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>ExternalCompiler</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.ExternalDropHandler"><code><span style="color:gray">org.openide.windows.</span>ExternalDropHandler</code></a>
</h2><ul><li>(May 30 '06) <a href="#ExternalDragAndDrop.windows">Added <code>ExternalDropHandler</code> abstract class.</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.FileEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>FileEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.FileOnlyEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>FileOnlyEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.filesystems.FileUtil"><code><span style="color:gray">org.openide.filesystems.</span>FileUtil</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.actions.FinishDebuggerAction"><code><span style="color:gray">org.openide.actions.</span>FinishDebuggerAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.GoAction"><code><span style="color:gray">org.openide.actions.</span>GoAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.GoToCursorAction"><code><span style="color:gray">org.openide.actions.</span>GoToCursorAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.HelpAction"><code><span style="color:gray">org.openide.actions.</span>HelpAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.awt.HtmlBrowser"><code><span style="color:gray">org.openide.awt.</span>HtmlBrowser</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.IconEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>IconEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.IdentifierArrayEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>IdentifierArrayEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.modules.IllegalModuleException"><code><span style="color:gray">org.openide.modules.</span>IllegalModuleException</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.InputOutput"><code><span style="color:gray">org.openide.windows.</span>InputOutput</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li>
<li>(Jun 16 '00) <a href="#3720412">Several members of <code>InputOutput</code> removed</a>
</li></ul><h2>
<a name="org.openide.windows.IOProvider"><code><span style="color:gray">org.openide.windows.</span>IOProvider</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li>
<li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.LifecycleManager"><code><span style="color:gray">org.openide.</span>LifecycleManager</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.modules.ManifestSection"><code><span style="color:gray">org.openide.modules.</span>ManifestSection</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.MethodParameterArrayEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>MethodParameterArrayEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.ModeSelector"><code><span style="color:gray">org.openide.windows.</span>ModeSelector</code></a>
</h2><ul><li>(May 2 '17) <a href="#ModeSelector">Allow to select Mode for opening a TopComponent instance</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.ModifierEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>ModifierEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.modules.ModuleDescription"><code><span style="color:gray">org.openide.modules.</span>ModuleDescription</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.nodes.NodeOperation"><code><span style="color:gray">org.openide.nodes.</span>NodeOperation</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.NotifyDescriptor"><code><span style="color:gray">org.openide.</span>NotifyDescriptor</code></a>
</h2><ul><li>(Apr 11 '01) <a href="#8.8024753288542E13">OK button in notify dialog can be turned off</a>
</li></ul><h2>
<a name="org.openide.windows.OnShowing"><code><span style="color:gray">org.openide.windows.</span>OnShowing</code></a>
</h2><ul><li>(Mar 31 '12) <a href="#onshowing">Easy to use replacement for <code>invokeWhenUIReady</code></a>
</li></ul><h2>
<a name="org.openide.actions.OpenProjectAction"><code><span style="color:gray">org.openide.actions.</span>OpenProjectAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.OutputEvent"><code><span style="color:gray">org.openide.windows.</span>OutputEvent</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.windows.OutputListener"><code><span style="color:gray">org.openide.windows.</span>OutputListener</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.windows.OutputWriter"><code><span style="color:gray">org.openide.windows.</span>OutputWriter</code></a>
</h2><ul><li>(Nov 1 '02) <a href="#issue-19443-2">API separation, phase II</a>
</li></ul><h2>
<a name="org.openide.Places"><code><span style="color:gray">org.openide.</span>Places</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.ProjectCookie"><code><span style="color:gray">org.openide.cookies.</span>ProjectCookie</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.util.actions.ProjectSensitiveAction"><code><span style="color:gray">org.openide.util.actions.</span>ProjectSensitiveAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.loaders.RepositoryNodeFactory"><code><span style="color:gray">org.openide.loaders.</span>RepositoryNodeFactory</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.RetainLocation"><code><span style="color:gray">org.openide.windows.</span>RetainLocation</code></a>
</h2><ul><li>(Jan 14 '10) <a href="#retain.non.persistent.topcomponent.locations">Annotation to retain the location of non-persistent TopComponents
if the user drags them to another location on the screen.
</a>
</li></ul><h2>
<a name="org.openide.actions.SaveProjectAction"><code><span style="color:gray">org.openide.actions.</span>SaveProjectAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.cookies.SourceCookie"><code><span style="color:gray">org.openide.cookies.</span>SourceCookie</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.StartDebuggerAction"><code><span style="color:gray">org.openide.actions.</span>StartDebuggerAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.awt.StatusDisplayer"><code><span style="color:gray">org.openide.awt.</span>StatusDisplayer</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.StepOutAction"><code><span style="color:gray">org.openide.actions.</span>StepOutAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.StringArrayCustomEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>StringArrayCustomEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.StringArrayCustomizable"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>StringArrayCustomizable</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.StringArrayEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>StringArrayEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.ToggleBreakpointAction"><code><span style="color:gray">org.openide.actions.</span>ToggleBreakpointAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.TopComponent"><code><span style="color:gray">org.openide.windows.</span>TopComponent</code></a>
</h2><ul><li>(Apr 17 '13) <a href="#topcomponent.SubComponent_lookup_and_showing">Added methods getLookup() and isShowing() in TopComponent.SubComponent.</a>
</li>
<li>(Aug 31 '12) <a href="#stop_request_attention">Allow TopComponent's header to be permanently highlighted to draw user's attention.
</a>
</li>
<li>(Mar 7 '12) <a href="#topcomponent.subcomponents">Added method TopComponent.getSubComponents.</a>
</li>
<li>(Mar 7 '12) <a href="#topcomponent.shortname">Added method TopComponent.getShortName()</a>
</li>
<li>(Feb 14 '12) <a href="#topcomponent.busy">Added method TopComponent.makeBusy(boolean).</a>
</li>
<li>(Nov 12 '11) <a href="#turn.copy.dnd.cloneable.TC.off">Added a client property to turn copy drag and drop of clonable TopComponents off.</a>
</li>
<li>(Oct 19 '11) <a href="#role.in.TC.registration.annotation">Added optional <code>role</code> parameter to <code>TopComponent</code> <code>Registration</code> annotation.</a>
</li>
<li>(Nov 30 '10) <a href="#topcomponent.registration">Register default TopComponent location via annotations</a>
</li>
<li>(Apr 6 '07) <a href="#openAtTabPosition">Added methods for opening TopComponent at specified position</a>
</li>
<li>(Oct 31 '05) <a href="#TopComponent-getHtmlDisplayName">Added the <code>TopComponent.getHtmlDisplayName</code>,
<code>TopComponent.setHtmlDisplayName</code> and
<code>WindowManager.topComponentHtmlDisplayNameChanged</code> methods.</a>
</li>
<li>(Mar 21 '05) <a href="#TopComponent.toFront">Added the <code>TopComponent</code> ability to bring their parent
<code>Window</code> to front of other windows.</a>
</li>
<li>(Nov 17 '04) <a href="#TC-requestAttention">TopComponent can request attention</a>
</li>
<li>(Jan 20 '04) <a href="#issue-38475">Allow association of Lookup with TopComponent later than
in constructor.
</a>
</li>
<li>(Jan 7 '04) <a href="#issue-36916">Method TopComponent.getPersistenceType() is added to replace usage of client property
PersistenceType.
</a>
</li>
<li>(Dec 27 '03) <a href="#issue-38185">New constructor for better delegation</a>
</li>
<li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li>
<li>(Apr 2 '03) <a href="#TopComponent-DataObject">Removal of TopComponent(DataObject) constructor</a>
</li>
<li>(May 10 '02) <a href="#issue-21618">TopComponent shown state notification methods added to Winsys API</a>
</li>
<li>(Apr 23 '02) <a href="#issue-20153">Add List TopComponent.availableModes(List modes) method</a>
</li>
<li>(Jul 27 '01) <a href="#4.066026477191475E15">Make a top component visible without focus change</a>
</li>
<li>(Mar 7 '01) <a href="#4.53917081804919E14">Open and close notification for top components</a>
</li></ul><h2>
<a name="org.openide.windows.TopComponentGroup"><code><span style="color:gray">org.openide.windows.</span>TopComponentGroup</code></a>
</h2><ul><li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li></ul><h2>
<a name="org.openide.TopManager"><code><span style="color:gray">org.openide.</span>TopManager</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.TraceIntoAction"><code><span style="color:gray">org.openide.actions.</span>TraceIntoAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.actions.TraceOverAction"><code><span style="color:gray">org.openide.actions.</span>TraceOverAction</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.explorer.propertysheet.editors.TypeEditor"><code><span style="color:gray">org.openide.explorer.propertysheet.editors.</span>TypeEditor</code></a>
</h2><ul><li>(Oct 15 '02) <a href="#issue-19443-1">API separation, phase I</a>
</li></ul><h2>
<a name="org.openide.windows.WindowManager"><code><span style="color:gray">org.openide.windows.</span>WindowManager</code></a>
</h2><ul><li>(Aug 31 '12) <a href="#stop_request_attention">Allow TopComponent's header to be permanently highlighted to draw user's attention.
</a>
</li>
<li>(Jul 4 '12) <a href="#minimize_and_float">New API to check/modify the floating and minimize state of a TopComponent.</a>
</li>
<li>(Feb 14 '12) <a href="#topcomponent.busy">Added method TopComponent.makeBusy(boolean).</a>
</li>
<li>(Jun 6 '11) <a href="#roles">Support multiple window system layouts.</a>
</li>
<li>(Jul 15 '09) <a href="#wm_openedtcs">New method to retrieve the list of TopComponents opened in a Mode.</a>
</li>
<li>(May 3 '07) <a href="#isOpenedEditorTopComponent">Added a method to check the TopComponent type - editor/view</a>
</li>
<li>(Apr 6 '07) <a href="#openAtTabPosition">Added methods for opening TopComponent at specified position</a>
</li>
<li>(Feb 22 '07) <a href="#isEditorTopComponent">Added a method to check the type of a TopComponent - 'editor' or 'view'</a>
</li>
<li>(Oct 12 '06) <a href="#tcOpenedClosed">New constants PROP_TC_OPENED and PROP_TC_CLOSED in TopComponent.Registry</a>
</li>
<li>(Aug 23 '06) <a href="#invokeWhenUIReady">New method to invoke code after main window is shown</a>
</li>
<li>(Oct 31 '05) <a href="#TopComponent-getHtmlDisplayName">Added the <code>TopComponent.getHtmlDisplayName</code>,
<code>TopComponent.setHtmlDisplayName</code> and
<code>WindowManager.topComponentHtmlDisplayNameChanged</code> methods.</a>
</li>
<li>(Mar 21 '05) <a href="#TopComponent.toFront">Added the <code>TopComponent</code> ability to bring their parent
<code>Window</code> to front of other windows.</a>
</li>
<li>(Nov 17 '04) <a href="#TC-requestAttention">TopComponent can request attention</a>
</li>
<li>(Nov 25 '03) <a href="#issue-37199">Added method findTopComponent(String tcID) to WindowManager</a>
</li>
<li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li>
<li>(May 10 '02) <a href="#issue-21618">TopComponent shown state notification methods added to Winsys API</a>
</li>
<li>(Mar 21 '02) <a href="#issue-20942">Add WindowManager.getDefault() method</a>
</li>
<li>(Jul 27 '01) <a href="#4.066026477191475E15">Make a top component visible without focus change</a>
</li>
<li>(Mar 7 '01) <a href="#4.53917081804919E14">Open and close notification for top components</a>
</li></ul><h2>
<a name="org.openide.windows.WindowSystemEvent"><code><span style="color:gray">org.openide.windows.</span>WindowSystemEvent</code></a>
</h2><ul><li>(Jun 6 '11) <a href="#roles">Support multiple window system layouts.</a>
</li></ul><h2>
<a name="org.openide.windows.WindowSystemListener"><code><span style="color:gray">org.openide.windows.</span>WindowSystemListener</code></a>
</h2><ul><li>(Jun 6 '11) <a href="#roles">Support multiple window system layouts.</a>
</li></ul><h2>
<a name="org.openide.WizardDescriptor"><code><span style="color:gray">org.openide.</span>WizardDescriptor</code></a>
</h2><ul><li>(Feb 20 '03) <a href="#issue-28466">New property "WizardPanel_errorMessage" for WizardDescriptor has been added</a>
</li>
<li>(Jan 15 '01) <a href="#2.287262190947E12">Wizard panels can refuse to go forward</a>
</li>
<li>(Jan 9 '01) <a href="#8.585311501689936E27">Both Swing client properties and descriptor properties checked for wizard steps/image/help</a>
</li></ul><h2>
<a name="org.openide.windows.Workspace"><code><span style="color:gray">org.openide.windows.</span>Workspace</code></a>
</h2><ul><li>(Nov 12 '03) <a href="#issue-29836">New Window System implementation</a>
</li></ul><hr>
<h1>
<a name="details-by-api">Details of all changes by API and date</a>
</h1>
<hr style="width:50%">
<h2>
<a name="winsys">Window System API</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ModeSelector">Allow to select Mode for opening a TopComponent instance</a>
</h3>
<em>May 2 '17; API spec. version: 6.6.77; affected top-level classes: <a href="./org/openide/windows/ModeSelector.html"><code>ModeSelector</code></a>; made by: sdedic</em>
<br>
<p>
Plugin implementors can direct to-be-opened TopComponents to appropriate Modes or
prevent them to open in inappropriate Modes.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="COS_afterRedirect">Added method afterRedirect(CloneableOpenSupport) to CloneableOpenSupport</a>
</h3>
<em>Feb 20 '14; API spec. version: 6.70; affected top-level classes: <a href="./org/openide/windows/CloneableOpenSupport.html"><code>CloneableOpenSupport</code></a>; made by: vv159170; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=241991">
#241991</a></em>
<br>
<p>The method is called when CloneableOpenSupportRedirector found another instance of CloneableOpenSupport to open instead the current.
It is possible to override afterRedirect in derived classes and handle this situation.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="WinSysBrandingOverride">Override window system branding properties</a>
</h3>
<em>Feb 3 '14; API spec. version: 6.69; made by: saubrecht</em>
<br>
<p>It is possible to override boolean window system properties defined in resource bundle <code>org/netbeans/core/windows/Bundle.properties</code>
with system properties prefixed with "<i>NB.WinSys.</i>". For example property
<code>Mix.Editors.And.Views.Enabled</code> can be overriden with a command-line switch
<code>-J-DNB.WinSys.Mix.Editors.And.Views.Enabled=false</code>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="COS_redirector">Abstract class CloneableOpenSupportRedirector added</a>
</h3>
<em>Aug 13 '13; API spec. version: 6.65; affected top-level classes: <a href="./org/openide/windows/CloneableOpenSupportRedirector.html"><code>CloneableOpenSupportRedirector</code></a>; made by: igor_nikiforov; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=230126">
#230126</a></em>
<br>
<p>Version of CloneableEditorSupportRedirector which will be called only during opening of document
when algorith tries to understand if file is in list of already opened TCs or not.
SPI implementers to setup filter on specific requests only... This could minimize number of redirect() calls.</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="topcomponent.SubComponent_lookup_and_showing">Added methods getLookup() and isShowing() in TopComponent.SubComponent.</a>
</h3>
<em>Apr 17 '13; API spec. version: 6.63; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: theofanis; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=228448">
#228448</a></em>
<br>
<p>The new methods can be used in conjunction with split multiview window, where e.g. the pallette
needs to know which two of the available subcomponents are showing and query their lookup.</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="stop_request_attention">Allow TopComponent's header to be permanently highlighted to draw user's attention.
</a>
</h3>
<em>Aug 31 '12; API spec. version: 6.58; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=217509">
#217509</a></em>
<br>
<p>New method setAttentionHighlight(boolean) in TopComponent class
can be used to permanently highlight TopComponent's tab until user
activates it.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="minimize_and_float">New API to check/modify the floating and minimize state of a TopComponent.</a>
</h3>
<em>Jul 4 '12; API spec. version: 6.57; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=214854">
#214854</a></em>
<br>
<p>New methods in WindowManager class:
<br>
isTopComponentMinimized()<br>
setTopComponentMinimized()<br>
isTopComponentFloating()<br>
setTopComponentFloating()<br>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="onshowing">Easy to use replacement for <code>invokeWhenUIReady</code></a>
</h3>
<em>Mar 31 '12; API spec. version: 6.54; affected top-level classes: <a href="./org/openide/windows/OnShowing.html"><code>OnShowing</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200636">
#200636</a></em>
<br>
<p>In case you want to execute a code as soon as main window is
visible, consider using <a href="org/openide/windows/OnShowing.html" shape="rect">
OnShowing</a> annotation.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="ctrltab.switching.disable">New branding property to disable Ctrl+Tab window switching.</a>
</h3>
<em>Mar 21 '12; API spec. version: 6.53; made by: saubrecht</em>
<br>
<p>There's a new branding property <code>WinSys.CtrlTabSwitching.In.JTable.Enabled</code>
to disable Ctrl+Tab window switching when JTable or JTabbedPane has input focus.</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="topcomponent.subcomponents">Added method TopComponent.getSubComponents.</a>
</h3>
<em>Mar 7 '12; API spec. version: 6.52; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=209051">
#209051</a></em>
<br>
<p>The new method can be used to access for example inner tabs in a
multiview window.</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="topcomponent.shortname">Added method TopComponent.getShortName()</a>
</h3>
<em>Mar 7 '12; API spec. version: 6.52; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=209059">
#209059</a></em>
<br>
<p>The new method can be used to retrieve a short version of TopComponent's
display name, i.e. display name that does no include the name of activated
Node.</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="topcomponent.busy">Added method TopComponent.makeBusy(boolean).</a>
</h3>
<em>Feb 14 '12; API spec. version: 6.51; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a> <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=208026">
#208026</a></em>
<br>
<p>The new method can be used to inform user that some (possibly lengthy)
process is being run in given <code>TopComponent.</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="jtabbedpane.replacement.for.tabbedcontainer">Added branding options to replace the custom TabbedContainer with
plain Swing JTabbedPane.</a>
</h3>
<em>Jan 25 '12; API spec. version: 6.50; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=150393">
#150393</a></em>
<br>
<p>By branding of core.windows module it is possible to use plain JTabbedPane
component to display window tabs instead of the custom TabbedContainer.
The property name is <code>WinSys.TabControl.SimpleTabs.Enabled</code>
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="turn.copy.dnd.cloneable.TC.off">Added a client property to turn copy drag and drop of clonable TopComponents off.</a>
</h3>
<em>Nov 12 '11; API spec. version: 6.48; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: saubrecht</em>
<br>
Added a new boolean client property <code>PROP_DND_COPY_DISABLED</code>.
When set to <code>Boolean.TRUE</code> on a <code>CloneableTopComponent</code> then
it is not possible to perform copy drag and drop operation with it.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="role.in.TC.registration.annotation">Added optional <code>role</code> parameter to <code>TopComponent</code> <code>Registration</code> annotation.</a>
</h3>
<em>Oct 19 '11; API spec. version: 6.45; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=199452">
#199452</a></em>
<br>
Since the window system now supports multiple window layouts - roles -
the annotation for TopComponent registration needs an optional parameter
to specify one or more roles the window should belong to. If no roles
are specified, the TopComponent is registered in the default layout.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="mode.enhancements">Added more attributes to Mode DTD to support new winsys features.</a>
</h3>
<em>Jun 7 '11; API spec. version: 6.44; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=199074">
#199074</a></em>
<br>
New window system features - sliding bar for minimized windows at the top
of the main window, drag and drop of the whole window group and minimization
of the whole window group - require small additions to Mode DTD.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="roles">Support multiple window system layouts.</a>
</h3>
<em>Jun 6 '11; API spec. version: 6.43; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a> <a href="./org/openide/windows/WindowSystemListener.html"><code>WindowSystemListener</code></a> <a href="./org/openide/windows/WindowSystemEvent.html"><code>WindowSystemEvent</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=198859">
#198859</a></em>
<br>
It is possible to define multiple window system layouts and switch between
them either at startup or at runtime.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="mainwindow.custom.background">Allow custom painted background in the main IDE window.</a>
</h3>
<em>Feb 15 '11; API spec. version: 6.38; made by: saubrecht</em>
<br>
There's a new Boolean property <code>NbMainWindow.showCustomBackground</code>
in <code>javax.swing.UIManager</code>. When the property value is <code>TRUE</code>
then the window system will turn off opacity for most of the main window
components - menu bar, toolbars, status bar, sliding bars and the main
desktop area component. That means that the main window background will
be showing through these components. It can be used to paint some watermark
or logo or gradient on the main window background, especially when using
custom main window implementation, see change id reuse.existing.frame.as.the.main.window
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="topcomponent.registration">Register default TopComponent location via annotations</a>
</h3>
<em>Nov 30 '10; API spec. version: 6.37; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=191407">
#191407</a></em>
<br>
Use <a href="org/openide/windows/TopComponent.Registration.html" shape="rect">TopComponent.Registration</a>,
<a href="org/openide/windows/TopComponent.Description.html" shape="rect">TopComponent.Description</a> and
<a href="org/openide/windows/TopComponent.OpenActionRegistration.html" shape="rect">TopComponent.OpenActionRegistration</a>
to register default location of a
<a href="org/openide/windows/TopComponent.html" shape="rect">TopComponent</a>,
some of its properties and action to open it.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="reuse.existing.frame.as.the.main.window">Reuse existing JFrame instance (if any) as IDE's main window.</a>
</h3>
<em>Nov 23 '10; API spec. version: 6.36; made by: saubrecht</em>
<br>
When window system loads it checks for existing Frames (java.awt.Frame.getFrames()) and
if there is a JFrame whose name is "NbMainWindow" then it is reused as the main window.
Main menu, toolbars and content pane will be put into this existing JFrame.
If there isn't such a JFrame instance then a new empty JFrame is created
and used for the main window - the same way as before this change.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="retain.non.persistent.topcomponent.locations">Annotation to retain the location of non-persistent TopComponents
if the user drags them to another location on the screen.
</a>
</h3>
<em>Jan 14 '10; API spec. version: 6.32; affected top-level classes: <a href="./org/openide/windows/RetainLocation.html"><code>RetainLocation</code></a>; made by: tboudreau; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=168060">
#168060</a></em>
<br>
Added an annotation, <code>org.openide.windows.RetainLocation</code>
which can be applied to TopComponents whose
persistence type is PERSISTENCE_NEVER. There has been a long-term
problem that such components can be defined as singleton components,
and the first time they are opened, they appear in the correct place.
However, on restart or after the first time they are closed, their
persistence information, including the containing Mode, is lost, and
thereafter they open in the editor area.
<p></p>
This patch does not affect the current behavior of such components.
However, if you add this annotation to the component, it will remember
(storage in NbPreferences) the ID of its last known parent mode. A
minor patch to the window system's code for deciding if a Mode should
be persistent causes it to now interpret any Mode containing a
TopComponent annotated with <code>RetainLocation</code> as being one
it should persist, so that if the user creates a transient Mode by
dragging the window to a new location on screen, the data about that
location is not lost on shutdown.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="wm_openedtcs">New method to retrieve the list of TopComponents opened in a Mode.</a>
</h3>
<em>Jul 15 '09; API spec. version: 6.28; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=168060">
#168060</a></em>
<br>
Added new a method to WindowManager to retrieve the list of TopComponents
opened in a given Mode. This method does not iterate through all the TopComponents
in the Mode so it prevents already closed TopComponents from being deserialized
from disk.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="tc_customization">Window system customizations on TopComponent level</a>
</h3>
<em>Jan 29 '09; API spec. version: 6.26; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=156693">
#156693</a></em>
<br>
Added a group of client properties that modify TopComponent's behavior in window system.
E.g. disable closing, sliding, undocking etc.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="tc.open">TopComponent.openAction</a>
</h3>
<em>Jul 8 '08; API spec. version: 6.24; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=136636">
#136636</a></em>
<br>
Adding new factory method that creates an action to open a <code>TopComponent</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="winsys_customizations">Added a group of resource bundle properties for customization
of window system behavior.</a>
</h3>
<em>Jun 6 '08; API spec. version: 6.23; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=136636">
#136636</a></em>
<br>
<p>There is a set of new properties defined in resource bundle which platform
developers can use to customize the behavior of NetBeans' window system:</p>
<ul>
<li>Disable window drag and drop</li>
<li>Disable window undocking (floating windows)</li>
<li>Disable window sliding</li>
<li>Disable window resizing</li>
<li>Disable window maximization</li>
<li>Disable closing of non-editor windows (views)</li>
<li>Disable closing of editor windows</li>
<li>Force window system into respecting window minimum sizes when resizing windows using splitter bars</li>
</ul>
<p>The features above can be turned on/off simply by branding of core.windows module.</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="keep_preferred_size_when_slided_in">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</h3>
<em>May 27 '08; API spec. version: 6.22; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=135318">
#135318</a></em>
<br>
Added TopComponent client property netbeans.winsys.tc.keep_preferred_size_when_slided_in which forces the window system
to respect TopComponent's preferred size when it is slided-in from left/right/bottom
sliding bar when set to Boolean.TRUE. Otherwise the slided-in TopComponent
will fill the entire width/length of the IDE window (the default behavior).
This switch is intended for tools/palette windows like e.g. color chooser,
tool picker etc.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="KeepNonPersistentTCInModelWhenClosed">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</h3>
<em>Mar 27 '08; API spec. version: 6.20; made by: mslama; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=121218">
#121218</a></em>
<br>
Add client property KeepNonPersistentTCInModelWhenClosed to TopComponent to control behavior of winsys
when nonpersistent TopComponent is closed. As some TopComponent wants to keep their position in winsys
ie. be able to reopen at the same place and some TopComponent wants to be removed from winsys model.
We added client boolean property KeepNonPersistentTCInModelWhenClosed. When this property is not set
nn persistent TopComponent is removed from model when closed - it is original behavior before fix of
issue #101700. If client property is set (to Boolean.TRUE) then TopComponent is kept in model. It means that
client must explicitly set this client property to get behavior requested by issue #101700.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="close_component_group">Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent</a>
</h3>
<em>Oct 23 '07; API spec. version: 6.18; made by: mslama; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=101700">
#101700</a></em>
<br>
Change behavior of winsys implementation when TopComponent.close() and TopComponentGroup.close()
is called for non persistent TopComponent. So far if non persistent TopComponent was closed it was
removed from Mode. It causes window system to forget TopComponent location so if TopComponent
is reopened it is opened in default location. It is now changed so that window system keeps location
of non persistent TopComponent during session. Of course this information is not stored between sessions
as TopComponent is NOT persistent. So this change applies only to TopComponent with peristence type
PERSISTENCE_NEVER.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="auto_iconify">Added command line boolean option 'netbeans.winsys.auto_iconify'.</a>
</h3>
<em>Oct 9 '07; API spec. version: 6.17; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=109427">
#109427</a></em>
<br>
Added command line boolean option 'netbeans.winsys.auto_iconify'. When system is run
with option netbeans.winsys.auto_iconify=true, all separate frames will follow
iconified state of main window automatically. So when main window is iconified,
they all get iconified too and vice versa. Such behavior was default
prior to this change, but now automatic iconification is disabled by default,
to respect independency of separate frames and behave well with GNOME window
managers such as default Metacity WM.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="isOpenedEditorTopComponent">Added a method to check the TopComponent type - editor/view</a>
</h3>
<em>May 3 '07; API spec. version: 6.16; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=102174">
#102174</a></em>
<br>
Added method <a href="org/openide/windows/WindowManager.html#isOpenedEditorTopComponent-org.openide.windows.TopComponent-" shape="rect">WindowManager.isOpenedEditorTopComponent(TopComponent)</a>
for checking of the TopComponent type - editor or view. The method returns true if the given TopComponent is opened and is docked into an editor-type Mode.
It is safe to call this method outside the event dispatch thread.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="openAtTabPosition">Added methods for opening TopComponent at specified position</a>
</h3>
<em>Apr 6 '07; API spec. version: 6.15; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=94604">
#94604</a></em>
<br>
Added method <a href="org/openide/windows/TopComponent.html#openAtTabPosition-int-" shape="rect">TopComponent.openAtTabPosition(int)</a>
for opening and inserting top component at specified position. For retrieving current position,
method <a href="org/openide/windows/TopComponent.html#getTabPosition--" shape="rect">TopComponent.getTabPosition()</a>
was added.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="netbeans.windows">Removal of netbeans.windows=sdi and netbeans.windows=mdi cmnd line option.</a>
</h3>
<em>Mar 6 '07; API spec. version: 6.14; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=81330">
#81330</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=50352">
#50352</a></em>
<br>
Command line option netbeans.windows=(mdi,sdi) used for starting the system
either in sdi or mdi mode, was deleted. Support for sdi was dropped and
replaced by floating windows support. System will now always start in mdi mode.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="isEditorTopComponent">Added a method to check the type of a TopComponent - 'editor' or 'view'</a>
</h3>
<em>Feb 22 '07; API spec. version: 6.13; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=96338">
#96338</a></em>
<br>
Added method isEditorTopComponent( TopComponent tc) to WindowManager that returns true if there is a Mode that
the TopComponent will be/is docked to and the Mode is of 'editor' kind (i.e. holds editor windows).
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="generics">Generics</a>
</h3>
<em>Nov 23 '06; API spec. version: 6.12; made by: saubrecht</em>
<br>
Source level has been upgraded to 1.5 and all API use generics now.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="maximizedMode">Enhanced logic for maximized mode</a>
</h3>
<em>Nov 10 '06; API spec. version: 6.11; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=73766">
#73766</a></em>
<br>
When switching an editor TopComponent to maximized mode other components slide out while
some components (e.g. palette) stay docked. It's also possible to maximize
slided-in windows. Full description in http://ui.netbeans.org/docs/ui/fullscreen/fullscreen.html
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="slideInSize">Slided-in windows remember their size</a>
</h3>
<em>Oct 17 '06; API spec. version: 6.10; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=87143">
#87143</a></em>
<br>
Each TopComponent in a sliding mode (left/right/bottom) can now have a different width/height when slided-in. These user defined sizes are
stored in sliding mode's properties.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="tcOpenedClosed">New constants PROP_TC_OPENED and PROP_TC_CLOSED in TopComponent.Registry</a>
</h3>
<em>Oct 12 '06; API spec. version: 6.9; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=87009">
#87009</a></em>
<br>
New constants PROP_TC_OPENED and PROP_TC_CLOSED was added to the
<a href="org/openide/windows/TopComponent.Registry.html#PROP_TC_OPENED" shape="rect">TopComponent.Registry</a>.
When any instance of TopComponent is opened through its open() method,
either by user or programmatically, property change event PROP_TC_OPENED
is fired. Similarly, when TopComponent is closed by close() method,
PROP_TC_CLOSED is fired. So clients listening to property changes of
TopComponent.Registry can track opened and closed TopComponents easily.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="invokeWhenUIReady">New method to invoke code after main window is shown</a>
</h3>
<em>Aug 23 '06; API spec. version: 6.8; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=65431">
#65431</a></em>
<br>
New method <a href="org/openide/windows/WindowManager.html#invokeWhenUIReady-java.lang.Runnable-" shape="rect">WindowManager.invokeWhenUIReady</a>
has been added that can be used to execute a code
that is supposed to run after main window is shown.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="ExternalDragAndDrop.windows">Added <code>ExternalDropHandler</code> abstract class.</a>
</h3>
<em>May 30 '06; API spec. version: 6.7; affected top-level classes: <a href="./org/openide/windows/ExternalDropHandler.html"><code>ExternalDropHandler</code></a>; made by: saubrecht; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=50129">
#50129</a></em>
<br>
When a file(s) or other objects are dragged over the editor aread of the IDE,
the window system will use the global <code>Lookup</code> to get an
instance of <code>ExternalDropHandler</code> class. If such an instance
is available then it will be used to check whether the drop can be accepted
(methods <code>canDrop</code>) and eventually to handle the dropped
object(s) as well - method <code>handleDrop</code> - for example open
dropped files in editor.
<br>
Note that some IDE components may have their own <code>DropTargetListener</code>s
(for example Projects view or Files view) therefore the <code>ExternalDropHandler</code>
will not be used when dragging over these components.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="TopComponent-getHtmlDisplayName">Added the <code>TopComponent.getHtmlDisplayName</code>,
<code>TopComponent.setHtmlDisplayName</code> and
<code>WindowManager.topComponentHtmlDisplayNameChanged</code> methods.</a>
</h3>
<em>Oct 31 '05; API spec. version: 6.4; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=66777">
#66777</a></em>
<br>
The <code>TopComponent.getHtmlDisplayName</code> and <code>TopComponent.setHtmlDisplayName</code>
methods was added to allow <code>TopComponent</code>s to have display
name that contains html tags differentiated from regular display name.
Regular display name should be used for tasks like alphabetical sorting
while html display name is used for labels and titles that support html,
like editor tabs. <code>WindowManager.topComponentHtmlDisplayNameChanged</code>
was also added to let window system implementation know about html
display name change.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="TopComponent.toFront">Added the <code>TopComponent</code> ability to bring their parent
<code>Window</code> to front of other windows.</a>
</h3>
<em>Mar 21 '05; API spec. version: 5.8; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=56277">
#56277</a></em>
<br>
The <code>TopComponent</code> class has a new method <code>toFront()</code>
that attempts to bring the parent <code>Window</code> of the TopComponent to
front of other top-level windows.
The method is implemented in the <code>WindowManager</code> class
using AWT's <code>java.awt.Window#toFront()</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="TC-requestAttention">TopComponent can request attention</a>
</h3>
<em>Nov 17 '04; API spec. version: 5.1; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a> <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: mkleint; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=48811">
#48811</a></em>
<br>
<p>
<code>TopComponent.requestAttention(boolean)</code> and <code>TopComponent.cancelRequestAttention</code>
added to allow components to signal that they require user's attention or the attention is no longer required.
It's up to the current TopComponent container to decide how to attract user's attention.
If the user activates the attention-requiring component, the container assumes the goal was achieved and the action is cancelled.
The methods are thread-safe.
</p>
<p>
For those implementing WindowManager class, there is an incompatible change where
abstract methods <code>topComponentCancelRequestAttention(TopComponent)</code> and
<code>topComponentRequestAttention(TopComponent)</code> were added.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-38475">Allow association of Lookup with TopComponent later than
in constructor.
</a>
</h3>
<em>Jan 20 '04; API spec. version: 4.23; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=38475">
#38475</a></em>
<br>
Adding <code>TopComponent.associateLookup</code> to allow
late (in middle of constructor) association of Lookup with
component. This is especially useful in
<code>org.openide.explorer.ExplorerUtils</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-36916">Method TopComponent.getPersistenceType() is added to replace usage of client property
PersistenceType.
</a>
</h3>
<em>Jan 7 '04; API spec. version: 4.20; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: mslama; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=36916">
#36916</a></em>
<br>
Method to get TopComponent persistence type is added to API.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-38185">New constructor for better delegation</a>
</h3>
<em>Dec 27 '03; API spec. version: 4.19; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=38185">
#38185</a></em>
<br>
Easier way for <code>TopComponent</code>s to provide
their own Lookup and still maintain their contract with
<code>getActivatedNodes</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-37199">Added method findTopComponent(String tcID) to WindowManager</a>
</h3>
<em>Nov 25 '03; API spec. version: 4.15; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: mslama; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=37199">
#37199</a></em>
<br>
This method is necessary to be able to retrieve TopComponent instance using unique TopComponent ID.
Important mainly to access persistent singleton TopComponent instances.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-29836">New Window System implementation</a>
</h3>
<em>Nov 12 '03; API spec. version: 4.13; affected top-level classes: <a href="./org/openide/windows/CloneableTopComponent.html"><code>CloneableTopComponent</code></a> <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/TopComponentGroup.html"><code>TopComponentGroup</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a> <a href="./org/openide/windows/Workspace.html"><code>Workspace</code></a>; made by: pzavadsky; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=29836">
#29836</a></em>
<br>
Provided implementation of new window system. It is a new major version of module core/windows.
There also open API affected. There were added some new APIs, some older were deprecated
and also some older APIs have adjusted their semantics. Look at the
<a href="http://core.netbeans.org/windowsystem/changes.html" shape="rect">changes document</a>
which has the detailed information.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="TopComponent-DataObject">Removal of TopComponent(DataObject) constructor</a>
</h3>
<em>Apr 2 '03; API spec. version: 4.3; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/CloneableTopComponent.html"><code>CloneableTopComponent</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=32143">
#32143</a></em>
<br>
Due to separation of openide-loaders.jar the <code>TopComponent (DataObject)</code>
and <code>CloneableTopComponent (DataObject)</code>
constructors have been removed. Instead of using the old behavior
<pre xml:space="preserve">
new TopComponent (dataObject);
</pre>
please change the code to use <code>TopComponent.NodeName</code>:
<pre xml:space="preserve">
tc = new TopComponent ();
NodeName.connect (tc, dataObject.getNodeDelegate ());
</pre>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-25824">CloneableTopComponent.Ref.getArbitraryComponent method added</a>
</h3>
<em>Feb 27 '03; API spec. version: 3.41; affected top-level classes: <a href="./org/openide/windows/CloneableTopComponent.html"><code>CloneableTopComponent</code></a>; made by: pzavadsky; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=25824">
#25824</a></em>
<br>
The method <code>getAnyComponent</code> in <code>CloneableTopComponent.Ref</code>
class uses <code>NoSuchElementException</code> as a mean indicating there is no
component. Moreover the exception is runtime one (unchecked).
It forces clients to use try-catch blocks, which doesn't follow
rule, which says there shouldn't be used exception for controlling program flow.
It is replaced by method <code>getArbitraryComponent</code> which returns
<code>null</code> instead of throwing an exception.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-28466">New property "WizardPanel_errorMessage" for WizardDescriptor has been added</a>
</h3>
<em>Feb 20 '03; API spec. version: 3.39; affected top-level classes: <code>org.openide.WizardDescriptor</code>; made by: dkonecny; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=28466">
#28466</a></em>
<br>
New property with name "WizardPanel_errorMessage" was added to WizardDescriptor class.
It is String property and can contain description why the wizard panel is invalid. Non-null
value of this property is automatically displayed at the bottom of the wizard panel.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-25268">Add new DTD 1.2 for wsmode configuration file</a>
</h3>
<em>Jul 1 '02; made by: mslama; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=25268">
#25268</a></em>
<br> Current frame state is now stored. Added attribute for restored frame state,
valid only when frame state is maximized. (Restored frame state is state of frame when
frame is not maximized, it can be normal or iconified.)
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-24451">Add new DTD 1.1 for window manager configuration file</a>
</h3>
<em>Jun 14 '02; made by: mslama; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=24451">
#24451</a></em>
<br> Support for positioning main windom in MDI mode during first
user start.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-21618">TopComponent shown state notification methods added to Winsys API</a>
</h3>
<em>May 10 '02; API spec. version: 2.18; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: pzavadsky; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=21618">
#21618</a></em>
<br>
Four new methods has been added to Winsys API, i.e. <code>TopComponent</code>:
protected void componentShowing(), protected void componentHidded(),
protected void componentOpened(), protected void componentClose().
The last two replaces deprecated protected void openNotify()
and protected void closeNotify() methods.
Two methods were added also to <code>WindowManager</code> to handle the
notifiction via its subclasses:
protected void componentShowing(TopComponent)
and protected void componentHidden(TopComponent).
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-20153">Add List TopComponent.availableModes(List modes) method</a>
</h3>
<em>Apr 23 '02; API spec. version: 2.14; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a>; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=20153">
#20153</a></em>
<br> Method availableModes(...) added to TopComponent to allow
TopComponent to specify where can be docked.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-20942">Add WindowManager.getDefault() method</a>
</h3>
<em>Mar 21 '02; API spec. version: 2.10; affected top-level classes: <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a>; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=20942">
#20942</a></em>
<br> Method WindowManager.getDefault() added to loose coupling between Topmanager and winsys.
Old method TopManager.getWindowManager() was deprecated.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-19072">Add new DTD 1.1 for workspace configuration file</a>
</h3>
<em>Jan 6 '02; made by: dsimonek; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=19072">
#19072</a></em>
<br> Added element for maximized desktop in MDI mode.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="4.066026477191475E15">Make a top component visible without focus change</a>
</h3>
<em>Jul 27 '01; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a></em>
<br>
Added method to make component visible without change of focus or frames
z-order. If it is not possible to make component visible without change of
focus it works in the same way as requestFocus(). New methods:
<ul>
<li>
<code>public void TopComponent.requestVisible()</code>
</li>
<li>
<code>public void WindowManager.Component.requestVisible()</code>
</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="8.8024753288542E13">OK button in notify dialog can be turned off</a>
</h3>
<em>Apr 11 '01; affected top-level classes: <code>org.openide.NotifyDescriptor</code></em>
<br>
Added methods <code>isValid</code> and <code>setValid</code>, added
property name String constant <code>PROP_VALID</code>. It can be used to
change validity (enable/disable) of standard OK button in dialog.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="4.53917081804919E14">Open and close notification for top components</a>
</h3>
<em>Mar 7 '01; affected top-level classes: <a href="./org/openide/windows/TopComponent.html"><code>TopComponent</code></a> <a href="./org/openide/windows/WindowManager.html"><code>WindowManager</code></a></em>
<br>
Added open and close notification for top components. New methods:
<ul>
<li>
<code>protected void TopComponent.openNotify()</code>
</li>
<li>
<code>protected void TopComponent.closeNotify()</code>
</li>
<li>
<code>protected void WindowManager.componentOpenNotify(TopComponent tc)</code>
</li>
<li>
<code>protected void WindowManager.componentCloseNotify(TopComponent tc)</code>
</li>
</ul>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="2.287262190947E12">Wizard panels can refuse to go forward</a>
</h3>
<em>Jan 15 '01; affected top-level classes: <code>org.openide.WizardDescriptor</code></em>
<br>
<code>WizardDescriptor.Panel.readSettings</code> can throw
<code>IllegalStateException</code>. This can be used to indicate that data
provided by the previous panels are not OK and that the panel wants the
wizard to go back one panel.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="8.585311501689936E27">Both Swing client properties and descriptor properties checked for wizard steps/image/help</a>
</h3>
<em>Jan 9 '01; affected top-level classes: <code>org.openide.WizardDescriptor</code></em>
<br>
Added new functionality without API change. Wizard descriptor creates
wizard panel with list of steps/image/help on the left depending on the
properties supplied by
<code>((JComponent)WizardDescriptor.current().getComponent()).putClientProperty()</code>
or <code>WizardDescriptor.putProperty()</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="3720412">Several members of <code>InputOutput</code> removed</a>
</h3>
<em>Jun 16 '00; affected top-level classes: <code>org.openide.windows.InputOutput</code></em>
<br>
Several members of this interface were technically public before and are
now deprecated:
<ul>
<li>
<code>InputOutput.Null</code>
</li>
<li>
<code>InputOutput.NullOutputWriter</code>
</li>
<li>
<code>InputOutput.nullReader</code>
</li>
<li>
<code>InputOutput.nullWriter</code>
</li>
</ul>
In fact they were meant to be package-private and were only public due to
a quirk of Java's syntax (default modifier inside interfaces is public).
<br>
<strong>Compatibility: </strong>
First broken, later re-added but deprecated in trunk and
<code>boston</code>. Any code referring to these members is erroneous and
must be rewritten. The only useful related member, the
<code>InputOutput.NULL</code> constant, is still public and accessible.
<hr style="width:50%">
<h2>
<a name="uncategorized-api">Uncategorized changes</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-19443-2">API separation, phase II</a>
</h3>
<em>Nov 1 '02; API spec. version: 3.17; affected top-level classes: <code>org.openide.actions.AbstractCompileAction</code> <code>org.openide.actions.BuildAction</code> <code>org.openide.actions.BuildAllAction</code> <code>org.openide.actions.CleanAction</code> <code>org.openide.actions.CleanAllAction</code> <code>org.openide.actions.CompileAction</code> <code>org.openide.actions.CompileAllAction</code> <code>org.openide.actions.ExecuteAction</code> <code>org.openide.cookies.ArgumentsCookie</code> <code>org.openide.cookies.CompilerCookie</code> <code>org.openide.cookies.ExecCookie</code> <code>org.openide.filesystems.FileUtil</code> <code>org.openide.loaders.CompilerSupport</code> <code>org.openide.loaders.ExecutionSupport</code> <code>org.openide.windows.IOProvider</code> <code>org.openide.windows.InputOutput</code> <code>org.openide.windows.OutputEvent</code> <code>org.openide.windows.OutputListener</code> <code>org.openide.windows.OutputWriter</code>; affected packages: <code>org.openide.compiler</code> <code>org.openide.execution</code>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=19443">
#19443</a></em>
<br>
<p>
Three sections of the Open APIs were split into new autoload modules.
</p>
<ul>
<li>
<p>
The module <code>org.openide.compiler</code> (version 1.0) contains
the Compiler API and some other classes directly related to it.
</p>
</li>
<li>
<p>
The module <code>org.openide.execution</code> (version 1.0) contains
the Execution API and some other classes directly related to it.
</p>
</li>
<li>
<p>
The module <code>org.openide.io</code> (version 1.0) contains
<code>InputOutput</code> and related classes (formerly part of the
Window System API, and still physically in the
<code>org.openide.windows</code> package).
</p>
</li>
</ul>
<p>
New modules wishing to use these APIs must declare regular module
dependencies on them. Future changes in these APIs will be documented
separately.
</p>
<p>
Furthermore, modules wishing to use certain services must
<code>OpenIDE-Module-Require</code> them if appropriate:
</p>
<ul>
<li>
<p>
<code>org.openide.compiler.CompilationEngine</code>, in order to
call <code>CompilationEngine.getDefault()</code>, or safely use
<code>AbstractCompileAction</code> or one of its subclasses, or
call <code>CompilerJob.start()</code>, or use
<code>BeanInfo</code>s for Compiler API classes, etc.
</p>
</li>
<li>
<p>
<code>org.openide.execution.ExecutionEngine</code>, in order to
call <code>ExecutionEngine.getDefault()</code>, or safely use
<code>ExecuteAction</code>, or call
<code>Executor.execute(...)</code>, or use <code>BeanInfo</code>s
for Execution API classes, etc.
</p>
</li>
<li>
<p>
<code>org.openide.windows.IOProvider</code>, in order to call
<code>IOProvider.getDefault()</code>.
</p>
</li>
</ul>
<p>
Other minor changes:
</p>
<ul>
<li>
<p>
Registration of URL stream handler factories using
<code>NbfsStreamHandlerFactory.register(...)</code> is deprecated.
Simply create an instance of <code>URLStreamHandlerFactory</code>
and add it to Lookup instead.
</p>
</li>
<li>
<p>
The method <code>FileUtil.nbfsURLStreamHandler</code> was added,
but is not intended for use by modules.
</p>
</li>
<li>
<p>
All uses of <code>ExecInfo</code> are deprecated as they abuse the
distinction between Filesystems and the user classpath. Use and
override only <code>Executor.execute(DataObject)</code>. Similarly,
<code>ThreadExecutor</code> is deprecated for the time being
because it suffers from similar problems.
</p>
</li>
<li>
<p>
Direct use of <code>NbfsURLConnection</code> is deprecated in favor
of the more general <code>URLMapper</code> from the Filesystems
API.
</p>
</li>
<li>
<p>
Package dependencies on
<code>org.netbeans.lib.terminalemulator</code> must be replaced
with module dependencies on a new autoload module
<code>org.netbeans.lib.terminalemulator</code> (version 1.0).
</p>
</li>
<li>
<p>
Several static convenience methods have been added to
<code>AbstractCompileAction</code>. Of most interest is
<code>prepareJobFor</code>. Module code should no longer assume
that <code>DataFolder</code> has a <code>CompilerCookie</code>
which recursively compiles the folder and subfolders (according to
depth); while it is still true, for reasons of compatibility, new
code should use <code>prepareJobFor</code> to create a compiler job
from a folder.
</p>
</li>
</ul>
<br>
<strong>Compatibility: </strong>
<p>
Module authors using the now-separated APIs will need to adjust their
compilation classpaths to include the new JAR files. Modules wishing to
use recent APIs and declaring a current openide specification version
dependency will need to explicitly declare dependencies on these new
APIs if there are any.
</p>
<p>
For compatibility, modules with no declared Open APIs dependency, or
declared on a version prior to 3.17, will have their dependencies
automatically refined as if to include the declarations:
</p>
<pre xml:space="preserve">
OpenIDE-Module-Module-Dependencies: org.openide.compiler &gt; 1.0,
org.openide.execution &gt; 1.0, org.openide.io &gt; 1.0
OpenIDE-Module-Requires: org.openide.compiler.CompilationEngine,
org.openide.execution.ExecutionEngine, org.openide.windows.IOProvider
</pre>
<p>
And any package dependencies from old modules on
<code>org.netbeans.lib.terminalemulator</code> will be converted to
module dependencies.
</p>
<br>
<em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-19443-1">API separation, phase I</a>
</h3>
<em>Oct 15 '02; API spec. version: 3.14; affected top-level classes: <code>org.openide.DialogDisplayer</code> <code>org.openide.LifecycleManager</code> <code>org.openide.Places</code> <code>org.openide.TopManager</code> <code>org.openide.actions.AddWatchAction</code> <code>org.openide.actions.BuildProjectAction</code> <code>org.openide.actions.CompileProjectAction</code> <code>org.openide.actions.DebugProjectAction</code> <code>org.openide.actions.ExecuteProjectAction</code> <code>org.openide.actions.FinishDebuggerAction</code> <code>org.openide.actions.GoAction</code> <code>org.openide.actions.GoToCursorAction</code> <code>org.openide.actions.HelpAction</code> <code>org.openide.actions.OpenProjectAction</code> <code>org.openide.actions.SaveProjectAction</code> <code>org.openide.actions.StartDebuggerAction</code> <code>org.openide.actions.StepOutAction</code> <code>org.openide.actions.ToggleBreakpointAction</code> <code>org.openide.actions.TraceIntoAction</code> <code>org.openide.actions.TraceOverAction</code> <code>org.openide.awt.HtmlBrowser</code> <code>org.openide.awt.StatusDisplayer</code> <code>org.openide.cookies.DebuggerCookie</code> <code>org.openide.cookies.ElementCookie</code> <code>org.openide.cookies.ProjectCookie</code> <code>org.openide.cookies.SourceCookie</code> <code>org.openide.explorer.propertysheet.editors.ChoicePropertyEditor</code> <code>org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor</code> <code>org.openide.explorer.propertysheet.editors.ElementFormatEditor</code> <code>org.openide.explorer.propertysheet.editors.ExternalCompiler</code> <code>org.openide.explorer.propertysheet.editors.FileEditor</code> <code>org.openide.explorer.propertysheet.editors.FileOnlyEditor</code> <code>org.openide.explorer.propertysheet.editors.IconEditor</code> <code>org.openide.explorer.propertysheet.editors.IdentifierArrayEditor</code> <code>org.openide.explorer.propertysheet.editors.MethodParameterArrayEditor</code> <code>org.openide.explorer.propertysheet.editors.ModifierEditor</code> <code>org.openide.explorer.propertysheet.editors.StringArrayCustomEditor</code> <code>org.openide.explorer.propertysheet.editors.StringArrayCustomizable</code> <code>org.openide.explorer.propertysheet.editors.StringArrayEditor</code> <code>org.openide.explorer.propertysheet.editors.TypeEditor</code> <code>org.openide.loaders.DataObjectFilter</code> <code>org.openide.loaders.ExecSupport</code> <code>org.openide.loaders.ExecutionSupport</code> <code>org.openide.loaders.ExtensionListEditor</code> <code>org.openide.loaders.RepositoryNodeFactory</code> <code>org.openide.modules.IllegalModuleException</code> <code>org.openide.modules.ManifestSection</code> <code>org.openide.modules.ModuleDescription</code> <code>org.openide.nodes.NodeOperation</code> <code>org.openide.options.ControlPanel</code> <code>org.openide.util.actions.ProjectSensitiveAction</code> <code>org.openide.windows.IOProvider</code>; affected packages: <code>org.openide.debugger</code> <code>org.openide.src</code> <code>org.openide.src.nodes</code>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=19443">
#19443</a> <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=20898">
#20898</a></em>
<br>
<p>
Many classes were moved to a separate module,
<samp>openide-deprecated.jar</samp>, not available to modules by
default. Uses of these classes in modules should be cleaned up whenever
possible.
</p>
<p>
Additionally, the entire contents of <code>org.openide.src.*</code> and
<code>org.openide.src.nodes.*</code>, as well as
<code>org.openide.cookies.SourceCookie</code> and some associated
property editors, were moved to a separate module.
</p>
<p>
The most common apparent symptom for module authors will be the absence
of <code>TopManager</code>. Most methods in this class have been
replaced by newer utility classes in a straightforward manner. See the
Upgrade Guide.
</p>
<br>
<strong>Compatibility: </strong>
<p>
The deprecated classes continue to be available in the module
<code>org.openide.deprecated</code> which you may depend on it you
cannot remove uses of the deprecated APIs. In order for
<code>TopManager.getDefault()</code> to work, you must also require the
token <code>org.openide.TopManager</code>, which is provided by an
unspecified module. The deprecated API module and its implementation
module are autoloads, meaning they will not be loaded unless some
module still requires them.
</p>
<p>
Similarly, the Java Hierarchy API was moved to the module
<code>org.openide.src</code> which you should depend on in order to use
this API.
</p>
<p>
For compatibility, the above three dependencies are added to your module
<em>automatically</em> in case it either requests no specific API
version at all, or requests an API version prior to 3.14. Modules
requesting APIs 3.14 or higher must declare these dependencies
explicitly if they in fact need them.
</p>
<br>
<em><a href="http://wiki.netbeans.org/VersioningPolicy#Compatible_change_on_the_trunk">Binary-compatible</a></em>
<hr>
<p><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp; Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p>
</body>
</html>