Widget Hierarchy

   For your reference, here is the class hierarchy tree used to implement widgets.
   
    GtkObject
    +-- GtkData
    |   \-- GtkAdjustment
    |
    \-- GtkWidget
        +-- GtkContainer
        |   +-- GtkBin
        |   |   +-- GtkAlignment
        |   |   +-- GtkFrame
        |   |   |   *-- GtkAspectFrame
        |   |   |
        |   |   +-- GtkItem
        |   |   |   +-- GtkListItem
        |   |   |   +-- GtkMenuItem
        |   |   |   |   +-- GtkCheckMenuItem
        |   |   |   |       *-- GtkRadioMenuItem
        |   |   |   |
        |   |   |   *-- GtkTreeItem
        |   |   |
        |   |   +-- GtkViewport
        |   |   \-- GtkWindow
        |   |       +-- GtkDialog
        |   |       \-- GtkFileSelection
        |   |
        |   +-- GtkBox
        |   |   +-- GtkHBox
        |   |   \-- GtkVBox
        |   |       +-- GtkColorSelection
        |   |       \-- GtkCurve
        |   |
        |   +-- GtkButton
        |   |   +-- GtkOptionMenu
        |   |   \-- GtkToggleButton
        |   |       \-- GtkCheckButton
        |   |           \-- GtkRadioButton
        |   |
        |   +-- GtkList
        |   +-- GtkMenuShell
        |   |   +-- GtkMenu
        |   |   \-- GtkMenuBar
        |   |
        |   +-- GtkNotebook
        |   +-- GtkScrolledWindow
        |   +-- GtkTable
        |   \-- GtkTree
        |
        +-- GtkDrawingArea
        +-- GtkEntry
        +-- GtkMisc
        |   +-- GtkArrow
        |   +-- GtkImage
        |   +-- GtkLabel
        |   \-- GtkPixmap
        |
        +-- GtkPreview
        +-- GtkProgressBar
        +-- GtkRange
        |   +-- GtkScale
        |   |   +-- GtkHScale
        |   |   \-- GtkVScale
        |   |
        |   \-- GtkScrollbar
        |       +-- GtkHScrollbar
        |       \-- GtkVScrollbar
        |
        +-- GtkRuler
        |   +-- GtkHRuler
        |   \-- GtkVRuler
        |
        \-- GtkSeparator
            +-- GtkHSeparator
            \-- GtkVSeparator
