I've divided the GUI in 3 layers: Children, Floaters and Dialogs.
- Children is the tree that holds most of the controls.
- Floaters is where things like drop-down lists, menus and tool-tips go. This was necessary as each control sets it's own viewport and sometimes menus would get clipped out if a control is small.
- Dialogs is where only the top-most control (usually windows) go. When a dialog is visible all other controls will be disabled excepting floaters.
[media]
[/media]
And of course another Tarja Turunen's karaoked song. heh