X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32478f52adb66a06350bb4c52b882f1e12246eb0..90fb367e86c1e82367f8d4781b8c1bdc31a26593:/wxPython/src/_misc.i diff --git a/wxPython/src/_misc.i b/wxPython/src/_misc.i index 291fca6802..fdf10bbbef 100644 --- a/wxPython/src/_misc.i +++ b/wxPython/src/_misc.i @@ -24,8 +24,13 @@ MustHaveApp(wxToolTip); class wxToolTip : public wxObject { public: + %typemap(out) wxToolTip*; // turn off this typemap wxToolTip(const wxString &tip); + // Turn it back on again + %typemap(out) wxToolTip* { $result = wxPyMake_wxObject($1, $owner); } + ~wxToolTip(); + void SetTip(const wxString& tip); wxString GetTip(); // *** Not in the "public" interface void SetWindow(wxWindow *win); @@ -43,9 +48,10 @@ MustHaveApp(wxCaret); class wxCaret { public: wxCaret(wxWindow* window, const wxSize& size); -// ~wxCaret(); Window takes ownership + ~wxCaret(); %extend { + %pythonAppend Destroy "args[0].thisown = 0" DocStr(Destroy, "Deletes the C++ object this Python object is a proxy for.", ""); void Destroy() { @@ -112,6 +118,8 @@ class wxBusyInfo : public wxObject { public: wxBusyInfo(const wxString& message); ~wxBusyInfo(); + + %pythoncode { def Destroy(self): pass } }; @@ -206,6 +214,184 @@ public: bool IsAnotherRunning() const; }; +//--------------------------------------------------------------------------- +%newgroup + +// families & sub-families of operating systems +enum wxOperatingSystemId +{ + wxOS_UNKNOWN = 0, // returned on error + + wxOS_MAC_OS = 1 << 0, // Apple Mac OS 8/9/X with Mac paths + wxOS_MAC_OSX_DARWIN = 1 << 1, // Apple Mac OS X with Unix paths + wxOS_MAC = wxOS_MAC_OS|wxOS_MAC_OSX_DARWIN, + + wxOS_WINDOWS_9X = 1 << 2, // Windows 9x family (95/98/ME) + wxOS_WINDOWS_NT = 1 << 3, // Windows NT family (NT/2000/XP) + wxOS_WINDOWS_MICRO = 1 << 4, // MicroWindows + wxOS_WINDOWS_CE = 1 << 5, // Windows CE (Window Mobile) + wxOS_WINDOWS = wxOS_WINDOWS_9X | + wxOS_WINDOWS_NT | + wxOS_WINDOWS_MICRO | + wxOS_WINDOWS_CE, + + wxOS_UNIX_LINUX = 1 << 6, // Linux + wxOS_UNIX_FREEBSD = 1 << 7, // FreeBSD + wxOS_UNIX_OPENBSD = 1 << 8, // OpenBSD + wxOS_UNIX_NETBSD = 1 << 9, // NetBSD + wxOS_UNIX_SOLARIS = 1 << 10, // SunOS + wxOS_UNIX_AIX = 1 << 11, // AIX + wxOS_UNIX_HPUX = 1 << 12, // HP/UX + wxOS_UNIX = wxOS_UNIX_LINUX | + wxOS_UNIX_FREEBSD | + wxOS_UNIX_OPENBSD | + wxOS_UNIX_NETBSD | + wxOS_UNIX_SOLARIS | + wxOS_UNIX_AIX | + wxOS_UNIX_HPUX, + + // 1<<13 and 1<<14 available for other Unix flavours + + wxOS_DOS = 1 << 15, // Microsoft DOS + wxOS_OS2 = 1 << 16 // OS/2 +}; + +// list of wxWidgets ports - some of them can be used with more than +// a single toolkit. +enum wxPortId +{ + wxPORT_UNKNOWN = 0, // returned on error + + wxPORT_BASE = 1 << 0, // wxBase, no native toolkit used + + wxPORT_MSW = 1 << 1, // wxMSW, native toolkit is Windows API + wxPORT_MOTIF = 1 << 2, // wxMotif, using [Open]Motif or Lesstif + wxPORT_GTK = 1 << 3, // wxGTK, using GTK+ 1.x, 2.x, GPE or Maemo + wxPORT_MGL = 1 << 4, // wxMGL, using wxUniversal + wxPORT_X11 = 1 << 5, // wxX11, using wxUniversal + wxPORT_OS2 = 1 << 6, // wxOS2, using OS/2 Presentation Manager + wxPORT_MAC = 1 << 7, // wxMac, using Carbon or Classic Mac API + wxPORT_COCOA = 1 << 8, // wxCocoa, using Cocoa NextStep/Mac API + wxPORT_WINCE = 1 << 9, // wxWinCE, toolkit is WinCE SDK API + wxPORT_PALMOS = 1 << 10 // wxPalmOS, toolkit is PalmOS API +}; + +// architecture of the operating system +// (regardless of the build environment of wxWidgets library - see +// wxIsPlatform64bit documentation for more info) +enum wxArchitecture +{ + wxARCH_INVALID = -1, // returned on error + + wxARCH_32, // 32 bit + wxARCH_64, + + wxARCH_MAX +}; + + +// endian-ness of the machine +enum wxEndianness +{ + wxENDIAN_INVALID = -1, // returned on error + + wxENDIAN_BIG, // 4321 + wxENDIAN_LITTLE, // 1234 + wxENDIAN_PDP, // 3412 + + wxENDIAN_MAX +}; + +// Information about the toolkit that the app is running under and some basic +// platform and architecture info + +%rename(PlatformInformation) wxPlatformInfo; // wxPython already has a wx.PlatformInfo + +class wxPlatformInfo +{ +public: + wxPlatformInfo(); +// wxPlatformInfo(wxPortId pid, +// int tkMajor = -1, int tkMinor = -1, +// wxOperatingSystemId id = wxOS_UNKNOWN, +// int osMajor = -1, int osMinor = -1, +// wxArchitecture arch = wxARCH_INVALID, +// wxEndianness endian = wxENDIAN_INVALID, +// bool usingUniversal = false); + + // default copy ctor, assignment operator and dtor are ok + + bool operator==(const wxPlatformInfo &t) const; + + bool operator!=(const wxPlatformInfo &t) const; + + +// // string -> enum conversions +// // --------------------------------- + +// static wxOperatingSystemId GetOperatingSystemId(const wxString &name); +// static wxPortId GetPortId(const wxString &portname); + +// static wxArchitecture GetArch(const wxString &arch); +// static wxEndianness GetEndianness(const wxString &end); + +// // enum -> string conversions +// // --------------------------------- + +// static wxString GetOperatingSystemFamilyName(wxOperatingSystemId os); +// static wxString GetOperatingSystemIdName(wxOperatingSystemId os); +// static wxString GetPortIdName(wxPortId port, bool usingUniversal); +// static wxString GetPortIdShortName(wxPortId port, bool usingUniversal); + +// static wxString GetArchName(wxArchitecture arch); +// static wxString GetEndiannessName(wxEndianness end); + + // getters + // ----------------- + + int GetOSMajorVersion() const; + int GetOSMinorVersion() const; + + int GetToolkitMajorVersion() const; + int GetToolkitMinorVersion() const; + + bool IsUsingUniversalWidgets() const; + + wxOperatingSystemId GetOperatingSystemId() const; + wxPortId GetPortId() const; + wxArchitecture GetArchitecture() const; + wxEndianness GetEndianness() const; + + + // string getters + // ----------------- + + wxString GetOperatingSystemFamilyName() const; + wxString GetOperatingSystemIdName() const; + wxString GetPortIdName() const; + wxString GetPortIdShortName() const; + wxString GetArchName() const; + wxString GetEndiannessName() const; + + // setters + // ----------------- + + void SetOSVersion(int major, int minor); + void SetToolkitVersion(int major, int minor); + + void SetOperatingSystemId(wxOperatingSystemId n); + void SetPortId(wxPortId n); + void SetArchitecture(wxArchitecture n); + void SetEndianness(wxEndianness n); + + // miscellaneous + // ----------------- + + bool IsOk() const; +}; + + +//--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // Experimental... @@ -308,5 +494,55 @@ bool wxDrawWindowOnDC(wxWindow* window, const wxDC& dc %} + +#if 0 +%{ + void t_output_tester1(int* a, int* b, int* c, int* d) + { + *a = 1234; + *b = 2345; + *c = 3456; + *d = 4567; + } + PyObject* t_output_tester2(int* a, int* b, int* c, int* d) + { + *a = 1234; + *b = 2345; + *c = 3456; + *d = 4567; + Py_INCREF(Py_None); + return Py_None; + } + PyObject* t_output_tester3(int* a, int* b, int* c, int* d) + { + *a = 1234; + *b = 2345; + *c = 3456; + *d = 4567; + PyObject* res = PyTuple_New(2); + PyTuple_SetItem(res, 0, PyInt_FromLong(1)); + PyTuple_SetItem(res, 1, PyInt_FromLong(2)); + return res; + } + PyObject* t_output_tester4() + { + PyObject* res = PyTuple_New(2); + PyTuple_SetItem(res, 0, PyInt_FromLong(132)); + PyTuple_SetItem(res, 1, PyInt_FromLong(244)); + return res; + } +%} + +%newobject t_output_tester2; +%newobject t_output_tester3; +%newobject t_output_tester4; + +void t_output_tester1(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT); +PyObject* t_output_tester2(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT); +PyObject* t_output_tester3(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT); +PyObject* t_output_tester4(); + +#endif + //--------------------------------------------------------------------------- //---------------------------------------------------------------------------