/////////////////////////////////////////////////////////////////////////////
+//---------------------------------------------------------------------------
// 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
//----------------------------------------------------------------------
#define %pythonPrepend %feature("pythonprepend")
#define %kwargs %feature("kwargs")
#define %nokwargs %feature("nokwargs")
+#define %noautodoc %feature("noautodoc")
+
//#ifndef %shadow
//#define %shadow %insert("shadow")
%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
#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
// 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
// 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
%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
#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
// 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
%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
}
%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)
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
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,
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,
wxPD_ELAPSED_TIME,
wxPD_ESTIMATED_TIME,
wxPD_REMAINING_TIME,
+ wxPD_SMOOTH,
+ wxPD_CAN_SKIP,
wxDD_NEW_DIR_BUTTON,
wxDD_DEFAULT_STYLE,
};
+enum wxBackgroundStyle
+{
+ wxBG_STYLE_SYSTEM,
+ wxBG_STYLE_COLOUR,
+ wxBG_STYLE_CUSTOM
+};
+
+
enum {
wxDEFAULT ,
wxDECORATIVE,