diff --git a/include/wx/combo.h b/include/wx/combo.h index 35ea5e2373..2ba9780a2d 100644 --- a/include/wx/combo.h +++ b/include/wx/combo.h @@ -46,7 +46,6 @@ #include "wx/bitmap.h" // wxBitmap used by-value #include "wx/textentry.h" #include "wx/time.h" // needed for wxMilliClock_t -#include "wx/compositewin.h" // wxComboCtrlBase declaration class WXDLLIMPEXP_FWD_CORE wxTextCtrl; class WXDLLIMPEXP_FWD_CORE wxComboPopup; @@ -141,14 +140,14 @@ struct wxComboCtrlFeatures }; -class WXDLLIMPEXP_CORE wxComboCtrlBase : public wxCompositeWindow, +class WXDLLIMPEXP_CORE wxComboCtrlBase : public wxControl, public wxTextEntry { friend class wxComboPopup; friend class wxComboPopupEvtHandler; public: // ctors and such - wxComboCtrlBase() : wxCompositeWindow(), wxTextEntry() { Init(); } + wxComboCtrlBase() : wxControl(), wxTextEntry() { Init(); } bool Create(wxWindow *parent, wxWindowID id, @@ -473,6 +472,7 @@ public: { return m_mainCtrlWnd; } // also set the embedded wxTextCtrl colours + virtual bool SetForegroundColour(const wxColour& colour) wxOVERRIDE; virtual bool SetBackgroundColour(const wxColour& colour) wxOVERRIDE; protected: @@ -598,6 +598,10 @@ protected: // Flags are same as for DoShowPopup. virtual bool AnimateShow( const wxRect& rect, int flags ); +#if wxUSE_TOOLTIPS + virtual void DoSetToolTip( wxToolTip *tip ) wxOVERRIDE; +#endif + // protected wxTextEntry methods virtual void DoSetValue(const wxString& value, int flags) wxOVERRIDE; virtual wxString DoGetValue() const wxOVERRIDE; @@ -607,8 +611,6 @@ protected: virtual bool DoSetMargins(const wxPoint& pt) wxOVERRIDE; virtual wxPoint DoGetMargins() const wxOVERRIDE; - virtual wxWindowList GetCompositeWindowParts() const wxOVERRIDE; - // This is used when m_text is hidden (readonly). wxString m_valueString; diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp index 4e87e9f75b..d3920f9d8c 100644 --- a/src/common/combocmn.cpp +++ b/src/common/combocmn.cpp @@ -1535,6 +1535,37 @@ bool wxComboCtrlBase::SetFont ( const wxFont& font ) return true; } +#if wxUSE_TOOLTIPS +void wxComboCtrlBase::DoSetToolTip(wxToolTip *tooltip) +{ + wxControl::DoSetToolTip(tooltip); + + // Set tool tip for button and text box + if ( tooltip ) + { + const wxString &tip = tooltip->GetTip(); + if ( m_text ) m_text->SetToolTip(tip); + if ( m_btn ) m_btn->SetToolTip(tip); + } + else + { + if ( m_text ) m_text->SetToolTip( NULL ); + if ( m_btn ) m_btn->SetToolTip( NULL ); + } +} +#endif // wxUSE_TOOLTIPS + +bool wxComboCtrlBase::SetForegroundColour(const wxColour& colour) +{ + if ( wxControl::SetForegroundColour(colour) ) + { + if ( m_text ) + m_text->SetForegroundColour(colour); + return true; + } + return false; +} + bool wxComboCtrlBase::SetBackgroundColour(const wxColour& colour) { if ( m_text ) @@ -2717,16 +2748,6 @@ void wxComboCtrlBase::SetTextCtrlStyle( int style ) m_text->SetWindowStyle(style); } -wxWindowList wxComboCtrlBase::GetCompositeWindowParts() const -{ - wxWindowList parts; - if ( m_text ) - parts.push_back(m_text); - if ( m_btn ) - parts.push_back(m_btn); - return parts; -} - // ---------------------------------------------------------------------------- // wxTextEntry interface // ----------------------------------------------------------------------------