站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > NetBeans API Javadoc (Current Development Version)

Change History for the Project UI API - NetBeans API Javadoc (Current Development Version)

Introduction

This document lists changes made to the Project UI API.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

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 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.netbeans.modules.projectuiapi/1 > 1.20

Changes by affected class

org.netbeans.spi.project.ui.support.CommonProjectActions

org.netbeans.spi.project.ui.support.NodeFactory

org.netbeans.spi.project.ui.support.NodeFactorySupport

org.netbeans.spi.project.ui.support.NodeList

org.netbeans.api.project.ui.OpenProjects

org.netbeans.spi.project.ui.support.ProjectCustomizer

org.netbeans.spi.project.ui.templates.support.Templates

org.netbeans.spi.project.ui.support.UILookupMergerSupport


Details of all changes by API and date


Project UI API

Add LookupMergerimplementation for ProjectOpenedHook

May 10 '07; API spec. version: 1.24; affected top-level classes: UILookupMergerSupport; made by: mkleint; issues: #103106
New method UILookupMergerSupport.createProjectOpenHookMerger(ProjectOpenedHook) creates an instance of LookupMerger that ensures that from the ProjectOpenedHook instances in project's lookup, the project's own is always called first.

Adding template attribute project.license

Mar 26 '07; API spec. version: 1.23; made by: jpokorsky; issues: #95399
Added the template attribute project.license for templates using scripting language.

Added a way how to define UI component for non-leaf category node in project customizer

Jan 5 '07; API spec. version: 1.22; affected top-level classes: ProjectCustomizer; made by: mkubec; issues: #91276
Allow to define UI component for non-leaf category node in project customizer by setting name of the file in folder on layer filesystem. If there is a category with some subcategories and UI component is needed for the category, the folder that defines the category in layer needs to contain file with name 'Self.instance'. Instance of the file will be used to create customizer component for the category.
Compatibility: Semantic change of handling files according to location and name on layer filesystem - File of particular filename under category folder is handled differently.

Ability to attach a ok button listener on single customizer category.

Oct 23 '06; API spec. version: 1.21; affected top-level classes: ProjectCustomizer; made by: mkleint; issues: #85405
Allow to attach a listener to ProjectCustomizer.Category that will notify the Category and it's panel that the changes ought to be applied. This is generally useful as a fallback, general solution for 3rd party plugging into the project customizer in case the given project type doesn't provide model-driven project updating mechanism.
Compatibility:

Added OpenProjects.PROPERTY_MAIN_PROJECT property

Oct 16 '06; API spec. version: 1.20; affected top-level classes: OpenProjects; made by: mkleint; issues: #64491
Added OpenProjects.PROPERTY_MAIN_PROJECT property and firing changes in main project property value to listeners attached to OpenProjects.
Compatibility:

Added LookupMerger implementations for PrivilegedTemplates and RecommendedTemplates

Oct 5 '06; API spec. version: 1.19; affected top-level classes: UILookupMergerSupport; made by: mkleint; issues: #83343

Related to 1.12 change in Project API. LookupMerger implementation for PrivilegedTemplates and RecommendedTemplates added.


Compatibility:

Ability to construct project node's children from multiple sources.

Sep 18 '06; API spec. version: 1.18; affected top-level classes: NodeFactory NodeList NodeFactorySupport; made by: mkleint; issues: #72441
Added way to declaratively layout the subnodes of the project node, allowing 3rd party contributions to project's Logical/Projects View. The project's node is constructed based on layer folder content. This api change provides just the infrastructure, the actual extension point location is up to the project type implementations.
Compatibility:

Added CommonProjectActions.setProjectConfigurationAction

Sep 8 '06; API spec. version: 1.17; affected top-level classes: CommonProjectActions; made by: jglick; issues: #49652

Added method CommonProjectActions.setProjectConfigurationAction() to permit projects supporting configurations to include a context menu item in their logical view to change the active configuration.

Ability to construct a project customizer from panels declared in layers.

Apr 11 '06; API spec. version: 1.15; affected top-level classes: ProjectCustomizer; made by: mkleint; issues: #74373
Added createCustomizerDialog(String, Lookup, String, ActionListener, HelpCtx) method to ProjectCustomizer. That allows to construct project customizer from a layer folder content. It assumes to find instances of ProjectCustomizer.CompositeCategoryProviderin the layer and constructs the UI from them. The context is passed into the panel via a Lookup instance. What is in the lookup, is up to the individual project implementations.
Compatibility:

Ability to get and set main project

Aug 26 '05; API spec. version: 1.11; made by: jlahoda; issues: #58461
Added getMainProject and setMainProject methods to OpenProjects.
Compatibility:

Project Delete/Copy/Rename/Move Support Added, Support for Default Project Delete/Copy/Rename/Move Added

Aug 22 '05; API spec. version: 1.10; made by: jlahoda; issues: #61546
Introduced:

Added ability to set an error message for project customizer's categories.

Jul 28 '05; API spec. version: 1.9; affected top-level classes: ProjectCustomizer; made by: mkrauskopf; issues: #61036

Added ProjectCustomizer.Category.setErrorMessage and ProjectCustomizer.Category.getErrorMessage 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).

Added ability to set whether a project customizer's categories are valid.

Jul 28 '05; API spec. version: 1.9; affected top-level classes: ProjectCustomizer; made by: mkrauskopf; issues: #58457

Added ProjectCustomizer.Category.setValid and ProjectCustomizer.Category.isValid methods. With those methods client can affect whether the OK button of the Customizer dialog is enabled.

New Project Wizard Action

May 17 '05; API spec. version: 1.3; affected top-level classes: CommonProjectActions Templates; made by: pkuzel; issues: #58489
Introduced:

The projectOpened and projectClosed methods are called on all ProjectOpenedHook instances in the lookup.

May 12 '05; API spec. version: 1.3; made by: jlahoda; issues: #57025

The projectOpened and projectClosed methods are called on all ProjectOpenedHook instances found in a project's lookup.


Compatibility:

This change is incompatible because a project type can return a lookup with several ProjectOpenedHooks and depend on only first one being notified on open/close. Such a code should be rewritten using org.openide.util.lookup.Lookups.exclude.

Ability to extend project context menus

May 5 '05; API spec. version: 1.7; made by: pkuzel; issues: #57874
Defined a folder Projects/Actions/ which may hold actions to be added to the context menu of any project type.
Compatibility:

Existing project types need to add support for the new folder in order to comply with the guideline.

Added support class for creating standard project customizer dialogs

Jan 16 '05; API spec. version: 1.4; affected top-level classes: ProjectCustomizer; made by: phrebejk; issues: #49647

Added org.netbeans.spi.project.ui.support.ProjectCustomizer containing support methods for creating standard looking project customizer dialogs.

Switched to major release version 1

Dec 22 '04; API spec. version: 1.3; made by: jglick; issues: #51468

To indicate that this is now considered a stable API, the major release version was incremented to 1 from 0.


Compatibility:

Clients should begin requesting the new version to avoid a warning at startup.

Added open and close methods into OpenProjects class

Dec 14 '04; API spec. version: 1.2; affected top-level classes: OpenProjects; made by: tzezula

Added open and close methods to org.netbeans.api.project.ui.OpenProjects. The open method opens the specified projects. The close method closes the specified projects.


Built on May 28 2007.  |  Portions Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.