]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/font/font.cpp
let GtkRange clamp scroll position
[wxWidgets.git] / samples / font / font.cpp
index ca7ef1bc27436cc7c6b7ac613aff64dc341c5573..8c8a91c5d4c1dc3dbe0ac1bef4d6ec93d9daed28 100644 (file)
@@ -40,7 +40,7 @@
 #endif
 
 // used as title for several dialog boxes
-static const wxChar SAMPLE_TITLE[] = "wxWidgets Font Sample";
+static const wxChar SAMPLE_TITLE[] = _T("wxWidgets Font Sample");
 
 // ----------------------------------------------------------------------------
 // private classes
@@ -105,6 +105,7 @@ public:
 
     void OnwxPointerFont(wxCommandEvent& event);
 
+    void OnTestTextValue(wxCommandEvent& event);
     void OnViewMsg(wxCommandEvent& event);
     void OnSelectFont(wxCommandEvent& event);
     void OnEnumerateFamiliesForEncoding(wxCommandEvent& event);
@@ -153,6 +154,8 @@ enum
     Font_Quit = 1,
     Font_About,
     Font_ViewMsg,
+    Font_TestTextValue,
+
     Font_IncSize,
     Font_DecSize,
     Font_Bold,
@@ -185,6 +188,7 @@ enum
 // simple menu events like this the static method is much simpler.
 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(Font_Quit,  MyFrame::OnQuit)
+    EVT_MENU(Font_TestTextValue, MyFrame::OnTestTextValue)
     EVT_MENU(Font_ViewMsg, MyFrame::OnViewMsg)
     EVT_MENU(Font_About, MyFrame::OnAbout)
 
@@ -230,6 +234,9 @@ IMPLEMENT_APP(MyApp)
 // `Main program' equivalent: the program execution "starts" here
 bool MyApp::OnInit()
 {
+    if ( !wxApp::OnInit() )
+        return false;
+
     // Create the main application window
     MyFrame *frame = new MyFrame(wxT("Font wxWidgets demo"),
                                  wxPoint(50, 50), wxSize(600, 400));
@@ -259,6 +266,8 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
     // create a menu bar
     wxMenu *menuFile = new wxMenu;
 
+    menuFile->Append(Font_TestTextValue, wxT("&Test text value"),
+                     wxT("Verify that getting and setting text value doesn't change it"));
     menuFile->Append(Font_ViewMsg, wxT("&View...\tCtrl-V"),
                      wxT("View an email message file"));
     menuFile->AppendSeparator();
@@ -680,6 +689,16 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
     Close(true);
 }
 
+void MyFrame::OnTestTextValue(wxCommandEvent& WXUNUSED(event))
+{
+    wxString value = m_textctrl->GetValue();
+    m_textctrl->SetValue(value);
+    if ( m_textctrl->GetValue() != value )
+    {
+        wxLogError(wxT("Text value changed after getting and setting it"));
+    }
+}
+
 void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event))
 {
 #if wxUSE_FILEDLG
@@ -800,9 +819,9 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
-    wxMessageBox(wxT("wxWidgets font demo\n")
-                 wxT("(c) 1999 Vadim Zeitlin"),
-                 wxT("About Font"),
+    wxMessageBox(wxT("wxWidgets font sample\n")
+                 wxT("(c) 1999-2006 Vadim Zeitlin"),
+                 wxString(wxT("About ")) + SAMPLE_TITLE,
                  wxOK | wxICON_INFORMATION, this);
 }
 
@@ -875,7 +894,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
     dc.SetTextForeground(m_colour);
 
     // the size of one cell (Normally biggest char + small margin)
-    long maxCharWidth, maxCharHeight;
+    wxCoord maxCharWidth, maxCharHeight;
     dc.GetTextExtent(wxT("W"), &maxCharWidth, &maxCharHeight);
     int w = maxCharWidth + 5,
         h = maxCharHeight + 4;
@@ -888,7 +907,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
         {
             wxChar c = (wxChar)(32 * (i + 1) + j);
 
-            long charWidth, charHeight;
+            wxCoord charWidth, charHeight;
             dc.GetTextExtent(c, &charWidth, &charHeight);
             dc.DrawText
             (