]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/windows3.i
Use the OOR typemap for wxTreeCtrls too.
[wxWidgets.git] / wxPython / src / windows3.i
index 75ad798db93d3abf6252f9edcd6f05ba40d3450c..bb2b7300d5f43456c815f17e640296966303d327 100644 (file)
@@ -18,6 +18,7 @@
 #include <wx/laywin.h>
 #ifndef __WXMAC__
 #include <wx/popupwin.h>
+#include <wx/tipwin.h>
 #endif
 %}
 
 
 %pragma(python) code = "import wx"
 
+//----------------------------------------------------------------------
+
+%{
+    // Put some wx default wxChar* values into wxStrings.
+    static const wxChar* wxSashNameStr = wxT("sashWindow");
+    DECLARE_DEF_STRING(SashNameStr);
+    static const wxChar* wxSashLayoutNameStr = wxT("layoutWindow");
+    DECLARE_DEF_STRING(SashLayoutNameStr);
+%}
 //---------------------------------------------------------------------------
 
 enum wxSashEdgePosition {
@@ -82,14 +92,14 @@ public:
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  long style = wxCLIP_CHILDREN | wxSW_3D,
-                 const char* name = "sashWindow");
+                 const wxString& name = wxPySashNameStr);
     %name(wxPreSashWindow)wxSashWindow();
 
     bool Create(wxWindow* parent, wxWindowID id,
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  long style = wxCLIP_CHILDREN | wxSW_3D,
-                 const char* name = "sashWindow");
+                 const wxString& name = wxPySashNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
     %pragma(python) addtomethod = "wxPreSashWindow:val._setOORInfo(val)"
@@ -172,14 +182,14 @@ public:
                        const wxPoint& pos = wxDefaultPosition,
                        const wxSize& size = wxDefaultSize,
                        long style = wxCLIP_CHILDREN | wxSW_3D,
-                       const char* name = "layoutWindow");
+                       const wxString& name = wxPySashLayoutNameStr);
     %name(wxPreSashLayoutWindow)wxSashLayoutWindow();
 
     bool Create(wxWindow* parent, wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = wxCLIP_CHILDREN | wxSW_3D,
-                const char* name = "layoutWindow");
+                const wxString& name = wxPySashLayoutNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
     %pragma(python) addtomethod = "wxPreSashLayoutWindow:val._setOORInfo(val)"
@@ -234,11 +244,14 @@ public:
         : wxPopupTransientWindow(parent, style) {}
 
     DEC_PYCALLBACK_BOOL_ME(ProcessLeftDown);
+    DEC_PYCALLBACK__(OnDismiss);
+    DEC_PYCALLBACK_BOOL_(CanDismiss);
     PYPRIVATE;
 };
 
 IMP_PYCALLBACK_BOOL_ME(wxPyPopupTransientWindow, wxPopupTransientWindow, ProcessLeftDown);
-
+IMP_PYCALLBACK__(wxPyPopupTransientWindow, wxPopupTransientWindow, OnDismiss);
+IMP_PYCALLBACK_BOOL_(wxPyPopupTransientWindow, wxPopupTransientWindow, CanDismiss);
 %}
 
 
@@ -265,6 +278,33 @@ public:
     virtual void Dismiss();
 };
 
-#endif
 //---------------------------------------------------------------------------
 
+class wxTipWindow : public wxPyPopupTransientWindow
+{
+public:
+    %addmethods {
+        wxTipWindow(wxWindow *parent,
+                    const wxString* text,
+                    wxCoord maxLength = 100,
+                    wxRect* rectBound = NULL) {
+            wxString tmp = *text;
+            return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound);
+        }
+    }
+
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+
+    // If rectBound is not NULL, the window will disappear automatically when
+    // the mouse leave the specified rect: note that rectBound should be in the
+    // screen coordinates!
+    void SetBoundingRect(const wxRect& rectBound);
+
+    // Hide and destroy the window
+    void Close();
+};
+
+
+//---------------------------------------------------------------------------
+
+#endif