X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d5c9047acf66ae7ee2aed4778832b6887095ce7a..9f68a1f2357ec294e56dd1f0620b1df0f2ee7214:/utils/wxPython/src/misc.i diff --git a/utils/wxPython/src/misc.i b/utils/wxPython/src/misc.i index dd7c6bedea..3f411f7dba 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,7 +188,7 @@ int wxMessageBox(const wxString& message, bool wxColourDisplay(); int wxDisplayDepth(); -void wxSetCursor(wxCursor *cursor); +void wxSetCursor(wxCursor& cursor); //--------------------------------------------------------------------------- // Miscellaneous functions @@ -251,9 +274,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); @@ -280,9 +303,62 @@ public: //--------------------------------------------------------------------------- -// Accelerator Entry and Table +// 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 + class wxAcceleratorEntry { public: wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0); @@ -302,11 +378,93 @@ public: // ~wxAcceleratorEntry(); *** ? }; -#endif + +//--------------------------------------------------------------------------- +// 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.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 +// // Revision 1.5 1998/10/20 06:43:59 RD // New wxTreeCtrl wrappers (untested) // some changes in helpers