The MOSES Interface The MOSES Interface

MOSES actually has four different user interfaces. By default, it starts in "GUI" mode. The other three are a terminal, a "silent" interface, and the old GUI mode, which we refer to as the window interface.

Silent Interface

With the silent interface, MOSES produces no terminal output except that directed by the internal command &S_BACK. This option is quite useful for running MOSES in a "pipe". While the details discussed here differ slightly between the graphical and terminal interfaces, the operation is much the same. MOSES is, and at heart will remain, a language where commands are input and results produced. The graphical interfaces are simply more efficient at their job.

Terminal Interface

With the terminal option, MOSES simply runs in the existing terminal (or console) window. It only has a display area and commands are input directly into it. With a terminal interface, the actual commands listed must be used and none of the keyboard shortcuts are operative. Of course pictures or graphics can only be viewed in one of the graphic interfaces.

GUI Interface

This is the standard interface for interactive MOSES sessions. The interface consists of six parts:

The Menu should be familiar to users of the previous versions of MOSES. New to this version is the Help menu which takes you to the new hyperlinked help system available in this release.

The Top Button Bar is where you'll find features that are used often or are only found in this interface (not in the "-text" or -"win" interfaces).

The Left Button Bar

These controls are specifically for the graphics windows, and are documented in the Controls section.

The Right Side Bar

The right SideBar is currently used to display information about the model in 3D graphics mode. The user can use the select tool to get information about any part of the model. This SideBar is customizable and scriptable from MOSES macros.

The Main Workspace

The Main workspace has three parts to it: the command line, the tabs, and the data window, which can be either text or graphic. The command line is the standard MOSES command line and accepts standard MOSES commands. The text data window shows the same MOSES output the user is accustomed to. The graphical data windows can show standard MOSES pictures, MOSES graphs, and the new OpenGL pictures. The Tab system allows the user to open and interact with multiple pictures. It should be noted, though, that entering the MEDIT menu will cause all pictures to be closed, as the model data may have changed. When a tab containing a picture is in focus, there will be a "control panel" at the bottom of the picture. This panel contain (from left to right): a window showing the current process, a button setting the speed of an animation to half the normal speed, a button for playing/stopping the animation, a slider showing the events, and a box where you can pick the view. When the picture is created, it will show the last event in the current process.

The Status Bar

The Status Bar currently shows whether MOSES is Busy or Ready for another command, as well as showing what command will actually be executed when the mouse moves over an item in the menu.

Window Interface

The window interface presents the user with a window containing four basic areas: a tool bar, a display area, a command line box, and a scroll bar. The display area is used to give you information during a program session. This information is also written to a file, the "log file" so that you can review it later. The information is scrollable so that you can look at any portion of it any time a command is expected. As you will see below, the display can be toggled back and forth between the log, the user manual, and for a window interface, a picture.

The tools bar can be used to change settings and obtain reports without actually inputing the commands to do so. At the moment, it does not entirely suffice in place of the command line but in the future it will. When you push one of the buttons on the tool bar, a menu will "drop down". In this new menu, buttons which are "plane" will immediately do what the title says. Those which end in a > will drop down another level of menu. To clear a menu, you should push the top area which is blank except for a <. A large tree of menus can be cleared by simply hitting an "Enter".

Keyboard Shortcuts

There are special keys that are mapped to commands, or which move one about in the display. They are in either display:

     &FINISH             - Ctl F
     &PICTURE            - Ctl P
     @TOP                - the home key
     @BOTTOM             - the end key
     +P                  - the page up key
     -P                  - the page down key
     !-                  - the up cursor key
     !+                  - the down cursor key

The first of these command terminates MOSES. The next three change to "picture mode" with the first using the type of picture last rendered as the type, and the other two using the render mode specified (G for a GL picture, W for a wire frame). See the section on Pictures for details. These four shortcuts are always available. The remainder of them discussed here work only when one is focused on the text display or the command line.

The next four commands simply move the user's reading position. @TOP put one a the beginning of the display and @BOTTOM at the end. +P command moves up a page and -P moves down one.

The last two commands move up and down one command in the command history. In addition to storing the entire terminal input/output history, MOSES also saves a record of the commands which have been issued. While there are numerous uses of this command log, the primary one is to allow the user to see "where he is". This is accomplished by the !P command, the form of which is:

     !P, NUMB(1), NUMB(2)

When this command is issued, a portion of the command log will be printed to the terminal. If no option is specified, then the commands printed will be preceded by the command number, and if -N is specified as an option, then the numbers will not be printed. If neither NUMB(1) nor NUMB(2) is specified, then the last command issued will be printed, and if NUMB(1) is a negative number then the commands from the current number plus NUMB(1) to the current number will be printed. If NUMB(1) is an *, then the entire log will be printed, and if both NUMB(1) and NUMB(2) are positive the commands between the two numbers will be printed. For example, !P 10 20 lists all the commands between command number 10 and 20. !P 10 20 -N does the same thing, except no command number will be printed. !P -10 will show the last 10 commands.

Another benefit of the command log is that previous commands can be re-executed by either the command:

     !, PHRASE

or by the method discussed below. Here, PHRASE can be either nothing, a number, or a string. If it is nothing, the last command executed will be place in the command box so that it can be edited and executed. This is equivalent to the cursor up key on a window interface. Repeated use of the cursor up key will move up the command history. If it is a number, MOSES will simply execute the specified command. If it is a string, then MOSES will search up the command log until it finds a command containing STRING and will then execute that command.