]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_defs.i
[ 1718338 ] wxToolBarGTK: Implement tool right-click handling
[wxWidgets.git] / wxPython / src / _defs.i
index c07f2078b6da5680067842678587263517e4ec33..a7eab282d945fcf26ca3bc60848745edcd505732 100644 (file)
 %feature("nodefaultdtor");
 #endif
 
+// For all items that don't have a %rename already, give them a %rename that
+// removes the leading 'wx' (except for wxEVT_* items.)
+%rename("%(wxpy)s") "";
+
 // For now, just supress the warning about using Python keywords as parameter
 // names.  Will need to come back later and correct these rather than just
 // hide them...
 
 // This one will turn off the generation of the thread wrapper code
 %define %threadWrapperOff
-%exception 
+%exception {
+    $action
+    if (PyErr_Occurred()) SWIG_fail;
+}
 %enddef
 
 // Turn it on by default
 }
 %enddef
 
-    
 
+// This macro can be used to disable the releasing of the GIL when calling the
+// C++ function.  This is like using threadWrapperOff for just this function.
+%define KeepGIL(name)
+%exception name {
+    $action
+    if (PyErr_Occurred()) SWIG_fail;
+}
+%enddef
+        
 //---------------------------------------------------------------------------
 // some type definitions to simplify things for SWIG
 
@@ -93,6 +108,7 @@ typedef unsigned long   wxUIntPtr;
 #define %noautodoc      %feature("noautodoc")
 
 #if SWIG_VERSION >= 0x010327
+#undef %kwargs
 #define %kwargs         %feature("kwargs", "1")
 #define %nokwargs       %feature("kwargs", "0")
 #else
@@ -103,6 +119,8 @@ typedef unsigned long   wxUIntPtr;
 #define %disownarg(typespec)   %typemap(in) typespec = SWIGTYPE* DISOWN
 #define %cleardisown(typespec) %typemap(in) typespec
     
+#define %ref   %feature("ref")
+#define %unref %feature("unref")
 
 
 #ifndef %pythoncode
@@ -140,6 +158,15 @@ typedef unsigned long   wxUIntPtr;
 %typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));";
 
 
+%define %property(NAME, STUFF...)
+    %pythoncode { NAME = property(STUFF) }
+%enddef
+
+
+%define setCallbackInfo(klass)
+    "klass._setCallbackInfo(self, self, klass)"
+%enddef
+
 
 //----------------------------------------------------------------------
 // Macros for the docstring and autodoc features of SWIG.  These will
@@ -381,6 +408,23 @@ typedef unsigned long   wxUIntPtr;
     %enddef
 #endif
 
+
+//---------------------------------------------------------------------------
+// Generates a base_On* method that just wraps a call to the On*, and mark it
+// deprecated.  We need this because there is no longer any need for a
+// base_On* method to be able to call the C++ base class method, since our
+// virtualization code can now sense when an attempt is being made to call
+// the base class version from the derived class override.
+        
+%define %MAKE_BASE_FUNC(Class, Method)
+    %pythoncode {
+        def base_##Method(*args, **kw):
+            return Class.Method(*args, **kw)
+        base_##Method = wx._deprecated(base_##Method,
+                                       "Please use Class.Method instead.")
+    }
+%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
@@ -458,6 +502,8 @@ enum {
     wxCLIP_CHILDREN,
     wxCLIP_SIBLINGS,
 
+    wxWINDOW_STYLE_MASK,
+    
     wxALWAYS_SHOW_SB,
     
     wxRETAINED,
@@ -474,8 +520,6 @@ enum {
     wxLB_EXTENDED,
     wxLB_OWNERDRAW,
     wxLB_HSCROLL,
-    wxPROCESS_ENTER,
-    wxPASSWORD,
 
     wxCB_SIMPLE,
     wxCB_DROPDOWN,
@@ -492,8 +536,7 @@ enum {
     wxSB_VERTICAL,
     wxRB_USE_CHECKBOX,
     wxST_SIZEGRIP,
-    wxST_NO_AUTORESIZE,
-
+    
     wxFLOOD_SURFACE,
     wxFLOOD_BORDER,
     wxODDEVEN_RULE,
@@ -509,6 +552,9 @@ enum {
     wxNO,
     wxNO_DEFAULT,
     wxYES_DEFAULT,
+    wxAPPLY,
+    wxCLOSE,
+     
     wxICON_EXCLAMATION,
     wxICON_HAND,
     wxICON_QUESTION,
@@ -557,15 +603,19 @@ enum {
     wxID_HELP,
     wxID_PRINT,
     wxID_PRINT_SETUP,
+    wxID_PAGE_SETUP,
     wxID_PREVIEW,
     wxID_ABOUT,
     wxID_HELP_CONTENTS,
     wxID_HELP_COMMANDS,
     wxID_HELP_PROCEDURES,
     wxID_HELP_CONTEXT,
+    wxID_HELP_INDEX,
+    wxID_HELP_SEARCH,
     wxID_CLOSE_ALL,
     wxID_PREFERENCES,
 
+    wxID_EDIT,
     wxID_CUT,
     wxID_COPY,
     wxID_PASTE,
@@ -588,6 +638,7 @@ enum {
     wxID_VIEW_SORTSIZE,
     wxID_VIEW_SORTTYPE,
 
+    wxID_FILE,
     wxID_FILE1,
     wxID_FILE2,
     wxID_FILE3,
@@ -645,31 +696,6 @@ enum {
    
     wxID_HIGHEST,
 
-    wxOPEN,
-    wxSAVE,
-    wxHIDE_READONLY,
-    wxOVERWRITE_PROMPT,
-    wxFILE_MUST_EXIST,
-    wxMULTIPLE,
-    wxCHANGE_DIR,
-
-    wxACCEL_ALT,
-    wxACCEL_CTRL,
-    wxACCEL_SHIFT,
-    wxACCEL_NORMAL,
-
-    wxPD_AUTO_HIDE,
-    wxPD_APP_MODAL,
-    wxPD_CAN_ABORT,
-    wxPD_ELAPSED_TIME,
-    wxPD_ESTIMATED_TIME,
-    wxPD_REMAINING_TIME,
-    wxPD_SMOOTH,
-    wxPD_CAN_SKIP,
-
-    wxDD_NEW_DIR_BUTTON,
-    wxDD_DEFAULT_STYLE,
-
     wxMENU_TEAROFF,
     wxMB_DOCKABLE,
     wxNO_FULL_REPAINT_ON_RESIZE,
@@ -774,9 +800,8 @@ enum wxStretch
     wxSHAPED,
     wxFIXED_MINSIZE,
     wxTILE,
-    wxADJUST_MINSIZE,
 };
-
+%pythoncode { ADJUST_MINSIZE = 0 }
 
 enum wxBorder
 {
@@ -879,8 +904,6 @@ enum wxKeyCode {
     WXK_MENU,
     WXK_PAUSE,
     WXK_CAPITAL,
-    WXK_PRIOR,  /* Page up */
-    WXK_NEXT,   /* Page down */
     WXK_END,
     WXK_HOME,
     WXK_LEFT,
@@ -950,9 +973,7 @@ enum wxKeyCode {
     WXK_NUMPAD_UP,
     WXK_NUMPAD_RIGHT,
     WXK_NUMPAD_DOWN,
-    WXK_NUMPAD_PRIOR,
     WXK_NUMPAD_PAGEUP,
-    WXK_NUMPAD_NEXT,
     WXK_NUMPAD_PAGEDOWN,
     WXK_NUMPAD_END,
     WXK_NUMPAD_BEGIN,
@@ -995,7 +1016,13 @@ enum wxKeyCode {
     WXK_SPECIAL20
 };
 
-
+// deprecated synonymns
+%pythoncode {
+    WXK_PRIOR = WXK_PAGEUP
+    WXK_NEXT  = WXK_PAGEDOWN
+    WXK_NUMPAD_PRIOR = WXK_NUMPAD_PAGEUP
+    WXK_NUMPAD_NEXT  = WXK_NUMPAD_PAGEDOWN    
+}
 
 typedef enum {
     wxPAPER_NONE,               // Use specific dimensions
@@ -1188,6 +1215,14 @@ enum wxUpdateUI
 };
 
 
+enum wxLayoutDirection
+{
+    wxLayout_Default,
+    wxLayout_LeftToRight,
+    wxLayout_RightToLeft
+};
+
+
 
 //---------------------------------------------------------------------------