This guide describes how to create programs using IRIS ViewKit™, a C++ toolkit that provides commonly needed facilities for applications based on the IRIS IM™ user interface toolkit (the Silicon Graphics port of the industry-standard OSF/Motif™ user interface toolkit for use on Silicon Graphics workstations).
The first two chapters of this guide provide an overview of ViewKit concepts:
| Chapter 1, “Overview of ViewKit” |
| |
| Chapter 2, “Components” |
|
The next six chapters describe the common ViewKit components that you use in practically every ViewKit program:
| Chapter 3, “The ViewKit Application Class” |
| |
| Chapter 4, “ViewKit Windows” |
| |
| Chapter 5, “Creating Menus With ViewKit” |
| |
| Chapter 6, “ViewKit Undo Management and Command Classes” |
| |
| Chapter 7, “Using Dialogs in ViewKit” |
| |
| Chapter 8, “Preference Dialogs” |
|
The rest of the book describes pre-built ViewKit components:
| Chapter 9, “The ViewKit Graph Component” |
| |
| Chapter 10, “Miscellaneous ViewKit Display Classes” |
| |
| Chapter 11, “Miscellaneous ViewKit Data Input Classes” |
| |
| Appendix A, “ViewKit Interprocess Message Facility” |
| |
| Appendix B, “Contributed ViewKit Classes” |
| |
| Appendix C, “Using a Help System With ViewKit” |
|
This guide assumes that you are already an experienced C++ programmer. It also assumes that you are generally familiar with IRIS IM.
For a thorough discussion of the concepts on which the ViewKit toolkit is based, see:
Young, Douglas A. Object-Oriented Programming with C++ and OSF/Motif. Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1992.
For information on OSF/Motif, see:
Open Software Foundation. OSF/Motif Programmer's Guide, Revision 1.2. Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1992.
Open Software Foundation. OSF/Motif Programmer's Reference, Revision 1.2. Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1992.
Open Software Foundation. OSF/Motif Style Guide, Revision 1.2. Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1992.
Heller, Dan. Motif Programming Manual (X Window System Series: Volume Six). Sebastopol, California: O'Reilly & Associates, Inc., 1992.
For information on IRIS IM enhancements to OSF/Motif and general tips for programming in IRIS IM on Silicon Graphics workstations, refer to the IRIS IM Programming Notes.
For comprehensive information on the X Window System™, Xlib, and Xt, see:
Nye, Adrian. Xlib Programming Manual (X Window System Series: Volume One). Sebastopol, California: O'Reilly & Associates, Inc., 1992.
O'Reilly & Associates, Inc. Xlib Reference Manual (X Window System Series: Volume Two). Sebastopol, California: O'Reilly & Associates, Inc., 1992.
Nye, Adrian, and Tim O'Reilly. X Toolkit Intrinsics Programming Manual (X Window System Series: Volume Four). Sebastopol, California: O'Reilly & Associates, Inc., 1992.
O'Reilly & Associates, Inc. X Toolkit Intrinsics Reference Manual (X Window System Series: Volume Five). Sebastopol, California: O'Reilly & Associates, Inc., 1992.
This section describes the conventions used for presenting information in this book.
These type conventions and symbols are used in this guide:
| Bold | C++ class names, C++ member functions, C++ data members, function names, literal command-line arguments (options and flags) | |
| Italics | Filenames; onscreen button names; IRIX™ commands; executable files; manual and book titles; glossary entries; new terms; variable command-line arguments; program variables; and variables to be supplied by the user in examples, code, and syntax statements | |
| Screen type | Onscreen text, prompts, error messages, examples, and code listings | |
| Bold screen type |
| |
| ““ | (Double quotation marks) Onscreen menu items and references in text to document section titles | |
| () | (Parentheses) Follow function names; also used to surround reference page (man page) section in which a command, function, or class is described | |
| <> | (Angle brackets) Surround nonprinting keyboard keys, for example, <Esc>, <Ctrl-D> | |
| # | IRIX shell prompt for the superuser (root) | |
| % | IRIX shell prompt for users other than superuser |
Reference pages (also known as man pages) are referred to by name and section number, in this format: name(section), where “name” is the name of a command, system call, library routine, or class; and “section” is the section number where the entry resides. For example, XtSetValues(3Xt) refers to the XtSetValues() reference page in section 3Xt.
Most of the chapters in this book begin with a graph depicting the inheritance hierarchy of the classes described in that chapter. Figure i shows an example of a class inheritance graph that might appear at the beginning of a chapter.
In these inheritance graphs, classes are presented with the base classes to the left and the derived classes to the right. Abstract classes have dashed borders and non-abstract classes have solid borders. Classes described within the chapter appear in white boxes, whereas classes described elsewhere appear in shaded boxes.
In the inheritance graph shown in Figure i, VkComponent is an abstract base class. As indicated by its shaded box, it is not described within the chapter. The chapter describes three subclasses of VkComponent: VkDoubleBuffer, an abstract class; and VkTickMarks and VkResizer, non-abstract classes. The chapter also discusses the non-abstract class VkAlignmentGroup, which is derived from the non-abstract base class VkWidgetList.