blob: 3bfc8acead34a3f230d720c28fbf24e8428e14b7 [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Change History for the Actions 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="#actions">Actions API</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></ul>
<h1>
<a name="all-by-date">All changes by date</a>
</h1>
<ul>
<li>(Dec 14 '10) <a href="#issue-192948"><code>SelectionType ANY in SaveAction</code></a>
</li>
<li>(Feb 26 '10) <a href="#issue-180979 "><code>ToolsAction</code> via layers</a>
</li>
<li>(Jun 24 '08) <a href="#issue-135104"><code>HeapView</code> preserves its settings between sessions</a>
</li>
<li>(Mar 23 '05) <a href="#jump-prev-next">A way how to implement "Jump Next" and "Jump Prev" action handlers</a>
</li>
<li>(Mar 18 '03) <a href="#issue-32092">
<code>ActionManager.getDefault()</code> added</a>
</li>
<li>(Feb 27 '03) <a href="#issue-27135">org.openide.actions.InstantiateAction deprecated</a>
</li>
<li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li>
<li>(Oct 6 '00) <a href="#9.4275006529223712E16">Action manager can invoke actions in request processor</a>
</li>
<li>(Mar 23 '00) <a href="#SaveAsTemplateAction.iconResource">
<code>SaveAsTemplateAction.iconResource</code> removed</a>
</li>
<li>(Mar 14 '00) <a href="#ActionManager">
<code>ActionManager</code> added</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.actions &gt; 1.20</pre>
<ul>
<li>
(6.20) <a href="#issue-192948"><code>SelectionType ANY in SaveAction</code></a>
</li>
<li>
(6.15) <a href="#issue-180979 "><code>ToolsAction</code> via layers</a>
</li>
<li>
(6.5) <a href="#issue-135104"><code>HeapView</code> preserves its settings between sessions</a>
</li>
<li>
(5.8) <a href="#jump-prev-next">A way how to implement "Jump Next" and "Jump Prev" action handlers</a>
</li>
<li>
(4.2) <a href="#issue-32092">
<code>ActionManager.getDefault()</code> added</a>
</li>
<li>
(3.42) <a href="#issue-27135">org.openide.actions.InstantiateAction deprecated</a>
</li>
<li>
(3.29) <a href="#issue-27868">New Actions system - part I.</a>
</li>
</ul>
<h1>
<a name="all-by-class">Changes by affected class</a>
</h1>
<h2>
<a name="org.openide.actions.ActionManager"><code><span style="color:gray">org.openide.actions.</span>ActionManager</code></a>
</h2><ul><li>(Mar 18 '03) <a href="#issue-32092">
<code>ActionManager.getDefault()</code> added</a>
</li>
<li>(Oct 6 '00) <a href="#9.4275006529223712E16">Action manager can invoke actions in request processor</a>
</li>
<li>(Mar 14 '00) <a href="#ActionManager">
<code>ActionManager</code> added</a>
</li></ul><h2>
<a name="org.openide.actions.CopyAction"><code><span style="color:gray">org.openide.actions.</span>CopyAction</code></a>
</h2><ul><li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li></ul><h2>
<a name="org.openide.actions.CutAction"><code><span style="color:gray">org.openide.actions.</span>CutAction</code></a>
</h2><ul><li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li></ul><h2>
<a name="org.openide.actions.DeleteAction"><code><span style="color:gray">org.openide.actions.</span>DeleteAction</code></a>
</h2><ul><li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li></ul><h2>
<a name="org.openide.actions.FileSystemAction"><code><span style="color:gray">org.openide.actions.</span>FileSystemAction</code></a>
</h2><ul><li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li></ul><h2>
<a name="org.openide.actions.HeapView"><code><span style="color:gray">org.openide.actions.</span>HeapView</code></a>
</h2><ul><li>(Jun 24 '08) <a href="#issue-135104"><code>HeapView</code> preserves its settings between sessions</a>
</li></ul><h2>
<a name="org.openide.actions.InstantiateAction"><code><span style="color:gray">org.openide.actions.</span>InstantiateAction</code></a>
</h2><ul><li>(Feb 27 '03) <a href="#issue-27135">org.openide.actions.InstantiateAction deprecated</a>
</li></ul><h2>
<a name="org.openide.actions.PasteAction"><code><span style="color:gray">org.openide.actions.</span>PasteAction</code></a>
</h2><ul><li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li></ul><h2>
<a name="org.openide.actions.SaveAction"><code><span style="color:gray">org.openide.actions.</span>SaveAction</code></a>
</h2><ul><li>(Dec 14 '10) <a href="#issue-192948"><code>SelectionType ANY in SaveAction</code></a>
</li></ul><h2>
<a name="org.openide.actions.SaveAsTemplateAction"><code><span style="color:gray">org.openide.actions.</span>SaveAsTemplateAction</code></a>
</h2><ul><li>(Mar 23 '00) <a href="#SaveAsTemplateAction.iconResource">
<code>SaveAsTemplateAction.iconResource</code> removed</a>
</li></ul><h2>
<a name="org.openide.actions.ToolsAction"><code><span style="color:gray">org.openide.actions.</span>ToolsAction</code></a>
</h2><ul><li>(Feb 26 '10) <a href="#issue-180979 "><code>ToolsAction</code> via layers</a>
</li>
<li>(Jan 8 '03) <a href="#issue-27868">New Actions system - part I.</a>
</li>
<li>(Mar 14 '00) <a href="#ActionManager">
<code>ActionManager</code> added</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="actions">Actions API</a>
</h2>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="issue-192948"><code>SelectionType ANY in SaveAction</code></a>
</h3>
<em>Dec 14 '10; API spec. version: 6.20; affected top-level classes: <a href="./org/openide/actions/SaveAction.html"><code>SaveAction</code></a>; made by: krissco; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=192948">
#192948</a></em>
<br>
<code>SaveAction</code> has been modified to allow one or more <code>SaveCookie</code>s
into it's context. The previous behavior was to allow EXACTLY_ONE.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-180979 "><code>ToolsAction</code> via layers</a>
</h3>
<em>Feb 26 '10; API spec. version: 6.15; affected top-level classes: <a href="./org/openide/actions/ToolsAction.html"><code>ToolsAction</code></a>; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=180979 ">
#180979 </a></em>
<br>
Register your actions for <code>ToolsAction</code> via
layer, don't use the deprecated manifest style.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-135104"><code>HeapView</code> preserves its settings between sessions</a>
</h3>
<em>Jun 24 '08; API spec. version: 6.5; affected top-level classes: <code>org.openide.actions.HeapView</code>; made by: rmichalsky; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=135104">
#135104</a></em>
<br>
Settings of <code>showDropShadow</code>, <code>showText</code> and <code>tickStyle</code>
are now preserved between sessions in NBPreferences of the same corresponding names.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="jump-prev-next">A way how to implement "Jump Next" and "Jump Prev" action handlers</a>
</h3>
<em>Mar 23 '05; API spec. version: 5.8; made by: jtulach; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=40185">
#40185</a></em>
<br>
Use
<pre xml:space="preserve">
topComponent.getActionMap().put("jumpPrev", new YourPrevAction());
topComponent.getActionMap().put("jumpNext", new YourNextAction());
</pre>
if your component provides items and you want the user to jump
among them using standard next/prev actions.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-32092">
<code>ActionManager.getDefault()</code> added</a>
</h3>
<em>Mar 18 '03; API spec. version: 4.2; affected top-level classes: <a href="./org/openide/actions/ActionManager.html"><code>ActionManager</code></a>; made by: jglick; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=32092">
#32092</a></em>
<br>
This method should be more convenient than looking for an instance in
lookup. Also there is a simple implementation for standalone use
available.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-27135">org.openide.actions.InstantiateAction deprecated</a>
</h3>
<em>Feb 27 '03; API spec. version: 3.42; affected top-level classes: <code>org.openide.actions.InstantiateAction</code>; made by: dkonecny; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=27135">
#27135</a></em>
<br>
This action was used only as default action on templates. It instantiates the
template when it was double clicked in the Options dialog. This behaviour
was changed and action is not useful anymore. It is deprecated and it usage
should be avoided. Part of the deprecatation was that
org.openide.loadersDataNode.getDefaultAction() does not return this action
on templates anymore.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="issue-27868">New Actions system - part I.</a>
</h3>
<em>Jan 8 '03; API spec. version: 3.29; affected top-level classes: <a href="./org/openide/actions/CutAction.html"><code>CutAction</code></a> <a href="./org/openide/actions/CopyAction.html"><code>CopyAction</code></a> <a href="./org/openide/actions/DeleteAction.html"><code>DeleteAction</code></a> <a href="./org/openide/actions/PasteAction.html"><code>PasteAction</code></a> <code>org.openide.actions.FileSystemAction</code> <a href="./org/openide/actions/ToolsAction.html"><code>ToolsAction</code></a>; made by: jtulach pzavadsky; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=27868">
#27868</a></em>
<br>
<p>
Introduction of new action system, which generally means
move from usage of <code>SystemAction</code> to <code>Action</code> instances.
Look at <a href="http://openide.netbeans.org/proposals/actions/index.html" shape="rect">
general proposal</a>. That document also focuses on declarative actions
usage which is not subject of current change, it will be part of later changes.
</p>
<p>
Current change is described by <a href="http://openide.netbeans.org/proposals/actions/impl.html" shape="rect">
description of already implemented changes</a> which also summarizes
<a href="http://openide.netbeans.org/proposals/actions/impl.html#summaryAPI" shape="rect">
these API changes</a>.
</p>
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! -->
<h3>
<a name="9.4275006529223712E16">Action manager can invoke actions in request processor</a>
</h3>
<em>Oct 6 '00; affected top-level classes: <a href="./org/openide/actions/ActionManager.html"><code>ActionManager</code></a></em>
<br>
Method <code>invokeAction</code> added to the <code>ActionManager</code>.
It allows all actions code to happen in one request processor.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="SaveAsTemplateAction.iconResource">
<code>SaveAsTemplateAction.iconResource</code> removed</a>
</h3>
<em>Mar 23 '00; affected top-level classes: <code>org.openide.actions.SaveAsTemplateAction</code></em>
<br>
<code>iconResource</code> was accidentally a public method; no longer
needed, and deprecated. Technically backwards incompatible, but no one
should have been calling this method as public, as it was protected in the
superclass <code>SystemAction</code>.
<br>
<strong>Compatibility: </strong>
First removed, later re-added but deprecated in trunk and
<code>boston</code>.
<!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3>
<a name="ActionManager">
<code>ActionManager</code> added</a>
</h3>
<em>Mar 14 '00; affected top-level classes: <a href="./org/openide/actions/ActionManager.html"><code>ActionManager</code></a> <a href="./org/openide/actions/ToolsAction.html"><code>ToolsAction</code></a></em>
<br>
Class <code>ActionManager</code> added, along with
<code>TopManager.getActionManager</code>. This class replaces the
functionality of <code>ToolsAction.Model</code> and
<code>ToolsAction.setModel</code> which have been deprecated. No one other
than <code>ToolsAction</code> and the core implementation ought to have
been directly using the model class, and the same applies to the new
action manager.
<br>
<strong>Compatibility: </strong>
<code>ToolsAction</code> model first removed, later re-added but deprecated
in trunk and <code>boston</code>.
<hr>
<p><span class="footnote">Built on September 14 2018.&nbsp;&nbsp;|&nbsp;&nbsp; Copyright &#169; 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p>
</body>
</html>