Automatic GUI updating

GUI updating is initiated automatically by the Abaqus GUI Toolkit when there are no more events to be handled, usually when the GUI is idle and waiting for some user interaction. During the automatic GUI update process, each widget sends a SEL_UPDATE message to its target asking to be updated. In this way the GUI is constantly polling the application state to keep itself up-to-date.

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.