X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c67daf87774c71ae9f73af9969008af220e52a11..7c5190745f8d6362354aa9018a3f0867990c4ac6:/samples/docvwmdi/docview.cpp diff --git a/samples/docvwmdi/docview.cpp b/samples/docvwmdi/docview.cpp index ca69f2be7c..c3e0348ac7 100644 --- a/samples/docvwmdi/docview.cpp +++ b/samples/docvwmdi/docview.cpp @@ -5,16 +5,12 @@ // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -// #pragma implementation "docview.h" -#endif - /* - * Purpose: Document/view architecture demo for wxWindows class library - MDI + * Purpose: Document/view architecture demo for wxWidgets class library - MDI */ @@ -29,8 +25,12 @@ #include "wx/wx.h" #endif -#if !USE_DOC_VIEW_ARCHITECTURE -#error You must set USE_DOC_VIEW_ARCHITECTURE to 1 in wx_setup.h! +#if !wxUSE_DOC_VIEW_ARCHITECTURE +#error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! +#endif + +#if !wxUSE_MDI_ARCHITECTURE +#error You must set wxUSE_MDI_ARCHITECTURE to 1 in setup.h! #endif #include "docview.h" @@ -52,55 +52,62 @@ bool MyApp::OnInit(void) m_docManager = new wxDocManager; //// Create a template relating drawing documents to their views - (void) new wxDocTemplate((wxDocManager *) m_docManager, "Drawing", "*.drw", "", "drw", "Drawing Doc", "Drawing View", + (void) new wxDocTemplate((wxDocManager *) m_docManager, _T("Drawing"), _T("*.drw"), _T(""), _T("drw"), _T("Drawing Doc"), _T("Drawing View"), CLASSINFO(DrawingDocument), CLASSINFO(DrawingView)); //// Create a template relating text documents to their views - (void) new wxDocTemplate(m_docManager, "Text", "*.txt", "", "txt", "Text Doc", "Text View", + (void) new wxDocTemplate(m_docManager, _T("Text"), _T("*.txt"), _T(""), _T("txt"), _T("Text Doc"), _T("Text View"), CLASSINFO(TextEditDocument), CLASSINFO(TextEditView)); //// Create the main frame window - frame = new MyFrame((wxDocManager *) m_docManager, (wxFrame *) NULL, (const wxString) "DocView Demo", wxPoint(0, 0), wxSize(500, 400), wxDEFAULT_FRAME_STYLE); + frame = new MyFrame((wxDocManager *) m_docManager, (wxFrame *) NULL, + _T("DocView Demo"), wxPoint(0, 0), wxSize(500, 400), + wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE); //// Give it an icon (this is ignored in MDI mode: uses resources) #ifdef __WXMSW__ - frame->SetIcon(wxIcon("doc")); + frame->SetIcon(wxIcon(_T("doc"))); #endif #ifdef __X__ - frame->SetIcon(wxIcon("doc.xbm")); + frame->SetIcon(wxIcon(_T("doc.xbm"))); #endif //// Make a menubar wxMenu *file_menu = new wxMenu; wxMenu *edit_menu = (wxMenu *) NULL; - file_menu->Append(wxID_NEW, "&New..."); - file_menu->Append(wxID_OPEN, "&Open..."); + file_menu->Append(wxID_NEW, _T("&New...\tCtrl-N")); + file_menu->Append(wxID_OPEN, _T("&Open...\tCtrl-X")); file_menu->AppendSeparator(); - file_menu->Append(wxID_EXIT, "E&xit"); + file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-X")); // A nice touch: a history of files visited. Use this menu. m_docManager->FileHistoryUseMenu(file_menu); wxMenu *help_menu = new wxMenu; - help_menu->Append(DOCVIEW_ABOUT, "&About"); + help_menu->Append(DOCVIEW_ABOUT, _T("&About\tF1")); wxMenuBar *menu_bar = new wxMenuBar; - menu_bar->Append(file_menu, "&File"); + menu_bar->Append(file_menu, _T("&File")); if (edit_menu) - menu_bar->Append(edit_menu, "&Edit"); - menu_bar->Append(help_menu, "&Help"); + menu_bar->Append(edit_menu, _T("&Edit")); + menu_bar->Append(help_menu, _T("&Help")); +#ifdef __WXMAC__ + wxMenuBar::MacSetCommonMenuBar(menu_bar); +#endif //def __WXMAC__ //// Associate the menu bar with the frame frame->SetMenuBar(menu_bar); frame->Centre(wxBOTH); - frame->Show(TRUE); +#ifndef __WXMAC__ + frame->Show(true); +#endif //ndef __WXMAC__ SetTopWindow(frame); - return TRUE; + return true; } int MyApp::OnExit(void) @@ -117,58 +124,61 @@ int MyApp::OnExit(void) wxMDIChildFrame *MyApp::CreateChildFrame(wxDocument *doc, wxView *view, bool isCanvas) { //// Make a child frame - wxDocMDIChildFrame *subframe = new wxDocMDIChildFrame(doc, view, GetMainFrame(), -1, "Child Frame", - wxPoint(10, 10), wxSize(300, 300), wxDEFAULT_FRAME_STYLE); + wxDocMDIChildFrame *subframe = + new wxDocMDIChildFrame(doc, view, GetMainFrame(), wxID_ANY, _T("Child Frame"), + wxPoint(10, 10), wxSize(300, 300), + wxDEFAULT_FRAME_STYLE | + wxNO_FULL_REPAINT_ON_RESIZE); #ifdef __WXMSW__ - subframe->SetIcon(wxString(isCanvas ? "chart" : "notepad")); + subframe->SetIcon(wxString(isCanvas ? _T("chart") : _T("notepad"))); #endif #ifdef __X__ - subframe->SetIcon(wxIcon("doc.xbm")); + subframe->SetIcon(wxIcon(_T("doc.xbm"))); #endif //// Make a menubar wxMenu *file_menu = new wxMenu; - file_menu->Append(wxID_NEW, "&New..."); - file_menu->Append(wxID_OPEN, "&Open..."); - file_menu->Append(wxID_CLOSE, "&Close"); - file_menu->Append(wxID_SAVE, "&Save"); - file_menu->Append(wxID_SAVEAS, "Save &As..."); + file_menu->Append(wxID_NEW, _T("&New...")); + file_menu->Append(wxID_OPEN, _T("&Open...")); + file_menu->Append(wxID_CLOSE, _T("&Close")); + file_menu->Append(wxID_SAVE, _T("&Save")); + file_menu->Append(wxID_SAVEAS, _T("Save &As...")); if (isCanvas) { file_menu->AppendSeparator(); - file_menu->Append(wxID_PRINT, "&Print..."); - file_menu->Append(wxID_PRINT_SETUP, "Print &Setup..."); - file_menu->Append(wxID_PREVIEW, "Print Pre&view"); + file_menu->Append(wxID_PRINT, _T("&Print...")); + file_menu->Append(wxID_PRINT_SETUP, _T("Print &Setup...")); + file_menu->Append(wxID_PREVIEW, _T("Print Pre&view")); } file_menu->AppendSeparator(); - file_menu->Append(wxID_EXIT, "E&xit"); + file_menu->Append(wxID_EXIT, _T("E&xit")); wxMenu *edit_menu = (wxMenu *) NULL; if (isCanvas) { edit_menu = new wxMenu; - edit_menu->Append(wxID_UNDO, "&Undo"); - edit_menu->Append(wxID_REDO, "&Redo"); + edit_menu->Append(wxID_UNDO, _T("&Undo")); + edit_menu->Append(wxID_REDO, _T("&Redo")); edit_menu->AppendSeparator(); - edit_menu->Append(DOCVIEW_CUT, "&Cut last segment"); + edit_menu->Append(DOCVIEW_CUT, _T("&Cut last segment")); doc->GetCommandProcessor()->SetEditMenu(edit_menu); } wxMenu *help_menu = new wxMenu; - help_menu->Append(DOCVIEW_ABOUT, "&About"); + help_menu->Append(DOCVIEW_ABOUT, _T("&About")); wxMenuBar *menu_bar = new wxMenuBar; - menu_bar->Append(file_menu, "&File"); + menu_bar->Append(file_menu, _T("&File")); if (isCanvas) - menu_bar->Append(edit_menu, "&Edit"); - menu_bar->Append(help_menu, "&Help"); + menu_bar->Append(edit_menu, _T("&Edit")); + menu_bar->Append(help_menu, _T("&Help")); //// Associate the menu bar with the frame subframe->SetMenuBar(menu_bar); @@ -187,19 +197,19 @@ END_EVENT_TABLE() MyFrame::MyFrame(wxDocManager *manager, wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, long type): - wxDocMDIParentFrame(manager, frame, -1, title, pos, size, type, "myFrame") + wxDocMDIParentFrame(manager, frame, wxID_ANY, title, pos, size, type, _T("myFrame")) { editMenu = (wxMenu *) NULL; } void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) { - (void)wxMessageBox("DocView Demo\nAuthor: Julian Smart julian.smart@ukonline.co.uk\nUsage: docview.exe", "About DocView"); + (void)wxMessageBox(_T("DocView Demo\nAuthor: Julian Smart\nUsage: docview.exe"), _T("About DocView")); } // Creates a canvas. Called from view.cpp when a new drawing // view is created. -MyCanvas *MyFrame::CreateCanvas(wxView *view, wxFrame *parent) +MyCanvas *MyFrame::CreateCanvas(wxView *view, wxMDIChildFrame *parent) { int width, height; parent->GetClientSize(&width, &height);