| <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 > 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 > 1.0, |
| org.openide.execution > 1.0, org.openide.io > 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. | Copyright © 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p> |
| |
| </body> |
| |
| </html> |