User Interface Specification: Window System in NetBeans IDE

Author: Jan Rojcek
Revision: $Revision: 1.14 $
Document History: available in CVS

Abstract: This document is a specification of default windows layout. It also defines a composition of window groups and windowing menus as used in NetBeans IDE.

Table of Contents:
1 Introduction
2 References
3 Detailed Spec
3.1 Default Layout Positions
3.2 Default Windows Layout
3.3 Startup Windows
3.4 Window Groups
3.5 Window Menu
3.6 View Menu
3.7 Dialog Boxes
3.8 Actions Interacting with Window System

1 Introduction

This document is an implementation of Windowing System UI Spec into NetBeans IDE. This document defines the default layout of windows, also defines the window groups, and composition of Window and View menus.

2 References

Two documents should be read prior to this document:

Other documents specifying changes in NetBeans IDE distribution due to the new windowing system implementation:

  • Form Editor Toolbar document provides a specification of form editor toolbar appearance and behavior in the new windowing system.
  • VCS Outputs document provides a complete specification of VCS outputs presentation in the new windowing system.
  • Search Results Window document provides a complete specification of Search Results Window presentation in the new windowing system.

3 Detailed Spec

3.1 Default Layout Positions

Each window in the new windowing system has a position where it is open by default. To make the layout simple by default, only six positions are defined. The positions are following:

  • Explorer - used for all windows which provide access to the user objects, usually in tree browsers.
  • Output - used for the Output window and VCS Output window by default.
  • Debugger - used for all debugger windows and other supporting windows that require horizontal layout.
  • Palette - used for component palette window.
  • Inspector - used for component inspector window.
  • Properties - used for properties window.

The "Documents" position is the layout position used for all document windows.

In MDI all window positions (window containers) are in window area:

Figure 1: Default layout positions in MDI

In SDI, the window containers are distinguished like this:

  • Explorer - native window.
  • Output - native window.
  • Debugger - native window.
  • Palette - elementary split cell in window area.
  • Inspector - elementary split cell in window area.
  • Properties - elementary split cell in window area.

Positions in SDI:

Figure 2: Default layout positions in SDI (in red are the native windows)

3.2 Default Windows Layout

A distribution of all NetBeans IDE windows into the default layout positions is below. Note that the names of windows are as they would appear in the UI. Some of the names has been changed. The order of windows is important. The topmost windows in the list would be the leftmost window in the UI.

3.2.1 Explorer

  • Projects
  • Files
  • Favorites
  • Runtime
  • Versioning
  • VCS Groups

3.2.2 Output

  • Output
  • VCS Output
  • Search Results
  • HTTP Monitor

3.2.3 Debugger

  • Watches
  • Local Variables
  • Call Stack
  • Classes
  • Breakpoints
  • Sessions
  • Threads
  • Execution

3.2.4 Palette

  • Palette

3.2.5 Inspector

  • Inspector

3.2.6 Documents

All the windows open in this layout position are the document windows.

  • Java Source Editor
  • HTML Editor
  • JSP Editor
  • XML Editor
  • Image Viewer
  • Bundle Editor (table)
  • Bundle Text Editor
  • Text Editor (txt files)
  • Form Editor
  • Status (output of cvs 'status' command)
  • Log (output of cvs 'log' command)
  • Annotate (output of cvs 'annotate' command)
  • Diff (cvs graphical diff)
  • Diff (of two files in explorer)
  • Explorer (open with Explore From Here contextual menu item)
  • Auto Comment
  • Javadoc Index Search
  • Web Browser
  • Welcome Screen

3.3 Startup Windows

A startup windows are windows which are open by default at the first startup. The NetBeans IDE startup windows are following:

  • Projects
  • Files
  • Welcome Screen

Figure 3: Default Startup layout

3.4 Window Groups

NetBeans IDE contains three window groups:

  • Execution
  • Debugging
  • GUI Editing

3.4.1 Execution

The Execution window group is open if the Execution action is invoked. The group is closed when the last executed process gets terminated.

The windows contained in the group:

  • Execution
  • Output
The windows open by default with the group:
  • Execution
  • Output
The windows which always stay open if the group is closed:
  • Output

Figure 4: Default Execution layout

3.4.2 GUI Editing

The GUI Editing window group is open if a document window containing the form editor is visible in the IDE. It means when at least one document tab displays the form editor. The group is closed if the last selected form editor is either deselected or closed.

The windows contained in the group:

  • Palette
  • Inspector
  • Properties
The windows open by default with the group:
  • Palette
  • Inspector
  • Properties
The windows which stay open if the group is closed:
  • None

Figure 5: Default GUI layout

3.4.3 Debugging

The Debugging window group is open when a debugging session is started. The group is closed when the last debugging session is closed.

The windows contained in the group:

  • Watches
  • Local Variables
  • Call Stack
  • Classes
  • Breakpoints
  • Sessions
  • Threads
  • Output
The windows open by default with the group:
  • Watches
  • Local Variables
  • Call Stack
  • Output
The windows which stay open if the group is closed:
  • Output

Figure 6: Default Debugging layout

3.5 Window Menu

The following figures specify the Window menu for NetBeans IDE. Each menu item has associated shortcut and mnemonic.

Figure 7: Window menu
| Window |
--------------
Projects       (j) [Ctrl-1]
File           (F) [Ctrl-2]
Favorites      (i) [Ctrl-3]
Runtime        (R) [Ctrl-5]
Properties     (P) [Ctrl+Shift-7]
Execution      (x) [Ctrl+Shift-6]
Output         (O) [Ctrl-4]
Search Results (u) [Ctrl+Shift-0]
To Do          (T) [Ctrl-6]
HTTP Monitor   (H) [Ctrl-7]
GUI Editing    (G) >
Debugging      (b) >
Versioning     (V) >
--------------
...
Figure 8: Window submenus
GUI Editing >  Palette         (P)
               Inspector       (I)

Debugging   >  Local Variables (L) [Alt+Shift-1]
               Watches         (W) [Alt+Shift-2]
               Call Stack      (S) [Alt+Shift-3]
               Classes         (C) [Alt+Shift-4]
               Breakpoints     (B) [Alt+Shift-5]
               Sessions        (n) [Alt+Shift-6]
               Threads         (T) [Alt+Shift-7]

Versioning  >  Versioning      (V) [Ctrl-8]
               VCS Groups      (G) [no shortcut]
               VCS Output      (O) [Ctrl-9]

3.6 View Menu

Due to the changes in the window menu the View menu would change too. The following figure displays the View menu.

Figure 9: View menu
| View |
--------
Web Browser           (W) [N/A]
Javadoc Index Search  (J) [Shift-F1]
Documentation Indices (D) >

3.7 Dialog Boxes

This section contains a list of all windows from the old window system, which are implemented as dialog boxes in the new window system.

  • Properties
  • - the old window system provided a dedicated Properties window invoked from contextual menu over a node. This window is now implemented as non-modal Dialog Box. It has Close and Help buttons.
  • Options
  • - in the old window system, the Options window was implemented as Window. In the new window system it is implemented as non-modal Dialog Box with Close and Help buttons.

3.8 Actions Interacting with Window System

This section contains a list of all actions which interact with the windowing system. It describes how these actions influence the windowing system state, whether it is in opening / closing a window, window group or switching the keyboard focus. The following actions are not the window system actions as described in the window system UI spec. Following actions are regular actions provided by modules.

Many of the actions described below open a window or document window. Opening a window doesn't result in selecting and activating the window automatically. Selecting a window means selecting its tab (moving to front) if the window is tabbed with other windows. Activating a window means selecting it (its tab) and switching the keyboard focus to it. If the window tab is scrolled out from user's view when it is selected then it is also scrolled and made visible.

3.8.1 Main Menu Actions

File | Open File

Opens and activates a document window in window area containing an editor of selected file.

Edit | Find in Files

Opens and activates the "Search Results" document window in document area. The "Search Results" window is singleton. If the window is already open then it gets activated.

View | Web Browser

Opens and activates the document window named "Web Browser" in document area. The "Web Browser" window is singleton.

View | Javadoc Index Search

Opens and activates the "Javadoc Index Search" document window in document area. The "Javadoc Index Search" window is singleton. If the window is already open then it gets activated.

Project | Compile Project

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Project | Build Project

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Project | Execute Project

Opens the GUI Editing window group. It creates a new output tab inside the Output window. It doesn't change the focus.

Project | Debug Project

Opens the Debugging window group. It also creates a new tabs inside the Output tab named "Process Output" and "Debugger Console". It doesn't change the focus.

Build | Compile

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Build | Compile All

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Build | Build

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Build | Build All

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Build | Clean

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Build | Clean All

Opens and selects the singleton "Output" window. It either creates a new "Compiler" output tab inside the output window or if it is already created then reuses it.

Build | Execute

Opens the GUI Editing window group. It creates a new output tab inside the Output window. It doesn't change the focus.

Build | Deploy

???

Debug | Run in Debugger

Opens the Debugging window group. It also creates a new tabs inside the Output tab named "Process Output" and "Debugger Console". It doesn't change the focus.

Debug | Attach

Opens the Debugging window group. It also creates a new tabs inside the Output tab named "Process Output" and "Debugger Console". It doesn't change the focus.

Debug | Finish Sessions...

Closes the Debugging window group.

Debug | Run to Cursor

Opens the Debugging window group. It also creates a new tabs inside the Output tab named "Process Output" and "Debugger Console". It doesn't change the focus.

Debug | Step Over, Into, Out

Opens and activates a document window which contains the editor of source file the Step action steps to.

Versioning | CVS Refresh

No interaction with winsys.

Versioning | CVS Refresh Recursively

No interaction with winsys.

Versioning | CVS Commit

Opens and selects the singleton "VCS Output" window. It creates a new "Commit" output tab inside the vcs output window.

Versioning | CVS Update

Opens and selects the singleton "VCS Output" window. It creates a new "Update" output tab inside the vcs output window.

Versioning | CVS Add

No interaction with winsys.

Versioning | CVS Remove

No interaction with winsys.

Versioning | CVS Release

No interaction with winsys.

Versioning | CVS Status

Opens and activates a "Status" document window in the document area containing output of VCS command.

Versioning | CVS Log

Opens and activates a "Log" document window in the document area containing output of VCS command.

Versioning | CVS History

Opens and selects the singleton "VCS Output" window. It creates a new "History" output tab inside the vcs output window.

Versioning | CVS Annotate

Opens and activates a "Annotate" document window for each object the annotate action has been run on. The document windows are open in the document area containing output of VCS command.

Versioning | CVS Import

Opens and selects the singleton "VCS Output" window. It creates a new "Import" output tab inside the vcs output window.

Versioning | CVS Check Out

Opens and selects the singleton "VCS Output" window. It creates a new "Check Out" output tab inside the vcs output window.

Versioning | CVS Export

No interaction with winsys.

Versioning | CVS Editors

Opens and selects the singleton "VCS Output" window. It creates a new "Editors" output tab inside the vcs output window.

Versioning | CVS Watches

Opens and selects the singleton "VCS Output" window. It creates a new "Watchers" output tab inside the vcs output window.

Versioning | CVS Locking

No interaction with winsys.

Versioning | CVS Branching and Tagging

No interaction with winsys.

Versioning | CVS Diff Graphical

Opens and activates a "Diff Graphical" document window for each object the diff graphical action has been run on. The document windows are open in the document area.

Versioning | CVS Diff Textual

Opens and selects the singleton "VCS Output" window. It creates a new "Diff" output tab inside the vcs output window.

Versioning | CVS Patch

No interaction with winsys.

Versioning | CVS Login to

No interaction with winsys.

Versioning | CVS Logout from

No interaction with winsys.

Versioning | Run CVS Command

Opens a window depending on a selected cvs command.

Tools | Go To Class

Opens and activates the document window containing editor of selected class.

Tools | Generate Javadoc

Opens the output window and puts Javadoc tab in it.

Tools | Auto Comment

Opens and activates the "Auto Comment" document window in document area. The "Auto Comment" window is singleton. If the window is already open then it gets activated.

Tools | Search Javadoc Index

Opens and activates the "Javadoc Index Search" document window in document area. The "Javadoc Index Search" window is singleton. If the window is already open then it gets activated.

Tools | Options

Opens the Options dialog box.

Help | Contents

Opens the Help window outside of the main window. Help window is not controlled by windowing system.

Help | Help Sets

Opens the Help window outside of the main window. Help window is not controlled by windowing system.

Help | NetBeans Open Source Site

Opens and activates the document window named "Web Browser" in document area. The "Web Browser" window is singleton.

Help | Contact the NetBeans Team

Opens and activates the document window named "Web Browser" in document area. The "Web Browser" window is singleton.

Help | Bookmarks

Opens and activates the document window named "Web Browser" in document area. The "Web Browser" window is singleton.

Help | Welcome Screen

Opens and activates the document window named "Welcome" in document area. The "Welcome" window is singleton.

3.8.2 Explorer Contextual Actions

This sections contains the list of all actions that are not present in the main menu and interact with the new windowing system.

Open

Opens and activates a document window in document area containing the editor of node in explorer.

In case of Form objects, this action opens two document windows in document area. The first document window contains text editor of Form object. This window is activated. The second document window contains the Form editor of Form object. This window is not activated.

Edit

In case of Form and XML objects, this action opens and activates a document window in document area containing the text editor of node in explorer.

View

In case of XML and HTML objects, this action opens and activates the singleton document window "Web Browser" in document area.

Properties

Opens a Dialog Box containing properties of selected node.

Explore from Here

This action is no longer supported in the new widnowing system. It should be removed.

3.8.3 Other Actions Generating Output

There are many actions generating some kind of output stream in the IDE. All these outputs are shown in output window as a tab (except the first stream which is shown without a tab). If an action which generates this kind of output is executed, then the output window is open and activated.

3.8.4 Selecting Form Editor Document Window in Document Area

Selecting Form Editor Document Window (its tab) in Document Area opens the GUI Editing window group. A Document Window is selected if its tab is selected. As there can be more Form Editor document windows selected at one time (in a different) tabbed panes in document area, the GUI Editing window group is open until any Form Editor document window is selected. If the last selected Form Editor document window is unselected, then the GUI Editing window group is closed.

Project Features

About this Project

ui was started in November 2009, is owned by Jiří Kovalský, and has 37 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20140418.2d69abc). © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close