76 #ifndef QEVENTDISPATCHER_MAC_P_H 77 #define QEVENTDISPATCHER_MAC_P_H 90 #include <QtGui/qwindowdefs.h> 91 #include <QtCore/qhash.h> 92 #include <QtCore/qstack.h> 93 #include "private/qabstracteventdispatcher_p.h" 94 #include "private/qt_mac_p.h" 98 #ifdef QT_MAC_USE_COCOA 99 typedef struct _NSModalSession *NSModalSession;
100 typedef struct _QCocoaModalSessionInfo {
102 NSModalSession session;
104 } QCocoaModalSessionInfo;
118 bool processEvents(QEventLoop::ProcessEventsFlags flags);
119 bool hasPendingEvents();
124 void registerTimer(
int timerId,
int interval,
QObject *
object);
125 bool unregisterTimer(
int timerId);
126 bool unregisterTimers(
QObject *
object);
134 friend void qt_mac_select_timer_callbk(__EventLoopTimer*,
void*);
146 return (
id == other.
id);
152 MacSocketInfo() : socket(0), runloop(0), readNotifier(0), writeNotifier(0) {}
173 #ifdef QT_MAC_USE_COCOA 176 static bool currentExecIsNSAppRun;
177 static bool nsAppRunCalledByQt;
178 static bool cleanupModalSessionsNeeded;
179 static NSModalSession currentModalSessionCached;
180 static NSModalSession currentModalSession();
181 static void updateChildrenWorksWhenModal();
182 static void temporarilyStopAllModalSessions();
185 static void cancelWaitForMoreEvents();
186 static void cleanupModalSessions();
187 static void ensureNSAppInitialized();
199 static Boolean postedEventSourceEqualCallback(
const void *info1,
const void *info2);
200 static void postedEventsSourcePerformCallback(
void *
info);
201 static void activateTimer(CFRunLoopTimerRef,
void *
info);
202 static void waitingObserverCallback(CFRunLoopObserverRef observer,
203 CFRunLoopActivity activity,
void *
info);
204 static void firstLoopEntry(CFRunLoopObserverRef ref, CFRunLoopActivity activity,
void *
info);
207 #ifdef QT_MAC_USE_COCOA 208 class QtMacInterruptDispatcherHelp :
public QObject 210 static QtMacInterruptDispatcherHelp *instance;
213 QtMacInterruptDispatcherHelp();
214 ~QtMacInterruptDispatcherHelp();
217 static void interruptLater();
218 static void cancelInterruptLater();
224 #endif // QEVENTDISPATCHER_MAC_P_H static MacTimerHash macTimerHash
CFRunLoopObserverRef waitingObserver
static mach_timebase_info_data_t info
#define QT_END_NAMESPACE
This macro expands to.
QPointer< QWidget > widget
The QAtomicInt class provides platform-independent atomic operations on integers. ...
QList< void * > queuedUserInputEvents
CFRunLoopTimerRef runLoopTimer
QHash< int, MacTimerInfo * > MacTimerHash
The QStack class is a template class that provides a stack.
The QHash class is a template class that provides a hash-table-based dictionary.
The QObject class is the base class of all Qt objects.
The QSocketNotifier class provides support for monitoring activity on a file descriptor.
bool operator==(const MacTimerInfo &other)
#define QT_BEGIN_NAMESPACE
This macro expands to.
static bool blockSendPostedEvents
CFRunLoopSourceRef runloop
QHash< int, MacSocketInfo * > MacSocketHash
#define Q_DECLARE_PUBLIC(Class)
CFRunLoopSourceRef postedEventsSource
Q_CORE_EXPORT QTextStream & flush(QTextStream &s)
CFRunLoopObserverRef firstTimeObserver
#define Q_DECLARE_PRIVATE(Class)
The QAbstractEventDispatcher class provides an interface to manage Qt's event queue.
The QList class is a template class that provides lists.