This module contains the definition of a new hierarchy widget.
The hierarchy widget is an object and communicates with the
"outside world" only through messages.
The object stores the data and its corresponding properties
internally in two structures. To express the hierarchy the object
stores the identification string in a list.
The first element of the list is the id of the container. All other
elements in the list can be an atom or a list. If the element is a list
then it is another container. For example:
("frame-1" "button-2" ("panel-3" "message-4" "button-5"))
The properties of the items in the hierarchy list are stored in
a hash table for quick access.
The callback function is called before and after any change in the object.
This property of the widget is used in the MrEd Designer in such a way,
that if a property of a widget has changed then the preview and the
property window is notified through this callback. This also means that
all data is stored in the hierarchy widget!