TGML Attribute Exposure

In TGML, it is possible to indicate that an attribute is to be exposed by the TGML editor in such a way that it is easy to find and set the attribute value.

The primary purpose is to be able to create a "Component interface" to the user. A Component can be rather complex. The component developer can choose to expose some of the attributes of the Component (or the contained elements) to, for example, make it easy to change the appearance of the Component.

An Expose element is used to expose an attribute. The Name of the Expose element is presented to the user instead of the original attribute name.

The Expose element has a Description attribute that can be used to add a description of the exposed attribute. This description is presented to the user in the TGML editor.

The attribute exposure is only handled by the TGML editor. TGML viewers ignore the exposure.