GEOS SDK TechDocs
|
|
2.1 An Application's Life Cycle
|
2.3 The GenApplication's Moniker
MSG_GEN_APPLICATION_MARK_BUSY, MSG_GEN_APPLICATION_MARK_NOT_BUSY, MSG_GEN_APPLICATION_HOLD_UP_INPUT, MSG_GEN_APPLICATION_RESUME_INPUT, MSG_GEN_APPLICATION_IGNORE_INPUT, MSG_GEN_APPLICATION_ACCEPT_INPUT, MSG_GEN_APPLICATION_MARK_APP_COMPLETELY_BUSY, MSG_GEN_APPLICATION_MARK_APP_NOT_COMPLETELY_BUSY
An application's busy state is reflected by its mouse pointer. An application may have several busy states, set appropriately for the action going on at the time. The messages below can set the application's busy state. You will not usually send any of these messages to your GenApplication object. Instead, you will usually set appropriate GI_
attrs
to automatically send out these messages during times when the application will be busy.
MSG_GEN_APPLICATION_MARK_BUSY
marks the application busy (usually by changing the cursor to an appropriate shape determined by the specific UI) until the current operation in the application thread completes. This message is sent by UI gadgets that have GA_INITIATES_BUSY_STATE set in their
GI_attrs
fields. It may also be called by any other object that wants to mark the application busy. When an application is busy, the user may continue to interact with it.
MSG_GEN_APPLICATION_MARK_NOT_BUSY
removes the busy state marker. This message is automatically sent to the application object when the operation that initiated the busy state completes.
MSG_GEN_APPLICATION_HOLD_UP_INPUT
instructs the User Interface to place all input events into a special "hold-up" queue until the input is resumed. This message also marks the application busy. Applications marked GA_INITIATES_INPUT_HOLD_UP will receive this message whenever they initiate an operation.
MSG_GEN_APPLICATION_RESUME_INPUT
removes the input hold-up state, allowing normal input flow. This message flushes the "hold-up" event queue into the application's input queue, ensuring that all events during the "hold up" operation are handled before any new events.
MSG_GEN_APPLICATION_IGNORE_INPUT
instructs the GenApplication object to ignore all input events it receives. This may be accompanied with an audible warning (beep). Applications marked GA_INITIATES_INPUT_IGNORE will receive this message whenever they initiate an operation.
MSG_GEN_APPLICATION_ACCEPT_INPUT
removes the input ignore state and directs the GenApplication object to again receive input events and handle them.
All of these messages are cumulative. The application will keep track of how many times each of these messages is sent. For example, each
MSG_GEN_APPLICATION_MARK_NOT_BUSY
message will remove a
MSG_GEN_APPLICATION_MARK_BUSY
. When the count reaches zero, the busy state is removed.
void MSG_GEN_APPLICATION_MARK_BUSY();
This message marks the application busy and changes the cursor image.
Source: Sent automatically by objects with GA_INITIATES_BUSY_STATE set.
Destination: The GenApplication object running the sender.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_MARK_NOT_BUSY();
This message marks the application not busy, removing the effect of a previous
MSG_GEN_APPLICATION_MARK_BUSY
.
Source: Sent automatically by objects with GA_INITIATES_BUSY_STATE set.
Destination: The GenApplication object running the sender.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_HOLD_UP_INPUT();
This message causes the GenApplication to mark itself busy and redirect input events to a special "hold-up" queue. When the application is ready to resume normal activity, it first handles the messages in the hold-up queue before handling new input messages.
Source: Used infrequently.
Destination: The GenApplication object to be held up.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_RESUME_INPUT();
This message causes a GenApplication to resume normal input handling after it has been held up with
MSG_GEN_APPLICATION_HOLD_UP_INPUT
.
Source: Used infrequently.
Destination: The GenApplication object running the sender.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_IGNORE_INPUT();
This message causes the GenApplication to consume all input events it receives rather than handle them. This message may be used during debugging as a last resort to help find synchronization problems.
Source: Infrequently used.
Destination: The GenApplication object to consume input events.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_ACCEPT_INPUT();
This message undoes a previous
MSG_GEN_APPLICATION_IGNORE_INPUT
, allowing the GenApplication to once again handle input events normally.
Source: Infrequently used.
Destination: The GenApplication object to resume input handling.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_MARK_APP_COMPLETELY_BUSY();
This message is rarely used and forces a busy state over the application regardless of other states. It should be used only when a time-intensive task is going on in the UI and the program can not handle input during that time.
Source: Infrequently used.
Destination: The GenApplication object to be marked completely busy.
Interception: Do not intercept.
void MSG_GEN_APPLICATION_MARK_APP_NOT_COMPLETELY_BUSY();
This message undoes
MSG_GEN_APPLICATION_MARK_COMPLETELY_BUSY
, allowing the application to once again handle user input.
Source: Infrequently used.
Destination: The GenApplication object to be marked not busy.
Interception: Do not intercept.
GEOS SDK TechDocs
|
|
2.1 An Application's Life Cycle
|
2.3 The GenApplication's Moniker