//----------------------------------------------------------------------
// 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")
-#ifndef %shadow
-#define %shadow %insert("shadow")
-#endif
+//#ifndef %shadow
+//#define %shadow %insert("shadow")
+//#endif
#ifndef %pythoncode
#define %pythoncode %insert("python")
%mutable;
%enddef
+%define MAKE_CONST_WXSTRING2(strname, val)
+ %{ static const wxString wxPy##strname(val); %}
+ %immutable;
+ %name(strname) const wxString wxPy##strname;
+ %mutable;
+%enddef
+
+%define MAKE_CONST_WXSTRING_NOSWIG(strname)
+ %{ static const wxString wxPy##strname(wx##strname); %}
+%enddef
// Generate code in the module init for the event types, since they may not be
// initialized yet when they are used in the static swig_const_table.
// 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
+%define DocStr(decl, docstr)
+ %feature("docstring") decl docstr;
+ //%feature("refdoc") decl "";
+%enddef
// Set the autodoc string for a full or partial declaration
-#define DocA(decl, astr) %feature("autodoc") decl astr
+%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)
%name(newname) decl
%enddef
+
+// A placeholder for the detailed reference docs.
+%define RefDoc(decl, docstr)
+ %feature("refdoc") decl docstr;
+%enddef
%define %newgroup
}
%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.
+
+#ifdef BUILDING_RENAMERS
+ #define FORWARD_DECLARE(wxName, Name)
+#else
+ %define FORWARD_DECLARE(wxName, Name)
+ %rename(Name) wxName;
+ class wxName;
+ %enddef
+#endif
+
+FORWARD_DECLARE(wxString, String);
+FORWARD_DECLARE(wxBitmap, Bitmap);
+FORWARD_DECLARE(wxDateTime, DateTime);
+FORWARD_DECLARE(wxInputStream, InputStream);
+FORWARD_DECLARE(wxDC, DC);
+FORWARD_DECLARE(wxCursor, Cursor);
+FORWARD_DECLARE(wxRegion, Region);
+FORWARD_DECLARE(wxColour, Colour);
+FORWARD_DECLARE(wxFont, Font);
+FORWARD_DECLARE(wxCaret, Caret);
+FORWARD_DECLARE(wxToolTip, ToolTip);
+FORWARD_DECLARE(wxPyDropTarget, DropTarget);
+FORWARD_DECLARE(wxImageList, ImageList);
+FORWARD_DECLARE(wxMemoryDC, MemoryDC);
+FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler);
+FORWARD_DECLARE(wxConfigBase, ConfigBase);
+FORWARD_DECLARE(wxIcon, Icon);
+
+
//---------------------------------------------------------------------------
// General numeric #define's and etc. Making them all enums makes SWIG use the
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,
wxMENU_TEAROFF,
wxMB_DOCKABLE,
wxNO_FULL_REPAINT_ON_RESIZE,
-
+ wxFULL_REPAINT_ON_RESIZE,
+
wxLI_HORIZONTAL,
wxLI_VERTICAL,
};
+#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,
wxITEM_MAX
};
+
enum wxHitTest
{
wxHT_NOWHERE,