]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/gizmos/gizmos.i
Added generic LoadObject methods that can load any classtype from a
[wxWidgets.git] / wxPython / contrib / gizmos / gizmos.i
index 86a63f1df69e0b0eb289fe83756f2fa07050f306..48b33f4e7c588f80092fb2258b30ba713f26ca7d 100644 (file)
 
 
 %{
-#include "export.h"
+#include "wxPython.h"
 #include <wx/gizmos/dynamicsash.h>
 #include <wx/gizmos/editlbox.h>
 #include <wx/gizmos/splittree.h>
 #include <wx/gizmos/ledctrl.h>
+#include <wx/listctrl.h>
 %}
 
 //---------------------------------------------------------------------------
 
 //----------------------------------------------------------------------
 
+%{
+    // Put some wx default wxChar* values into wxStrings.
+    static const wxString wxPyDynamicSashNameStr(wxT("dynamicSashWindow"));
+    static const wxString wxPyEditableListBoxNameStr(wxT("editableListBox"));
+%}
+
+///----------------------------------------------------------------------
+
 enum {
     wxEVT_DYNAMIC_SASH_SPLIT,
     wxEVT_DYNAMIC_SASH_UNIFY,
@@ -124,13 +133,13 @@ public:
     wxDynamicSashWindow(wxWindow *parent, wxWindowID id,
                         const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
                         long style = wxCLIP_CHILDREN | wxDS_MANAGE_SCROLLBARS | wxDS_DRAG_CORNER,
-                        const char* name = "dynamicSashWindow");
+                        const wxString& name = wxPyDynamicSashNameStr);
     %name(wxPreDynamicSashWindow)wxDynamicSashWindow();
 
     bool Create(wxWindow *parent, wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
                 long style = wxCLIP_CHILDREN | wxDS_MANAGE_SCROLLBARS | wxDS_DRAG_CORNER,
-                const char* name = "dynamicSashWindow");
+                const wxString& name = wxPyDynamicSashNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
     %pragma(python) addtomethod = "wxPreDynamicSashWindow:val._setOORInfo(val)"
@@ -155,6 +164,11 @@ def EVT_DYNAMIC_SASH_UNIFY(win, id, func):
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
+enum {
+    wxEL_ALLOW_NEW,
+    wxEL_ALLOW_EDIT,
+    wxEL_ALLOW_DELETE,
+};
 
 // This class provides a composite control that lets the
 // user easily enter list of strings
@@ -165,7 +179,8 @@ public:
                       const wxString& label,
                       const wxPoint& pos = wxDefaultPosition,
                       const wxSize& size = wxDefaultSize,
-                      const char* name = "editableListBox");
+                      long style = wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE,
+                      const wxString& name = wxPyEditableListBoxNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
 
@@ -179,6 +194,13 @@ public:
             return wxArrayString2PyList_helper(strings);
         }
     }
+
+    wxListCtrl* GetListCtrl()       { return m_listCtrl; }
+    wxBitmapButton* GetDelButton()  { return m_bDel; }
+    wxBitmapButton* GetNewButton()  { return m_bNew; }
+    wxBitmapButton* GetUpButton()   { return m_bUp; }
+    wxBitmapButton* GetDownButton() { return m_bDown; }
+    wxBitmapButton* GetEditButton() { return m_bEdit; }
 };
 
 
@@ -247,7 +269,7 @@ public:
 
     virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) {
         bool found;
-        wxPyTState* state = wxPyBeginBlockThreads();
+        wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) {
             PyObject* dcobj = wxPyMake_wxObject(&dc);
             PyObject* idobj = wxPyConstructObject((void*)&id, "wxTreeItemId", FALSE);
@@ -257,7 +279,7 @@ public:
             Py_DECREF(idobj);
             Py_DECREF(recobj);
         }
-        wxPyEndBlockThreads(state);
+        wxPyEndBlockThreads();
         if (! found)
             wxTreeCompanionWindow::DrawItem(dc, id, rect);
     }