The common interface that widgets must adhere to is described by the GtkWidget and GtkWidgetClass structure. For the purposes of using GTK these structures can be considered read-only and, for the most part, opaque. All widget creation routines in GTK return pointers to GtkWidget structures. In reality, all widget creation routines create structures that can be viewed as equivalent to the GtkWidget structure, but often have contain additional information. The widgets available for use are implemented in a hierarchy.
Several widgets exist solely as common bases for more specific widgets.
For example, it is not possible to create a ruler widget itself, but the ruler widget provides a base and functionality common to the horizontal and vertical rulers. GtkAlignment The alignment widget. The arrow widget. The aspect frame widget. The bin widget.