X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8c0d01c876f3e792e33a331dfe9b1749242662af..908d45166b3dbe175746fd8145e331e805193aba:/user/wxLayout/wxLayout.cpp diff --git a/user/wxLayout/wxLayout.cpp b/user/wxLayout/wxLayout.cpp index 880a1dd690..ad3e4ebca0 100644 --- a/user/wxLayout/wxLayout.cpp +++ b/user/wxLayout/wxLayout.cpp @@ -11,14 +11,17 @@ #pragma implementation "wxLayout.h" #endif +#include "wx/wxprec.h" +#ifdef __BORLANDC__ +# pragma hdrstop +#endif + #include "wxLayout.h" #include "wx/textfile.h" #include "Micon.xpm" -// for testing only: -#include //----------------------------------------------------------------------------- // main program @@ -33,7 +36,7 @@ IMPLEMENT_APP(MyApp) enum ids{ ID_ADD_SAMPLE = 1, ID_CLEAR, ID_PRINT, ID_PRINT_SETUP, ID_PAGE_SETUP, ID_PREVIEW, ID_PRINT_PS, ID_PRINT_SETUP_PS, ID_PAGE_SETUP_PS,ID_PREVIEW_PS, - ID_WRAP, ID_NOWRAP, + ID_WRAP, ID_NOWRAP, ID_PASTE, ID_WXLAYOUT_DEBUG, ID_QUIT, ID_CLICK, ID_HTML, ID_TEXT, ID_TEST }; @@ -54,8 +57,6 @@ IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame ) END_EVENT_TABLE() - int orientation = wxPORTRAIT; - MyFrame::MyFrame(void) : wxFrame( (wxFrame *) NULL, -1, (char *) "wxLayout", wxPoint(20,20), wxSize(600,360) ) { @@ -63,10 +64,9 @@ MyFrame::MyFrame(void) : SetStatusText( "wxLayout by Karsten Ballüder." ); + wxMenuBar *menu_bar = new wxMenuBar(); + wxMenu *file_menu = new wxMenu; - file_menu->Append( ID_CLEAR, "Clear"); - file_menu->Append( ID_ADD_SAMPLE, "Example"); - file_menu->Append(ID_PRINT, "&Print...", "Print"); file_menu->Append(ID_PRINT_SETUP, "Print &Setup...","Setup printer properties"); file_menu->Append(ID_PAGE_SETUP, "Page Set&up...", "Page setup"); @@ -78,18 +78,22 @@ MyFrame::MyFrame(void) : file_menu->Append(ID_PAGE_SETUP_PS, "Page Setup PostScript...", "Page setup (PostScript)"); file_menu->Append(ID_PREVIEW_PS, "Print Preview PostScript", "Preview (PostScript)"); #endif - file_menu->AppendSeparator(); - file_menu->Append(ID_WRAP, "Wrap mode", "Activate wrapping at pixel 200."); - file_menu->Append(ID_NOWRAP, "No-wrap mode", "Deactivate wrapping."); - file_menu->AppendSeparator(); file_menu->Append( ID_TEXT, "Export Text"); file_menu->Append( ID_HTML, "Export HTML"); file_menu->Append( ID_QUIT, "Exit"); - - wxMenuBar *menu_bar = new wxMenuBar(); 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->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->AppendSeparator(); + edit_menu->Append(ID_PASTE, "Paste", "Paste text from clipboard."); + menu_bar->Append(edit_menu, "Edit" ); + #ifndef __WXMSW__ menu_bar->Show( TRUE ); #endif // MSW @@ -99,6 +103,7 @@ MyFrame::MyFrame(void) : m_lwin = new wxLayoutWindow(this); m_lwin->SetMouseTracking(true); m_lwin->SetEditable(true); + m_lwin->SetWrapMargin(40); m_lwin->Clear(wxROMAN,16,wxNORMAL,wxNORMAL, false); m_lwin->SetFocus(); }; @@ -133,14 +138,13 @@ MyFrame::AddSampleText(wxLayoutList *llist) llist->Insert("italics "); llist->SetFont(-1,-1,wxNORMAL); llist->LineBreak(); - + llist->Insert("and "); llist->SetFont(-1,-1,wxSLANT); llist->Insert("slanted"); llist->SetFont(-1,-1,wxNORMAL); llist->Insert(" text."); llist->LineBreak(); - llist->Insert("and "); llist->SetFont(-1,-1,-1,-1,-1,"blue"); llist->Insert("blue"); @@ -211,8 +215,7 @@ void MyFrame::OnCommand( wxCommandEvent &event ) break; case ID_NOWRAP: case ID_WRAP: -//// m_lwin->GetLayoutList()->SetWrapMargin( -//// event.GetId() == ID_NOWRAP ? -1 : 40); + m_lwin->SetWrapMargin(event.GetId() == ID_NOWRAP ? 0 : 40); break; case ID_ADD_SAMPLE: AddSampleText(m_lwin->GetLayoutList()); @@ -223,6 +226,9 @@ void MyFrame::OnCommand( wxCommandEvent &event ) case ID_CLICK: cerr << "Received click event." << endl; break; + case ID_PASTE: + m_lwin->Paste(); + break; case ID_HTML: { wxLayoutExportObject *export; @@ -291,7 +297,6 @@ void MyFrame::OnPrintPreview(wxCommandEvent& WXUNUSED(event)) wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT); #endif wxPrintData printData; - printData.SetOrientation(orientation); // Pass two printout objects: for preview, and possible printing. wxPrintPreview *preview = new wxPrintPreview(new @@ -315,7 +320,6 @@ void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event)) wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT); wxPrintData printData; - printData.SetOrientation(orientation); // Pass two printout objects: for preview, and possible printing. wxPrintPreview *preview = new wxPrintPreview(new wxLayoutPrintout( m_lwin->GetLayoutList()), new wxLayoutPrintout( m_lwin->GetLayoutList()), & printData); @@ -327,23 +331,13 @@ void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnPrintSetup(wxCommandEvent& WXUNUSED(event)) { -#ifdef __WXMSW__ +#ifdef OS_WIN wxGetApp().SetPrintMode(wxPRINT_WINDOWS); #else wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT); #endif - wxPrintData data; - data.SetOrientation(orientation); - -#ifdef __WXMSW__ - wxPrintDialog printerDialog(this, & data); -#else - wxGenericPrintDialog printerDialog(this, & data); -#endif - printerDialog.GetPrintData().SetSetupDialog(TRUE); + wxPrintDialog printerDialog(this, & m_PrintData); printerDialog.ShowModal(); - - orientation = printerDialog.GetPrintData().GetOrientation(); } void MyFrame::OnPageSetup(wxCommandEvent& WXUNUSED(event)) @@ -354,7 +348,6 @@ void MyFrame::OnPageSetup(wxCommandEvent& WXUNUSED(event)) wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT); #endif wxPageSetupData data; - data.SetOrientation(orientation); #ifdef __WXMSW__ wxPageSetupDialog pageSetupDialog(this, & data); @@ -364,7 +357,6 @@ void MyFrame::OnPageSetup(wxCommandEvent& WXUNUSED(event)) pageSetupDialog.ShowModal(); data = pageSetupDialog.GetPageSetupData(); - orientation = data.GetOrientation(); } void MyFrame::OnPrintSetupPS(wxCommandEvent& WXUNUSED(event)) @@ -372,17 +364,13 @@ void MyFrame::OnPrintSetupPS(wxCommandEvent& WXUNUSED(event)) wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT); wxPrintData data; - data.SetOrientation(orientation); #ifdef __WXMSW__ wxPrintDialog printerDialog(this, & data); #else wxGenericPrintDialog printerDialog(this, & data); #endif - printerDialog.GetPrintData().SetSetupDialog(TRUE); printerDialog.ShowModal(); - - orientation = printerDialog.GetPrintData().GetOrientation(); } void MyFrame::OnPageSetupPS(wxCommandEvent& WXUNUSED(event)) @@ -390,16 +378,12 @@ void MyFrame::OnPageSetupPS(wxCommandEvent& WXUNUSED(event)) wxGetApp().SetPrintMode(wxPRINT_POSTSCRIPT); wxPageSetupData data; - data.SetOrientation(orientation); - #ifdef __WXMSW__ wxPageSetupDialog pageSetupDialog(this, & data); #else wxGenericPageSetupDialog pageSetupDialog(this, & data); #endif pageSetupDialog.ShowModal(); - - orientation = pageSetupDialog.GetPageSetupData().GetOrientation(); }