26 #define YUILogComponent "ui-events" 30 #include "YSimpleEventHandler.h" 33 #define VERBOSE_EVENTS 0 34 #define VERBOSE_BLOCK 0 40 _eventsBlocked =
false;
55 yuiDebug() <<
"Clearing pending event: " << _pendingEvent << endl;
64 YEvent *
event = _pendingEvent;
68 yuiDebug() <<
"Consuming " <<
event << endl;
79 yuiError() <<
"Ignoring NULL event" << endl;
86 yuiDebug() <<
"Blocking " <<
event << endl;
111 yuiDebug() <<
"New pending event: " <<
event << endl;
114 _pendingEvent = event;
126 return event->
widget() == widget;
132 if ( ! _pendingEvent )
137 if ( event && event->widget() == widget &&
event->
isValid() )
139 yuiDebug() <<
"Deleting " << _pendingEvent << endl;
148 if ( block ) yuiDebug() <<
"Blocking events" << endl;
149 else yuiDebug() <<
"Unblocking events" << endl;
152 _eventsBlocked = block;
158 if ( event == _pendingEvent )
166 yuiDebug() <<
"Deleting " <<
event << endl;
172 yuiError() <<
"Attempt to delete invalid event " <<
event << endl;
virtual ~YSimpleEventHandler()
Destructor.
YEvent * consumePendingEvent()
Consumes the pending event.
bool isValid() const
Check if this event is valid.
bool eventPendingFor(YWidget *widget) const
Returns 'true' if there is any event pending for the specified widget.
Abstract base class for events to be returned upon UI::UserInput() and related functions.
void sendEvent(YEvent *event_disown)
Widget event handlers call this when an event occured that should be the answer to a UserInput() / Po...
bool eventsBlocked() const
Returns 'true' if events are currently blocked.
void clear()
Clears any pending event (deletes the corresponding object).
void deleteEvent(YEvent *event)
Delete an event.
void blockEvents(bool block=true)
Block (or unblock) events.
YSimpleEventHandler()
Constructor.
void deletePendingEventsFor(YWidget *widget)
Delete any pending events for the specified widget.