General Info on the Expecco UI
This document describes some details of the expecco UI, which may not be well known, but are nevertheless very helpful.
Many aspects of the UI can be adjusted to your personal style via the settings dialog ("Extras" - "Settings"). Setting parameters are stored in a file in your home folder "
~/.expecco/.expeccoPreferences", where "~" stands for your home folder. The home folder is typically "
/home/<yourName>" on Linux systems, "
/Users/<yourName>" on macOS, and "
c:\users\<yourName>\Documents" on MS-Windows systems.
The entry tab of the the settings dialog shows the name of your settings file (and also provides a link to inspect its contents).
The settings file contains mostly UI-related parameters, but a few attributes which affect the execution are also stored there (for example, debugging flags, which control if a debugger should be opened in case of errors). It is possible to use different settings files by giving the "--settings" command line argument. To create a different settings file, use the "Save As..." menu item in the settings dialog.
The keyboard focus window is the (sub-) window, which processes your keyboard input. Unless explicitly set via the "Extras"-"Settings"-"Look & Feel" dialog, the default behavior is initially set according to the operating system's usual default behavior.
This is different between Unix and MS-Windows systems:
- in Unix/Linux, the keyboard focus follows the mouse. I.e. you do not need to click into a window to change the focus. Just move the mouse pointer over/into that window.
- in Windows, the focus remains in a window, until some other window is clicked.
In most cases, this default setting corresponds to the user's expectations. However, if you prefer the other style, change this in the above mentioned settings dialog.
Most Useful Keyboard Shortcuts
- CTRL-c (Copy
- CTRL-x (Cut)
- CTRL-v (Paste)
- CTRL-z (Undo)
- CTRL-y (Redo)
- CTRL-g (Goto Line)
- CTRL-f (Find)
- CTRL-+ (Zoom In)
- CTRL-- (Zoom Out)
- CTRL-SHIFT-+ (Zoom In All)
- CTRL-SHIFT-- (Zoom Out All)
A full list is found in: "Common Keyboard Shortcuts".
Click vs. Press
Some UI components behave differently between click and press. In this context, "click" means: "a short click with immediate release of the mouse button", whereas "press" means: "press and keep the mouse button pressed".
The tree view on the left (where you select the action being edited), is one, which does differentiate between click and press. If "clicked", it will select the element and present corresponding editors on the right. If "pressed", it waits for the release. If there is a mouse-movement before you release the button, it will initiate a "drag&drop" operation, to either move the selected element(s) within the tree, or to instantiate the element(s) inside the diagram editor. Thus, to create a new step in the diagram editor, "press-and-move" an element from the tree into the diagram. <P> Sometimes this behavior is inconvenient or difficult to handle (e.g. when the tree needs scrolling, or if you do not have a mouse but a trackpad, which is harder to control). In this case, use one of the two "separate tree for drag&drop" buttons. The first opens a separate "hovering" window, which stays on top and can be positioned anywhere on the screen. The second splits the tree into a top part for selection, and a bottom part for drag and drop. Each of the two can then be scrolled individually (see more below).
The navigation tree (on the left) serves two operations:
- to select the element to be edited (show & manipulated in the right section)
- to serve as a drag&drop source to move elements into a test-plan, a diagram or another position in the navigation tree.
This was done to make best use of limited screen space, but is sometimes a little annoying, if you loose the selection. To make drag&drop easier (and save from changing the selection), the navigation tree offers "tear-off" and "split" toolbar buttons. Both will open an extra navigation tree which will ONLY serve as a drag&drop source. Either as a separate floating window (hovering above the expecco UI) or as a split-tree below the original navigation tree. (see more above)
Drag and Drop
The details on what can be dragged and where it can be dropped depend somewhat on the used operating system, and the participating application. Not all elements can be dragged into/out of external views. For example, a file dragged into the tree will be either opened as a test suite, imported or added as attachment (expecco will ask you, what you want to do). Some systems allow for text to be selected and dragged into an expecco window. Usually, other application cannot deal with tree- or diagram elements being dragged into them. However, it is usually OK to drag&drop between two expecco windows.
Right-Click for Menu
The standard MS-Windows behavior on right-click is to first select the element under the mouse pointer AND then show the popup-menu for the selected element when the mouse button is released.
In contrast, most Unix/Linux UIs reserve the left mouse button for selection and the right button for menus (i.e. you can right-click anywhere, without affecting the selection).
The setting can be changed to your preference via "Extra"-"Settings"-"Look & Feel" - "Tree" - "Select on Right-Click".
Toolbar Buttons with Menus
Some toolbar buttons show a little "down-arrow" to the right of the icon. These buttons provide a menu, when clicked or pressed.
Buttons with a black arrow will always show a menu when clicked or pressed.
Buttons with a grey arrow button behave differently on "click" vs. "press". When clicked, a standard action is performed, whereas when pressed, the menu appears after a short time delay.
For example, the "History-Back" button in the main window shows this behavior: if clicked, it navigates back to the previously visited item. If pressed and held for some time, it presents a list of previously visited items to choose from. Such a behavior is found on many history-like buttons, where the last operation/last item is a useful default and most often used, but more historic items are sometimes to be accessed.
Toolbar Buttons which Remember the Previous Action
Above the navigation tree view on the left, you will find 3 buttons for quick creation of new tree items. These provide a "press"-menu, to choose the type of element to be created (grouped by "action blocks", "test-related" and "misc-elements".
These remember the kind of element which was last created and change their icon. When clicked, that type of element is created. Thus, to create multiple elements of the same kind, ou do not have to go through the menu items every time. When pressed, the menu appears after a short time, to let you choose the item (which is then again remembered for the next default).
Separators between Subviews
Many windows contain multiple subwindows. For example, on the top level, you see the navigation tree on the left, and a detail window (called "element editor") on the right. The editor manipulates the selected tree element.
The ratio (fractions of screen space) can be changed by a separator between the two views. Usually, that separator is just a grey area, which can be pressed and moved. However, some show little arrows. When you click on an arrow, the separator immediately moves to either the far left or far right, to give the full space to one of the subviews.The separator remembers its previous position and moves back when clicked in the center area (the separator's "handle").