X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aa61d3525370a9b9fa8c797d9b7f89d96994db5f..7ddb15416407390de67cc26b04e91ea99a521f57:/include/wx/gtk1/combobox.h diff --git a/include/wx/gtk1/combobox.h b/include/wx/gtk1/combobox.h index 2e85af60cf..77d2502cac 100644 --- a/include/wx/gtk1/combobox.h +++ b/include/wx/gtk1/combobox.h @@ -21,20 +21,21 @@ // classes //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxComboBox; +class WXDLLIMPEXP_FWD_CORE wxComboBox; //----------------------------------------------------------------------------- // global data //----------------------------------------------------------------------------- -extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[]; extern WXDLLIMPEXP_BASE const wxChar* wxEmptyString; //----------------------------------------------------------------------------- // wxComboBox //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase +class WXDLLIMPEXP_CORE wxComboBox : + public wxWindowWithItems { public: inline wxComboBox() {} @@ -61,7 +62,7 @@ public: Create(parent, id, value, pos, size, choices, style, validator, name); } - ~wxComboBox(); + virtual ~wxComboBox(); bool Create(wxWindow *parent, wxWindowID id, const wxString& value = wxEmptyString, @@ -80,8 +81,8 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxComboBoxNameStr); - void Clear(); - void Delete(unsigned int n); + void DoClear(); + void DoDeleteOneItem(unsigned int n); virtual int FindString(const wxString& s, bool bCase = false) const; int GetSelection() const; @@ -92,8 +93,9 @@ public: virtual void SetSelection(int n); virtual void SetString(unsigned int n, const wxString &text); - wxString GetValue() const; + wxString GetValue() const { return DoGetValue(); } void SetValue(const wxString& value); + void WriteText(const wxString& value); void Copy(); void Cut(); @@ -153,22 +155,23 @@ public: bool IsOwnGtkWindow( GdkWindow *window ); void DoApplyWidgetStyle(GtkRcStyle *style); - wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST - static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); protected: - virtual int DoAppend(const wxString& item); - virtual int DoInsert(const wxString& item, unsigned int pos); + virtual int DoInsertItems(const wxArrayStringsAdapter& items, + unsigned int pos, + void **clientData, wxClientDataType type); virtual void DoSetItemClientData(unsigned int n, void* clientData); virtual void* DoGetItemClientData(unsigned int n) const; - virtual void DoSetItemClientObject(unsigned int n, wxClientData* clientData); - virtual wxClientData* DoGetItemClientObject(unsigned int n) const; virtual wxSize DoGetBestSize() const; + // implement wxTextEntry pure virtual methods + virtual wxString DoGetValue() const; + virtual wxWindow *GetEditableWindow() { return this; } + // Widgets that use the style->base colour for the BG colour should // override this and return true. virtual bool UseGTKStyleBase() const { return true; }