X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/11ec0dcea243f7ce1cbe7d33bfd9cd0e2f6d9083..5f2502393e042e6e2c871ff94b7ccaf7a78b264d:/wxPython/src/_control.i diff --git a/wxPython/src/_control.i b/wxPython/src/_control.i index fe97ed94d2..94b33f048a 100644 --- a/wxPython/src/_control.i +++ b/wxPython/src/_control.i @@ -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 @@ -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`"); + };