Add wxUSE_UIACTIONSIMULATOR and turn it off by default.
Disable the recently added wxUIActionSimulator class until the issues with it mentioned at http://article.gmane.org/gmane.comp.lib.wxwidgets.devel/119792/ are fixed. Also use "" around wx headers instead of <> in wx code itself. See #11801. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
53
configure
vendored
53
configure
vendored
@@ -1883,6 +1883,7 @@ Optional Features:
|
|||||||
--enable-metafiles use wxMetaFile (Win32 only)
|
--enable-metafiles use wxMetaFile (Win32 only)
|
||||||
--enable-dragimage use wxDragImage
|
--enable-dragimage use wxDragImage
|
||||||
--enable-accessibility enable accessibility support
|
--enable-accessibility enable accessibility support
|
||||||
|
--enable-uiactionsim use wxUIActionSimulator (experimental)
|
||||||
--enable-palette use wxPalette class
|
--enable-palette use wxPalette class
|
||||||
--enable-image use wxImage class
|
--enable-image use wxImage class
|
||||||
--enable-gif use gif images (GIF file format)
|
--enable-gif use gif images (GIF file format)
|
||||||
@@ -2969,6 +2970,7 @@ DEFAULT_wxUSE_LIBSDL=no
|
|||||||
DEFAULT_wxUSE_ACCESSIBILITY=no
|
DEFAULT_wxUSE_ACCESSIBILITY=no
|
||||||
DEFAULT_wxUSE_IPV6=no
|
DEFAULT_wxUSE_IPV6=no
|
||||||
DEFAULT_wxUSE_GSTREAMER8=no
|
DEFAULT_wxUSE_GSTREAMER8=no
|
||||||
|
DEFAULT_wxUSE_UIACTIONSIMULATOR=no
|
||||||
|
|
||||||
DEFAULT_wxUSE_UNICODE_UTF8=auto
|
DEFAULT_wxUSE_UNICODE_UTF8=auto
|
||||||
DEFAULT_wxUSE_OPENGL=auto
|
DEFAULT_wxUSE_OPENGL=auto
|
||||||
@@ -13557,6 +13559,50 @@ fi
|
|||||||
echo "${ECHO_T}$result" >&6; }
|
echo "${ECHO_T}$result" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
enablestring=
|
||||||
|
defaultval=$wxUSE_ALL_FEATURES
|
||||||
|
if test -z "$defaultval"; then
|
||||||
|
if test x"$enablestring" = xdisable; then
|
||||||
|
defaultval=yes
|
||||||
|
else
|
||||||
|
defaultval=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
{ echo "$as_me:$LINENO: checking for --${enablestring:-enable}-uiactionsim" >&5
|
||||||
|
echo $ECHO_N "checking for --${enablestring:-enable}-uiactionsim... $ECHO_C" >&6; }
|
||||||
|
# Check whether --enable-uiactionsim was given.
|
||||||
|
if test "${enable_uiactionsim+set}" = set; then
|
||||||
|
enableval=$enable_uiactionsim;
|
||||||
|
if test "$enableval" = yes; then
|
||||||
|
wx_cv_use_uiactionsim='wxUSE_UIACTIONSIMULATOR=yes'
|
||||||
|
else
|
||||||
|
wx_cv_use_uiactionsim='wxUSE_UIACTIONSIMULATOR=no'
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
wx_cv_use_uiactionsim='wxUSE_UIACTIONSIMULATOR=${'DEFAULT_wxUSE_UIACTIONSIMULATOR":-$defaultval}"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
eval "$wx_cv_use_uiactionsim"
|
||||||
|
|
||||||
|
if test x"$enablestring" = xdisable; then
|
||||||
|
if test $wxUSE_UIACTIONSIMULATOR = no; then
|
||||||
|
result=yes
|
||||||
|
else
|
||||||
|
result=no
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
result=$wxUSE_UIACTIONSIMULATOR
|
||||||
|
fi
|
||||||
|
|
||||||
|
{ echo "$as_me:$LINENO: result: $result" >&5
|
||||||
|
echo "${ECHO_T}$result" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enablestring=
|
enablestring=
|
||||||
@@ -46306,6 +46352,13 @@ _ACEOF
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$wxUSE_UIACTIONSIMULATOR" = "yes" ; then
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
USES_CONTROLS=0
|
USES_CONTROLS=0
|
||||||
if test "$wxUSE_CONTROLS" = "yes"; then
|
if test "$wxUSE_CONTROLS" = "yes"; then
|
||||||
|
@@ -387,6 +387,7 @@ dnl features disabled by default
|
|||||||
DEFAULT_wxUSE_ACCESSIBILITY=no
|
DEFAULT_wxUSE_ACCESSIBILITY=no
|
||||||
DEFAULT_wxUSE_IPV6=no
|
DEFAULT_wxUSE_IPV6=no
|
||||||
DEFAULT_wxUSE_GSTREAMER8=no
|
DEFAULT_wxUSE_GSTREAMER8=no
|
||||||
|
DEFAULT_wxUSE_UIACTIONSIMULATOR=no
|
||||||
|
|
||||||
dnl automatic features
|
dnl automatic features
|
||||||
DEFAULT_wxUSE_UNICODE_UTF8=auto
|
DEFAULT_wxUSE_UNICODE_UTF8=auto
|
||||||
@@ -1013,6 +1014,7 @@ WX_ARG_FEATURE(joystick, [ --enable-joystick use wxJoystick], wxUSE_JO
|
|||||||
WX_ARG_FEATURE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE)
|
WX_ARG_FEATURE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE)
|
||||||
WX_ARG_FEATURE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
|
WX_ARG_FEATURE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
|
||||||
WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
|
WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
|
||||||
|
WX_ARG_FEATURE(uiactionsim, [ --enable-uiactionsim use wxUIActionSimulator (experimental)], wxUSE_UIACTIONSIMULATOR)
|
||||||
|
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
dnl support for image formats that do not rely on external library
|
dnl support for image formats that do not rely on external library
|
||||||
@@ -6719,6 +6721,10 @@ if test "$wxUSE_MOUSEWHEEL" = "yes" ; then
|
|||||||
AC_DEFINE(wxUSE_MOUSEWHEEL)
|
AC_DEFINE(wxUSE_MOUSEWHEEL)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$wxUSE_UIACTIONSIMULATOR" = "yes" ; then
|
||||||
|
AC_DEFINE(wxUSE_UIACTIONSIMULATOR)
|
||||||
|
fi
|
||||||
|
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
dnl GUI controls
|
dnl GUI controls
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
|
@@ -1065,6 +1065,14 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif /* !defined(wxUSE_TREECTRL) */
|
#endif /* !defined(wxUSE_TREECTRL) */
|
||||||
|
|
||||||
|
#ifndef wxUSE_UIACTIONSIMULATOR
|
||||||
|
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||||
|
# error "wxUSE_UIACTIONSIMULATOR must be defined, please read comment near the top of this file."
|
||||||
|
# else
|
||||||
|
# define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
# endif
|
||||||
|
#endif /* !defined(wxUSE_UIACTIONSIMULATOR) */
|
||||||
|
|
||||||
#ifndef wxUSE_VALIDATORS
|
#ifndef wxUSE_VALIDATORS
|
||||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||||
# error "wxUSE_VALIDATORS must be defined, please read comment near the top of this file."
|
# error "wxUSE_VALIDATORS must be defined, please read comment near the top of this file."
|
||||||
|
@@ -1214,6 +1214,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1214,6 +1214,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1214,6 +1214,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1214,6 +1214,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1215,6 +1215,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1214,6 +1214,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1210,6 +1210,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -9,19 +9,22 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _UIACTIONSIMULATOR_H_
|
#ifndef _WX_UIACTIONSIMULATOR_H_
|
||||||
#define _UIACTIONSIMULATOR_H_
|
#define _WX_UIACTIONSIMULATOR_H_
|
||||||
|
|
||||||
#include <wx/defs.h>
|
#include "wx/defs.h"
|
||||||
#include <wx/event.h>
|
|
||||||
#include <wx/dynarray.h>
|
#if wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
|
#include "wx/event.h"
|
||||||
|
#include "wx/dynarray.h"
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxUIActionSimulator
|
class WXDLLIMPEXP_CORE wxUIActionSimulator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxUIActionSimulator();
|
wxUIActionSimulator();
|
||||||
~wxUIActionSimulator();
|
~wxUIActionSimulator();
|
||||||
|
|
||||||
// Mouse related
|
// Mouse related
|
||||||
bool MouseMove(long x, long y);
|
bool MouseMove(long x, long y);
|
||||||
bool MouseDown(int button = wxMOUSE_BTN_LEFT);
|
bool MouseDown(int button = wxMOUSE_BTN_LEFT);
|
||||||
@@ -29,23 +32,25 @@ public:
|
|||||||
bool MouseClick(int button = wxMOUSE_BTN_LEFT);
|
bool MouseClick(int button = wxMOUSE_BTN_LEFT);
|
||||||
bool MouseDblClick(int button = wxMOUSE_BTN_LEFT);
|
bool MouseDblClick(int button = wxMOUSE_BTN_LEFT);
|
||||||
bool MouseDragDrop(long x1, long y1, long x2, long y2, int button = wxMOUSE_BTN_LEFT);
|
bool MouseDragDrop(long x1, long y1, long x2, long y2, int button = wxMOUSE_BTN_LEFT);
|
||||||
|
|
||||||
// Keyboard related:
|
// Keyboard related:
|
||||||
|
|
||||||
bool KeyDown(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false)
|
bool KeyDown(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false)
|
||||||
{ return Key(keycode, true, shiftDown, cmdDown, altDown); }
|
{ return Key(keycode, true, shiftDown, cmdDown, altDown); }
|
||||||
|
|
||||||
bool KeyUp(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false)
|
bool KeyUp(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false)
|
||||||
{ return Key(keycode, false, shiftDown, cmdDown, altDown); }
|
{ return Key(keycode, false, shiftDown, cmdDown, altDown); }
|
||||||
|
|
||||||
bool Char(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
bool Char(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Implementation-wise, since key events take more code to set up on GTK and Mac, it makes
|
// Implementation-wise, since key events take more code to set up on GTK and Mac, it makes
|
||||||
// sense to handle both key down and key up in one method. However, I wanted the API for pressing
|
// sense to handle both key down and key up in one method. However, I wanted the API for pressing
|
||||||
// and releasing the mouse and keyboard to be consistent, and I don't really like using a bool
|
// and releasing the mouse and keyboard to be consistent, and I don't really like using a bool
|
||||||
// for pressed state, so I'm leaving this as an implementation detail.
|
// for pressed state, so I'm leaving this as an implementation detail.
|
||||||
bool Key(int keycode, bool isDown=true, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
bool Key(int keycode, bool isDown=true, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
|
#endif // _WX_UIACTIONSIMULATOR_H_
|
||||||
|
@@ -1213,6 +1213,11 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 1
|
#define wxUSE_MOUSEWHEEL 1
|
||||||
// Include mouse wheel support
|
// Include mouse wheel support
|
||||||
|
|
||||||
|
// Compile wxUIActionSimulator class?
|
||||||
|
//
|
||||||
|
// This is experimental code subject to change. It's not fully implemented yet.
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDC classes for various output formats
|
// wxDC classes for various output formats
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -10,18 +10,22 @@
|
|||||||
@class wxUIActionSimulator
|
@class wxUIActionSimulator
|
||||||
|
|
||||||
wxUIActionSimulator is a class used to simulate user interface actions
|
wxUIActionSimulator is a class used to simulate user interface actions
|
||||||
such as a mouse click or a key press.
|
such as a mouse click or a key press.
|
||||||
|
|
||||||
|
@note that this class is currently experimental and disabled by default,
|
||||||
|
you must set @c wxUSE_UIACTIONSIMULATOR to 1 in your setup.h file or use
|
||||||
|
configure @c --enable-uiactionsim option to enable it.
|
||||||
|
|
||||||
Common usages for this class would be to provide playback and record (aka macro recording)
|
Common usages for this class would be to provide playback and record (aka macro recording)
|
||||||
functionality for users, or to drive unit tests by simulating user sessions.
|
functionality for users, or to drive unit tests by simulating user sessions.
|
||||||
|
|
||||||
See the uiaction sample for example usage of this class.
|
See the uiaction sample for example usage of this class.
|
||||||
|
|
||||||
NOTE: For keyboard operations, currently you must pass the keycode of the actual
|
NOTE: For keyboard operations, currently you must pass the keycode of the actual
|
||||||
key on the keyboard. To simulate, e.g. IME actions, you'd need to simulate the actual
|
key on the keyboard. To simulate, e.g. IME actions, you'd need to simulate the actual
|
||||||
keypresses needed to active the IME, then the keypresses needed to type and select
|
keypresses needed to active the IME, then the keypresses needed to type and select
|
||||||
the desired character.
|
the desired character.
|
||||||
|
|
||||||
@library{wxcore}
|
@library{wxcore}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -33,43 +37,43 @@ class wxUIActionSimulator
|
|||||||
*/
|
*/
|
||||||
wxUIActionSimulator();
|
wxUIActionSimulator();
|
||||||
~wxUIActionSimulator();
|
~wxUIActionSimulator();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Move the mouse to the specified coordinates.
|
Move the mouse to the specified coordinates.
|
||||||
|
|
||||||
@param x
|
@param x
|
||||||
x coordinate to move to, in screen coordinates.
|
x coordinate to move to, in screen coordinates.
|
||||||
|
|
||||||
@param y
|
@param y
|
||||||
y coordinate to move to, in screen coordinates.
|
y coordinate to move to, in screen coordinates.
|
||||||
*/
|
*/
|
||||||
bool MouseMove(long x, long y);
|
bool MouseMove(long x, long y);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Press a mouse button.
|
Press a mouse button.
|
||||||
|
|
||||||
@param button
|
@param button
|
||||||
Button to press. Valid constants are wxMOUSE_BTN_LEFT, wxMOUSE_BTN_MIDDLE, and wxMOUSE_BTN_RIGHT.
|
Button to press. Valid constants are wxMOUSE_BTN_LEFT, wxMOUSE_BTN_MIDDLE, and wxMOUSE_BTN_RIGHT.
|
||||||
*/
|
*/
|
||||||
bool MouseDown(int button = wxMOUSE_BTN_LEFT);
|
bool MouseDown(int button = wxMOUSE_BTN_LEFT);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Release a mouse button.
|
Release a mouse button.
|
||||||
|
|
||||||
@param button
|
@param button
|
||||||
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
||||||
*/
|
*/
|
||||||
bool MouseUp(int button = wxMOUSE_BTN_LEFT);
|
bool MouseUp(int button = wxMOUSE_BTN_LEFT);
|
||||||
/**
|
/**
|
||||||
Click a mouse button.
|
Click a mouse button.
|
||||||
|
|
||||||
@param button
|
@param button
|
||||||
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
||||||
*/
|
*/
|
||||||
bool MouseClick(int button = wxMOUSE_BTN_LEFT);
|
bool MouseClick(int button = wxMOUSE_BTN_LEFT);
|
||||||
/**
|
/**
|
||||||
Double-click a mouse button.
|
Double-click a mouse button.
|
||||||
|
|
||||||
@param button
|
@param button
|
||||||
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
||||||
*/
|
*/
|
||||||
@@ -77,70 +81,70 @@ class wxUIActionSimulator
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Perform a drag and drop operation.
|
Perform a drag and drop operation.
|
||||||
|
|
||||||
@param x1
|
@param x1
|
||||||
x start coordinate, in screen coordinates.
|
x start coordinate, in screen coordinates.
|
||||||
|
|
||||||
@param y1
|
@param y1
|
||||||
y start coordinate, in screen coordinates.
|
y start coordinate, in screen coordinates.
|
||||||
|
|
||||||
@param x2
|
@param x2
|
||||||
x desintation coordinate, in screen coordinates.
|
x desintation coordinate, in screen coordinates.
|
||||||
|
|
||||||
@param y2
|
@param y2
|
||||||
y destination coordinate, in screen coordinates.
|
y destination coordinate, in screen coordinates.
|
||||||
|
|
||||||
@param button
|
@param button
|
||||||
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
Button to press. See wxUIActionSimulator::MouseDown for a list of valid constants.
|
||||||
*/
|
*/
|
||||||
bool MouseDragDrop(long x1, long y1, long x2, long y2, int button = wxMOUSE_BTN_LEFT);
|
bool MouseDragDrop(long x1, long y1, long x2, long y2, int button = wxMOUSE_BTN_LEFT);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Press a key.
|
Press a key.
|
||||||
|
|
||||||
@param keycode
|
@param keycode
|
||||||
key to operate on, as an integer.
|
key to operate on, as an integer.
|
||||||
|
|
||||||
@param shiftDown
|
@param shiftDown
|
||||||
true if the shift key should be pressed, false otherwise.
|
true if the shift key should be pressed, false otherwise.
|
||||||
|
|
||||||
@param cmdDown
|
@param cmdDown
|
||||||
true if the cmd key should be pressed, false otherwise.
|
true if the cmd key should be pressed, false otherwise.
|
||||||
|
|
||||||
@param altDown
|
@param altDown
|
||||||
true if the alt key should be pressed, false otherwise.
|
true if the alt key should be pressed, false otherwise.
|
||||||
*/
|
*/
|
||||||
bool KeyDown(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
bool KeyDown(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Release a key.
|
Release a key.
|
||||||
|
|
||||||
@param keycode
|
@param keycode
|
||||||
key to operate on, as an integer.
|
key to operate on, as an integer.
|
||||||
|
|
||||||
@param shiftDown
|
@param shiftDown
|
||||||
true if the shift key should be pressed, false otherwise.
|
true if the shift key should be pressed, false otherwise.
|
||||||
|
|
||||||
@param cmdDown
|
@param cmdDown
|
||||||
true if the cmd key should be pressed, false otherwise.
|
true if the cmd key should be pressed, false otherwise.
|
||||||
|
|
||||||
@param altDown
|
@param altDown
|
||||||
true if the alt key should be pressed, false otherwise.
|
true if the alt key should be pressed, false otherwise.
|
||||||
*/
|
*/
|
||||||
bool KeyUp(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
bool KeyUp(int keycode, bool shiftDown=false, bool cmdDown=false, bool altDown=false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Press and release a key.
|
Press and release a key.
|
||||||
|
|
||||||
@param keycode
|
@param keycode
|
||||||
key to operate on, as an integer.
|
key to operate on, as an integer.
|
||||||
|
|
||||||
@param shiftDown
|
@param shiftDown
|
||||||
true if the shift key should be pressed, false otherwise.
|
true if the shift key should be pressed, false otherwise.
|
||||||
|
|
||||||
@param cmdDown
|
@param cmdDown
|
||||||
true if the cmd key should be pressed, false otherwise.
|
true if the cmd key should be pressed, false otherwise.
|
||||||
|
|
||||||
@param altDown
|
@param altDown
|
||||||
true if the alt key should be pressed, false otherwise.
|
true if the alt key should be pressed, false otherwise.
|
||||||
*/
|
*/
|
||||||
|
@@ -24,6 +24,8 @@
|
|||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
// for all others, include the necessary headers (this file is usually all you
|
// for all others, include the necessary headers (this file is usually all you
|
||||||
// need because it includes almost all "standard" wxWidgets headers)
|
// need because it includes almost all "standard" wxWidgets headers)
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
@@ -164,3 +166,5 @@ void MyFrame::OnButtonPressed(wxCommandEvent&)
|
|||||||
{
|
{
|
||||||
m_buttonPressed = true;
|
m_buttonPressed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_UIACTIONSIMULATOR
|
||||||
|
@@ -520,6 +520,8 @@
|
|||||||
#define wxUSE_MOUSEWHEEL 0
|
#define wxUSE_MOUSEWHEEL 0
|
||||||
|
|
||||||
|
|
||||||
|
#define wxUSE_UIACTIONSIMULATOR 0
|
||||||
|
|
||||||
|
|
||||||
#define wxUSE_POSTSCRIPT 0
|
#define wxUSE_POSTSCRIPT 0
|
||||||
|
|
||||||
|
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#if wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
#include "wx/uiaction.h"
|
#include "wx/uiaction.h"
|
||||||
|
|
||||||
wxUIActionSimulator::wxUIActionSimulator()
|
wxUIActionSimulator::wxUIActionSimulator()
|
||||||
@@ -22,21 +24,21 @@ wxUIActionSimulator::~wxUIActionSimulator()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool wxUIActionSimulator::MouseClick(int button)
|
bool wxUIActionSimulator::MouseClick(int button)
|
||||||
{
|
{
|
||||||
MouseDown(button);
|
MouseDown(button);
|
||||||
MouseUp(button);
|
MouseUp(button);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxUIActionSimulator::MouseDblClick(int button)
|
bool wxUIActionSimulator::MouseDblClick(int button)
|
||||||
{
|
{
|
||||||
MouseDown(button);
|
MouseDown(button);
|
||||||
MouseUp(button);
|
MouseUp(button);
|
||||||
MouseDown(button);
|
MouseDown(button);
|
||||||
MouseUp(button);
|
MouseUp(button);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,9 +46,9 @@ bool wxUIActionSimulator::MouseDragDrop(long x1, long y1, long x2, long y2, int
|
|||||||
{
|
{
|
||||||
MouseMove(x1, y1);
|
MouseMove(x1, y1);
|
||||||
MouseDown(button);
|
MouseDown(button);
|
||||||
MouseMove(x2, y2);
|
MouseMove(x2, y2);
|
||||||
MouseUp(button);
|
MouseUp(button);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,6 +56,8 @@ bool wxUIActionSimulator::Char(int keycode, bool shiftDown, bool cmdDown, bool
|
|||||||
{
|
{
|
||||||
Key(keycode, false, shiftDown, cmdDown, altDown);
|
Key(keycode, false, shiftDown, cmdDown, altDown);
|
||||||
Key(keycode, true, shiftDown, cmdDown, altDown);
|
Key(keycode, true, shiftDown, cmdDown, altDown);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_UIACTIONSIMULATOR
|
||||||
|
@@ -11,13 +11,11 @@
|
|||||||
|
|
||||||
#include "wx/wxprec.h"
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
#if wxUSE_UIACTIONSIMULATOR
|
||||||
#include "wx/defs.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/uiaction.h"
|
#include "wx/uiaction.h"
|
||||||
|
|
||||||
#include <windows.h>
|
#include "wx/msw/wrapwin.h"
|
||||||
|
|
||||||
DWORD EventTypeForMouseButton(int button, bool isDown)
|
DWORD EventTypeForMouseButton(int button, bool isDown)
|
||||||
{
|
{
|
||||||
@@ -38,7 +36,7 @@ DWORD EventTypeForMouseButton(int button, bool isDown)
|
|||||||
return MOUSEEVENTF_MIDDLEDOWN;
|
return MOUSEEVENTF_MIDDLEDOWN;
|
||||||
else
|
else
|
||||||
return MOUSEEVENTF_MIDDLEUP;
|
return MOUSEEVENTF_MIDDLEUP;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
wxFAIL_MSG("Unsupported button passed in.");
|
wxFAIL_MSG("Unsupported button passed in.");
|
||||||
return -1;
|
return -1;
|
||||||
@@ -54,7 +52,7 @@ bool wxUIActionSimulator::MouseDown(int button)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool wxUIActionSimulator::MouseMove(long x, long y)
|
bool wxUIActionSimulator::MouseMove(long x, long y)
|
||||||
{
|
{
|
||||||
mouse_event(MOUSEEVENTF_MOVE, x, y, 0, 0);
|
mouse_event(MOUSEEVENTF_MOVE, x, y, 0, 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -76,3 +74,4 @@ bool wxUIActionSimulator::Key(int keycode, bool isDown, bool shiftDown, bool cmd
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_UIACTIONSIMULATOR
|
||||||
|
@@ -9,8 +9,11 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <wx/defs.h>
|
#include "wx/defs.h"
|
||||||
#include <wx/uiaction.h>
|
|
||||||
|
#if wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
|
#include "wx/uiaction.h"
|
||||||
|
|
||||||
#include <ApplicationServices/ApplicationServices.h>
|
#include <ApplicationServices/ApplicationServices.h>
|
||||||
|
|
||||||
@@ -30,9 +33,9 @@ CGEventType CGEventTypeForMouseButton(int button, bool isDown)
|
|||||||
return kCGEventRightMouseDown;
|
return kCGEventRightMouseDown;
|
||||||
else
|
else
|
||||||
return kCGEventRightMouseUp;
|
return kCGEventRightMouseUp;
|
||||||
|
|
||||||
// Apparently all other buttons use the constant OtherMouseDown
|
// Apparently all other buttons use the constant OtherMouseDown
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (isDown)
|
if (isDown)
|
||||||
return kCGEventOtherMouseDown;
|
return kCGEventOtherMouseDown;
|
||||||
@@ -55,13 +58,13 @@ bool wxUIActionSimulator::MouseDown(int button)
|
|||||||
{
|
{
|
||||||
CGPoint pos;
|
CGPoint pos;
|
||||||
int x, y;
|
int x, y;
|
||||||
wxGetMousePosition(&x, &y);
|
wxGetMousePosition(&x, &y);
|
||||||
pos.x = x;
|
pos.x = x;
|
||||||
pos.y = y;
|
pos.y = y;
|
||||||
CGEventType type = CGEventTypeForMouseButton(button, true);
|
CGEventType type = CGEventTypeForMouseButton(button, true);
|
||||||
CGEventRef event = CGEventCreateMouseEvent(NULL, type, pos, button);
|
CGEventRef event = CGEventCreateMouseEvent(NULL, type, pos, button);
|
||||||
CGEventSetType(event, type);
|
CGEventSetType(event, type);
|
||||||
|
|
||||||
if (event)
|
if (event)
|
||||||
{
|
{
|
||||||
CGEventPost(tap, event);
|
CGEventPost(tap, event);
|
||||||
@@ -78,13 +81,13 @@ bool wxUIActionSimulator::MouseMove(long x, long y)
|
|||||||
CGEventType type = kCGEventMouseMoved;
|
CGEventType type = kCGEventMouseMoved;
|
||||||
CGEventRef event = CGEventCreateMouseEvent(NULL, type, pos, kCGMouseButtonLeft);
|
CGEventRef event = CGEventCreateMouseEvent(NULL, type, pos, kCGMouseButtonLeft);
|
||||||
CGEventSetType(event, type);
|
CGEventSetType(event, type);
|
||||||
|
|
||||||
if (event)
|
if (event)
|
||||||
{
|
{
|
||||||
CGEventPost(tap, event);
|
CGEventPost(tap, event);
|
||||||
}
|
}
|
||||||
CFRelease(event);
|
CFRelease(event);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,13 +95,13 @@ bool wxUIActionSimulator::MouseUp(int button)
|
|||||||
{
|
{
|
||||||
CGPoint pos;
|
CGPoint pos;
|
||||||
int x, y;
|
int x, y;
|
||||||
wxGetMousePosition(&x, &y);
|
wxGetMousePosition(&x, &y);
|
||||||
pos.x = x;
|
pos.x = x;
|
||||||
pos.y = y;
|
pos.y = y;
|
||||||
CGEventType type = CGEventTypeForMouseButton(button, false);
|
CGEventType type = CGEventTypeForMouseButton(button, false);
|
||||||
CGEventRef event = CGEventCreateMouseEvent(NULL, type, pos, button);
|
CGEventRef event = CGEventCreateMouseEvent(NULL, type, pos, button);
|
||||||
CGEventSetType(event, type);
|
CGEventSetType(event, type);
|
||||||
|
|
||||||
if (event)
|
if (event)
|
||||||
{
|
{
|
||||||
CGEventPost(tap, event);
|
CGEventPost(tap, event);
|
||||||
@@ -125,8 +128,9 @@ bool wxUIActionSimulator::Key(int keycode, bool isDown, bool shiftDown, bool cmd
|
|||||||
SendCharCode((CGCharCode)58, false);
|
SendCharCode((CGCharCode)58, false);
|
||||||
if (cmdDown)
|
if (cmdDown)
|
||||||
SendCharCode((CGCharCode)55, false);
|
SendCharCode((CGCharCode)55, false);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
|
@@ -9,8 +9,11 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <wx/defs.h>
|
#include "wx/defs.h"
|
||||||
#include <wx/uiaction.h>
|
|
||||||
|
#if wxUSE_UIACTIONSIMULATOR
|
||||||
|
|
||||||
|
#include "wx/uiaction.h"
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
@@ -35,12 +38,12 @@ void SendButtonEvent(int button, bool isDown)
|
|||||||
}
|
}
|
||||||
|
|
||||||
XEvent event;
|
XEvent event;
|
||||||
|
|
||||||
Display *display = XOpenDisplay(0);
|
Display *display = XOpenDisplay(0);
|
||||||
wxASSERT_MSG(display, "No display available!");
|
wxASSERT_MSG(display, "No display available!");
|
||||||
|
|
||||||
memset(&event, 0x00, sizeof(event));
|
memset(&event, 0x00, sizeof(event));
|
||||||
|
|
||||||
if (isDown)
|
if (isDown)
|
||||||
event.type = ButtonPress;
|
event.type = ButtonPress;
|
||||||
else
|
else
|
||||||
@@ -48,16 +51,16 @@ void SendButtonEvent(int button, bool isDown)
|
|||||||
|
|
||||||
event.xbutton.button = xbutton;
|
event.xbutton.button = xbutton;
|
||||||
event.xbutton.same_screen = True;
|
event.xbutton.same_screen = True;
|
||||||
|
|
||||||
XQueryPointer(display, RootWindow(display, DefaultScreen(display)), &event.xbutton.root, &event.xbutton.window, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
|
XQueryPointer(display, RootWindow(display, DefaultScreen(display)), &event.xbutton.root, &event.xbutton.window, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
|
||||||
event.xbutton.subwindow = event.xbutton.window;
|
event.xbutton.subwindow = event.xbutton.window;
|
||||||
|
|
||||||
while (event.xbutton.subwindow)
|
while (event.xbutton.subwindow)
|
||||||
{
|
{
|
||||||
event.xbutton.window = event.xbutton.subwindow;
|
event.xbutton.window = event.xbutton.subwindow;
|
||||||
XQueryPointer(display, event.xbutton.window, &event.xbutton.root, &event.xbutton.subwindow, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
|
XQueryPointer(display, event.xbutton.window, &event.xbutton.root, &event.xbutton.subwindow, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
|
||||||
}
|
}
|
||||||
|
|
||||||
XSendEvent(display, PointerWindow, True, 0xfff, &event);
|
XSendEvent(display, PointerWindow, True, 0xfff, &event);
|
||||||
XFlush(display);
|
XFlush(display);
|
||||||
XCloseDisplay(display);
|
XCloseDisplay(display);
|
||||||
@@ -70,7 +73,7 @@ bool wxUIActionSimulator::MouseDown(int button)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool wxUIActionSimulator::MouseMove(long x, long y)
|
bool wxUIActionSimulator::MouseMove(long x, long y)
|
||||||
{
|
{
|
||||||
Display *display = XOpenDisplay(0);
|
Display *display = XOpenDisplay(0);
|
||||||
wxASSERT_MSG(display, "No display available!");
|
wxASSERT_MSG(display, "No display available!");
|
||||||
Window root = DefaultRootWindow(display);
|
Window root = DefaultRootWindow(display);
|
||||||
@@ -90,11 +93,11 @@ bool wxUIActionSimulator::Key(int keycode, bool isDown, bool WXUNUSED(shiftDown)
|
|||||||
{
|
{
|
||||||
Display *display = XOpenDisplay(0);
|
Display *display = XOpenDisplay(0);
|
||||||
wxASSERT_MSG(display, "No display available!");
|
wxASSERT_MSG(display, "No display available!");
|
||||||
|
|
||||||
XKeyEvent event;
|
XKeyEvent event;
|
||||||
int mask = 0xfff;
|
int mask = 0xfff;
|
||||||
memset(&event, 0x00, sizeof(event));
|
memset(&event, 0x00, sizeof(event));
|
||||||
|
|
||||||
if (isDown) {
|
if (isDown) {
|
||||||
event.type = KeyPress;
|
event.type = KeyPress;
|
||||||
mask = KeyPressMask;
|
mask = KeyPressMask;
|
||||||
@@ -104,16 +107,16 @@ bool wxUIActionSimulator::Key(int keycode, bool isDown, bool WXUNUSED(shiftDown)
|
|||||||
mask = KeyReleaseMask;
|
mask = KeyReleaseMask;
|
||||||
}
|
}
|
||||||
event.same_screen = True;
|
event.same_screen = True;
|
||||||
|
|
||||||
XQueryPointer(display, RootWindow(display, DefaultScreen(display)), &event.root, &event.window, &event.x_root, &event.y_root, &event.x, &event.y, &event.state);
|
XQueryPointer(display, RootWindow(display, DefaultScreen(display)), &event.root, &event.window, &event.x_root, &event.y_root, &event.x, &event.y, &event.state);
|
||||||
event.subwindow = event.window;
|
event.subwindow = event.window;
|
||||||
|
|
||||||
while (event.subwindow)
|
while (event.subwindow)
|
||||||
{
|
{
|
||||||
event.window = event.subwindow;
|
event.window = event.subwindow;
|
||||||
XQueryPointer(display, event.window, &event.root, &event.subwindow, &event.x_root, &event.y_root, &event.x, &event.y, &event.state);
|
XQueryPointer(display, event.window, &event.root, &event.subwindow, &event.x_root, &event.y_root, &event.x, &event.y, &event.state);
|
||||||
}
|
}
|
||||||
|
|
||||||
XSendEvent(display, PointerWindow, True, mask, (XEvent*) &event);
|
XSendEvent(display, PointerWindow, True, mask, (XEvent*) &event);
|
||||||
XFlush(display);
|
XFlush(display);
|
||||||
XCloseDisplay(display);
|
XCloseDisplay(display);
|
||||||
@@ -121,3 +124,4 @@ bool wxUIActionSimulator::Key(int keycode, bool isDown, bool WXUNUSED(shiftDown)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_UIACTIONSIMULATOR
|
||||||
|
Reference in New Issue
Block a user