Controls are widgets and gadgets with which the user interacts directly. They form the leaves of the widget tree whose root is the application's top-level shell. In most cases, controls are subclasses of XmPrimitive or XmGadget, and their parents are subclasses of XmManager. (XmScale is a manager, but in many ways the application treats it as a primitive.) Motif provides the following basic controls: