User Interface Specification:
Author: Jan Rojcek,
$Revision: 1.3 $
- Table of Contents:
The new windowing system keeps all the windows inside the main window. Therefor all windows from the old window system that used to be open as a separate windows outside of the main window have to be either presented as non-modal dialogs or moved into the main window.
Most of the VCS command outputs were shown in a separate window in old windowing system. This spec describes how these outputs would be presented in the new windowing system.
The output of VCS command can be of following types:
- Status Output - an output which provides mostly status type information and usually modifies either the VCS repository or local directory. It gives an information about what is the status of running VCS command and what is the result of VCS command. An example of CVS command producing the Status Output type is CVS Update, CVS Commit, CVS Checkout.
- Data Output - an output which provides information about the VCS repository and local data state. The user is interested in data provided by such output more than in status of running VCS command. An example of CVS command producing the Data Output type is CVS Annotate, CVS Diff, CVS Log.
The output of VCS command can be presented via:
- Text Component - the output is presented in pure textual form. Usually the output is provided directly by concrete command-line VCS tool.
- GUI Visualizer - the textual output is transformed and shown in a special GUI visualizer.
In the new windowing system, VCS commands' output would be shown at two places:
- Document Window - would show the Data Output presented via GUI Visualizer.
- VCS Output Window - would show the Data Output in Text Component, and would show the Status Output via Text Component or GUI Visualizer.
VCS windows modifications are initiated by new windowing system:
- Window System UI Spec document provides a complete specification of windowing system in NetBeans platform.
- Window System in NetBeans IDE document provides the specification of new window system usage in NetBeans IDE.
A "VCS Output" menu item is displayed in "Window | Versioning" menu and it is used for opening the VCS Output window.
|Figure 1: VCS Output Menu Item|
| Window | ---------- ... Debugging > Versioning > VCS Filesystems (F) [Ctrl-8] -------------------------- VCS Groups (G) [no shortcut] Switch to Recent Window VCS Output (O) [Ctrl-9] ...
Each executed VCS command prints a label informing about the status of executed command into the status line. Two kinds of status text are possible:
- Progress status label - a label informing about VCS command being in progress. The format of this label is: "Running VCS <command_name>: <full_vcs_command_line>". This label is printed when a command is invoked.
- Terminating status label - a label informing about finish of VCS command. The format is following: "Finished VCS <command_name>: <full_vcs_command_line>". This label is printed when a command finishes.
VCS Output window is a window displaying output of VCS commands. The output is either of Status Output type presented in GUI Visualizer or Text Component, or the Data Output type that doesn't have a GUI Visualizer and thus it is presented in Text Component.
VCS Output window contains a tabbed container which displays each VCS command output as a separate tab.
|Figure 2: VCS Output Window|
VCS Output window characteristics are following:
- Name - "VCS Output"
- Icon - no icon shown in window header, but it shows the icon in the main menu and in recent window switch.
|Figure 3: Icon of VCS Output Window|
The VCS Output window components are following:
- Output tab - a tab showing the output of running VCS command. A new tab is created for each new executed VCS command (whose output belongs to VCS Output window). By default, when the VCS output window is open from the window menu and no VCS command has been run since the last discarding of all VCS Output tabs, no tab is shown only centered label "'<No VCS Output>'".
- Output tab name - a name of tab contains also name of object the VCS command is running on. The name format is: "<VCS command name> - <object name>", for example "Add - vcsOutputs.html", "Update - doc".
- Standard Output toggle button - if selected the output component shows the standard output of VCS command. The button is always enabled and selected by default.
- Error Output toggle button - if selected the output component shows the error output of VCS command. The button is enabled only if an error output is available. It is selected automatically if the VCS command finishes and produces only error output without any standard output.
- Status panel. Depends on the command's actual state:
1. Command is in progress: Contains label "Command is running..." with indeterminate progress bar and Stop button next to it (Figure 4). Stop button terminates the command.
2. Command is already finished: Contains only label "Command finished." (Figure 2)
- Output component - a component showing actual output of VCS command. It can be either text area (or terminal emulator), or GUI visualizer.
A VCS output tab doesn't have to show only the standard text component. Also outputs of VCS commands (producing the Status output type) displayed in a GUI visualizer are shown inside the output tabs. For instance the CVS Update command uses a table as a GUI visualizer. The table is embedded inside the tab.
|Figure 4: VCS Output Window - CVS Update table component|
The Output tabs are discarded manually by user. The user right clicks on output tab, or inside the output component a menu with following items appears:
- Save to File button - opens save dialog to save the output contents to a file (item appears only inside output component).
- Discard Output Tab - removes the output tab from the tabbed pane.
- Discard All Output Tabs - removes all tabs from the tabbed pane. After this action the centered label "<No VCS Output>" is show inside the VCS Output window.
|Figure 5: Output Tab - contextual menu|
Save to File... ----------------------- Discard Output Tab Discard All Output Tabs
VCS Outputs of Data Output type are displayed in document area (if there is a special GUI visualizer for VCS output). A document window is open for each executed VCS command. The window characteristics are following:
- Name - the name of window is composed of object name the command has been executed on and VCS command name following this pattern: "<object_name> [VCS <command_name>]".
- Icon - the document window has an icon shown below.
- GUI Visualizer - a container containing components that displays various output of VCS command. The GUI visualizer is displayed inside the document window tab.
|Figure 6: VCS Document Window|
These components from in design are not present in the current design:
- Execution String textfield.
- Data Outputs tabs.
- View Log button in Visualizers.