
single−purpose widgets that you can create directly.
The widgets in this latter group are collectively referred to as primitive widgets −− not because they are simple, but
because they are designed to work alone. The contrast is not between primitive and sophisticated widgets, but between
primitive and manager widgets. Some of the primitive Motif widget classes have corresponding gadget classes. The
following sections describe the different types of primitive application controls available in the Motif toolkit.
The compound objects in the Motif toolkit are composed of primitive widgets and gadgets. Because an understanding
of these objects relies on an understanding of the primitive widgets, as well as the Motif manager and shell widgets,
we are going to postpone discussing compound objects until later in the chapter.
4.2.1 The Primitive Widget Class
The Primitive widget class is a superclass for all of the Motif primitive widgets. This widget class is a metaclass; it
serves only to define certain common behavior used by all its sub-classes, so one never instantiates a widget directly
from the Primitive class. This statement is somewhat like saying that hammer is a class of object, but that you never
really have a -generic hammer. You can only have a specific type of hammer, like a claw hammer, a ball peen
hammer, or a sledge hammer. A claw hammer has the prongs in the back behind the hammer−head ...