]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/docvwmdi/docview.cpp
Moved the cleanup code to an EVT_WINDOW_DESTROY handler.
[wxWidgets.git] / samples / docvwmdi / docview.cpp
index 90edcf6154cc007d737565b86af5b5d4397097b2..ab2f34640fce0a2348ded0d985981882d6693271 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
 #include "wx/wx.h"
 #endif
 
 #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"
 #include "doc.h"
 #include "view.h"
 
 #endif
 
 #include "docview.h"
 #include "doc.h"
 #include "view.h"
 
-MyFrame *frame = NULL;
+MyFrame *frame = (MyFrame *) NULL;
 
 IMPLEMENT_APP(MyApp)
 
 MyApp::MyApp(void)
 {
 
 IMPLEMENT_APP(MyApp)
 
 MyApp::MyApp(void)
 {
-    m_docManager = NULL;
+    m_docManager = (wxDocManager *) NULL;
 }
 
 bool MyApp::OnInit(void)
 }
 
 bool MyApp::OnInit(void)
@@ -52,7 +56,7 @@ bool MyApp::OnInit(void)
   m_docManager = new wxDocManager;
 
   //// Create a template relating drawing documents to their views
   m_docManager = new wxDocManager;
 
   //// Create a template relating drawing documents to their views
-  (void) new wxDocTemplate(m_docManager, "Drawing", "*.drw", "", "drw", "Drawing Doc", "Drawing View",
+  (void) new wxDocTemplate((wxDocManager *) m_docManager, "Drawing", "*.drw", "", "drw", "Drawing Doc", "Drawing View",
           CLASSINFO(DrawingDocument), CLASSINFO(DrawingView));
 
   //// Create a template relating text documents to their views
           CLASSINFO(DrawingDocument), CLASSINFO(DrawingView));
 
   //// Create a template relating text documents to their views
@@ -60,7 +64,9 @@ bool MyApp::OnInit(void)
           CLASSINFO(TextEditDocument), CLASSINFO(TextEditView));
 
   //// Create the main frame window
           CLASSINFO(TextEditDocument), CLASSINFO(TextEditView));
 
   //// Create the main frame window
-  frame = new MyFrame(m_docManager, NULL, "DocView Demo", wxPoint(0, 0), wxSize(500, 400), wxDEFAULT_FRAME_STYLE);
+  frame = new MyFrame((wxDocManager *) m_docManager, (wxFrame *) NULL,
+                      "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__
 
   //// Give it an icon (this is ignored in MDI mode: uses resources)
 #ifdef __WXMSW__
@@ -72,19 +78,19 @@ bool MyApp::OnInit(void)
 
   //// Make a menubar
   wxMenu *file_menu = new wxMenu;
 
   //// Make a menubar
   wxMenu *file_menu = new wxMenu;
-  wxMenu *edit_menu = NULL;
+  wxMenu *edit_menu = (wxMenu *) NULL;
 
 
-  file_menu->Append(wxID_NEW, "&New...");
-  file_menu->Append(wxID_OPEN, "&Open...");
+  file_menu->Append(wxID_NEW, "&New...\tCtrl-N");
+  file_menu->Append(wxID_OPEN, "&Open...\tCtrl-X");
 
   file_menu->AppendSeparator();
 
   file_menu->AppendSeparator();
-  file_menu->Append(wxID_EXIT, "E&xit");
+  file_menu->Append(wxID_EXIT, "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;
   
   // 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, "&About\tF1");
 
   wxMenuBar *menu_bar = new wxMenuBar;
 
 
   wxMenuBar *menu_bar = new wxMenuBar;
 
@@ -117,8 +123,11 @@ int MyApp::OnExit(void)
 wxMDIChildFrame *MyApp::CreateChildFrame(wxDocument *doc, wxView *view, bool isCanvas)
 {
   //// Make a child frame
 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(), -1, "Child Frame",
+                             wxPoint(10, 10), wxSize(300, 300),
+                             wxDEFAULT_FRAME_STYLE |
+                             wxNO_FULL_REPAINT_ON_RESIZE);
 
 #ifdef __WXMSW__
   subframe->SetIcon(wxString(isCanvas ? "chart" : "notepad"));
 
 #ifdef __WXMSW__
   subframe->SetIcon(wxString(isCanvas ? "chart" : "notepad"));
@@ -147,7 +156,7 @@ wxMDIChildFrame *MyApp::CreateChildFrame(wxDocument *doc, wxView *view, bool isC
   file_menu->AppendSeparator();
   file_menu->Append(wxID_EXIT, "E&xit");
 
   file_menu->AppendSeparator();
   file_menu->Append(wxID_EXIT, "E&xit");
 
-  wxMenu *edit_menu = NULL;
+  wxMenu *edit_menu = (wxMenu *) NULL;
 
   if (isCanvas)
   {
 
   if (isCanvas)
   {
@@ -189,7 +198,7 @@ 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")
 {
     const wxPoint& pos, const wxSize& size, long type):
   wxDocMDIParentFrame(manager, frame, -1, title, pos, size, type, "myFrame")
 {
-  editMenu = NULL;
+  editMenu = (wxMenu *) NULL;
 }
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
 }
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )