]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_defs.i
fixed introspection of objects with attrs without string names.
[wxWidgets.git] / wxPython / src / _defs.i
index 85d6a8049aef9ed92f715b8ca9b9a7e01937fb48..c887d74f81f33bd9f4ce75e9d9aaa901fb6ca506 100644 (file)
@@ -40,13 +40,14 @@ typedef unsigned char   byte;
 //----------------------------------------------------------------------
 // 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")
@@ -64,6 +65,16 @@ typedef unsigned char   byte;
     %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.
@@ -75,10 +86,15 @@ typedef unsigned char   byte;
 // 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)
@@ -186,6 +202,7 @@ typedef unsigned char   byte;
 
 // A placeholder for the detailed reference docs.
 %define RefDoc(decl, docstr)
+        %feature("refdoc") decl docstr;       
 %enddef        
     
     
@@ -195,6 +212,39 @@ typedef unsigned char   byte;
 }
 %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
@@ -218,8 +268,6 @@ enum {
     wxSTATIC_BORDER,
     wxTRANSPARENT_WINDOW,
     wxNO_BORDER,
-    wxUSER_COLOURS,
-    wxNO_3D,
 
     wxTAB_TRAVERSAL,
     wxWANTS_CHARS,
@@ -228,31 +276,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,
@@ -262,6 +285,8 @@ enum {
     wxCLIP_CHILDREN,
     wxCLIP_SIBLINGS,
 
+    wxALWAYS_SHOW_SB,
+    
     wxRETAINED,
     wxBACKINGSTORE,
 
@@ -494,6 +519,13 @@ enum {
 };
 
 
+#ifdef __WXGTK__
+#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE
+#else
+#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP
+#endif
+
+
 
 enum wxGeometryCentre
 {
@@ -552,8 +584,9 @@ enum wxStretch
     wxGROW,
     wxEXPAND,
     wxSHAPED,
-    wxADJUST_MINSIZE,
+    wxFIXED_MINSIZE,
     wxTILE,
+    wxADJUST_MINSIZE,
 };
 
 
@@ -826,13 +859,14 @@ typedef enum {
 // menu and toolbar item kinds
 enum wxItemKind
 {
-    wxITEM_SEPARATOR = -1,
+    wxITEM_SEPARATOR,
     wxITEM_NORMAL,
     wxITEM_CHECK,
     wxITEM_RADIO,
     wxITEM_MAX
 };
 
+
 enum wxHitTest
 {
     wxHT_NOWHERE,