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

Overview (Project UI API) - NetBeans API Javadoc (Current Development Version)

org.netbeans.modules.projectuiapi/1 1.24.0 6

Project UI API
Official

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.

 

What is New (see all changes)?

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 NameIn/OutStabilitySpecified in What Document?
ProjectUIAPIExportedOfficial

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-providerExportedFriend

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

Group of lookup interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.openide.loaders.CreateFromTemplateAttributesProviderExportedOfficial

The attributes provider is registered in META-INF/services. It collects attributes from org.openide.loaders.CreateFromTemplateAttributesProviders registered in project lookups. It provides
project.license attribute for file templates using scripting support.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
project.licenseExportedOfficial

project.license attribute contains project license as String for newly created
templates. It is used to import license templates. The default is used if the attribute was not found in any project lookup.

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
RegisteredActionsExportedUnder Development

Several project related actions are registered in the Actions folder in the layer. Product branding is intended to use those actions to build main menu, toolbars and shortcuts.

  • Actions/Project/org-netbeans-modules-project-ui-BuildMainProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-CleanMainProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-RebuildMainProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-RunMainProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-DebugMainProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-TestProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-BuildProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-CleanProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-RebuildProject.instance
  • Actions/Project/org-netbeans-modules-project-ui-RunProject.instance

ProjectTemplatesExportedOfficial

New (or import) project wizards can be registered in a special folder Templates/Projects/.

ProjectActionsExportedOfficial

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>
    

TemplatesExportedOfficial

File templates can be registered with various attributes, some specific to the project system.

TemplatesLicensesExportedOfficial

Under Templates/Licenses folder should be registered various license headers that can be imported by templates using scripting. The recommended format of filename is license-[licensename].txt e.g. license-cddl.txt.

Implementation Details

What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?
Nothing.

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


org.netbeans.modules.projectuiapi/1 1.24.0 6

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