]> git.saurik.com Git - wxWidgets.git/commitdiff
Store canvas attributes in the canvas itself in the dialogs sample.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Oct 2009 22:53:44 +0000 (22:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Oct 2009 22:53:44 +0000 (22:53 +0000)
Simplify the code by not transferring font and colours between canvas and
wxTheApp but use canvas font and colours directly instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/dialogs/dialogs.cpp
samples/dialogs/dialogs.h

index fdfa5e8e5090199acd69b266b0e7e12920d63850..264246c1dfac1bd3c3533f1196ef972ffeb8558e 100644 (file)
@@ -271,9 +271,6 @@ bool MyApp::OnInit()
     wxInitAllImageHandlers();
 #endif
 
-    m_canvasTextColour = *wxBLACK;
-    m_canvasFont = *wxNORMAL_FONT;
-
     // Create the main frame window
     MyFrame *frame = new MyFrame(wxT("wxWidgets dialogs example"));
 
@@ -544,12 +541,12 @@ void MyFrame::GetColour(wxCommandEvent& WXUNUSED(event))
     wxColour clr = wxGetColourFromUser
                    (
                     this,
-                    wxGetApp().m_canvasTextColour,
+                    m_canvas->GetForegroundColour(),
                     "Please choose the foreground colour"
                    );
     if ( clr.IsOk() )
     {
-        wxGetApp().m_canvasTextColour = clr;
+        m_canvas->SetForegroundColour(clr);
         m_canvas->Refresh();
     }
     //else: dialog cancelled by user
@@ -592,8 +589,8 @@ void MyFrame::ChooseColourGeneric(wxCommandEvent& WXUNUSED(event))
 void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
 {
     wxFontData data;
-    data.SetInitialFont(wxGetApp().m_canvasFont);
-    data.SetColour(wxGetApp().m_canvasTextColour);
+    data.SetInitialFont(m_canvas->GetFont());
+    data.SetColour(m_canvas->GetForegroundColour());
 
     // you might also do this:
     //
@@ -605,8 +602,8 @@ void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
     if (dialog.ShowModal() == wxID_OK)
     {
         wxFontData retData = dialog.GetFontData();
-        wxGetApp().m_canvasFont = retData.GetChosenFont();
-        wxGetApp().m_canvasTextColour = retData.GetColour();
+        m_canvas->SetFont(retData.GetChosenFont());
+        m_canvas->SetForegroundColour(retData.GetColour());
         m_canvas->Refresh();
     }
     //else: cancelled by the user, don't change the font
@@ -617,15 +614,15 @@ void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
 void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(event) )
 {
     wxFontData data;
-    data.SetInitialFont(wxGetApp().m_canvasFont);
-    data.SetColour(wxGetApp().m_canvasTextColour);
+    data.SetInitialFont(m_canvas->GetFont());
+    data.SetColour(m_canvas->GetForegroundColour());
 
     wxGenericFontDialog *dialog = new wxGenericFontDialog(this, data);
     if (dialog->ShowModal() == wxID_OK)
     {
         wxFontData retData = dialog->GetFontData();
-        wxGetApp().m_canvasFont = retData.GetChosenFont();
-        wxGetApp().m_canvasTextColour = retData.GetColour();
+        m_canvas->SetFont(retData.GetChosenFont());
+        m_canvas->SetForegroundColour(retData.GetColour());
         m_canvas->Refresh();
     }
     dialog->Destroy();
@@ -1933,8 +1930,6 @@ void MyFrame::OnFindDialog(wxFindDialogEvent& event)
 void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event) )
 {
     wxPaintDC dc(this);
-    dc.SetFont(wxGetApp().m_canvasFont);
-    dc.SetTextForeground(wxGetApp().m_canvasTextColour);
     dc.SetBackgroundMode(wxTRANSPARENT);
     dc.DrawText(
                 wxT("wxWidgets common dialogs")
index dfa28fe733cfe58988a986adc9a1cbbe81041b18..fe0b0638a958908d734921e70ef8542645351c0c 100644 (file)
@@ -117,9 +117,6 @@ class MyApp: public wxApp
 public:
     virtual bool OnInit();
 
-    wxFont       m_canvasFont;
-    wxColour     m_canvasTextColour;
-
 protected:
 #if wxUSE_LOG
     virtual wxAppTraits *CreateTraits() { return new MyAppTraits; }
@@ -434,7 +431,9 @@ class MyCanvas: public wxScrolledWindow
 public:
     MyCanvas(wxWindow *parent) : wxScrolledWindow(parent, wxID_ANY)
     {
+        SetForegroundColour(*wxBLACK);
         SetBackgroundColour(*wxWHITE);
+        SetFont(*wxNORMAL_FONT);
     }
 
 private: