X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/089142a562148d69dbccfba669b66eff78a7f5b5..11207aefcfea0f5fbd5507ccd1d5d0a39c32c9de:/wxPython/src/_defs.i diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index e8b4f7fdd1..9228e2695d 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -11,17 +11,39 @@ ///////////////////////////////////////////////////////////////////////////// +//--------------------------------------------------------------------------- // 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; @@ -31,22 +53,21 @@ typedef unsigned char byte; #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 -#define %addtofunc %feature("addtofunc") +#define %pythonAppend %feature("pythonappend") +#define %pythonPrepend %feature("pythonprepend") #define %kwargs %feature("kwargs") #define %nokwargs %feature("nokwargs") +#define %noautodoc %feature("noautodoc") -#ifndef %shadow -#define %shadow %insert("shadow") -#endif + +//#ifndef %shadow +//#define %shadow %insert("shadow") +//#endif #ifndef %pythoncode #define %pythoncode %insert("python") @@ -82,44 +103,74 @@ typedef unsigned char byte; -// Macros for the docstring and autodoc features of SWIG. +//---------------------------------------------------------------------- +// Macros for the docstring and autodoc features of SWIG. These will +// help make the code look more readable, and pretty, as well as help +// reduce typing in some cases. // Set the docsring for the given full or partial declaration -%define DocStr(decl, docstr) - %feature("docstring") decl docstr; - //%feature("refdoc") decl ""; -%enddef +#ifdef _DO_FULL_DOCS + %define DocStr(decl, docstr, details) + %feature("docstring") decl docstr details; + %enddef +#else + %define DocStr(decl, docstr, details) + %feature("docstring") decl docstr; + %enddef +#endif + // Set the autodoc string for a full or partial declaration %define DocA(decl, astr) %feature("autodoc") decl astr; %enddef -// 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 both the autodoc and docstring for a full or partial declaration +#ifdef _DO_FULL_DOCS + %define DocAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details + %enddef +#else + %define DocAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr + %enddef +#endif + // 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 +#ifdef _DO_FULL_DOCS + %define DocDeclStr(type, decl, docstr, details) + %feature("docstring") decl docstr details; + type decl + %enddef +#else + %define DocDeclStr(type, decl, docstr, details) + %feature("docstring") decl docstr; + type decl + %enddef +#endif + + // 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 - +#ifdef _DO_FULL_DOCS + %define DocDeclStrName(type, decl, docstr, details, newname) + %feature("docstring") decl docstr details; + %name(newname) type decl + %enddef +#else + %define DocDeclStrName(type, decl, docstr, details, newname) + %feature("docstring") decl docstr; + %name(newname) type decl + %enddef +#endif + // Set the autodoc string for a decl and then define the decl too. Must use the // full declaration of the item. @@ -138,72 +189,117 @@ 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. -%define DocDeclAStr(type, decl, astr, docstr) - %feature("autodoc") decl astr; - %feature("docstring") decl docstr; - type decl -%enddef +#ifdef _DO_FULL_DOCS + %define DocDeclAStr(type, decl, astr, details, docstr) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + type decl + %enddef +#else + %define DocDeclAStr(type, decl, astr, details, docstr) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + type decl + %enddef +#endif + // 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 - +#ifdef _DO_FULL_DOCS + %define DocDeclAStrName(type, decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + %name(newname) type decl + %enddef +#else + %define DocDeclAStrName(type, decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + %name(newname) type decl + %enddef +#endif // 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 +#ifdef _DO_FULL_DOCS + %define DocCtorStr(decl, docstr, details) + %feature("docstring") decl docstr details; + decl + %enddef +#else + %define DocCtorStr(decl, docstr, details) + %feature("docstring") decl docstr; + decl + %enddef +#endif + // As above, but also give the decl a new %name -%define DocCtorStrName(decl, docstr, newname) - %feature("docstring") decl docstr; - %name(newname) decl -%enddef +#ifdef _DO_FULL_DOCS + %define DocCtorStrName(decl, docstr, details, newname) + %feature("docstring") decl docstr details; + %name(newname) decl + %enddef +#else + %define DocCtorStrName(decl, docstr, details, newname) + %feature("docstring") decl docstr; + %name(newname) decl + %enddef +#endif - -// Set the autodoc string for a decl and then define the decl too. Must use the -// full declaration of the item. + + +// Set the autodoc string for a constructor 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) +%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 +// Set the autodoc and the docstring for a constructor decl and then define +// the decl too. Must use the full declaration of the item. +#ifdef _DO_FULL_DOCS + %define DocCtorAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + decl + %enddef +#else + %define DocCtorAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + decl + %enddef +#endif -// 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 + +// As above, but also give the decl a new %name +#ifdef _DO_FULL_DOCS + %define DocCtorAStrName(decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + %name(newname) decl + %enddef +#else + %define DocCtorAStrName(decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + %name(newname) decl + %enddef +#endif -// A placeholder for the detailed reference docs. -%define RefDoc(decl, docstr) - %feature("refdoc") decl docstr; -%enddef - + %define %newgroup %pythoncode { @@ -214,7 +310,7 @@ typedef unsigned char byte; //--------------------------------------------------------------------------- // 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) @@ -236,12 +332,13 @@ FORWARD_DECLARE(wxColour, Colour); FORWARD_DECLARE(wxFont, Font); FORWARD_DECLARE(wxCaret, Caret); FORWARD_DECLARE(wxToolTip, ToolTip); -FORWARD_DECLARE(wxPyDropTarget, PyDropTarget); +FORWARD_DECLARE(wxPyDropTarget, DropTarget); FORWARD_DECLARE(wxImageList, ImageList); FORWARD_DECLARE(wxMemoryDC, MemoryDC); FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler); FORWARD_DECLARE(wxConfigBase, ConfigBase); FORWARD_DECLARE(wxIcon, Icon); +FORWARD_DECLARE(wxStaticBox, StaticBox); //--------------------------------------------------------------------------- @@ -267,8 +364,6 @@ enum { wxSTATIC_BORDER, wxTRANSPARENT_WINDOW, wxNO_BORDER, - wxUSER_COLOURS, - wxNO_3D, wxTAB_TRAVERSAL, wxWANTS_CHARS, @@ -277,31 +372,6 @@ enum { wxCENTRE_ON_SCREEN, wxCENTER_ON_SCREEN, - wxSTAY_ON_TOP, - wxICONIZE, - wxMINIMIZE, - wxMAXIMIZE, - wxCLOSE_BOX, - wxTHICK_FRAME, - wxSYSTEM_MENU, - wxMINIMIZE_BOX, - wxMAXIMIZE_BOX, - wxTINY_CAPTION_HORIZ, - wxTINY_CAPTION_VERT, - wxRESIZE_BOX, - wxRESIZE_BORDER, - wxDIALOG_MODAL, - wxDIALOG_MODELESS, - wxDIALOG_NO_PARENT, - wxDEFAULT_FRAME_STYLE, - wxDEFAULT_DIALOG_STYLE, - - wxFRAME_TOOL_WINDOW, - wxFRAME_FLOAT_ON_PARENT, - wxFRAME_NO_WINDOW_MENU, - wxFRAME_NO_TASKBAR, - wxFRAME_SHAPED, - wxED_CLIENT_MARGIN, wxED_BUTTONS_BOTTOM, wxED_BUTTONS_RIGHT, @@ -311,6 +381,8 @@ enum { wxCLIP_CHILDREN, wxCLIP_SIBLINGS, + wxALWAYS_SHOW_SB, + wxRETAINED, wxBACKINGSTORE, @@ -543,6 +615,13 @@ enum { }; +#ifdef __WXGTK__ +#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE +#else +#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP +#endif + + enum wxGeometryCentre { @@ -601,8 +680,9 @@ enum wxStretch wxGROW, wxEXPAND, wxSHAPED, - wxADJUST_MINSIZE, + wxFIXED_MINSIZE, wxTILE, + wxADJUST_MINSIZE, }; @@ -875,7 +955,7 @@ typedef enum { // menu and toolbar item kinds enum wxItemKind { - wxITEM_SEPARATOR = -1, + wxITEM_SEPARATOR, wxITEM_NORMAL, wxITEM_CHECK, wxITEM_RADIO,