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
3.2.5 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:
The windows open by default with the group:
The windows which always stay open if the group is closed:
|
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:
|
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:
|
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.