// 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<wxControl, wxComboBoxBase>
{
public:
inline wxComboBox() {}
Create(parent, id, value, pos, size, choices, style, validator, name);
}
- ~wxComboBox();
+ virtual ~wxComboBox();
bool Create(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
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;
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();
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; }