X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d4e5272b3a2abfb9d365df93c54c52de965ba7ef..abdb7725e101288775e9752eecaac4dbc4fcf409:/include/wx/univ/combobox.h diff --git a/include/wx/univ/combobox.h b/include/wx/univ/combobox.h index 532073b460..52fa4b46b8 100644 --- a/include/wx/univ/combobox.h +++ b/include/wx/univ/combobox.h @@ -36,7 +36,7 @@ #ifndef _WX_UNIV_COMBOBOX_H_ #define _WX_UNIV_COMBOBOX_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "univcombobox.h" #endif @@ -83,6 +83,8 @@ public: // called immediately after the control is shown virtual void OnShow() = 0; + virtual wxCoord GetBestWidth() const {return 0; } + protected: wxComboControl *m_combo; }; @@ -219,7 +221,7 @@ public: 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) @@ -229,6 +231,15 @@ public: (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, @@ -240,7 +251,15 @@ public: 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(); @@ -275,59 +294,13 @@ public: 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 we inherit these - // methods (with different signatures) from both wxItemContainer via - // wxComboBoxBase (with "int n" parameter) and from wxEvtHandler via - // wxControl and wxComboControl (without) - // - // 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);