X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/926076161327c12d8535c72235f91cee6d316281..d8d474af5829ae4a3be45f85688090fa74017020:/samples/caret/caret.cpp?ds=sidebyside diff --git a/samples/caret/caret.cpp b/samples/caret/caret.cpp index 9142ef3094..5e41c55f79 100644 --- a/samples/caret/caret.cpp +++ b/samples/caret/caret.cpp @@ -9,18 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "caret.cpp" - #pragma interface "caret.cpp" -#endif - // For compilers that support precompilation, includes "wx/wx.h". #include @@ -105,7 +93,6 @@ public: void OnChar( wxKeyEvent &event ); private: - wxCaret m_caret; wxFont m_font; // the margin around the text (looks nicer) @@ -276,14 +263,15 @@ MyCanvas::MyCanvas( wxWindow *parent ) m_heightChar = dc.GetCharHeight(); m_widthChar = dc.GetCharWidth(); - m_caret.Create( this, m_widthChar, m_heightChar ); + wxCaret *caret = new wxCaret(this, m_widthChar, m_heightChar); + SetCaret(caret); m_xCaret = m_yCaret = m_xChars = m_yChars = 0; m_xMargin = m_yMargin = 5; - m_caret.Move(m_xMargin, m_yMargin); - m_caret.Show(); + caret->Move(m_xMargin, m_yMargin); + caret->Show(); } MyCanvas::~MyCanvas() @@ -303,10 +291,15 @@ void MyCanvas::OnSize( wxSizeEvent &event ) free(m_text); m_text = (wxChar *)calloc(m_xChars * m_yChars, sizeof(wxChar)); - wxString msg; - msg.Printf(_T("Panel size is (%d, %d)"), m_xChars, m_yChars); + wxFrame *frame = wxDynamicCast(GetParent(), wxFrame); - ((wxFrame *)GetParent())->SetStatusText(msg, 1); + if ( frame && frame->GetStatusBar() ) + { + wxString msg; + msg.Printf(_T("Panel size is (%d, %d)"), m_xChars, m_yChars); + + frame->SetStatusText(msg, 1); + } event.Skip(); } @@ -382,8 +375,8 @@ void MyCanvas::OnChar( wxKeyEvent &event ) wxLogStatus(_T("Caret is at (%d, %d)"), m_xCaret, m_yCaret); - m_caret.Move(m_xMargin + m_xCaret * m_widthChar, - m_yMargin + m_yCaret * m_heightChar); + GetCaret()->Move(m_xMargin + m_xCaret * m_widthChar, + m_yMargin + m_yCaret * m_heightChar); Refresh(); }