}
#endif // wxUSE_CLIPBOARD
+ void OnAddTextLine(wxCommandEvent& WXUNUSED(event))
+ {
+ static int s_n = 0;
+ m_panel->m_textrich->AppendText(wxString::Format("Line %d\n", ++s_n));
+ }
+
void OnAddTextFreeze( wxCommandEvent& WXUNUSED(event) )
{ DoAddText(true); }
void OnAddText( wxCommandEvent& WXUNUSED(event) )
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;
// text menu
TEXT_ADD_SOME = 400,
TEXT_ADD_FREEZE,
+ TEXT_ADD_LINE,
TEXT_MOVE_ENDTEXT,
TEXT_MOVE_ENDENTRY,
TEXT_SET_EDITABLE,
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);
wxMenu *menuText = new wxMenu;
menuText->Append(TEXT_ADD_SOME, _T("&Append some text\tCtrl-A"));
menuText->Append(TEXT_ADD_FREEZE, _T("&Append text with freeze/thaw\tShift-Ctrl-A"));
+ menuText->Append(TEXT_ADD_LINE, _T("Append a new &line\tAlt-Shift-A"));
menuText->Append(TEXT_REMOVE, _T("&Remove first 10 characters\tCtrl-Y"));
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"));
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;
// 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,
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);
topSizer->Add( m_log, 1, wxALL | wxEXPAND, 10 );
#endif
- SetAutoLayout( true );
SetSizer(topSizer);
}
EVT_MENU(TEXT_SELECT, MyFrame::OnSelectText)
EVT_MENU(TEXT_ADD_SOME, MyFrame::OnAddText)
EVT_MENU(TEXT_ADD_FREEZE, MyFrame::OnAddTextFreeze)
+ EVT_MENU(TEXT_ADD_LINE, MyFrame::OnAddTextLine)
EVT_MENU(TEXT_MOVE_ENDTEXT, MyFrame::OnMoveToEndOfText)
EVT_MENU(TEXT_MOVE_ENDENTRY, MyFrame::OnMoveToEndOfEntry)
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
);
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())
{