next up previous contents
Next: UIText Up: User interface objects Previous: Mouse   Contents

Subsections


UIObject

Files: UIObject.h, UIObject.C
Derived from: none
Global instance (if any): none
Used in optional component: Part of main VMD code

Description

UIObject is the base class for each object in VMD which provides some form of user interface. There is a UIObject subclass for dealing with the text console, for the 2D pointer interface (the Mouse), and for the 3D user interface (currently in development). Also, each of the different GUI forms which appear on the screen are a separate UIObject.

VMD contains many different UIObject, each for the most part independent of the others. A UIObject has the ability to get input from the user on what that would like to do, and convert these into particular commands to do that action. These commands (embodied by different subclasses of the Command object) are put in a queue for execution. Each UIObject must also present some form of visual representation of the state of VMD to the user, which changes as different actions are performed. As commands are executed, each UIObject must be informed of what the action was, in order to update its display. No user interface component is capable of executing ALL the commands available in VMD, however, and conversely no user interface component is interested in hearing about all the different possible actions in VMD.

Each UIObject has the following characteristics:

The main UIObjects in VMD are all created in the routine VMDinitUI, in the file Global.C.

Constructors

Internal data structures

Nonvirtual member functions

Virtual member functions

Method of use

To create a new UIObject, you must do the following:


next up previous contents
Next: UIText Up: User interface objects Previous: Mouse   Contents
vmd@ks.uiuc.edu