#ifndef _WX_UNIV_COMBOBOX_H_
#define _WX_UNIV_COMBOBOX_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "univcombobox.h"
#endif
// called immediately after the control is shown
virtual void OnShow() = 0;
+ virtual wxCoord GetBestWidth() const {return 0; }
+
protected:
wxComboControl *m_combo;
};
virtual bool Enable(bool enable = TRUE);
virtual bool Show(bool show = TRUE);
+#if wxUSE_TOOLTIPS
+ virtual void DoSetToolTip( wxToolTip *tip );
+#endif // wxUSE_TOOLTIPS
+
protected:
// override the base class virtuals involved into geometry calculations
virtual wxSize DoGetBestClientSize() const;
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0,
- const wxString *choices = (const wxString *) NULL,
+ const wxString choices[] = (const wxString *) NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr)
(void)Create(parent, id, value, pos, size, n, choices,
style, validator, name);
}
+ wxComboBox(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
bool Create(wxWindow *parent,
wxWindowID id,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr);
-
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
virtual ~wxComboBox();
virtual void Select(int n);
virtual int GetSelection() const;
void SetSelection(int n) { Select(n); }
-
- void SetStringSelection(const wxString& s) { }
- // we have to redefine these functions here to avoid ambiguities in classes
- // deriving from us which would arise otherwise because both base classses
- // have the methods with the same names - hopefully, a smart compiler can
- // optimize away these simple inline wrappers so we don't suffer much from
- // this
-
- void SetClientData(void *data)
- {
- wxControl::SetClientData(data);
- }
-
- void *GetClientData() const
- {
- return wxControl::GetClientData();
- }
+ void SetStringSelection(const wxString& WXUNUSED(s)) { }
- void SetClientObject(wxClientData *data)
- {
- wxControl::SetClientObject(data);
- }
-
- wxClientData *GetClientObject() const
- {
- return wxControl::GetClientObject();
- }
-
- void SetClientData(int n, void* clientData)
- {
- wxItemContainer::SetClientData(n, clientData);
- }
-
- void* GetClientData(int n) const
- {
- return wxItemContainer::GetClientData(n);
- }
-
- void SetClientObject(int n, wxClientData* clientData)
- {
- wxItemContainer::SetClientObject(n, clientData);
- }
-
- wxClientData* GetClientObject(int n) const
- {
- return wxItemContainer::GetClientObject(n);
- }
+ wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
protected:
virtual int DoAppend(const wxString& item);
+ virtual int DoInsert(const wxString& item, int pos);
virtual void DoSetItemClientData(int n, void* clientData);
virtual void* DoGetItemClientData(int n) const;
virtual void DoSetItemClientObject(int n, wxClientData* clientData);