// set the initial contents of the textctrl
m_text->SetValue(text);
- m_text->Connect(wxEVT_COMMAND_TEXT_UPDATED,
+ m_text->Connect(m_text->GetId(), wxEVT_COMMAND_TEXT_UPDATED,
wxCommandEventHandler(wxPickerBase::OnTextCtrlUpdate),
NULL, this);
- m_text->Connect(wxEVT_KILL_FOCUS,
+ m_text->Connect(m_text->GetId(), wxEVT_KILL_FOCUS,
wxFocusEventHandler(wxPickerBase::OnTextCtrlKillFocus),
NULL, this);
- m_text->Connect(wxEVT_DESTROY,
+ m_text->Connect(m_text->GetId(), wxEVT_DESTROY,
wxWindowDestroyEventHandler(wxPickerBase::OnTextCtrlDelete),
NULL, this);
SetMinSize( m_sizer->GetMinSize() );
}
-void wxPickerBase::DoSetToolTip( wxToolTip *tip )
+#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
m_picker->SetToolTip(tip);
// do a copy as wxWindow will own the pointer we pass
- m_text->SetToolTip(tip ? new wxToolTip(tip->GetTip()) : NULL);
+ if ( m_text )
+ m_text->SetToolTip(tip ? new wxToolTip(tip->GetTip()) : NULL);
}
-
+#endif // wxUSE_TOOLTIPS
// ----------------------------------------------------------------------------
// wxPickerBase - event handlers
// ----------------------------------------------------------------------------
-void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent &)
+void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent& event)
{
- wxASSERT(m_text);
+ event.Skip();
// don't leave the textctrl empty
- if (m_text->GetValue().empty())
+ if (m_text && m_text->GetValue().empty())
UpdateTextCtrlFromPicker();
}