A primitive is an EiffelVision 2 widget that may not contain other widgets. Primitives may be placed in containers, but a primitive widget may not contain any child widgets. Some examples of primitives are EV_BUTTON and EV_LABEL. All EiffelVision 2 primitives inherit from EV_PRIMITIVE.

Features of a Primitive

All primitives inherit from EV_TOOLTIPABLE and therefore may have tooltips assigned to them. They all inherit many features from EV_WIDGET. Each descendent of EV_PRIMITIVE will typically have many features specific to its type. For example, EV_SEPARATOR has no extra features, but EV_LABEL has features for modifying the current font and text to be displayed.

Widgets as Item Holders

Although no primitive can contain another widget, certain primitives may contain one or more items. One example of this is an EV_LIST containing EV_LIST_ITEMs.