#include "wx/osx/private.h"
#include "wx/osx/core/cfref.h"
+#include "wx/evtloop.h"
+
namespace
{
CGEventSetType(event, type);
CGEventPost(tap, event);
+ wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive());
+ if (loop)
+ loop->SetShouldWaitForEvent(true);
+
+ return true;
+}
+
+bool wxUIActionSimulator::MouseDblClick(int button)
+{
+ CGEventType downtype = CGEventTypeForMouseButton(button, true);
+ CGEventType uptype = CGEventTypeForMouseButton(button, false);
+ wxCFRef<CGEventRef> event(
+ CGEventCreateMouseEvent(NULL, downtype, GetMousePosition(), button));
+
+ if ( !event )
+ return false;
+
+ CGEventSetType(event,downtype);
+ CGEventPost(tap, event);
+ CGEventSetType(event, uptype);
+ CGEventPost(tap, event);
+
+ CGEventSetIntegerValueField(event, kCGMouseEventClickState, 2);
+ CGEventSetType(event, downtype);
+ CGEventPost(tap, event);
+
+ CGEventSetType(event, uptype);
+ CGEventPost(tap, event);
+ wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive());
+ if (loop)
+ loop->SetShouldWaitForEvent(true);
+
return true;
}
CGEventSetType(event, type);
CGEventPost(tap, event);
-
+ wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive());
+ if (loop)
+ loop->SetShouldWaitForEvent(true);
+
return true;
}
CGEventSetType(event, type);
CGEventPost(tap, event);
-
+ wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive());
+ if (loop)
+ loop->SetShouldWaitForEvent(true);
+
return true;
}
return false;
CGEventPost(kCGHIDEventTap, event);
+ wxCFEventLoop* loop = dynamic_cast<wxCFEventLoop*>(wxEventLoop::GetActive());
+ if (loop)
+ loop->SetShouldWaitForEvent(true);
+
return true;
}