From e5354813181461c154044d52a464b29fa1aefaf8 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Thu, 13 Jun 2013 14:04:41 +0000 Subject: [PATCH] reusing existing API git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/uiaction.h | 4 ---- src/common/uiactioncmn.cpp | 17 ++++------------- src/osx/uiaction_osx.cpp | 19 +++++++++++++------ 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/include/wx/uiaction.h b/include/wx/uiaction.h index 1fce389770..68de3dde6a 100644 --- a/include/wx/uiaction.h +++ b/include/wx/uiaction.h @@ -49,10 +49,6 @@ public: int button = wxMOUSE_BTN_LEFT) { return MouseDragDrop(p1.x, p1.y, p2.x, p2.y, button); } - bool MouseClickAndDragTo(long x, long y, int button = wxMOUSE_BTN_LEFT); - bool MouseClickAndDragTo(const wxPoint& point, int button = wxMOUSE_BTN_LEFT) - { return MouseClickAndDragTo(point.x, point.y, button); } - // Keyboard simulation // ------------------- diff --git a/src/common/uiactioncmn.cpp b/src/common/uiactioncmn.cpp index cf718d2a01..0df4aea34b 100644 --- a/src/common/uiactioncmn.cpp +++ b/src/common/uiactioncmn.cpp @@ -37,28 +37,19 @@ bool wxUIActionSimulator::MouseDblClick(int button) return true; } -bool wxUIActionSimulator::MouseClickAndDragTo(long x, long y, int button) -{ - MouseDown(button); - MouseMove(x,y); - MouseUp(button); - return true; -} - -#endif - -bool -wxUIActionSimulator::MouseDragDrop(long x1, long y1, long x2, long y2, +bool wxUIActionSimulator::MouseDragDrop(long x1, long y1, long x2, long y2, int button) { MouseMove(x1, y1); MouseDown(button); MouseMove(x2, y2); MouseUp(button); - + return true; } +#endif + bool wxUIActionSimulator::Key(int keycode, int modifiers, bool isDown) { diff --git a/src/osx/uiaction_osx.cpp b/src/osx/uiaction_osx.cpp index 5c1bbade27..7c75e105e2 100644 --- a/src/osx/uiaction_osx.cpp +++ b/src/osx/uiaction_osx.cpp @@ -202,27 +202,34 @@ bool wxUIActionSimulator::MouseDblClick(int button) return true; } -bool wxUIActionSimulator::MouseClickAndDragTo(long x, long y, int button) +bool wxUIActionSimulator::MouseDragDrop(long x1, long y1, long x2, long y2, + int button) { + CGPoint pos1,pos2; + pos1.x = x1; + pos1.y = y1; + pos2.x = x2; + pos2.y = y2; + CGEventType downtype = CGEventTypeForMouseButton(button, true); CGEventType uptype = CGEventTypeForMouseButton(button, false); CGEventType dragtype = CGEventTypeForMouseDrag(button) ; wxCFRef event( - CGEventCreateMouseEvent(NULL, downtype, GetMousePosition(), CGButtonForMouseButton(button))); + CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, pos1, CGButtonForMouseButton(button))); if ( !event ) return false; + CGEventSetType(event,kCGEventMouseMoved); + CGEventPost(tap, event); + CGEventSetType(event,downtype); CGEventPost(tap, event); - CGPoint pos; - pos.x = x; - pos.y = y; CGEventSetType(event, dragtype); - CGEventSetLocation(event,pos); + CGEventSetLocation(event,pos2); CGEventPost(tap, event); CGEventSetType(event, uptype); -- 2.47.2