]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fontpickercmn.cpp
wxDialogBase only has one ctor, so just do initialization in ctor instead of Init()
[wxWidgets.git] / src / common / fontpickercmn.cpp
index 3ca7872f1d1c12e7af39e98f183264b9cde8d024..83e6a36e17bd53421aa3a119123b59554502dba7 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Francesco Montorsi
 // Modified by:
 // Created:     15/04/2006
-// RCS-ID:      $Id$
 // Copyright:   (c) Francesco Montorsi
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 // implementation
 // ============================================================================
 
-const wxChar wxFontPickerCtrlNameStr[] = wxT("fontpicker");
-const wxChar wxFontPickerWidgetNameStr[] = wxT("fontpickerwidget");
+const char wxFontPickerCtrlNameStr[] = "fontpicker";
+const char wxFontPickerWidgetNameStr[] = "fontpickerwidget";
 
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_FONTPICKER_CHANGED)
+wxDEFINE_EVENT(wxEVT_FONTPICKER_CHANGED, wxFontPickerEvent);
 IMPLEMENT_DYNAMIC_CLASS(wxFontPickerCtrl, wxPickerBase)
 IMPLEMENT_DYNAMIC_CLASS(wxFontPickerEvent, wxCommandEvent)
 
@@ -71,7 +70,7 @@ bool wxFontPickerCtrl::Create( wxWindow *parent, wxWindowID id,
     // complete sizer creation
     wxPickerBase::PostCreation();
 
-    m_picker->Connect(wxEVT_COMMAND_FONTPICKER_CHANGED,
+    m_picker->Connect(wxEVT_FONTPICKER_CHANGED,
             wxFontPickerEventHandler(wxFontPickerCtrl::OnFontChange),
             NULL, this);
 
@@ -125,19 +124,12 @@ void wxFontPickerCtrl::UpdatePickerFromTextCtrl()
 {
     wxASSERT(m_text);
 
-    if (m_bIgnoreNextTextCtrlUpdate)
-    {
-        // ignore this update
-        m_bIgnoreNextTextCtrlUpdate = false;
-        return;
-    }
-
     // NB: we don't use the wxFont::wxFont(const wxString &) constructor
     //     since that constructor expects the native font description
     //     string returned by wxFont::GetNativeFontInfoDesc() and not
     //     the user-friendly one returned by wxFont::GetNativeFontInfoUserDesc()
     wxFont f = String2Font(m_text->GetValue());
-    if (!f.Ok())
+    if (!f.IsOk())
         return;     // invalid user input
 
     if (M_PICKER->GetSelectedFont() != f)
@@ -155,11 +147,9 @@ void wxFontPickerCtrl::UpdateTextCtrlFromPicker()
     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(Font2String(M_PICKER->GetSelectedFont()));
+    // Take care to use ChangeValue() here and not SetValue() to avoid
+    // infinite recursion.
+    m_text->ChangeValue(Font2String(M_PICKER->GetSelectedFont()));
 }