For example, during automatic GUI updating, a check button sends an update message to its target.
The target checks some application state and determines whether or not the check button should
be checked. If the button should be checked, the target sends back an
ID_CHECK message; otherwise, it sends an
ID_UNCHECK message.
Widgets in the toolkit are bidirectional; that is, they can be in either a
push state or a pull
state.
- push state
-
In a push state the widgets are collecting and sending user input to
the application. When a widget is in the push state, it does
not participate in the automatic GUI updating process.
Because the widget is not participating in the automatic
GUI updating process, the user has control over the
input, rather than the GUI attempting to update the
widget.
- pull
state
-
In a pull state the widgets are interrogating the
application to keep up-to-date.