]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_control.i
applied patch 1378261
[wxWidgets.git] / wxPython / src / _control.i
index fe97ed94d2925e6b5a41387019f75a12fcb68afd..85d8175ffd55f24af83122f1f66dfaf2c98cea3a 100644 (file)
@@ -106,11 +106,13 @@ __init__ as a plain old wx.Control is not very useful.", "");
 %newgroup;
 
 
+
+
 DocStr(wxItemContainer,
-"wx.ItemContainer defines an interface which is implemented by all
-controls which have string subitems, each of which may be selected,
-such as `wx.ListBox`, `wx.CheckListBox`, `wx.Choice` as well as
-`wx.ComboBox` which implements an extended interface deriving from
+"The wx.ItemContainer class defines an interface which is implemented
+by all controls which have string subitems, each of which may be
+selected, such as `wx.ListBox`, `wx.CheckListBox`, `wx.Choice` as well
+as `wx.ComboBox` which implements an extended interface deriving from
 this one.
 
 It defines the methods for accessing the control's items and although
@@ -155,7 +157,7 @@ need to add a lot of items.", "",
         DocStr(Insert,
                "Insert an item into the control before the item at the ``pos`` index,
 optionally associating some data object with the item.", "");
-        int Insert(const wxString& item, int pos, PyObject* clientData=NULL) {
+        int Insert(const wxString& item, unsigned int pos, PyObject* clientData=NULL) {
             if (clientData) {
                 wxPyClientData* data = new wxPyClientData(clientData);
                 return self->Insert(item, pos, data);
@@ -170,7 +172,7 @@ optionally associating some data object with the item.", "");
         "Removes all items from the control.", "");
     
     DocDeclStr(
-        virtual void , Delete(int n),
+        virtual void , Delete(unsigned int n),
         "Deletes the item at the zero-based index 'n' from the control. Note
 that it is an error (signalled by a `wx.PyAssertionError` exception if
 enabled) to remove an item with the index negative or greater or equal
@@ -178,8 +180,33 @@ than the number of items in the control.", "");
     
 
 
+    
+     %extend {
+        DocStr(GetClientData,
+               "Returns the client data associated with the given item, (if any.)", "");
+        PyObject* GetClientData(unsigned int n) {
+            wxPyClientData* data = (wxPyClientData*)self->GetClientObject(n);
+            if (data) {
+                Py_INCREF(data->m_obj);
+                return data->m_obj;
+            } else {
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+        }
+
+        DocStr(SetClientData,
+               "Associate the given client data with the item at position n.", "");
+        void SetClientData(unsigned int n, PyObject* clientData) {
+            wxPyClientData* data = new wxPyClientData(clientData);
+            self->SetClientObject(n, data);
+        }
+    }
+
+
+    
     DocDeclStr(
-        virtual int , GetCount() const,
+        virtual unsigned int , GetCount() const,
         "Returns the number of items in the control.", "");
     
     DocDeclStr(
@@ -187,7 +214,7 @@ than the number of items in the control.", "");
         "Returns True if the control is empty or False if it has some items.", "");
     
     DocDeclStr(
-        virtual wxString , GetString(int n) const,
+        virtual wxString , GetString(unsigned int n) const,
         "Returns the label of the item with the given index.", "");
     
     DocDeclStr(
@@ -195,7 +222,7 @@ than the number of items in the control.", "");
         "", "");
     
     DocDeclStr(
-        virtual void , SetString(int n, const wxString& s),
+        virtual void , SetString(unsigned int n, const wxString& s),
         "Sets the label for the given item.", "");
     
     DocDeclStr(
@@ -205,12 +232,9 @@ zero-based position of the item, or ``wx.NOT_FOUND`` if the string was not
 found.", "");
     
 
-    
     DocDeclStr(
-        virtual void , Select(int n),
+        virtual void , SetSelection(int n),
         "Sets the item at index 'n' to be the selected item.", "");
-
-    %pythoncode { SetSelection = Select }
     
     DocDeclStr(
         virtual int , GetSelection() const,
@@ -218,35 +242,21 @@ found.", "");
 is selected.", "");
     
 
+    bool SetStringSelection(const wxString& s);
+
     DocDeclStr(
         wxString , GetStringSelection() const,
         "Returns the label of the selected item or an empty string if no item
 is selected.", "");
     
 
+    DocDeclStr(
+        void , Select(int n),
+        "This is the same as `SetSelection` and exists only because it is
+slightly more natural for controls which support multiple selection.", "");
+    
 
-    %extend {
-        DocStr(GetClientData,
-               "Returns the client data associated with the given item, (if any.)", "");
-        PyObject* GetClientData(int n) {
-            wxPyClientData* data = (wxPyClientData*)self->GetClientObject(n);
-            if (data) {
-                Py_INCREF(data->m_obj);
-                return data->m_obj;
-            } else {
-                Py_INCREF(Py_None);
-                return Py_None;
-            }
-        }
-
-        DocStr(SetClientData,
-               "Associate the given client data with the item at position n.", "");
-        void SetClientData(int n, PyObject* clientData) {
-            wxPyClientData* data = new wxPyClientData(clientData);
-            self->SetClientObject(n, data);
-        }
-    }
-      
+    
 };