A graphical component determines its appearance and runtime behavior based
upon the type of container to which it belongs is provided. The container
type corresponds to an implementation construct such as a class in C++
and Java, or a struct in C. This implementation construct is referred to
as the classtype. The graphical component determines the classtype of
it's parent container at runtime and dynamically alters its appearance
and behavior based upon a programmatic heuristic or a configuration file.
For example, a smart graphical component placed inside of a container
with a classtype of "desktop" may display descriptive text, however, the
same component may not display the descriptive text when in a toolbar.
Runtime behavior may also be determined based upon the classtype of the
parent container. Component behavior resulting from user activation can
also vary depending upon the parent container classtype.