X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8423f117639968a8e21344c52c5bc746596508c6..925430af0626aace83c45cbccfb4645ab80402fa:/wxPython/src/_control.i diff --git a/wxPython/src/_control.i b/wxPython/src/_control.i index c89a9ecb89..10b7b43f45 100644 --- a/wxPython/src/_control.i +++ b/wxPython/src/_control.i @@ -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,22 @@ __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( +// static wxString , GetLabelText(const wxString& label), +// "Get the string without mnemonic characters ('&')", ""); + + + 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. @@ -99,6 +115,11 @@ __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(Label, GetLabel, doc="See `GetLabel`"); + %property(LabelText, GetLabelText, doc="See `GetLabelText`"); + }; @@ -106,11 +127,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 +147,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 +178,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 +193,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 +201,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 +235,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 +243,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 +253,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 +263,33 @@ 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(Items, GetItems, SetItems); + };