This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
[ BUILD # : 200408121535 ] [ JDK VERSION : J2SE 1.4.2_04 ] The context menu for the freeform project has Build Ptoject, Clean Project, Clean and Build Project, Run Project, Generate Javadoc for Project, and then <custom build targets>. In the build menu bar the space reserved for <project type specific build items> contains only Generate Javadoc for "<project>". This seems to be a huge mis-match, either more of the standard context options should be in the menu bar or none should be.
As designed. Main menu items are intended to be fixed in number and identity. Since different freeform projects can have arbitrary different context menu items, it would be impossible to have the main menu display every possible action for all open projects (many of which would usually be disabled anyway, depending on the node selection) or the actions for the currently selected project, without making the Build menu be dynamically (re-)populated (which can cause problems for customization and for the screen menu bar on Mac OS X). Custom actions can be invoked just from the context menu on the project.
x
More appropriate resolution.
Is there a different set of design docs that are not available on the web site? http://projects.netbeans.org/buildsys/build-sys-ui-spec.html Go down to the "Build Menu," the second set of menu items are reserved per project type. I understand not wanting toa dd every custom target that shows up on teh context popup menu, but there are standard buld targets that the wizard prompts for. Those could be added. And if none are going to be added then the "Generate Javadoc for <project>" menu item should be removed, because it is confusing to the user to see one and only one project specific build target when there are at least four other standard project targets. As it stands, having items only accessable via context menus violates the java look and feel... http://java.sun.com/products/jlf/ed2/book/HIG.Menus3.html#42159 (first coffee cup point under contextual menus. If the concern is for too large a menu perhaps the custom build targets could live inside a "custom targets" cascade? If it's going to be closed again as "won't fix" please state that you are aware it vioaltes usability guidelines.
The section "reserved for project-type specific items" is for just that - items which are generally used by a project type (preferably more than one). But an individual freeform project can have arbitrary actions which are not common to other freeform projects, much less other kinds of projects. It does not make sense to add menu items for idiosyncratic actions which only apply to a single project. Generate Javadoc is used by other project types as well and makes sense as a global option since it is so common. Clean is available for all project types but intentionally omitted from the main menu in favor of Clean & Build. Redeploy could perhaps be added to the Run menu, especially if standard web app projects bind it also. All other actions with standard binding names recommended by the freeform properties dialog are already in the main menus (Build or Run). Re. having a main menu item for every possible context menu item - nice goal, but not always practical. Evaluated on a case by case basis. Especially for items which are context-sensitive: e.g. just because a Java class node has a context menu that lets you Add -> Method doesn't mean it is practical to have a main menu item "Add Method to Currently Java Class" enabled when a class node is selected. It would just be too much. Reassigning to Jano for consideration of other suggestions such as a submenu with items generated from the currently selected project, which could be helpful from the standpoint of number of keystrokes required to invoke the action. Would require API changes, however, in addition to UI changes, so not planned for 4.0.
As a clarifiction, perhaps the main point fo this bug as I first intended it. Build and Clean and Build are only available for the freeform project iff it is also the main project. if a freeform project is not the main project but focused in some way (as a tree selection in the projects tab or editing a file in that project) then there is no way via the menu bar to build or to clean and build the project. If just those two menu items (in the same menu group as the generate javadoc item) were addressed I would be satisfied in resolving the bug.
The last paragraph referred to issue #47510, a separate consideration.
No plans to create such a UI that I know of. Could be prototyped as an add-on module if there is sufficient interest.