The pull-down menu user interface component is ubiquitous in software applications today. It is comprised of a row of menu buttons, called a menu bar, along the top of the display each of which is associated with a pull-down menu. The pull-down menu (or submenu) is displayed when the user clicks the leftmost mouse button on the menu button. The user can then drag the mouse pointer to the desired option in the pull-down menu and release the mouse button to activate the feature.
Pull-down menus offer users both familiarity and ease of use. As users become acquainted with the features offered by the pull-down menus, accelerator keys may be used instead of the mouse to activate submenu options. The accelerator key for a given option is indicated to the right of the option label in the pull-down menu. In addition, the pull-down menu may be activated using the keyboard by pressing the Alt key (or equivalent) and the underlined letter of the menu button in the menu bar. The left and right arrow keys will traverse adjacent submenus while the up and down arrows can be used to select options within the submenu. The current implementation of the circuit editor offers three pull-down menus: File, Debugging and Help. By convention, the Help menu button is displayed to the right of the other menu buttons.
The File pull-down menu consists of six options, most of which are related to the loading and saving of circuit descriptions. The New option lets the user create a new circuit by erasing any circuit currently being edited on the display. The Open... option displays a dialog box which lets the user restore a circuit that had been previously saved. The Save... feature will save the circuit in a file previously selected by the user. The Configure... option displays a dialog box which lets the user modify certain aspects regarding the look and behaviour of the GUI. The configuration dialog box is discussed in detail in Section 2.4. Finally, the Exit option terminates the application.
The Debugging pull-down menu was used primarily during development and enables the user to obtain details regarding the internal configuration of the circuit currently being constructed. Information regarding the connectivity and the circuit description itself can be obtained using options present in this menu. Also, this menu can be used to display bounding boxes of various circuit elements in the workarea which is useful for verifying that overlap detection is working correctly.
The Help pull-down menu presently contains only one option, namely, About... which displays a dialog box containing the name and version of the application. In the future, this menu should offer full hypertext help to the user.
The options offered by the pull-down menu are sparse at present; however, new options can be made available to the user relatively easily through the use of a pull-down menu module written in Tcl/Tk. Details describing some of the implementation details as well as how to add new options is presented in Chapter 3.