]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/fontpickerg.cpp
Ensure there is valid context for DrawRectangle
[wxWidgets.git] / src / generic / fontpickerg.cpp
index 1a67f07b85a0d14fdcea7a05a61853ef86531d2c..ffcbb91de357d3af9422660e6e6ea17395528686 100644 (file)
     #pragma hdrstop
 #endif
 
     #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
-    #include "wx/window.h"
-#endif //WX_PRECOMP
+#if wxUSE_FONTPICKERCTRL
 
 #include "wx/fontpicker.h"
 
 #include "wx/fontpicker.h"
+
 #include "wx/fontdlg.h"
 
 
 #include "wx/fontdlg.h"
 
 
@@ -36,9 +35,6 @@
 // implementation
 // ============================================================================
 
 // implementation
 // ============================================================================
 
-#if wxUSE_FONTPICKERCTRL
-
-wxFontData wxGenericFontButton::ms_data;
 IMPLEMENT_DYNAMIC_CLASS(wxGenericFontButton, wxButton)
 
 // ----------------------------------------------------------------------------
 IMPLEMENT_DYNAMIC_CLASS(wxGenericFontButton, wxButton)
 
 // ----------------------------------------------------------------------------
@@ -51,8 +47,8 @@ bool wxGenericFontButton::Create( wxWindow *parent, wxWindowID id,
                         const wxValidator& validator, const wxString &name)
 {
     wxString label = (style & wxFNTP_FONTDESC_AS_LABEL) ?
                         const wxValidator& validator, const wxString &name)
 {
     wxString label = (style & wxFNTP_FONTDESC_AS_LABEL) ?
-                        wxEmptyString : // label will be updated by UpdateFont
-                        wxT("Choose font");
+                        wxString() : // label will be updated by UpdateFont
+                        _("Choose font");
 
     // create this button
     if (!wxButton::Create( parent, id, label, pos,
 
     // create this button
     if (!wxButton::Create( parent, id, label, pos,
@@ -63,11 +59,11 @@ bool wxGenericFontButton::Create( wxWindow *parent, wxWindowID id,
     }
 
     // and handle user clicks on it
     }
 
     // and handle user clicks on it
-    Connect(wxEVT_COMMAND_BUTTON_CLICKED,
+    Connect(GetId(), wxEVT_COMMAND_BUTTON_CLICKED,
             wxCommandEventHandler(wxGenericFontButton::OnButtonClick),
             NULL, this);
 
             wxCommandEventHandler(wxGenericFontButton::OnButtonClick),
             NULL, this);
 
-    m_selectedFont = initial;
+    m_selectedFont = initial.IsOk() ? initial : *wxNORMAL_FONT;
     UpdateFont();
     InitFontData();
 
     UpdateFont();
     InitFontData();
 
@@ -76,22 +72,22 @@ bool wxGenericFontButton::Create( wxWindow *parent, wxWindowID id,
 
 void wxGenericFontButton::InitFontData()
 {
 
 void wxGenericFontButton::InitFontData()
 {
-    ms_data.SetAllowSymbols(true);
-    ms_data.SetColour(*wxBLACK);
-    ms_data.EnableEffects(true);
+    m_data.SetAllowSymbols(true);
+    m_data.SetColour(*wxBLACK);
+    m_data.EnableEffects(true);
 }
 
 void wxGenericFontButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
 {
 }
 
 void wxGenericFontButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
 {
-    // update the wxFontData to be shown in the the dialog
-    ms_data.SetInitialFont(m_selectedFont);
+    // update the wxFontData to be shown in the dialog
+    m_data.SetInitialFont(m_selectedFont);
 
     // create the font dialog and display it
 
     // create the font dialog and display it
-    wxFontDialog dlg(this, ms_data);
+    wxFontDialog dlg(this, m_data);
     if (dlg.ShowModal() == wxID_OK)
     {
     if (dlg.ShowModal() == wxID_OK)
     {
-        ms_data = dlg.GetFontData();
-        SetSelectedFont(ms_data.GetChosenFont());
+        m_data = dlg.GetFontData();
+        SetSelectedFont(m_data.GetChosenFont());
 
         // fire an event
         wxFontPickerEvent event(this, GetId(), m_selectedFont);
 
         // fire an event
         wxFontPickerEvent event(this, GetId(), m_selectedFont);
@@ -101,10 +97,10 @@ void wxGenericFontButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
 
 void wxGenericFontButton::UpdateFont()
 {
 
 void wxGenericFontButton::UpdateFont()
 {
-    if ( !m_selectedFont.Ok() )
+    if ( !m_selectedFont.IsOk() )
         return;
 
         return;
 
-    SetForegroundColour(ms_data.GetColour());
+    SetForegroundColour(m_data.GetColour());
 
     if (HasFlag(wxFNTP_USEFONT_FOR_LABEL))
     {
 
     if (HasFlag(wxFNTP_USEFONT_FOR_LABEL))
     {