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
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
- 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:
3 System-Wide UI Impact
3.1 Window | Versioning Menu
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 |
Versioning > VCS Filesystems (F) [Ctrl-8]
-------------------------- VCS Groups (G) [no shortcut]
Switch to Recent Window VCS Output (O) [Ctrl-9]
3.2 Status Line
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
- 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
4 Detailed Specification
4.1 VCS Output Window
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.
4.1.1 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
- 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."
- Output component - a component showing actual output of VCS command. It
can be either text area (or terminal emulator), or GUI visualizer.
4.1.2 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
Figure 4: VCS Output Window - CVS Update table component
4.1.3 Contextual Menu
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
| Figure 5: Output Tab - contextual menu
Save to File...
Discard Output Tab
Discard All Output Tabs
4.2 VCS Document Window
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
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.