X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5f6475c145b713efc0c3d8b482338438e927b763..3cb6eaec797ebbe20a0e05e5c9ba625909845e72:/src/common/pickerbase.cpp?ds=sidebyside diff --git a/src/common/pickerbase.cpp b/src/common/pickerbase.cpp index db435a8eca..867712afbf 100644 --- a/src/common/pickerbase.cpp +++ b/src/common/pickerbase.cpp @@ -30,11 +30,13 @@ wxUSE_FONTPICKERCTRL #include "wx/pickerbase.h" +#include "wx/tooltip.h" #ifndef WX_PRECOMP #include "wx/textctrl.h" #endif + // ============================================================================ // implementation // ============================================================================ @@ -59,8 +61,7 @@ bool wxPickerBase::CreateBase(wxWindow *parent, const wxSize& size, long style, const wxValidator& validator, - const wxString& name, - long textstyle) + const wxString& name) { // remove any border style from our style as wxPickerBase's window must be // invisible (user styles must be set on the textctrl or the platform-dependent picker) @@ -78,7 +79,7 @@ bool wxPickerBase::CreateBase(wxWindow *parent, // the styles related to the textctrl from the styles passed here m_text = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, - GetTextCtrlStyle(style) | textstyle); + GetTextCtrlStyle(style)); if (!m_text) { wxFAIL_MSG( wxT("wxPickerBase's textctrl creation failed") ); @@ -120,9 +121,29 @@ void wxPickerBase::PostCreation() m_sizer->Add(m_picker, HasTextCtrl() ? 0 : 1, GetDefaultPickerCtrlFlag(), 5); SetSizer(m_sizer); - m_sizer->SetSizeHints(this); + SetMinSize( m_sizer->GetMinSize() ); +} + +#if wxUSE_TOOLTIPS + +void wxPickerBase::DoSetToolTip(wxToolTip *tip) +{ + // don't set the tooltip on us but rather on our two child windows + // as otherwise it would appear only when the cursor is placed on the + // small area around the child windows which belong to wxPickerBase + m_picker->SetToolTip(tip); + + // do a copy as wxWindow will own the pointer we pass + if ( m_text ) + m_text->SetToolTip(tip ? new wxToolTip(tip->GetTip()) : NULL); } +#endif // wxUSE_TOOLTIPS + +// ---------------------------------------------------------------------------- +// wxPickerBase - event handlers +// ---------------------------------------------------------------------------- + void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent &) { wxASSERT(m_text);