MSW fixes for wxLayout, part II: now breaking and merging line works too.

Scrolling still doesn't :-(


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-06-03 22:36:01 +00:00
parent 239bca2e6d
commit bcf4a975e4
6 changed files with 270 additions and 160 deletions

View File

@@ -38,7 +38,7 @@ IMPLEMENT_APP(MyApp)
ID_PRINT_SETUP_PS, ID_PAGE_SETUP_PS,ID_PREVIEW_PS,
ID_WRAP, ID_NOWRAP, ID_PASTE, ID_COPY, ID_CUT, ID_FIND,
ID_WXLAYOUT_DEBUG, ID_QUIT, ID_CLICK, ID_HTML, ID_TEXT,
ID_TEST, ID_LONG_TEST };
ID_TEST, ID_LINEBREAKS_TEST, ID_LONG_TEST, ID_URL_TEST };
IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
@@ -59,7 +59,8 @@ IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
MyFrame::MyFrame(void) :
wxFrame( (wxFrame *) NULL, -1, (char *) "wxLayout", wxPoint(20,20), wxSize(600,360) )
wxFrame( (wxFrame *) NULL, -1, "wxLayout",
wxPoint(880,100), wxSize(256,256) )
{
CreateStatusBar( 2 );
@@ -80,24 +81,27 @@ MyFrame::MyFrame(void) :
file_menu->Append(ID_PREVIEW_PS, "Print Preview PostScript", "Preview (PostScript)");
#endif
file_menu->AppendSeparator();
file_menu->Append( ID_TEXT, "Export Text");
file_menu->Append( ID_HTML, "Export HTML");
file_menu->Append( ID_QUIT, "Exit");
menu_bar->Append(file_menu, "File" );
file_menu->Append( ID_TEXT, "Export &Text");
file_menu->Append( ID_HTML, "Export &HTML");
file_menu->Append( ID_QUIT, "E&xit");
menu_bar->Append(file_menu, "&File" );
wxMenu *edit_menu = new wxMenu;
edit_menu->Append( ID_CLEAR, "Clear");
edit_menu->Append( ID_ADD_SAMPLE, "Example");
edit_menu->Append( ID_LONG_TEST, "Add many lines");
edit_menu->Append( ID_CLEAR, "C&lear");
edit_menu->Append( ID_ADD_SAMPLE, "&Example");
edit_menu->Append( ID_LONG_TEST, "Add &many lines");
edit_menu->AppendSeparator();
edit_menu->Append(ID_WRAP, "Wrap mode", "Activate wrapping at pixel 200.");
edit_menu->Append(ID_NOWRAP, "No-wrap mode", "Deactivate wrapping.");
edit_menu->Append( ID_LINEBREAKS_TEST, "Add &several lines");
edit_menu->Append( ID_URL_TEST, "Insert an &URL");
edit_menu->AppendSeparator();
edit_menu->Append(ID_COPY, "Copy", "Copy text to clipboard.");
edit_menu->Append(ID_CUT, "Cut", "Cut text to clipboard.");
edit_menu->Append(ID_PASTE,"Paste", "Paste text from clipboard.");
edit_menu->Append(ID_FIND, "Find", "Find text.");
menu_bar->Append(edit_menu, "Edit" );
edit_menu->Append(ID_WRAP, "&Wrap mode", "Activate wrapping at pixel 200.");
edit_menu->Append(ID_NOWRAP, "&No-wrap mode", "Deactivate wrapping.");
edit_menu->AppendSeparator();
edit_menu->Append(ID_COPY, "&Copy", "Copy text to clipboard.");
edit_menu->Append(ID_CUT, "Cu&t", "Cut text to clipboard.");
edit_menu->Append(ID_PASTE,"&Paste", "Paste text from clipboard.");
edit_menu->Append(ID_FIND, "&Find", "Find text.");
menu_bar->Append(edit_menu, "&Edit" );
#ifndef __WXMSW__
menu_bar->Show( TRUE );
@@ -191,8 +195,7 @@ MyFrame::AddSampleText(wxLayoutList *llist)
fgets(buffer,1024,in);
if(feof(in))
break;
llist->Insert(buffer);
llist->LineBreak();
wxLayoutImportText(llist, buffer);
}
}
llist->MoveCursorTo(wxPoint(0,0));
@@ -300,6 +303,19 @@ void MyFrame::OnCommand( wxCommandEvent &event )
m_lwin->Refresh();
break;
}
case ID_LINEBREAKS_TEST:
wxLayoutImportText(m_lwin->GetLayoutList(),
"This is a text\n"
"with embedded line\n"
"breaks.\n");
break;
case ID_URL_TEST:
// VZ: this doesn't work, of course, but I think it should -
// wxLayoutWindow should have a flag m_highlightUrls and do it itself
// (instead of doing it manually like M does now)
m_lwin->GetLayoutList()->Insert("http://www.wxwindows.org/");
}
};