Module provides general implementation of projects UI and exports client friend API only.
-
Sep 30 '20 Disable loading of projects on startup
A branding API to disable loading of previously opened
projects - LOAD_PROJECTS_ON_START.
-
Oct 21 '13 Added
ProjectActionUtils
Added new API interface ProjectActionUtils
providing actions selectAndExpandProject()
and makeProjectTabVisible()
on project node a project tab
-
Apr 16 '13 Location
Projects/Groups/Customizer
recognized in layers
@ProjectCustomizer.CompositeCategoryProvider.Registration
annotation now accepts "Groups" projectType parameter value which
adds a panel to the Project Group customizer. Implementations can expect an instance of org.netbeans.api.project.ui.ProjectGroup
in the lookup
passed to the provider. NO central storing procedure in place, each panel is expected to set it's own values in Category.setStoreListener
-
Dec 11 '12 Added
TemplateCategorySorter
Added a new SPI interface TemplatesCategorySorter
allowing to post process the order of template categories for given project.
Implementations of this interface are to be put into project's lookup. If not present, standard layer ordering rules apply.
-
Dec 1 '11 Added
ProjectTemplates
Added a new class of constants to use with the New Project action.
Use Cases
Needed for working with projects in the IDE.
RecentProjects
API can be used to get list of information about recently opened projects
in IDE. API provides project display name, icon and URL of project folder
location. Listeners can be registered to learn about change of the list.
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? |
RecentProjects | Exported | Friend |
.../netbeans/show_bug.cgi?id=57073
API can be used to get list of information about recently opened projects
in IDE. API provides project display name, icon and URL of project folder
location. Listeners can be registered to learn about change of the list.
.../netbeans/show_bug.cgi?id=57073
There is package org.netbeans.modules.project.ui.api which is public and exposed
as friend API.
|
|
Group of property interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
PRESELECT_CATEGORY | Exported | Private |
Path to a category of project type, e.g. Sample/Standard.
|
PRESELECT_TEMPLATE | Exported | Private |
Name of a project type, e.g. emptyWeb.
|
|
Group of branding interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
org.netbeans.modules.project.ui.LOAD_PROJECTS_ON_START | Exported | Stable |
To disable loading of previously opened projects on startup
set LOAD_PROJECTS_ON_START=false in
org/netbeans/modules/project/ui/Bundle.properties
branding file in your application.
|
|
Group of systemproperty interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
project.tab.no.selection | Exported | Private |
When this property is set, the opening of projects doesn't trigger
opening and focusing of the projects logical view top component.
Allows the BlueJ Edition to focus it's own component instead.
|
org.netbeans.modules.project.ui.OpenProjectList | Exported | Private |
Error manager logging category for things affecting project list.
|
netbeans.projects.dir | Exported | Private |
Property for overriding default location of projects directory
which is folder NetBeansProjects under $HOME on Unixes and under default user folder on
Windows (e.g. C:\Documents and Settings\[username]\My Documents\NetBeansProjects).
Directory passed by the property must exist, otherwise default is used.
|
|
Group of logger interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
org.netbeans.ui.actions.UI_ACTION_BUTTON_PRESS | Exported | Friend |
There is a special support for notifying when an action wrapped by
LookupSensitiveAction is
invoked and how. The support is using
Logger.getLogger("org.netbeans.ui.actions")
and sents a LogRecord
with message UI_ACTION_BUTTON_PRESS ,
FINER level
and paramerters:
-
{0} instance of the button
-
{1} class of the button
-
{2} instance of the action
-
{3} class of the action
-
{4} display name of the action
whenever such action is invoked. This message can then be consumed
by enhanced UI logger that track what the user is going.
|
|
Group of cli interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
group | Exported | Under Development |
Can use --open-group NAME to open a project group at startup, or --close-group .
|
|
Group of layer interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
ProjectsTabActions | Exported | Friend |
Actions for the Projects tab root context menu are taken from
the layer folder ProjectsTabActions . Foreign modules ought
to place entries below sep-below-main-actions.instance .
|
|
Group of preferences interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
org.netbeans.modules.projectui | Exported | Private |
List of open projects. See OpenProjectListSettings .
|
org.netbeans.modules.projectui.groups | Exported | Private |
Project groups. See Group .
|
|
Implementation Details
Where are the sources for the module?
The sources for the module are in the
Apache Git repositories
or in the GitHub repositories.
What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?
N/A
Read more about the implementation in the answers to
architecture questions.