X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..dd33b115d6fed7df33b76597cf52b0db7d88bdeb:/wxPython/src/_defs.i?ds=sidebyside diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index 345ec6737e..85d6a8049a 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -11,19 +11,31 @@ ///////////////////////////////////////////////////////////////////////////// +// Globally turn on the autodoc feature +%feature("autodoc", "1"); // 0 == no param types, 1 == show param types + //--------------------------------------------------------------------------- // some type definitions to simplify things for SWIG -typedef int wxWindowID; -typedef int wxCoord; -typedef int wxInt32; -typedef unsigned int wxUint32; +// 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; +#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 + //---------------------------------------------------------------------- // Various SWIG macros and such @@ -31,7 +43,6 @@ typedef unsigned char byte; #define %addtofunc %feature("addtofunc") #define %kwargs %feature("kwargs") #define %nokwargs %feature("nokwargs") -#define %noautorepr %feature("noautorepr") #ifndef %shadow #define %shadow %insert("shadow") @@ -39,7 +50,7 @@ typedef unsigned char byte; #ifndef %pythoncode #define %pythoncode %insert("python") -#endif +#endif #define WXUNUSED(x) x @@ -60,10 +71,128 @@ typedef unsigned char byte; %typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));"; + +// Macros for the docstring and autodoc features of SWIG. + +// Set the docsring for the given full or partial declaration +#define DocStr(decl, docstr) %feature("docstring") decl docstr + +// Set the autodoc string for a full or partial declaration +#define DocA(decl, astr) %feature("autodoc") decl astr + +// Set both the autodoc and docstring for a full or partial declaration +%define DocAStr(decl, astr, docstr) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr +%enddef + +// Set the detailed reference docs for full or partial declaration +#define DocRef(decl, str) %feature("docref") decl str + + + + +// Set the docstring for a decl and then define the decl too. Must use the +// full declaration of the item. +%define DocDeclStr(type, decl, docstr) + %feature("docstring") decl docstr; + type decl +%enddef + +// As above, but also give the decl a new %name +%define DocDeclStrName(type, decl, docstr, newname) + %feature("docstring") decl docstr; + %name(newname) type decl +%enddef + + +// Set the autodoc string for a decl and then define the decl too. Must use the +// full declaration of the item. +%define DocDeclA(type, decl, astr) + %feature("autodoc") decl astr; + type decl +%enddef + +// As above, but also give the decl a new %name +%define DocDeclAName(type, decl, astr, newname) + %feature("autodoc") decl astr; + %name(newname) type decl +%enddef + + + +// Set the autodoc and the docstring for a decl and then define the decl too. +// Must use the full declaration of the item. +%define DocDeclAStr(type, decl, astr, docstr) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + type decl +%enddef + +// As above, but also give the decl a new %name +%define DocDeclAStrName(type, decl, astr, docstr, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + %name(newname) type decl +%enddef + + + + +// Set the docstring for a constructor decl and then define the decl too. +// Must use the full declaration of the item. +%define DocCtorStr(decl, docstr) + %feature("docstring") decl docstr; + decl +%enddef + +// As above, but also give the decl a new %name +%define DocCtorStrName(decl, docstr, newname) + %feature("docstring") decl docstr; + %name(newname) decl +%enddef + + +// Set the autodoc string for a decl and then define the decl too. Must use the +// full declaration of the item. +%define DocCtorA(decl, astr) + %feature("autodoc") decl astr; + decl +%enddef + +// As above, but also give the decl a new %name +%define DocCtorAname(decl, astr, newname) + %feature("autodoc") decl astr; + %name(newname) decl +%enddef + + + +// Set the autodoc and the docstring for a decl and then define the decl too. +// Must use the full declaration of the item. +%define DocCtorAStr(decl, astr, docstr) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + decl +%enddef + +// As above, but also give the decl a new %name +%define DocCtorAStrName(decl, astr, docstr, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + %name(newname) decl +%enddef + + +// A placeholder for the detailed reference docs. +%define RefDoc(decl, docstr) +%enddef + + %define %newgroup %pythoncode { %#--------------------------------------------------------------------------- -} +} %enddef //--------------------------------------------------------------------------- @@ -297,7 +426,7 @@ enum { wxID_IGNORE, wxID_HIGHEST, - + wxOPEN, wxSAVE, wxHIDE_READONLY, @@ -324,7 +453,8 @@ enum { wxMENU_TEAROFF, wxMB_DOCKABLE, wxNO_FULL_REPAINT_ON_RESIZE, - + wxFULL_REPAINT_ON_RESIZE, + wxLI_HORIZONTAL, wxLI_VERTICAL,