Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.netbeans.modules.projectuiapi/1 1.13.22 5
PREV NEXT | FRAMES NO FRAMES

# NetBeans Project UI API

ProjectUIAPI

See:
Description

Project UI API
org.netbeans.api.project.ui |
org.netbeans.spi.project.ui | Ability to provide a tailored UI for a project.
org.netbeans.spi.project.ui.support | Helpful UI support classes for general projects.
org.netbeans.spi.project.ui.templates.support | Support for providing own templates visible in New File... action.

- ProjectUIAPI

  The Project UI API provides some miscellaneous APIs and SPIs relating to the appearance and UI behavior of generic projects. Most importantly, it permits the customizer and logical view of a project to be defined.

- ProjectUIAPI-provider

  Callbacks intended to let the Project UI module plug in implementations of APIs defined here. Uses implementation dependencies.

### What is New (see all changes)?

- Aug 26 '05 Ability to get and set main project

  Added `getMainProject` and `setMainProject` methods to OpenProjects.

- Aug 22 '05 Project Delete/Copy/Rename/Move Support Added, Support for Default Project Delete/Copy/Rename/Move Added

  Introduced:

  - `CommonProjectActions.deleteProjectAction`, `CommonProjectActions.copyProjectAction`, `CommonProjectActions.moveProjectAction`, `CommonProjectActions.removeProjectAction` methods.
  - `DefaultProjectOperations` support to simplify implementation of project delete/copy/rename/move for simple projects.
- Jul 28 '05 Added ability to set an error message for project customizer's categories.

  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).

- Jul 28 '05 Added ability to set whether a project customizer's categories are valid.

  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.

- May 17 '05 New Project Wizard Action

  Introduced:

  - `CommonProjectActions.newProjectAction` method
  - `CommonProjectActions.EXISTING_SOURCES_FOLDER` property
  - `Templates.getExistingSourcesFolder` method

### Use Cases

The main use case is for project type providers to supply logical views and customizers for the project. Also for template providers to create project-aware file templates. Can also get a list of open projects, create different kinds of project-related actions, and select projects on disk.

### Exported Interfaces

This table lists all of the module exported APIs with defined stability classifications. It is generated based on answers to questions about the architecture of the module. Read them all...

##### Group of java interfaces

Interface Name | In/Out | Stability | Specified in What Document?
ProjectUIAPI | Exported | Official | The Project UI API provides some miscellaneous APIs and SPIs relating to the appearance and UI behavior of generic projects. Most importantly, it permits the customizer and logical view of a project to be defined.
ProjectUIAPI-provider | Exported | Friend | Callbacks intended to let the Project UI module plug in implementations of APIs defined here. Uses implementation dependencies.

##### Group of layer interfaces

Interface Name | In/Out | Stability | Specified in What Document?
ProjectTemplates | Exported | Official | New (or import) project wizards can be registered in a special folder `Templates/Projects/`.
ProjectActions | Exported | Official | Providers of generic project actions can register `Action` and `JSeparator` instances in a special folder `Projects/Actions/`. So if any module wishes to extend, hide or reorder some of them it can just register its actions there. Example:
        <folder name="Projects" >
            <folder name="Actions" >
                <file name="org-mymodule-MyAction.instance" >
                    <attr name="instanceCreate" stringvalue="org.mymodule.MyAction" />
                </file>
            </folder>
        </folder>
Templates | Exported | Official | File templates can be registered with various attributes, some specific to the project system.

### Implementation Details

##### What do other modules need to do to declare a dependency on this one?

       OpenIDE-Module-Module-Dependencies: org.netbeans.modules.projectuiapi/1 > ${OpenIDE-Module-Specification-Version}

Read more about the implementation in the answers to architecture questions.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.netbeans.modules.projectuiapi/1 1.13.22 5
PREV NEXT | FRAMES NO FRAMES

Built on December 7 2006. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.