There are two classes of widgets in the EZ widget library: a class of primitive widgets each of which is implemented using exactly one X window, and a class of composite widgets which are made from a group of primitive widgets. Label, frame, buttons, menu-items, entry and sliders are examples of simple widgets while text widget, list box, notebook and notebook-page are composite widgets.
Widgets in EZwgl are event-driven. Interaction between an application and the EZ widget library is achieved via callbacks and event handlers. Typically, an EZwgl application contains five components: initialization, creating and configuring widgets, registering widget callbacks and/or event handlers, mapping widgets and handling events.
EZwgl supports application resources. Appearance of an EZwgl application is completely configurable by resource files.
EZwgl does not support event-action translations. Functionality of an EZwgl cannont be modified by resources.
EZwgl supports geometry management. It includes four geometry managers: row geometry manager (layout children in rows), column geometry manager (layout children in columns), row-column geometry manager (aka the grid bag geometroy manager) and a simplified version of it (the default).
There are some subtle differences between primitive widgets and
composite widgets.
EZ_KEY_PRESS
event to a text
widget, nothing will happen because the frame ignores key
events. To really send a key event to a text widget, one has to
extract the internal-text-widget component and send the event to
it.