X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/442b35b53bf95f5c6c003ea9ddbefd17adbc2a00..1338c59a025505bc066be220fe56e898a72b3ad3:/include/wx/univ/combobox.h diff --git a/include/wx/univ/combobox.h b/include/wx/univ/combobox.h index 8537da5563..5ef092afbd 100644 --- a/include/wx/univ/combobox.h +++ b/include/wx/univ/combobox.h @@ -37,7 +37,7 @@ #define _WX_UNIV_COMBOBOX_H_ #ifdef __GNUG__ - #pragma implementation "univcombobox.h" + #pragma interface "univcombobox.h" #endif class WXDLLEXPORT wxComboControl; @@ -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; }; @@ -160,6 +162,10 @@ public: 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; @@ -174,7 +180,7 @@ protected: const wxString& strArg = wxEmptyString); // event handlers - void OnKey(wxCommandEvent& event); + void OnKey(wxKeyEvent& event); // common part of all ctors void Init(); @@ -271,8 +277,60 @@ 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 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); + } + 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); @@ -301,7 +359,7 @@ class WXDLLEXPORT wxStdComboBoxInputHandler : public wxStdInputHandler public: wxStdComboBoxInputHandler(wxInputHandler *inphand); - virtual bool HandleKey(wxControl *control, + virtual bool HandleKey(wxInputConsumer *consumer, const wxKeyEvent& event, bool pressed); };