X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b6a0d8a25bde98e00068bd243103f8683f90a886..3f9ca77023d2391070c13b54411ccd5fe76d5c09:/samples/text/text.cpp?ds=sidebyside diff --git a/samples/text/text.cpp b/samples/text/text.cpp index 575c1c4f48..bac4d8c3e9 100644 --- a/samples/text/text.cpp +++ b/samples/text/text.cpp @@ -32,10 +32,6 @@ #include "wx/tooltip.h" #endif -#if defined(__WXGTK__) || defined(__WXMOTIF__) - #include "mondrian.xpm" -#endif - // We test for wxUSE_DRAG_AND_DROP also, because data objects may not be // implemented for compilers that can't cope with the OLE parts in // wxUSE_DRAG_AND_DROP. @@ -87,6 +83,8 @@ public: void DoMoveToEndOfText(); void DoMoveToEndOfEntry(); + void OnSize( wxSizeEvent &event ); + MyTextCtrl *m_text; MyTextCtrl *m_password; MyTextCtrl *m_enter; @@ -97,6 +95,9 @@ public: MyTextCtrl *m_horizontal; wxTextCtrl *m_log; + +private: + DECLARE_EVENT_TABLE() }; class MyFrame: public wxFrame @@ -166,8 +167,8 @@ bool MyApp::OnInit() { // Create the main frame window MyFrame *frame = new MyFrame((wxFrame *) NULL, - "Text wxWindows App", - 50, 50, 640, 420); + "Text wxWindows sample", 50, 50, 640, 420); + frame->SetSizeHints( 500, 400 ); wxMenu *file_menu = new wxMenu; file_menu->Append(TEXT_LOAD, "&Load file\tCtrl-O", @@ -228,9 +229,6 @@ void MyTextCtrl::LogEvent(const wxChar *name, wxKeyEvent& event) const { wxString key; long keycode = event.KeyCode(); - if ( wxIsprint((int)keycode) ) - key.Printf( _T("'%c'") , (char)keycode); - else { switch ( keycode ) { @@ -336,8 +334,13 @@ void MyTextCtrl::LogEvent(const wxChar *name, wxKeyEvent& event) const case WXK_NUMPAD_SUBTRACT: key = "NUMPAD_SUBTRACT"; break; case WXK_NUMPAD_DECIMAL: key = "NUMPAD_DECIMAL"; break; - default: - key.Printf( _T("unknown (%ld)"), keycode); + default: + { + if ( wxIsprint((int)keycode) ) + key.Printf( _T("'%c'") , (char)keycode); + else + key.Printf( _T("unknown (%ld)"), keycode); + } } } @@ -355,6 +358,8 @@ void MyTextCtrl::OnChar(wxKeyEvent& event) { LogEvent( _T("Char"), event); +/* How are we supposed to test wxTE_PROCESS_TAB with this code? + if ( event.KeyCode() == WXK_TAB ) { WriteText("\t"); @@ -363,6 +368,8 @@ void MyTextCtrl::OnChar(wxKeyEvent& event) { event.Skip(); } +*/ + event.Skip(); } void MyTextCtrl::OnKeyUp(wxKeyEvent& event) @@ -415,12 +422,18 @@ void MyTextCtrl::OnKeyDown(wxKeyEvent& event) // MyPanel //---------------------------------------------------------------------- +BEGIN_EVENT_TABLE(MyPanel, wxPanel) + EVT_SIZE(MyPanel::OnSize) +END_EVENT_TABLE() + MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) : wxPanel( frame, -1, wxPoint(x, y), wxSize(w, h) ) { m_log = new wxTextCtrl( this, -1, "This is the log window.\n", wxPoint(5,260), wxSize(630,100), wxTE_MULTILINE ); - delete wxLog::SetActiveTarget(new wxLogStderr); + wxLog *old_log = wxLog::SetActiveTarget( new wxLogTextCtrl( m_log ) ); + + delete old_log; // single line text controls @@ -438,18 +451,12 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) // multi line text controls -<<<<<<< controls.cpp m_horizontal = new MyTextCtrl( this, -1, "Multiline text control with a horizontal scrollbar.", wxPoint(10,170), wxSize(140,70), wxTE_MULTILINE | wxHSCROLL ); + m_horizontal->SetFont(wxFont(18, wxSWISS, wxNORMAL, wxNORMAL, + FALSE, "", wxFONTENCODING_KOI8)); m_multitext = new MyTextCtrl( this, -1, "Multi line.", -======= - m_horizontal = new MyTextCtrl( this, -1, "Multiline text control with a horizontal scrollbar.", - wxPoint(10,170), wxSize(140,70), wxTE_MULTILINE | wxHSCROLL ); - m_horizontal->SetFont(wxFont(18, wxSWISS, wxNORMAL, wxBOLD)); - - m_multitext = new MyTextCtrl( this, ID_TEXT, "Multi line.", ->>>>>>> 1.3 wxPoint(180,10), wxSize(240,70), wxTE_MULTILINE ); (*m_multitext) << " Appended."; m_multitext->SetInsertionPoint(0); @@ -462,35 +469,15 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_tab = new MyTextCtrl( this, -1, "Multiline, allow processing.", wxPoint(180,90), wxSize(240,70), wxTE_MULTILINE | wxTE_PROCESS_TAB ); -<<<<<<< controls.cpp m_enter = new MyTextCtrl( this, -1, "Multiline, allow processing.", wxPoint(180,170), wxSize(240,70), wxTE_MULTILINE); -======= - m_enter = new MyTextCtrl( this, -1, "Multiline, allow processing.", - wxPoint(180,170), wxSize(240,70), wxTE_MULTILINE | wxTE_PROCESS_ENTER ); - - wxButton *button; - - (void)new wxStaticBox( this, -1, "&Move cursor to the end of:", wxPoint(445, 10), wxSize(160, 100) ); - button = new wxButton( this, ID_MOVE_END_ENTRY, "&Single-line", wxPoint(470, 30), wxSize(110, 30) ); -#if wxUSE_TOOLTIPS - button->SetToolTip("Move cursor in single-line text control to end of line."); -#endif - button = new wxButton( this, ID_MOVE_END_ZONE, "&Multi-line", wxPoint(470, 70), wxSize(110, 30) ); -#if wxUSE_TOOLTIPS - button->SetToolTip("Move cursor in multi-line text control to end of first line."); -#endif +} - (void)new wxStaticBox( this, -1, "wx&Clipboard", wxPoint(445,130), wxSize(160,100) ); - button = new wxButton( this, ID_COPY_TEXT, "C&opy line 1", wxPoint(470,150), wxSize(110,30) ); -#if wxUSE_TOOLTIPS - button->SetToolTip("Copy first line of the multi-line text control to the clipboard"); -#endif - button = new wxButton( this, ID_PASTE_TEXT, "&Paste text", wxPoint(470,190), wxSize(110,30) ); -#if wxUSE_TOOLTIPS - button->SetToolTip("Paste text from clipboard to the end of the multi-line text control."); -#endif ->>>>>>> 1.3 +void MyPanel::OnSize( wxSizeEvent &event ) +{ + wxSize client_area( GetClientSize() ); + m_log->SetSize( 0, 260, client_area.x, client_area.y - 260 ); + event.Skip(); } #if wxUSE_CLIPBOARD @@ -603,8 +590,11 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(TEXT_TOOLTIPS_ENABLE, MyFrame::OnToggleTooltips) #endif // wxUSE_TOOLTIPS +#if wxUSE_CLIPBOARD EVT_MENU(TEXT_CLIPBOARD_PASTE, MyFrame::OnPasteFromClipboard) EVT_MENU(TEXT_CLIPBOARD_COPY, MyFrame::OnCopyToClipboard) +#endif // wxUSE_CLIPBOARD + EVT_MENU(TEXT_MOVE_ENDTEXT, MyFrame::OnMoveToEndOfText) EVT_MENU(TEXT_MOVE_ENDENTRY, MyFrame::OnMoveToEndOfEntry) @@ -637,15 +627,6 @@ void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) ) "About Text Controls", wxOK | wxICON_INFORMATION); -<<<<<<< controls.cpp -======= - wxMessageDialog dialog(this, "This is a text control sample. It demonstrates the many different text control\n" - "styles, the use of the clipboard, setting and handling tooltips and intercepting\n" - "key and char events.\n" - "\n" - "Copyright (c) 1999, Robert Roebling, Julian Smart, Vadim Zeitlin", - "About Text Controls", wxOK ); ->>>>>>> 1.3 dialog.ShowModal(); wxEndBusyCursor(); @@ -687,7 +668,10 @@ void MyFrame::OnToggleTooltips(wxCommandEvent& event) void MyFrame::OnFileLoad(wxCommandEvent& event) { - m_panel->m_multitext->LoadFile("controls.cpp"); + if ( m_panel->m_multitext->LoadFile("text.rc") ) + wxLogStatus(this, _T("Successfully loaded file")); + else + wxLogStatus(this, _T("Couldn't load the file")); } void MyFrame::OnIdle( wxIdleEvent& event )