We should be now familiar with the concept of a tree of widgets which is formed by creating widgets with other widgets as parents.
We will simply carry on this principle when combining widgets. Widgets can be at any level of a tree depending on the application.
We have one major concern in dealing with more than one widget which is that we have to position widgets relative to each other. We do not usually want widgets to obscure each other.
The management of widget geometry is taken care of by certain manager widgets. The RowColumn and Form widgets are the most common widgets used for this type of task.
The simplest multiple widget program would have the following widget tree structure (Figure 6).
The application shell would still be the top level. Below this there would be a RowColumn or Form widget which would contain some primitive widgets (say PushButtons).
Fig. 6 Multiple Widget Tree