// implementation
// ============================================================================
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_COLOURPICKER_CHANGED)
+wxDEFINE_EVENT(wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEvent);
IMPLEMENT_DYNAMIC_CLASS(wxColourPickerCtrl, wxPickerBase)
IMPLEMENT_DYNAMIC_CLASS(wxColourPickerEvent, wxEvent)
bool wxColourPickerCtrl::SetColour(const wxString &text)
{
wxColour col(text); // smart wxString->wxColour conversion
- if ( !col.Ok() )
+ if ( !col.IsOk() )
return false;
M_PICKER->SetColour(col);
UpdateTextCtrlFromPicker();
{
wxASSERT(m_text);
- if (m_bIgnoreNextTextCtrlUpdate)
- {
- // ignore this update
- m_bIgnoreNextTextCtrlUpdate = false;
- return;
- }
-
// wxString -> wxColour conversion
wxColour col(m_text->GetValue());
- if ( !col.Ok() )
+ if ( !col.IsOk() )
return; // invalid user input
if (M_PICKER->GetColour() != col)
if (!m_text)
return; // no textctrl to update
- // NOTE: this SetValue() will generate an unwanted wxEVT_COMMAND_TEXT_UPDATED
- // which will trigger a unneeded UpdateFromTextCtrl(); thus before using
- // SetValue() we set the m_bIgnoreNextTextCtrlUpdate flag...
- m_bIgnoreNextTextCtrlUpdate = true;
- m_text->SetValue(M_PICKER->GetColour().GetAsString());
+ // Take care to use ChangeValue() here and not SetValue() to avoid
+ // infinite recursion.
+ m_text->ChangeValue(M_PICKER->GetColour().GetAsString());
}