There are two classes of widgets in the EZ widget library: a class of simple widgets each of which is implemented using exactly one X window, and a class of composite widgets which are made from a group of simple 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.
Currently EZwgl does not support event-action translations. Functionality of an EZwgl cannont be modified by resources.
EZwgl supports geometry management. It includes two geometry managers: a simple geometry manager (the default) which arranges children widgets in one row or one column; and a more advanced grid bag geometry manager which arranges children widgets in multiple rows and columns.
There are some subtle differences between simple 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.