X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6519b40fe9f5e4706e02497fe01ff71c65079d6..69fb24ce03b4dd40e7912936d628bea1719aaaa3:/samples/text/text.cpp diff --git a/samples/text/text.cpp b/samples/text/text.cpp index 525a21e2dd..40a25e533f 100644 --- a/samples/text/text.cpp +++ b/samples/text/text.cpp @@ -297,7 +297,12 @@ public: void OnSetText(wxCommandEvent& WXUNUSED(event)) { - m_panel->m_text->SetValue(_T("Hello, world (what else did you expect)?")); + m_panel->m_text->SetValue(_T("Hello, world! (what else did you expect?)")); + } + + void OnChangeText(wxCommandEvent& WXUNUSED(event)) + { + m_panel->m_text->ChangeValue(_T("Changed, not set: no event")); } void OnIdle( wxIdleEvent& event ); @@ -306,20 +311,21 @@ private: void DoAddText(bool freeze) { wxTextCtrl * const text = m_panel->m_textrich; - text->Clear(); if ( freeze ) text->Freeze(); + text->Clear(); + for ( int i = 0; i < 100; i++ ) { text->AppendText(wxString::Format(wxT("Line %i\n"), i)); } + text->SetInsertionPoint(0); + if ( freeze ) text->Thaw(); - - text->SetInsertionPoint(0); } MyPanel *m_panel; @@ -405,6 +411,7 @@ enum TEXT_REPLACE, TEXT_SELECT, TEXT_SET, + TEXT_CHANGE, // log menu TEXT_LOG_KEY, @@ -419,6 +426,9 @@ enum bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // Create the main frame window MyFrame *frame = new MyFrame((wxFrame *) NULL, _T("Text wxWidgets sample"), 50, 50, 700, 550); @@ -470,6 +480,7 @@ bool MyApp::OnInit() menuText->Append(TEXT_REPLACE, _T("&Replace characters 4 to 8 with ABC\tCtrl-R")); menuText->Append(TEXT_SELECT, _T("&Select characters 4 to 8\tCtrl-I")); menuText->Append(TEXT_SET, _T("&Set the first text zone value\tCtrl-E")); + menuText->Append(TEXT_CHANGE, _T("&Change the first text zone value\tShift-Ctrl-E")); menuText->AppendSeparator(); menuText->Append(TEXT_MOVE_ENDTEXT, _T("Move cursor to the end of &text")); menuText->Append(TEXT_MOVE_ENDENTRY, _T("Move cursor to the end of &entry")); @@ -911,6 +922,10 @@ void MyTextCtrl::OnKeyDown(wxKeyEvent& event) wxLogMessage(_T("Selection = '%s' (len = %u)"), sel.c_str(), (unsigned int) sel.length()); + + const wxString text = GetLineText(line); + wxLogMessage(_T("Current line: \"%s\"; length = %lu"), + text.c_str(), text.length()); } break; @@ -1026,7 +1041,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) // a little hack to use the command line argument for encoding testing if ( wxTheApp->argc == 2 ) { - switch ( wxTheApp->argv[1][0] ) + switch ( (wxChar)wxTheApp->argv[1][0] ) { case '2': m_horizontal->SetFont(wxFont(18, wxSWISS, wxNORMAL, wxNORMAL, @@ -1058,8 +1073,9 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_horizontal->AppendText(_T("Text in default encoding")); } - m_multitext = new MyTextCtrl( this, wxID_ANY, _T("Multi line."), - wxPoint(180,10), wxSize(200,70), wxTE_MULTILINE ); + m_multitext = new MyTextCtrl( this, wxID_ANY, + _T("Multi line without vertical scrollbar."), + wxPoint(180,10), wxSize(200,70), wxTE_MULTILINE | wxTE_NO_VSCROLL ); m_multitext->SetFont(*wxITALIC_FONT); (*m_multitext) << _T(" Appended."); m_multitext->SetInsertionPoint(0); @@ -1129,7 +1145,6 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) topSizer->Add( m_log, 1, wxALL | wxEXPAND, 10 ); #endif - SetAutoLayout( true ); SetSizer(topSizer); } @@ -1333,10 +1348,11 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(TEXT_PAGE_DOWN, MyFrame::OnScrollPageDown) EVT_MENU(TEXT_PAGE_UP, MyFrame::OnScrollPageUp) - EVT_MENU(TEXT_GET_LINE, MyFrame::OnGetLine) - EVT_MENU(TEXT_GET_LINELENGTH, MyFrame::OnGetLineLength) + EVT_MENU(TEXT_GET_LINE, MyFrame::OnGetLine) + EVT_MENU(TEXT_GET_LINELENGTH, MyFrame::OnGetLineLength) EVT_MENU(TEXT_SET, MyFrame::OnSetText) + EVT_MENU(TEXT_CHANGE, MyFrame::OnChangeText) EVT_IDLE(MyFrame::OnIdle) END_EVENT_TABLE() @@ -1483,13 +1499,13 @@ void MyFrame::OnIdle( wxIdleEvent& event ) wxString msg; msg.Printf( #ifdef __WXMSW__ - _T("Focus: wxWindow = %p, HWND = %08x"), + _T("Focus: wxWindow = %p, HWND = %p"), #else _T("Focus: wxWindow = %p"), #endif s_windowFocus #ifdef __WXMSW__ - , (unsigned int) s_windowFocus->GetHWND() + , s_windowFocus->GetHWND() #endif ); @@ -1816,10 +1832,9 @@ void RichTextFrame::OnIdle(wxIdleEvent& WXUNUSED(event)) alignment = wxT("left-aligned"); else if (attr.GetAlignment() == wxTEXT_ALIGNMENT_JUSTIFIED) alignment = wxT("justified"); - msg.Printf(wxT("Facename: %s, wxColour(%d, %d, %d), %s"), - (const wxChar*) facename, + msg.Printf( "Facename: %s, wxColour(%d, %d, %d), %s", facename, attr.GetTextColour().Red(), attr.GetTextColour().Green(), attr.GetTextColour().Blue(), - (const wxChar*) alignment); + alignment ); if (attr.HasFont()) {