X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/511ac294daea69d4bae9644db2fb272c712e059c..661698e54f2bc599dc1a961ffbae08ccdd6b9b97:/include/wx/os2/combobox.h?ds=sidebyside diff --git a/include/wx/os2/combobox.h b/include/wx/os2/combobox.h index 2f2e957b1f..233d0f0d02 100644 --- a/include/wx/os2/combobox.h +++ b/include/wx/os2/combobox.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: combobox.h +// Name: wx/os2/combobox.h // Purpose: wxComboBox class // Author: David Webster // Modified by: @@ -13,11 +13,13 @@ #define _WX_COMBOBOX_H_ #include "wx/choice.h" +#include "wx/textentry.h" #if wxUSE_COMBOBOX // Combobox item -class WXDLLEXPORT wxComboBox : public wxChoice +class WXDLLIMPEXP_CORE wxComboBox : public wxChoice, + public wxTextEntry { public: @@ -31,9 +33,7 @@ class WXDLLEXPORT wxComboBox : public wxChoice ,int n = 0 ,const wxString asChoices[] = NULL ,long lStyle = 0 -#if wxUSE_VALIDATORS ,const wxValidator& rValidator = wxDefaultValidator -#endif ,const wxString& rsName = wxComboBoxNameStr ) { @@ -45,9 +45,30 @@ class WXDLLEXPORT wxComboBox : public wxChoice ,n ,asChoices ,lStyle -#if wxUSE_VALIDATORS ,rValidator -#endif + ,rsName + ); + } + + inline wxComboBox( wxWindow* pParent + ,wxWindowID vId + ,const wxString& rsValue + ,const wxPoint& rPos + ,const wxSize& rSize + ,const wxArrayString& asChoices + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxComboBoxNameStr + ) + { + Create( pParent + ,vId + ,rsValue + ,rPos + ,rSize + ,asChoices + ,lStyle + ,rValidator ,rsName ); } @@ -60,41 +81,41 @@ class WXDLLEXPORT wxComboBox : public wxChoice ,int n = 0 ,const wxString asChoices[] = NULL ,long lStyle = 0 -#if wxUSE_VALIDATORS ,const wxValidator& rValidator = wxDefaultValidator -#endif ,const wxString& rsName = wxComboBoxNameStr ); - // - // List functions: see wxChoice - // - inline wxString GetValue(void) const { return GetLabel(); } - virtual void SetValue(const wxString& rsValue); - - // - // Clipboard operations - // - virtual void Copy(); - virtual void Cut(); - virtual void Paste(); - - virtual void SetInsertionPoint(long lPos); - virtual void SetInsertionPointEnd(void); - virtual long GetInsertionPoint(void) const; - virtual long GetLastPosition(void) const; - virtual void Replace( long lFrom - ,long lTo - ,const wxString& rsValue - ); - virtual void Remove( long lFrom - ,long lTo - ); + bool Create( wxWindow* pParent + ,wxWindowID vId + ,const wxString& rsValue + ,const wxPoint& rPos + ,const wxSize& rSize + ,const wxArrayString& asChoices + ,long lStyle = 0 + ,const wxValidator& rValidator = wxDefaultValidator + ,const wxString& rsName = wxComboBoxNameStr + ); + + // See wxComboBoxBase discussion of IsEmpty(). + bool IsListEmpty() const { return wxItemContainer::IsEmpty(); } + bool IsTextEmpty() const { return wxTextEntry::IsEmpty(); } + + // resolve ambiguities among virtual functions inherited from both base + // classes + virtual void Clear(); + virtual wxString GetValue() const; + virtual void SetValue(const wxString& value); + virtual wxString GetStringSelection() const + { return wxChoice::GetStringSelection(); } + inline virtual void SetSelection(int n) { wxChoice::SetSelection(n); } - virtual void SetSelection( long lFrom - ,long lTo - ); - virtual void SetEditable(bool bEditable); + virtual void SetSelection(long from, long to) + { wxTextEntry::SetSelection(from, to); } + virtual int GetSelection() const { return wxChoice::GetSelection(); } + virtual void GetSelection(long *from, long *to) const + { wxTextEntry::GetSelection(from, to); } + + virtual bool IsEditable() const; virtual bool OS2Command( WXUINT uParam ,WXWORD wId @@ -104,14 +125,11 @@ class WXDLLEXPORT wxComboBox : public wxChoice ,WXLPARAM lParam ); -protected: - virtual void DoSetSize( int nX - ,int nY - ,int nWidth - ,int nHeight - ,int nSizeFlags = wxSIZE_AUTO - ); private: + // implement wxTextEntry pure virtual methods + virtual wxWindow *GetEditableWindow() { return this; } + virtual WXHWND GetEditHWND() const { return m_hWnd; } + DECLARE_DYNAMIC_CLASS(wxComboBox) }; // end of CLASS wxComboBox