<?xml version="1.0" encoding="UTF-8"?>
<!--
The contents of this file are subject to the terms of the Common Development
and Distribution License (the License). You may not use this file except in
compliance with the License.

You can obtain a copy of the License at http://www.netbeans.org/cddl.html
or http://www.netbeans.org/cddl.txt.

When distributing Covered Code, include this CDDL Header Notice in each file
and include the License file at http://www.netbeans.org/cddl.txt.
If applicable, add the following below the CDDL Header, with the fields
enclosed by brackets [] replaced by your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"

The Original Software is NetBeans. The Initial Developer of the Original
Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
Microsystems, Inc. All Rights Reserved.
--><!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd">

<apichanges>
<apidefs>
<apidef name="awt">AWT API</apidef>
</apidefs>
<changes>
    <change id="DynamicMenuContent-added">
      <api name="awt"/>
      <summary>DynamicMenuContent interface added</summary>
      <version major="6" minor="5"/>
      <date day="12" month="6" year="2005"/>
      <author login="mkleint"/>
      <compatibility addition="yes" modification="yes" binary="compatible" source="compatible" semantic="incompatible" deprecation="yes" deletion="no"/>
      <description>
        In order to support MacOSX top menus and to fix problems with deprecated <code>JInlineMenu</code>, this new
        interface was added that allows to handle dynamic content in <a href="@org-openide-util@/org/openide/util/actions/Presenter.Menu.html">Presenter.Menu</a>
 and <a href="@org-openide-util@/org/openide/util/actions/Presenter.Popup.html">Presenter.Popup</a>.
        If the instance returned by Presenter.Menu/Popup is an instance of <a href="@TOP@/org/openide/awt/DynamicMenuContent.html">DynamicMenuContent</a>, it's methods are
        consulted when creating/updating the menu.
        <code>JInlineMenu</code> rewritten to use this new approach in a backward compatible way, however changed during visibility of the menu are not supported.
        <code>JMenuPlus</code> and <code>JPopupMenuPlus</code> are deprecated and behave exactly like their standard Swing counterparts.
        <code>Actions.Submenu</code> and <code>Actions.MenuItem</code> now implement <code>DynamicMenuContent</code> interface.
      </description>
      <class package="org.openide.awt" name="DynamicMenuContent"/>
      <class package="org.openide.awt" name="JInlineMenu"/>
      <class package="org.openide.awt" name="JMenuPlus"/>
      <class package="org.openide.awt" name="JPopupMenuPlus"/>
      <class package="org.openide.awt" name="Actions"/>
      <issue number="35827"/>
    </change>    
    
    <change id="statuslineelementprovider-added">
        <api name="awt"/>
        <summary>Make IDE's status bar pluggable.</summary>
        <version major="6" minor="4"/>
        <date day="4" month="5" year="2005"/>
        <author login="mkleint"/>
        <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
        <description>
        By registering org.openide.awt.StatusLineElementProvider in the default lookup (META-INF/servides)
        one can provide a custom component that will be incorporated into the IDE's statusbar.
        The exact location of your component is determined by the ordering of the providers.
        </description>
        <class package="org.openide.awt" name="StatusLineElementProvider"/>
        <issue number="55828"/>
    </change>

    <change id="actions-with-custom-tooltip-have-shortcuts-in-toolbar">
        <api name="awt"/>
        <summary>Actions with custom tooltip have tooltip with shortcut in toolbars</summary>
        <version major="6" minor="3"/>
        <date day="29" month="4" year="2005"/>
        <author login="jlahoda"/>
        <compatibility semantic="incompatible"/>
        <description>
            If an action specifies a tooltip, the tooltip of the corresponding toolbar button is augmented
            with shortcut in the same way as when the action does not specify tooltip.
        </description>
        <issue number="57974"/>
    </change>
    
    <change>
      <api name="awt"/>
      <summary>HTML browser factory deprecated, use lookup instead</summary>
      <date day="8" month="3" year="2001"/>
      <compatibility modification="yes" deprecation="yes" binary="compatible" source="compatible" semantic="compatible" addition="no" deletion="no"/>
      <description>
        <code>HtmlBrower.setFactory()</code> is deprecated and its functionality
        can be obtained by registering <code>HtmlBrowser.Impl</code> in Lookup
        folder. This allows to register more browsers in IDE, create
        customizable browsers and switch between them.
      </description>
      <class package="org.openide.awt" name="HtmlBrowser"/>
    </change>
   <change>
      <api name="awt"/>
      <summary>Display names for toolbars</summary>
      <date day="8" month="12" year="2000"/>
      <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
      <description>
        Added display name support for Toolbar class. New constructors and methods:
        <ul>
          <li>
    <code>Toolbar(String name, String displayName)</code>
    </li>
              <li>
    <code>Toolbar(String name, String displayName, boolean floatable)</code>
    </li>
              <li>
    <code>setDisplayName(String displayName)</code>
    </li>
              <li>
    <code>String getDisplayName()</code>
    </li>
            </ul>
      </description>
      <class package="org.openide.awt" name="Toolbar" link="no"/>
    </change>
    <change>
      <api name="awt"/>
      <summary>Cleaned up accidentally public members of <code>Toolbar</code>
      </summary>
      <date day="19" month="4" year="2000"/>
      <compatibility deletion="yes" source="incompatible" binary="compatible" semantic="compatible" deprecation="no" addition="no" modification="no">
        First broken, later restored binary compatibility in trunk and
        <code>boston</code>. It is possible but unlikely that the first two
        changes could cause incompatibilities; normally only the core
        implementation uses the <code>Toolbar</code> class anyway.
      </compatibility>
      <description>
        Several public fields removed from <code>DnDEvent</code>
        (<code>dx</code>, <code>dy</code>, <code>name</code>, and
        <code>type</code>); public methods serving only to implement
        <code>MouseInputListener</code> have been removed (as well as the
        implements-clause for this interface); <code>BASIC_HEIGHT</code> now
        final (it was static and only intended as a constant, so this is not
        incompatible).
      </description>
      <class package="org.openide.awt" name="Toolbar" link="no"/>
    </change>
    <change id="HtmlBrowser.getBrowserImpl-getBrowserComponent">
      <api name="awt"/>
      <summary>Added methods to <code>HtmlBrowser</code>
      </summary>
      <version major="4" minor="27"/>
      <date day="7" month="5" year="2004"/>
      <author login="jglick"/>
      <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
      <description>
        <p>
          The methods <code>getBrowserImpl</code> and
          <code>getBrowserComponent</code> were added to <code>HtmlBrowser</code>
          for use by core.
        </p>
      </description>
      <class package="org.openide.awt" name="HtmlBrowser"/>
    </change>
    <change id="ToolbarPool-create-new">
      <api name="awt"/>
      <summary>Create your own toolbar pool</summary>
      <version major="1" minor="5"/>
      <date day="27" month="4" year="2001"/>
      <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
      <description>
        New constructor of <code>ToolbarPool</code>. Now any module can create its
        own <code>ToolbarPool</code> and use it.
      </description>
      <class package="org.openide.awt" name="ToolbarPool" link="no"/>
    </change>
    <change id="Mnemonics">
      <api name="awt"/>
      <summary>
        <code>org.openide.awt.Mnemonics</code> added</summary>
      <version major="3" minor="37"/>
      <date day="10" month="2" year="2003"/>
      <author login="jglick"/>
      <compatibility deprecation="yes" addition="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
      <description>
        The class <code>org.openide.awt.Mnemonics</code> was introduced as a
        centralized and convenient place to set localized text for a variety of
        components while properly handling mnemonics in a variety of
        international scripts.
      </description>
      <class package="org.openide.awt" name="Mnemonics"/>
      <class package="org.openide.awt" name="Actions"/>
      <issue number="26640"/>
    </change>
    <change>
      <api name="awt"/>
      <summary>Can request to use textual icons for actions</summary>
      <date day="23" month="3" year="2000"/>
      <author login="jglick"/>
      <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
      <description>
        <code>ButtonBridge</code> has protected method with which it is possible
        to specify whether or not to use textual icons rather than empty ones if
        an action has no icon.
      </description>
      <class package="org.openide.awt" name="Actions"/>
    </change>
    <change id="no-icon-in-menu-for-actions">
      <api name="awt"/>
      <summary>Added property to <code>SystemAction/Action</code> that causes it's icon not to be displayed in menu.</summary>
      <version major="4" minor="49"/>
      <date day="12" month="10" year="2004"/>
      <author login="mkleint"/>
      <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
      <description>
        <p>
          <code>SystemAction putValue("noIconInMenu", Boolean.TRUE)</code> influences the display of the action
          in the main menu, the item will have no icon there. Works for Actions that don't define custom MenuPresenter.
          This property is considered temporary, applications building on top of the platform that 
          don't want this functionality, have to patch the actions' code.
        </p>
      </description>
      <class package="org.openide.awt" name="awt" link="no"/>
    </change>
<change>
     <api name="awt"/>
     <summary>Allow asynchronous execution of actions</summary>
     <version major="4" minor="26"/>
     <date day="17" month="2" year="2004"/>
     <author login="jtulach"/>
     <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
     <description>
     Support for asynchronous execution of actions has been re-added. Right now
     all <code>CallableSystemAction</code> that return <code>true</code>
     from their <code>asynchronous</code> method are executed outside of AWT thread.
     However as most actions shall be executed synchronously, it is still required
     for a subclass of <code>CallableSystemAction</code> to override the method
     with own implementation otherwise a warning is printed.
     <p>
     There is a special contract to allow asynchronous actions to be executed 
     synchronously, by using special <code>ActionEvent</code> with <q>waitFinished</q>
     as action command.
     </p>
     </description>
     <class package="org.openide.util.actions" name="CallableSystemAction" link="no"/>
     <issue number="39640"/>
    </change>
     <change>
      <api name="awt"/>
      <summary>Lightweight HTML rendering methods</summary>
      <version major="4" minor="32"/>
      <date day="3" month="5" year="2004"/>
      <author login="tboudreau"/>
      <compatibility addition="yes" deprecation="no" />
      <description>
      A lightweight HTML renderer which can render a limited subset of
      HTML has been added to the APIs, and will be used in Explorer.
      Nodes wishing to provide text rendered in HTML may do so by
      returning subset-compliant HTML formatted text from the new
      method <code>getHtmlDisplayName</code>.  An interface,
      <code>HTMLStatus</code> has been created which extends 
      <code>FileSystem.Status</code>, has been created, which allows
      filesystems to supply HTML formatted status information, by
      implementing it on their <code>FileSystem.Status</code> implementation.
      Filesystems which delegate to other filesystems my implement 
      FileSystem.HtmlStatus and simply return null for filesystems which
      do not support it.
      If one is present, DataNode will use it to supply HTML formatted
      text to Explorer.  The renderer itself can be found in 
      org.openide.awt.HtmlRenderer.
      </description>
      <class package="org.openide.filesystems.FileSystem" name="HtmlStatus" link="no"/>
      <class package="org.openide.nodes" name="Node" link="no"/>
      <class package="org.openide.awt" name="HtmlRenderer"/>
      <class package="org.openide.loaders" name="DataNode" link="no"/>
      <issue number="29466"/>
     </change>
<change>
        <api name="awt"/>
        <summary>Support for pressed, disabled and rollover icons added to SystemAction and Actions</summary>
        <version major="4" minor="22"/>
        <date day="8" month="1" year="2004"/>
        <author login="dstrupl"/>
        <compatibility addition="yes" binary="compatible" source="compatible" semantic="compatible" deprecation="no" deletion="no" modification="no"/>
        <description>
            Method SystemAction.getValue() was modified to support one additional special parameter: "iconBase".
            If a value with this key is required the method calls into SystemAction.iconResource. Class
            org.openide.awt.Actions uses value of "iconBase" to fetch the icons. The "iconBase" parameter is
            used not only when connecting SystemAction but for all javax.swing.Action instances. The value of
            "iconBase" is a path to the icon resources without the trailing .gif. The code in Actions adds
            .gif, _pressed.gif, _disabled.gif and _rollover.gif suffices to the iconBase.
        </description>
        <class package="org.openide.util.actions" name="SystemAction" link="no"/>
        <class package="org.openide.awt" name="awt" link="no"/>
        <issue number="32256"/>
    </change>
<change>
        <api name="awt"/>
        <summary>New Actions system - part I.</summary>
        <version major="3" minor="32"/>
        <date day="21" month="1" year="2003"/>
        <author login="pzavadsky"/>
        <compatibility deprecation="yes" addition="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no" modification="no"/>
        <description>
            <p>
            According to changes in action system (see the change 3.29),
            also the method <code>TopComponent.getSystemActions()</code> 
            is replaced by <code>TopComponent.getActions()</code> method.
            </p>
        </description>
        <class package="org.openide.windows" name="TopComponent" link="no"/>
        <issue number="30231"/>
    </change>
<change>
        <api name="awt"/>
        <summary>New Actions system - part I.</summary>
        <version major="3" minor="29"/>
        <date day="8" month="1" year="2003"/>
        <author login="jtulach"/>
        <author login="pzavadsky"/>
        <compatibility deprecation="yes" addition="yes" modification="yes" binary="compatible" source="compatible" semantic="compatible" deletion="no"/>
        <description>
            <p>
            Introduction of new action system, which generally means
            move from usage of <code>SystemAction</code> to <code>Action</code> instances.
            Further step would be declarative actions
            usage which is not subject of current change, it will be part of later changes.
            </p>
        </description>
        <class package="org.openide.awt" name="awt" link="no"/>
        <issue number="27868"/>
    </change>
</changes>
<htmlcontents>
<head>
<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">Overview</a>
</p>
<h1>Introduction</h1>
<h2>What do the Dates Mean?</h2>
<p>The supplied dates indicate when the API change was made, on the CVS
trunk. From this you can generally tell whether the change should be
present in a given build or not; for trunk builds, simply whether it
was made before or after the change; for builds on a stabilization
branch, whether the branch was made before or after the given date. In
some cases corresponding API changes have been made both in the trunk
and in an in-progress stabilization branch, if they were needed for a
bug fix; this ought to be marked in this list.</p>
<ul>
<li>The <code>release41</code> branch was made on Apr 03 '05 for use in the NetBeans 4.1 release.
Specification versions: 6.0 begins after this point.</li>
<li>The <code>release40</code> branch was made on Nov 01 '04 for use in the NetBeans 4.0 release.
Specification versions: 5.0 begins after this point.</li>
</ul>
<hr/>
<standard-changelists module-code-name="org.openide.actions"/>
<hr/>
<p>@FOOTER@</p>
</body>
</htmlcontents>
</apichanges>
