X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d07d2bc9d05408c58b76c53a0a291915b88e5064..42f8298f6f42d5d63bb3caf65682b7d9d9f8b702:/wxPython/src/_defs.i diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index e384cee753..d196575a2e 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -11,30 +11,49 @@ ///////////////////////////////////////////////////////////////////////////// +//--------------------------------------------------------------------------- // Globally turn on the autodoc feature + %feature("autodoc", "1"); // 0 == no param types, 1 == show param types +//--------------------------------------------------------------------------- +// Tell SWIG to wrap all the wrappers with our thread protection by default + +%exception { + PyThreadState* __tstate = wxPyBeginAllowThreads(); + $action + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) SWIG_fail; +} + + +// This one can be used to add a check for an existing wxApp before the real +// work is done. An exception is raised if there isn't one. +%define MustHaveApp(name) +%exception name { + if (!wxPyCheckForApp()) SWIG_fail; + PyThreadState* __tstate = wxPyBeginAllowThreads(); + $action + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) SWIG_fail; +} +%enddef + + //--------------------------------------------------------------------------- // some type definitions to simplify things for SWIG -// typedef int wxWindowID; -// typedef int wxCoord; -// typedef int wxInt32; -// typedef unsigned int wxUint32; typedef int wxEventType; typedef unsigned int size_t; typedef unsigned int time_t; typedef unsigned char byte; +typedef unsigned long wxUIntPtr; #define wxWindowID int #define wxCoord int #define wxInt32 int #define wxUint32 unsigned int -//#define wxEventType int -//#define size_t unsigned int -//#define time_t unsigned int -//#define byte unsigned char //---------------------------------------------------------------------- @@ -44,6 +63,8 @@ typedef unsigned char byte; #define %pythonPrepend %feature("pythonprepend") #define %kwargs %feature("kwargs") #define %nokwargs %feature("nokwargs") +#define %noautodoc %feature("noautodoc") + //#ifndef %shadow //#define %shadow %insert("shadow") @@ -61,14 +82,16 @@ typedef unsigned char byte; %define MAKE_CONST_WXSTRING(strname) %{ static const wxString wxPy##strname(wx##strname); %} %immutable; - %name(strname) const wxString wxPy##strname; + %rename(strname) wxPy##strname; + const wxString wxPy##strname; %mutable; %enddef %define MAKE_CONST_WXSTRING2(strname, val) %{ static const wxString wxPy##strname(val); %} %immutable; - %name(strname) const wxString wxPy##strname; + %rename(strname) wxPy##strname; + const wxString wxPy##strname; %mutable; %enddef @@ -142,12 +165,14 @@ typedef unsigned char byte; #ifdef _DO_FULL_DOCS %define DocDeclStrName(type, decl, docstr, details, newname) %feature("docstring") decl docstr details; - %name(newname) type decl + %rename(newname) decl; + type decl %enddef #else %define DocDeclStrName(type, decl, docstr, details, newname) %feature("docstring") decl docstr; - %name(newname) type decl + %rename(newname) decl; + type decl %enddef #endif @@ -162,7 +187,8 @@ typedef unsigned char byte; // As above, but also give the decl a new %name %define DocDeclAName(type, decl, astr, newname) %feature("autodoc") decl astr; - %name(newname) type decl + %rename(newname) decl; + type decl %enddef @@ -170,13 +196,13 @@ typedef unsigned char byte; // Set the autodoc and the docstring for a decl and then define the decl too. // Must use the full declaration of the item. #ifdef _DO_FULL_DOCS - %define DocDeclAStr(type, decl, astr, details, docstr) + %define DocDeclAStr(type, decl, astr, docstr, details) %feature("autodoc") decl astr; %feature("docstring") decl docstr details; type decl %enddef #else - %define DocDeclAStr(type, decl, astr, details, docstr) + %define DocDeclAStr(type, decl, astr, docstr, details) %feature("autodoc") decl astr; %feature("docstring") decl docstr; type decl @@ -189,13 +215,15 @@ typedef unsigned char byte; %define DocDeclAStrName(type, decl, astr, docstr, details, newname) %feature("autodoc") decl astr; %feature("docstring") decl docstr details; - %name(newname) type decl + %rename(newname) decl; + type decl %enddef #else %define DocDeclAStrName(type, decl, astr, docstr, details, newname) %feature("autodoc") decl astr; %feature("docstring") decl docstr; - %name(newname) type decl + %rename(newname) decl; + type decl %enddef #endif @@ -220,12 +248,14 @@ typedef unsigned char byte; #ifdef _DO_FULL_DOCS %define DocCtorStrName(decl, docstr, details, newname) %feature("docstring") decl docstr details; - %name(newname) decl + %rename(newname) decl; + decl %enddef #else %define DocCtorStrName(decl, docstr, details, newname) %feature("docstring") decl docstr; - %name(newname) decl + %rename(newname) decl; + decl %enddef #endif @@ -241,7 +271,8 @@ typedef unsigned char byte; // As above, but also give the decl a new %name %define DocCtorAName(decl, astr, newname) %feature("autodoc") decl astr; - %name(newname) decl + %rename(newname) decl; + decl %enddef @@ -269,13 +300,15 @@ typedef unsigned char byte; %define DocCtorAStrName(decl, astr, docstr, details, newname) %feature("autodoc") decl astr; %feature("docstring") decl docstr details; - %name(newname) decl + %rename(newname) decl; + decl %enddef #else %define DocCtorAStrName(decl, astr, docstr, details, newname) %feature("autodoc") decl astr; %feature("docstring") decl docstr; - %name(newname) decl + %rename(newname) decl; + decl %enddef #endif @@ -287,10 +320,24 @@ typedef unsigned char byte; } %enddef + +// A set of macros to make using %rename easier, since %name has been +// deprecated... +%define %Rename(newname, type, decl) + %rename(newname) decl; + type decl +%enddef + +%define %RenameCtor(newname, decl) + %rename(newname) decl; + decl +%enddef + + //--------------------------------------------------------------------------- // Forward declarations and %renames for some classes, so the autodoc strings // will be able to use the right types even when the real class declaration is -// not in the module being processed. +// not in the module being processed or seen by %import's. #ifdef BUILDING_RENAMERS #define FORWARD_DECLARE(wxName, Name) @@ -318,10 +365,18 @@ FORWARD_DECLARE(wxMemoryDC, MemoryDC); FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler); FORWARD_DECLARE(wxConfigBase, ConfigBase); FORWARD_DECLARE(wxIcon, Icon); +FORWARD_DECLARE(wxStaticBox, StaticBox); //--------------------------------------------------------------------------- +%{ +#if !WXWIN_COMPATIBILITY_2_4 + #define wxHIDE_READONLY 0 +#endif +%} + + // General numeric #define's and etc. Making them all enums makes SWIG use the // real macro when making the Python Int @@ -387,20 +442,12 @@ enum { wxRA_VERTICAL, wxRA_SPECIFY_ROWS, wxRA_SPECIFY_COLS, + wxRA_USE_CHECKBOX, wxRB_GROUP, wxRB_SINGLE, - wxSL_HORIZONTAL, - wxSL_VERTICAL, - wxSL_AUTOTICKS, - wxSL_LABELS, - wxSL_LEFT, - wxSL_TOP, - wxSL_RIGHT, - wxSL_BOTTOM, - wxSL_BOTH, - wxSL_SELRANGE, wxSB_HORIZONTAL, wxSB_VERTICAL, + wxRB_USE_CHECKBOX, wxST_SIZEGRIP, wxST_NO_AUTORESIZE, @@ -525,6 +572,32 @@ enum { wxID_RETRY, wxID_IGNORE, + wxID_ADD, + wxID_REMOVE, + + wxID_UP, + wxID_DOWN, + wxID_HOME, + wxID_REFRESH, + wxID_STOP, + wxID_INDEX, + + wxID_BOLD, + wxID_ITALIC, + wxID_JUSTIFY_CENTER, + wxID_JUSTIFY_FILL, + wxID_JUSTIFY_RIGHT, + wxID_JUSTIFY_LEFT, + wxID_UNDERLINE, + wxID_INDENT, + wxID_UNINDENT, + wxID_ZOOM_100, + wxID_ZOOM_FIT, + wxID_ZOOM_IN, + wxID_ZOOM_OUT, + wxID_UNDELETE, + wxID_REVERT_TO_SAVED, + wxID_HIGHEST, wxOPEN, @@ -546,6 +619,8 @@ enum { wxPD_ELAPSED_TIME, wxPD_ESTIMATED_TIME, wxPD_REMAINING_TIME, + wxPD_SMOOTH, + wxPD_CAN_SKIP, wxDD_NEW_DIR_BUTTON, wxDD_DEFAULT_STYLE, @@ -678,6 +753,14 @@ enum wxBorder }; +enum wxBackgroundStyle +{ + wxBG_STYLE_SYSTEM, + wxBG_STYLE_COLOUR, + wxBG_STYLE_CUSTOM +}; + + enum { wxDEFAULT , wxDECORATIVE,