X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/faf3cb3590e7bead27735c94014df39025cfc12b..4cd9591aab117574f7d0af749d0d1f774b9d7945:/utils/wxPython/src/misc.i diff --git a/utils/wxPython/src/misc.i b/utils/wxPython/src/misc.i index 9c2ca65b81..984a802bd8 100644 --- a/utils/wxPython/src/misc.i +++ b/utils/wxPython/src/misc.i @@ -15,6 +15,7 @@ %{ #include "helpers.h" #include +#include %} //---------------------------------------------------------------------- @@ -31,23 +32,30 @@ class wxSize { public: + long x; + long y; %name(width) long x; %name(height)long y; wxSize(long w=0, long h=0); ~wxSize(); void Set(long w, long h); + long GetX(); + long GetY(); %name(GetWidth) long GetX(); %name(GetHeight)long GetY(); %addmethods { - PyObject* __str__() { + PyObject* asTuple() { PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); return tup; } } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" + }; //--------------------------------------------------------------------------- @@ -72,13 +80,15 @@ public: self->x = x; self->y = y; } - PyObject* __str__() { + PyObject* asTuple() { PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); return tup; } } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" }; //--------------------------------------------------------------------------- @@ -108,6 +118,19 @@ public: long GetRight(); long x, y, width, height; + + %addmethods { + PyObject* asTuple() { + PyObject* tup = PyTuple_New(4); + PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); + PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); + PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->width)); + PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->height)); + return tup; + } + } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" }; @@ -115,7 +138,7 @@ public: //--------------------------------------------------------------------------- // Dialog Functions -char* wxFileSelector(char* message, +wxString wxFileSelector(char* message, char* default_path = NULL, char* default_filename = NULL, char* default_extension = NULL, @@ -165,13 +188,16 @@ int wxMessageBox(const wxString& message, bool wxColourDisplay(); int wxDisplayDepth(); -void wxSetCursor(wxCursor *cursor); +void wxSetCursor(wxCursor& cursor); //--------------------------------------------------------------------------- // Miscellaneous functions -long NewId(); -void RegisterId(long id); +long wxNewId(); +void wxRegisterId(long id); +%name(NewId) long wxNewId(); +%name(RegisterId) void wxRegisterId(long id); + void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR); void wxBell(); void wxDisplaySize(int *OUTPUT, int *OUTPUT); @@ -194,6 +220,7 @@ int wxGetOsVersion(int *OUTPUT, int *OUTPUT); #endif bool wxYield(); +bool wxSafeYield(); %inline %{ char* wxGetResource(char *section, char *entry, char *file = NULL) { @@ -251,9 +278,9 @@ public: void Above(wxWindow *otherWin, int margin=0); void Absolute(int value); - void AsIs(void); + void AsIs(); void Below(wxWindow *otherWin, int margin=0); - void Unconstrained(void); + void Unconstrained(); void LeftOf(wxWindow *otherWin, int margin=0); void PercentOf(wxWindow *otherWin, wxEdge edge, int percent); void RightOf(wxWindow *otherWin, int margin=0); @@ -279,6 +306,60 @@ public: } +//--------------------------------------------------------------------------- +// Regions, etc. + +enum wxRegionContain { + wxOutRegion, wxPartRegion, wxInRegion +}; + + +class wxRegion { +public: + wxRegion(); + ~wxRegion(); + + void Clear(); + wxRegionContain Contains(long x, long y); + %name(ContainsPoint)wxRegionContain Contains(const wxPoint& pt); + %name(ContainsRect)wxRegionContain Contains(const wxRect& rect); + + wxRect GetBox(); + bool Intersect(const wxRect& rect); +#ifdef __WXMSW__ + bool IsEmpty(); +#endif + bool Subtract(const wxRect& rect); + bool Union(const wxRect& rect); + bool Xor(const wxRect& rect); +}; + + + +class wxRegionIterator { +public: + wxRegionIterator(const wxRegion& region); + ~wxRegionIterator(); + + long GetX(); + long GetY(); + long GetW(); + long GetWidth(); + long GetH(); + long GetHeight(); + wxRect GetRect(); + bool HaveRects(); + void Reset(); + + %addmethods { + void Next() { + (*self) ++; + } + }; +}; + + + //--------------------------------------------------------------------------- // Accelerator Entry and Table @@ -302,10 +383,101 @@ public: }; +//--------------------------------------------------------------------------- +// wxToolTip + +class wxToolTip { +public: + wxToolTip(const wxString &tip); + + void SetTip(const wxString& tip); + wxString GetTip(); + // *** Not in the "public" interface void SetWindow(wxWindow *win); + wxWindow *GetWindow(); +}; + + +%inline %{ + void wxToolTip_Enable(bool flag) { + wxToolTip::Enable(flag); + } + + void wxToolTip_SetDelay(long milliseconds) { + wxToolTip::SetDelay(milliseconds); + } +%} + //--------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.14 1999/04/30 03:29:19 RD +// wxPython 2.0b9, first phase (win32) +// Added gobs of stuff, see wxPython/README.txt for details +// +// Revision 1.13.4.1 1999/03/27 23:29:15 RD +// +// wxPython 2.0b8 +// Python thread support +// various minor additions +// various minor fixes +// +// Revision 1.13 1999/02/25 07:08:34 RD +// +// wxPython version 2.0b5 +// +// Revision 1.12 1999/02/20 10:02:37 RD +// +// Changes needed to enable wxGTK compatibility. +// +// Revision 1.11 1999/02/20 09:03:01 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// +// Revision 1.10 1999/01/30 07:30:14 RD +// +// Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. +// +// Various cleanup, tweaks, minor additions, etc. to maintain +// compatibility with the current wxWindows. +// +// Revision 1.9 1998/12/16 22:10:55 RD +// +// Tweaks needed to be able to build wxPython with wxGTK. +// +// Revision 1.8 1998/12/15 20:41:22 RD +// Changed the import semantics from "from wxPython import *" to "from +// wxPython.wx import *" This is for people who are worried about +// namespace pollution, they can use "from wxPython import wx" and then +// prefix all the wxPython identifiers with "wx." +// +// Added wxTaskbarIcon for wxMSW. +// +// Made the events work for wxGrid. +// +// Added wxConfig. +// +// Added wxMiniFrame for wxGTK, (untested.) +// +// Changed many of the args and return values that were pointers to gdi +// objects to references to reflect changes in the wxWindows API. +// +// Other assorted fixes and additions. +// +// Revision 1.7 1998/11/25 08:45:27 RD +// +// Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon +// Added events for wxGrid +// Other various fixes and additions +// // Revision 1.6 1998/11/15 23:03:46 RD // Removing some ifdef's for wxGTK //