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.