X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7bf854050fd5c04469d4334524433a31d4ba997a..c60fc26d5522510e50de8b9b83cf586066781811:/utils/wxPython/src/misc.i diff --git a/utils/wxPython/src/misc.i b/utils/wxPython/src/misc.i index 8f32ad8800..faef0a7a9a 100644 --- a/utils/wxPython/src/misc.i +++ b/utils/wxPython/src/misc.i @@ -1,5 +1,3 @@ -%module misc -%{ ///////////////////////////////////////////////////////////////////////////// // Name: misc.i // Purpose: Definitions of miscelaneous functions and classes @@ -12,9 +10,12 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// +%module misc +%{ #include "helpers.h" #include +#include %} //---------------------------------------------------------------------- @@ -25,29 +26,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())" + }; //--------------------------------------------------------------------------- @@ -72,13 +82,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 +120,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 +140,7 @@ public: //--------------------------------------------------------------------------- // Dialog Functions -char* wxFileSelector(char* message, +wxString wxFileSelector(char* message, char* default_path = NULL, char* default_filename = NULL, char* default_extension = NULL, @@ -131,6 +156,7 @@ wxString wxGetTextFromUser(const wxString& message, 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, @@ -160,36 +186,53 @@ int wxMessageBox(const wxString& message, wxWindow *parent = NULL, int x = -1, int y = -1); +long wxGetNumberFromUser(const wxString& message, + const wxString& prompt, + const wxString& caption, + long value, + long min = 0, long max = 100, + wxWindow *parent = NULL, + const wxPoint& pos = wxPyDefaultPosition); + //--------------------------------------------------------------------------- // GDI Functions 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); 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); +#ifdef __WXMSW__ wxWindow * wxGetActiveWindow(); long wxGetElapsedTime(bool resetTimer = TRUE); long wxGetFreeMemory(); +#endif void wxGetMousePosition(int* OUTPUT, int* OUTPUT); bool wxIsBusy(); wxString wxNow(); +#ifdef __WXMSW__ bool wxShell(const wxString& command = wxPyEmptyStr); void wxStartTimer(); +int wxGetOsVersion(int *OUTPUT, int *OUTPUT); +#endif + +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; @@ -203,8 +246,8 @@ int wxGetOsVersion(int *OUTPUT, int *OUTPUT); bool wxResourceAddIdentifier(char *name, int value); void wxResourceClear(void); -wxBitmap * wxResourceCreateBitmap(char *resource); -wxIcon * wxResourceCreateIcon(char *resource); +wxBitmap wxResourceCreateBitmap(char *resource); +wxIcon wxResourceCreateIcon(char *resource); wxMenuBar * wxResourceCreateMenuBar(char *resource); int wxResourceGetIdentifier(char *name); bool wxResourceParseData(char *resource, wxResourceTable *table = NULL); @@ -246,9 +289,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,6 +317,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 @@ -298,12 +395,118 @@ public: }; //--------------------------------------------------------------------------- -///////////////////////////////////////////////////////////////////////////// -// -// $Log$ -// Revision 1.1 1998/08/09 08:25:51 RD -// Initial version -// -// + +enum { + wxSYS_WHITE_BRUSH, + wxSYS_LTGRAY_BRUSH, + wxSYS_GRAY_BRUSH, + wxSYS_DKGRAY_BRUSH, + wxSYS_BLACK_BRUSH, + wxSYS_NULL_BRUSH, + wxSYS_HOLLOW_BRUSH, + wxSYS_WHITE_PEN, + wxSYS_BLACK_PEN, + wxSYS_NULL_PEN, + wxSYS_OEM_FIXED_FONT, + wxSYS_ANSI_FIXED_FONT, + wxSYS_ANSI_VAR_FONT, + wxSYS_SYSTEM_FONT, + wxSYS_DEVICE_DEFAULT_FONT, + wxSYS_DEFAULT_PALETTE, + wxSYS_SYSTEM_FIXED_FONT, + wxSYS_DEFAULT_GUI_FONT, + + wxSYS_COLOUR_SCROLLBAR, + wxSYS_COLOUR_BACKGROUND, + wxSYS_COLOUR_ACTIVECAPTION, + wxSYS_COLOUR_INACTIVECAPTION, + wxSYS_COLOUR_MENU, + wxSYS_COLOUR_WINDOW, + wxSYS_COLOUR_WINDOWFRAME, + wxSYS_COLOUR_MENUTEXT, + wxSYS_COLOUR_WINDOWTEXT, + wxSYS_COLOUR_CAPTIONTEXT, + wxSYS_COLOUR_ACTIVEBORDER, + wxSYS_COLOUR_INACTIVEBORDER, + wxSYS_COLOUR_APPWORKSPACE, + wxSYS_COLOUR_HIGHLIGHT, + wxSYS_COLOUR_HIGHLIGHTTEXT, + wxSYS_COLOUR_BTNFACE, + wxSYS_COLOUR_BTNSHADOW, + wxSYS_COLOUR_GRAYTEXT, + wxSYS_COLOUR_BTNTEXT, + wxSYS_COLOUR_INACTIVECAPTIONTEXT, + wxSYS_COLOUR_BTNHIGHLIGHT, + + wxSYS_COLOUR_3DDKSHADOW, + wxSYS_COLOUR_3DLIGHT, + wxSYS_COLOUR_INFOTEXT, + wxSYS_COLOUR_INFOBK, + + wxSYS_COLOUR_DESKTOP, + wxSYS_COLOUR_3DFACE, + wxSYS_COLOUR_3DSHADOW, + wxSYS_COLOUR_3DHIGHLIGHT, + wxSYS_COLOUR_3DHILIGHT, + wxSYS_COLOUR_BTNHILIGHT, + + wxSYS_MOUSE_BUTTONS, + wxSYS_BORDER_X, + wxSYS_BORDER_Y, + wxSYS_CURSOR_X, + wxSYS_CURSOR_Y, + wxSYS_DCLICK_X, + wxSYS_DCLICK_Y, + wxSYS_DRAG_X, + wxSYS_DRAG_Y, + wxSYS_EDGE_X, + wxSYS_EDGE_Y, + wxSYS_HSCROLL_ARROW_X, + wxSYS_HSCROLL_ARROW_Y, + wxSYS_HTHUMB_X, + wxSYS_ICON_X, + wxSYS_ICON_Y, + wxSYS_ICONSPACING_X, + wxSYS_ICONSPACING_Y, + wxSYS_WINDOWMIN_X, + wxSYS_WINDOWMIN_Y, + wxSYS_SCREEN_X, + wxSYS_SCREEN_Y, + wxSYS_FRAMESIZE_X, + wxSYS_FRAMESIZE_Y, + wxSYS_SMALLICON_X, + wxSYS_SMALLICON_Y, + wxSYS_HSCROLL_Y, + wxSYS_VSCROLL_X, + wxSYS_VSCROLL_ARROW_X, + wxSYS_VSCROLL_ARROW_Y, + wxSYS_VTHUMB_Y, + wxSYS_CAPTION_Y, + wxSYS_MENU_Y, + wxSYS_NETWORK_PRESENT, + wxSYS_PENWINDOWS_PRESENT, + wxSYS_SHOW_SOUNDS, + wxSYS_SWAP_BUTTONS, +}; + + + +%inline %{ + + wxColour wxSystemSettings_GetSystemColour(int index) { + return wxSystemSettings::GetSystemColour(index); + } + + wxFont wxSystemSettings_GetSystemFont(int index) { + return wxSystemSettings::GetSystemFont(index); + } + + int wxSystemSettings_GetSystemMetric(int index) { + return wxSystemSettings::GetSystemMetric(index); + } +%} + +//--------------------------------------------------------------------------- +//---------------------------------------------------------------------------