]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_control.i
GetBestFittingSize --> GetEffectiveMinSize
[wxWidgets.git] / wxPython / src / _control.i
index c89a9ecb89e26643204050a0711edea3c148eac4..94b33f048a1793ad37785f9217fd37937f9884cb 100644 (file)
@@ -38,11 +38,11 @@ public:
 
     DocCtorStr(
         wxControl(wxWindow *parent,
-              wxWindowID id=-1,
-              const wxPoint& pos=wxDefaultPosition,
-              const wxSize& size=wxDefaultSize,
-              long style=0,
-              const wxValidator& validator=wxDefaultValidator,
+                  wxWindowID id=-1,
+                  const wxPoint& pos=wxDefaultPosition,
+                  const wxSize& size=wxDefaultSize,
+                  long style=0,
+                  const wxValidator& validator=wxDefaultValidator,
                   const wxString& name=wxPyControlNameStr),
         "Create a Control.  Normally you should only call this from a subclass'
 __init__ as a plain old wx.Control is not very useful.", "");
@@ -67,6 +67,17 @@ __init__ as a plain old wx.Control is not very useful.", "");
         "Do the 2nd phase and create the GUI control.", "");
     
 
+    DocDeclStr(
+        int , GetAlignment() const,
+        "Get the control alignment (left/right/centre, top/bottom/centre)", "");
+    
+
+    DocDeclStr(
+        wxString , GetLabelText() const,
+        "Get just the text of the label, without mnemonic characters ('&')", "");
+    
+
+    
     DocDeclStr(
         void , Command(wxCommandEvent& event),
         "Simulates the effect of the user issuing a command to the item.
@@ -74,14 +85,6 @@ __init__ as a plain old wx.Control is not very useful.", "");
 :see: `wx.CommandEvent`
 ", "");
    
-    DocDeclStr(
-        wxString , GetLabel(),
-        "Return a control's text.", "");
-    
-    DocDeclStr(
-        void , SetLabel(const wxString& label),
-        "Sets the item's text.", "");
-
 
 //     DocDeclStr(
 //         bool , GetAdjustMinSizeFlag(),
@@ -99,6 +102,10 @@ __init__ as a plain old wx.Control is not very useful.", "");
     
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+    %property(Alignment, GetAlignment, doc="See `GetAlignment`");
+    %property(LabelText, GetLabelText, doc="See `GetLabelText`");
+
 };
 
 
@@ -106,11 +113,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
@@ -124,7 +133,7 @@ optionally, client data associated with them.
 class wxItemContainer
 {
 public:
-    // wxItemContainer() { m_clientDataItemsType = wxClientData_None; }  ** It's an ABC
+    // wxItemContainer()  ** It's an ABC
     
 
     %extend {
@@ -155,7 +164,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 +179,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 +187,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 +221,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 +229,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 +239,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 +249,38 @@ 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);
-        }
+    %pythoncode {
+        def GetItems(self):
+            """Return a list of the strings in the control"""
+            return [self.GetString(i) for i in xrange(self.GetCount())]
+            
+        def SetItems(self, items):
+            """Clear and set the strings in the control from a list"""
+            self.Clear()
+            for i in items:
+                self.Append(i)        
     }
-      
+    
+    %property(Count, GetCount, doc="See `GetCount`");
+    %property(Items, GetItems, SetItems, doc="See `GetItems` and `SetItems`");
+    %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`");
+    %property(StringSelection, GetStringSelection, SetStringSelection, doc="See `GetStringSelection` and `SetStringSelection`");
+    %property(Strings, GetStrings, doc="See `GetStrings`");
+    
 };