/////////////////////////////////////////////////////////////////////////////
+//---------------------------------------------------------------------------
// 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;
#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")
-// 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.
// 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, docstr, details)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr details;
+ type decl
+ %enddef
+#else
+ %define DocDeclAStr(type, decl, astr, docstr, details)
+ %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 {
//---------------------------------------------------------------------------
// 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)
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);
//---------------------------------------------------------------------------
wxSTATIC_BORDER,
wxTRANSPARENT_WINDOW,
wxNO_BORDER,
- wxUSER_COLOURS,
- wxNO_3D,
wxTAB_TRAVERSAL,
wxWANTS_CHARS,
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,
wxCLIP_CHILDREN,
wxCLIP_SIBLINGS,
+ wxALWAYS_SHOW_SB,
+
wxRETAINED,
wxBACKINGSTORE,
};
+#ifdef __WXGTK__
+#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE
+#else
+#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP
+#endif
+
+
enum wxGeometryCentre
{
wxGROW,
wxEXPAND,
wxSHAPED,
- wxADJUST_MINSIZE,
+ wxFIXED_MINSIZE,
wxTILE,
+ wxADJUST_MINSIZE,
};
// menu and toolbar item kinds
enum wxItemKind
{
- wxITEM_SEPARATOR = -1,
+ wxITEM_SEPARATOR,
wxITEM_NORMAL,
wxITEM_CHECK,
wxITEM_RADIO,