HandlerSelector Class Reference

Inheritance diagram for HandlerSelector:

os::Window os::Looper os::Handler List of all members.

Public Member Functions

 HandlerSelector (os::Rect cFrame, os::Path cPath, os::Image *pcIcon, Message cMessage)
bool OkToQuit ()
 Check if it is ok to break the loop.
void HandleMessage (os::Message *pcMessage)
 Handle a message targeted at this handler.

Constructor & Destructor Documentation

HandlerSelector::HandlerSelector ( os::Rect  cFrame,
os::Path  cPath,
os::Image pcIcon,
Message  cMessage 
) [inline]

Member Function Documentation

bool HandlerSelector::OkToQuit ( void   )  [inline, virtual]

You can overload this function to affect how the looper will react to M_QUIT messages. When an M_QUIT message arrive the looper will call this function to figure out what to do. If it returns false the message is ignored. If it returns true the loop is terminated, the looper object deleted and the looper thread will exit.
true if it is ok to terminate the looper, false otherwise.
See also:
Quit(), PostMessage()
Kurt Skauen ([email protected])

Reimplemented from os::Looper.

void HandlerSelector::HandleMessage ( os::Message pcMessage  )  [inline, virtual]

Overload this member to dispatch messages sendt to this handler. When a looper receives a message for one of it's handlers it will call the taget handlers HandleMessage() to allow the handler to dispatch the message.
The message passed in pcMessage is also available through os::Looper::GetCurrentMessage() and os::Looper::DetachCurrentMessage() until this member returns. This is normally not very usefull for HandleMessage() itself but it can be convinient for other members called from HandleMessage() in case they need data from the message that was not passed on from HandleMessage().
The looper will be locked when this member is called. The default implementation of this member will pass the message on to the next handler if one was set with SetNextHandler().
Never do any lenthy operations in any hook members that are called from the looper thread if the looper is involved with the GUI (for example if the looper is a os::Window). The looper will not be able to dispatch messages until the hook returns so spending a long time in this members will make the GUI feel unresponsive.
pcMessage The message that should be handled. This message will be deleted by the looper when HandleMessage() returns unless you detach it with os::Looper::DetachCurrentMessage(),
See also:
os::Looper::DispatchMessage(), os::Looper::DetachCurrentMessage()
Kurt Skauen ([email protected])

Reimplemented from os::Handler.

Generated on Sat May 9 22:51:02 2009 for Syllable higlevel API by  doxygen 1.5.1