X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2327fb3bc3ba0c5ee28d444ea39417d847a0bd73..90fb367e86c1e82367f8d4781b8c1bdc31a26593:/wxPython/src/_functions.i diff --git a/wxPython/src/_functions.i b/wxPython/src/_functions.i index 23b2cb1cb5..70ec6dd4b1 100644 --- a/wxPython/src/_functions.i +++ b/wxPython/src/_functions.i @@ -52,23 +52,28 @@ MustHaveApp(wxEndBusyCursor); void wxEndBusyCursor(); long wxGetElapsedTime(bool resetTimer = true); - -MustHaveApp(wxGetMousePosition); -DocDeclA( - void, wxGetMousePosition(int* OUTPUT, int* OUTPUT), - "GetMousePosition() -> (x,y)"); - +%pythoncode { GetElapsedTime = wx._deprecated(GetElapsedTime) } + bool wxIsBusy(); wxString wxNow(); bool wxShell(const wxString& command = wxPyEmptyString); void wxStartTimer(); + DocDeclA( int, wxGetOsVersion(int *OUTPUT, int *OUTPUT), "GetOsVersion() -> (platform, major, minor)"); wxString wxGetOsDescription(); + +// Get platform endianness +bool wxIsPlatformLittleEndian(); + +// Get platform architecture +bool wxIsPlatform64Bit(); + + // TODO: // // Parses the wildCard, returning the number of filters. // // Returns 0 if none or if there's a problem, @@ -77,11 +82,20 @@ wxString wxGetOsDescription(); // // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png" // int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters); + +%typemap(out) wxMemorySize { + %#if wxUSE_LONGLONG + $result = PyLong_FromLongLong($1.GetValue()); + %#else + $result = PyInt_FromLong($1); + %#endif +} + #if defined(__WXMSW__) || defined(__WXMAC__) -long wxGetFreeMemory(); +wxMemorySize wxGetFreeMemory(); #else %inline %{ - long wxGetFreeMemory() + wxMemorySize wxGetFreeMemory() { wxPyRaiseNotImplemented(); return 0; } %} #endif @@ -204,7 +218,6 @@ int wxMessageBox(const wxString& message, wxWindow *parent = NULL, int x = -1, int y = -1); -// WXWIN_COMPATIBILITY_2_4 MustHaveApp(wxGetNumberFromUser); long wxGetNumberFromUser(const wxString& message, const wxString& prompt, @@ -275,8 +288,29 @@ other platforms.", ""); MustHaveApp(wxBeginBusyCursor); void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR); + +MustHaveApp(wxGetMousePosition); +DocDeclStr( + wxPoint, wxGetMousePosition(), + "Get the current mouse position on the screen.", ""); + +MustHaveApp(FindWindowAtPointer); +DocStr(FindWindowAtPointer, + "Returns the window currently under the mouse pointer, if it belongs to + this application. Otherwise it returns None.", ""); +%inline %{ + wxWindow* FindWindowAtPointer() { + wxPoint unused; + return wxFindWindowAtPointer(unused); + } +%} + + MustHaveApp(wxGetActiveWindow); -wxWindow * wxGetActiveWindow(); +DocDeclStr( + wxWindow *, wxGetActiveWindow(), + "Get the currently active window of this application, or None", ""); + MustHaveApp(wxGenericFindWindowAtPoint); wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt); @@ -301,11 +335,73 @@ DocDeclStr( bool , wxGetKeyState(wxKeyCode key), "Get the state of a key (true if pressed or toggled on, false if not.) This is generally most useful getting the state of the modifier or -toggle keys. On some platforms those may be the only keys that work. +toggle keys. On some platforms those may be the only keys that this +function is able to detect. ", ""); +//--------------------------------------------------------------------------- + +DocStr(wxMouseState, +"`wx.MouseState` is used to hold information about mouse button and +modifier key states and is what is returned from `wx.GetMouseState`.", +""); + +class wxMouseState +{ +public: + wxMouseState(); + ~wxMouseState(); + + wxCoord GetX(); + wxCoord GetY(); + + bool LeftDown(); + bool MiddleDown(); + bool RightDown(); + + bool ControlDown(); + bool ShiftDown(); + bool AltDown(); + bool MetaDown(); + bool CmdDown(); + + void SetX(wxCoord x); + void SetY(wxCoord y); + + void SetLeftDown(bool down); + void SetMiddleDown(bool down); + void SetRightDown(bool down); + + void SetControlDown(bool down); + void SetShiftDown(bool down); + void SetAltDown(bool down); + void SetMetaDown(bool down); + + %pythoncode { + x = property(GetX, SetX) + y = property(GetY, SetY) + leftDown = property(LeftDown, SetLeftDown) + middleDown = property(MiddleDown, SetMiddleDown) + rightDown = property(RightDown, SetRightDown) + controlDown = property(ControlDown, SetControlDown) + shiftDown = property(ShiftDown, SetShiftDown) + altDown = property(AltDown, SetAltDown) + metaDown = property(MetaDown, SetMetaDown) + cmdDown = property(CmdDown) + } +}; + + +DocDeclStr( + wxMouseState , wxGetMouseState(), + "Returns the current state of the mouse. Returns an instance of a +`wx.MouseState` object that contains the current position of the mouse +pointer in screen coordinants, as well as boolean values indicating +the up/down status of the mouse buttons and the modifier keys.", ""); + + //--------------------------------------------------------------------------- MustHaveApp(wxWakeUpMainThread); @@ -345,40 +441,5 @@ MustHaveApp(wxThread); } %} -//--------------------------------------------------------------------------- - -// enum wxPowerType -// { -// wxPOWER_SOCKET, -// wxPOWER_BATTERY, -// wxPOWER_UNKNOWN -// }; - -// DocDeclStr( -// wxPowerType , wxGetPowerType(), -// "Returns the type of power source as one of wx.POWER_SOCKET, -// wx.POWER_BATTERY or wx.POWER_UNKNOWN. wx.POWER_UNKNOWN is also the -// default on platforms where this feature is not implemented.", ""); - - -// enum wxBatteryState -// { -// wxBATTERY_NORMAL_STATE, // system is fully usable -// wxBATTERY_LOW_STATE, // start to worry -// wxBATTERY_CRITICAL_STATE, // save quickly -// wxBATTERY_SHUTDOWN_STATE, // too late -// wxBATTERY_UNKNOWN_STATE -// }; - -// DocDeclStr( -// wxBatteryState , wxGetBatteryState(), -// "Returns battery state as one of wx.BATTERY_NORMAL_STATE, -// wx.BATTERY_LOW_STATE}, wx.BATTERY_CRITICAL_STATE, -// wx.BATTERY_SHUTDOWN_STATE or wx.BATTERY_UNKNOWN_STATE. -// wx.BATTERY_UNKNOWN_STATE is also the default on platforms where this -// feature is not implemented.", ""); - - - //--------------------------------------------------------------------------- //---------------------------------------------------------------------------