X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03e9bead8a013fd207e9c3e35bcfdba22fef929d..944930d5f525ffa2d10b7cefb1ecacaf1e95275c:/utils/wxPython/src/misc.i diff --git a/utils/wxPython/src/misc.i b/utils/wxPython/src/misc.i index f8d7ed4b85..a8791dd6c5 100644 --- a/utils/wxPython/src/misc.i +++ b/utils/wxPython/src/misc.i @@ -15,6 +15,8 @@ %{ #include "helpers.h" #include +#include +#include %} //---------------------------------------------------------------------- @@ -25,29 +27,38 @@ // Import some definitions of other classes, etc. %import _defs.i -//--------------------------------------------------------------------------- +//--------------------------------------------------------------------------- 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); - %name(GetWidth) long GetX(); - %name(GetHeight)long GetY(); + long GetX(); + long GetY(); + long GetWidth(); + long GetHeight(); + void SetWidth(long w); + void SetHeight(long h); %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())" + }; //--------------------------------------------------------------------------- @@ -58,8 +69,24 @@ public: double y; wxRealPoint(double x=0.0, double y=0.0); ~wxRealPoint(); + + %addmethods { + void Set(double x, double y) { + self->x = x; + self->y = y; + } + PyObject* asTuple() { + PyObject* tup = PyTuple_New(2); + PyTuple_SET_ITEM(tup, 0, PyFloat_FromDouble(self->x)); + PyTuple_SET_ITEM(tup, 1, PyFloat_FromDouble(self->y)); + return tup; + } + } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" }; + class wxPoint { public: long x; @@ -72,13 +99,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,88 +137,52 @@ 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, 2, PyInt_FromLong(self->width)); + PyTuple_SET_ITEM(tup, 3, 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())" +}; -//--------------------------------------------------------------------------- -// Dialog Functions - -char* wxFileSelector(char* message, - char* default_path = NULL, - char* default_filename = NULL, - char* default_extension = NULL, - char* wildcard = "*.*", - int flags = 0, - wxWindow *parent = NULL, - int x = -1, int y = -1); - -wxString wxGetTextFromUser(const wxString& message, - const wxString& caption = wxPyEmptyStr, - const wxString& default_value = wxPyEmptyStr, - wxWindow *parent = NULL, - int x = -1, int y = -1, - bool centre = TRUE); - -// TODO: Need to custom wrap this one... -// int wxGetMultipleChoice(char* message, char* caption, -// int LCOUNT, char** LIST, -// int nsel, int *selection, -// wxWindow *parent = NULL, int x = -1, int y = -1, -// bool centre = TRUE, int width=150, int height=200); - - -wxString wxGetSingleChoice(const wxString& message, const wxString& caption, - int LCOUNT, wxString* LIST, - wxWindow *parent = NULL, - int x = -1, int y = -1, - bool centre = TRUE, - int width=150, int height=200); - -int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption, - int LCOUNT, wxString* LIST, - wxWindow *parent = NULL, - int x = -1, int y = -1, - bool centre = TRUE, - int width=150, int height=200); - - -int wxMessageBox(const wxString& message, - const wxString& caption = wxPyEmptyStr, - int style = wxOK | wxCENTRE, - wxWindow *parent = NULL, - int x = -1, int y = -1); -//--------------------------------------------------------------------------- -// GDI Functions -bool wxColourDisplay(); -int wxDisplayDepth(); -void wxSetCursor(wxCursor *cursor); //--------------------------------------------------------------------------- // Miscellaneous functions -long NewId(); -void RegisterId(long id); -void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR); +long wxNewId(); +void wxRegisterId(long id); +%name(NewId) long wxNewId(); +%name(RegisterId) void wxRegisterId(long id); + void wxBell(); void wxDisplaySize(int *OUTPUT, int *OUTPUT); void wxEndBusyCursor(); long wxExecute(const wxString& command, bool sync = FALSE); -wxWindow * wxFindWindowByLabel(const wxString& label, wxWindow *parent=NULL); -wxWindow * wxFindWindowByName(const wxString& name, wxWindow *parent=NULL); -wxWindow * wxGetActiveWindow(); long wxGetElapsedTime(bool resetTimer = TRUE); +#ifdef __WXMSW__ long wxGetFreeMemory(); +#endif void wxGetMousePosition(int* OUTPUT, int* OUTPUT); bool wxIsBusy(); wxString wxNow(); bool wxShell(const wxString& command = wxPyEmptyStr); void wxStartTimer(); +int wxGetOsVersion(int *OUTPUT, int *OUTPUT); + +void wxSleep(int secs); bool wxYield(); +bool wxSafeYield(); +void wxEnableTopLevelWindows(bool enable); -int wxGetOsVersion(int *OUTPUT, int *OUTPUT); %inline %{ char* wxGetResource(char *section, char *entry, char *file = NULL) { char * retval; @@ -198,20 +191,6 @@ int wxGetOsVersion(int *OUTPUT, int *OUTPUT); } %} -//--------------------------------------------------------------------------- -// Resource System - -bool wxResourceAddIdentifier(char *name, int value); -void wxResourceClear(void); -wxBitmap * wxResourceCreateBitmap(char *resource); -wxIcon * wxResourceCreateIcon(char *resource); -wxMenuBar * wxResourceCreateMenuBar(char *resource); -int wxResourceGetIdentifier(char *name); -bool wxResourceParseData(char *resource, wxResourceTable *table = NULL); -bool wxResourceParseFile(char *filename, wxResourceTable *table = NULL); -bool wxResourceParseString(char *resource, wxResourceTable *table = NULL); - - //---------------------------------------------------------------------- @@ -246,9 +225,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); @@ -274,13 +253,65 @@ 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); + bool IsEmpty(); + 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); - //~wxAcceleratorEntry(); *** ? + ~wxAcceleratorEntry(); void Set(int flags, int keyCode, int Cmd); int GetFlags(); @@ -293,24 +324,20 @@ class wxAcceleratorTable { public: // Can also accept a list of 3-tuples wxAcceleratorTable(int LCOUNT, wxAcceleratorEntry* LIST); - // ~wxAcceleratorEntry(); *** ? + ~wxAcceleratorTable(); }; //--------------------------------------------------------------------------- -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// Revision 1.2 1998/08/15 07:36:41 RD -// - Moved the header in the .i files out of the code that gets put into -// the .cpp files. It caused CVS conflicts because of the RCS ID being -// different each time. -// -// - A few minor fixes. -// -// Revision 1.1 1998/08/09 08:25:51 RD -// Initial version -// -// + +class wxBusyInfo { +public: + wxBusyInfo(const wxString& message); + ~wxBusyInfo(); +}; + + + +//---------------------------------------------------------------------------