<?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.
-->
<?xml-stylesheet type="text/xml" href="../../nbbuild/javadoctools/apichanges.xsl"?>
<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd">

<!--

INFO FOR PEOPLE ADDING CHANGES:

Check the DTD (apichanges.dtd) for details on the syntax. You do not
need to regenerate the HTML, as this is part of Javadoc generation; just
change the XML. Rough syntax of a change (several parts optional):

<change>
    <api name="compiler"/>
    <summary>Some brief description here, can use <b>XHTML</b></summary>
    <version major="1" minor="99"/>
    <date day="13" month="6" year="2001"/>
    <author login="jrhacker"/>
    <compatibility addition="yes"/>
    <description>
        The main description of the change here.
        Again can use full <b>XHTML</b> as needed.
    </description>
    <class package="org.openide.compiler" name="DoWhatIWantCompiler"/>
    <issue number="14309"/>
</change>

Also permitted elements: <package>, <branch>. <version> is API spec
version, recommended for all new changes. <compatibility> should say
if things were added/modified/deprecated/etc. and give all information
related to upgrading old code. List affected top-level classes and
link to issue numbers if applicable. See the DTD for more details.

Changes need not be in any particular order, they are sorted in various
ways by the stylesheet anyway.

Dates are assumed to mean "on the trunk". If you *also* make the same
change on a stabilization branch, use the <branch> tag to indicate this
and explain why the change was made on a branch in the <description>.

Please only change this file on the trunk! Rather: you can change it
on branches if you want, but these changes will be ignored; only the
trunk version of this file is important.

Deprecations do not count as incompatible, assuming that code using the
deprecated calls continues to see their documented behavior. But do
specify deprecation="yes" in <compatibility>.

This file is not a replacement for Javadoc: it is intended to list changes,
not describe the complete current behavior, for which ordinary documentation
is the proper place.

-->

<apichanges>

    <!-- First, a list of API names you may use: -->
    <apidefs>
        <apidef name="general">Project UI API</apidef>
        <!-- etc. -->
    </apidefs>

    <!-- ACTUAL CHANGES BEGIN HERE: -->

    <changes>
        <change id="PROPERTY_MAIN_PROJECT">
            <api name="general"/>
            <summary>Added OpenProjects.PROPERTY_MAIN_PROJECT property</summary>
            <version major="1" minor="13" subminor="23"/>
            <date day="16" month="10" year="2006"/>
            <author login="mkleint"/>
            <compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" modification="yes" semantic="compatible" source="compatible">
            </compatibility>
            <description>
                Added <code>OpenProjects.PROPERTY_MAIN_PROJECT</code> property and firing changes in main project property value
                to listeners attached to OpenProjects.
            </description>
             <class package="org.netbeans.api.project.ui" name="OpenProjects"/>
            <issue number="64491"/>
        </change>
        <change id="getSetMainProject">
            <api name="general"/>
            <summary>Ability to get and set main project</summary>
            <version major="1" minor="11"/>
            <date day="26" month="8" year="2005"/>
            <author login="jlahoda"/>
            <compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" modification="no" semantic="compatible" source="compatible">
            </compatibility>
            <description>
                Added <code>getMainProject</code> and <code>setMainProject</code> methods to OpenProjects.
            </description>
            <issue number="58461"/>
        </change>
        
        <change id="delete-copy-move-support">
            <api name="general"/>
            <summary>Project Delete/Copy/Rename/Move Support Added, Support for Default Project Delete/Copy/Rename/Move Added</summary>
            <version major="1" minor="10"/>
            <date day="22" month="8" year="2005"/>
            <author login="jlahoda"/>
            <compatibility addition="yes" />
            <description>
                Introduced:
                <ul>
                    <li><code>CommonProjectActions.deleteProjectAction</code>, <code>CommonProjectActions.copyProjectAction</code>,
                        <code>CommonProjectActions.moveProjectAction</code>, <code>CommonProjectActions.removeProjectAction</code> methods.</li>
                    <li><code>DefaultProjectOperations</code> support to simplify implementation of project delete/copy/rename/move for simple projects.</li>
                </ul>
            </description>
            <issue number="61546" />
        </change>
        
        <change id="ProjectCustomizer.Category.errorMessage">
            <api name="general"/>
            <summary>Added ability to set an error message for project customizer's categories.</summary>
            <version major="1" minor="9"/>
            <date day="28" month="7" year="2005"/>
            <author login="mkrauskopf"/>
            <compatibility addition="yes"/>
            <description>
                <p>
                    Added <code>ProjectCustomizer.Category.setErrorMessage</code> and
                    <code>ProjectCustomizer.Category.getErrorMessage</code>
                    methods. With those methods client can set an error message
                    for individual categories.
                    Also the default implementation of a customizer dialog uses
                    these methods for showing a message on the bottom of
                    category views and to mark category nodes for invalid
                    categories (similar to the error message in wizards).
                </p>
            </description>
            <class package="org.netbeans.spi.project.ui.support" name="ProjectCustomizer"/>
            <issue number="61036"/>
        </change>
    
        <change id="ProjectCustomizer.Category.valid">
            <api name="general"/>
            <summary>Added ability to set whether a project customizer's categories are valid.</summary>
            <version major="1" minor="9"/>
            <date day="28" month="7" year="2005"/>
            <author login="mkrauskopf"/>
            <compatibility addition="yes"/>
            <description>
                <p>
                    Added <code>ProjectCustomizer.Category.setValid</code> and
                    <code>ProjectCustomizer.Category.isValid</code> methods.
                    With those methods client can affect whether the OK button
                    of the Customizer dialog is enabled.
                </p>
            </description>
            <class package="org.netbeans.spi.project.ui.support" name="ProjectCustomizer"/>
            <issue number="58457"/>
        </change>
    
        <change id="ProjectActions">
            <api name="general"/>
            <summary>Ability to extend project context menus</summary>
            <version major="1" minor="7"/>
            <date day="5" month="5" year="2005"/>
            <author login="pkuzel"/>
            <compatibility addition="yes" semantic="incompatible">
                <p>
                    Existing project types need to add support for the new folder
                    in order to comply with the guideline.
                </p>
            </compatibility>
            <description>
                Defined a folder <code>Projects/Actions/</code> which may hold
                actions to be added to the context menu of any project type.
            </description>
            <issue number="57874"/>
        </change>

        <change id="CommonProjectActions.EXISTING_SOURCES_FOLDER">
            <api name="general"/>
            <summary>New Project Wizard Action</summary>
            <version major="1" minor="3"/>
            <date day="17" month="5" year="2005"/>
            <author login="pkuzel"/>
            <compatibility source="compatible"/>
            <description>            
                Introduced:
                <ul>
                    <li><code>CommonProjectActions.newProjectAction</code> method</li>
                    <li><code>CommonProjectActions.EXISTING_SOURCES_FOLDER</code> property</li>
                    <li><code>Templates.getExistingSourcesFolder</code> method</li>
                </ul>                
            </description>
            <class package="org.netbeans.spi.project.ui.support" name="CommonProjectActions"/>
            <class package="org.netbeans.spi.project.ui.templates.support" name="Templates"/>
            <issue number="58489" />            
        </change>
            
        <change id="ProjectOpenedHook.fire-to-all">
            <api name="general"/>
            <summary>The <code>projectOpened</code> and <code>projectClosed</code> methods are called on
                     all <code>ProjectOpenedHook</code> instances in the lookup.
            </summary>
            <version major="1" minor="3"/>
            <date day="12" month="5" year="2005"/>
            <author login="jlahoda"/>
            <compatibility semantic="incompatible" source="compatible">
                <p>
                    This change is incompatible because a project type can return a lookup with several
                    <code>ProjectOpenedHook</code>s and depend on only first one being notified on open/close.
                    Such a code should be rewritten using <code>org.openide.util.lookup.Lookups.exclude</code>.
                </p>
            </compatibility>
            <description>
                <p>
                    The <code>projectOpened</code> and <code>projectClosed</code> methods are called on
                    all <code>ProjectOpenedHook</code> instances found in a project's lookup.
                </p>
            </description>
            <issue number="57025" />
        </change>
        
        <change id="OpenProjects.open-close">
            <api name="general"/>
            <summary>Added open and close methods into <code>OpenProjects</code> class</summary>
            <version major="1" minor="2"/>
            <date day="14" month="12" year="2004"/>
            <author login="tzezula"/>
            <compatibility addition="yes"/>
            <description>
                <p>
                    Added <code>open</code> and <code>close</code> methods to <code>org.netbeans.api.project.ui.OpenProjects</code>. The <code>open</code> method
                    opens the specified projects. The <code>close</code> method closes the specified projects.
                </p>
            </description>
            <class package="org.netbeans.api.project.ui" name="OpenProjects"/>
        </change>

        <change id="rel-vers-1">
            <api name="general"/>
            <summary>Switched to major release version 1</summary>
            <version major="1" minor="3"/>
            <date day="22" month="12" year="2004"/>
            <author login="jglick"/>
            <compatibility>
                <p>
                    Clients should begin requesting the new version to avoid a warning at startup.
                </p>
            </compatibility>
            <description>
                <p>
                    To indicate that this is now considered a stable API, the major release version was
                    incremented to 1 from 0.
                </p>
            </description>
            <issue number="51468"/>
        </change>

        <change id="ProjectCustomizer.addition">
            <api name="general"/>
            <summary>Added support class for creating standard project customizer dialogs</summary>
            <version major="1" minor="4"/>
            <date day="16" month="1" year="2005"/>
            <author login="phrebejk"/>
            <compatibility addition="yes"/>
            <description>
                <p>
                    Added <code>org.netbeans.spi.project.ui.support.ProjectCustomizer</code> 
                    containing support methods for creating standard looking project customizer
                    dialogs.
                </p>
            </description>
            <class package="org.netbeans.spi.project.ui.support" name="ProjectCustomizer"/>
            <issue number="49647"/>
        </change>
    
        
    </changes>

    <!-- Now the surrounding HTML text and document structure: -->

    <htmlcontents>
<!--

                            NO NO NO NO NO!

         ==============>    DO NOT EDIT ME!  <==============

          AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT

                SEE projects/projectuiapi/apichanges.xml

-->
    <head>
      <title>Change History for the Project UI 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>

<p>This document lists changes made to the <a href="@org-netbeans-modules-projectuiapi@/index.html">Project UI API</a>.</p>

<!-- The actual lists of changes, as summaries and details: -->
      <hr/>
      <standard-changelists module-code-name="org.netbeans.modules.projectuiapi/1"/>

      <hr/><p>@FOOTER@</p>

    </body>
  </htmlcontents>

</apichanges>
