]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/docview/docview.cpp
Removed AdvImageFileProperty from the wxPropertyGrid sample. It was somewhat impracti...
[wxWidgets.git] / samples / docview / docview.cpp
index c3faa822f0ac6e9c10bf1f5d03828a094efa9a2b..e95442160835af699edf22237e0133c12f627ddf 100644 (file)
@@ -7,7 +7,7 @@
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Julian Smart
 //              (c) 2008 Vadim Zeitlin
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /*
@@ -148,6 +148,8 @@ bool MyApp::OnInit()
     if ( !wxApp::OnInit() )
         return false;
 
+    ::wxInitAllImageHandlers();
+
     SetAppName("DocView Sample");
 
     //// Create a document manager
@@ -157,7 +159,7 @@ bool MyApp::OnInit()
     new wxDocTemplate(docManager, "Drawing", "*.drw", "", "drw",
                       "Drawing Doc", "Drawing View",
                       CLASSINFO(DrawingDocument), CLASSINFO(DrawingView));
-#ifdef __WXMAC__ && wxOSX_USE_CARBON
+#if defined( __WXMAC__ )  && wxOSX_USE_CARBON
     wxFileName::MacRegisterDefaultTypeAndCreator("drw" , 'WXMB' , 'WXMA');
 #endif
 
@@ -173,9 +175,13 @@ bool MyApp::OnInit()
         new wxDocTemplate(docManager, "Text", "*.txt;*.text", "", "txt;text",
                           "Text Doc", "Text View",
                           CLASSINFO(TextEditDocument), CLASSINFO(TextEditView));
-#ifdef __WXMAC__ && wxOSX_USE_CARBON
+#if defined( __WXMAC__ ) && wxOSX_USE_CARBON
         wxFileName::MacRegisterDefaultTypeAndCreator("txt" , 'TEXT' , 'WXMA');
 #endif
+        // Create a template relating image documents to their views
+        new wxDocTemplate(docManager, "Image", "*.png;*.jpg", "", "png;jpg",
+                          "Image Doc", "Image View",
+                          CLASSINFO(ImageDocument), CLASSINFO(ImageView));
     }
 
     // create the main frame window
@@ -216,13 +222,14 @@ bool MyApp::OnInit()
     {
         m_canvas = new MyCanvas(NULL, frame);
         m_menuEdit = CreateDrawingEditMenu();
+        docManager->CreateNewDocument();
     }
 
     CreateMenuBarForFrame(frame, menuFile, m_menuEdit);
 
     frame->SetIcon(wxICON(doc));
-    frame->Centre(wxBOTH);
-    frame->Show(true);
+    frame->Centre();
+    frame->Show();
 
     SetTopWindow(frame);
     return true;
@@ -240,6 +247,7 @@ void MyApp::AppendDocumentFileCommands(wxMenu *menu, bool supportsPrinting)
     menu->Append(wxID_CLOSE);
     menu->Append(wxID_SAVE);
     menu->Append(wxID_SAVEAS);
+    menu->Append(wxID_REVERT, _("Re&vert..."));
 
     if ( supportsPrinting )
     {
@@ -277,10 +285,11 @@ void MyApp::CreateMenuBarForFrame(wxFrame *frame, wxMenu *file, wxMenu *edit)
     frame->SetMenuBar(menubar);
 }
 
-wxFrame *MyApp::CreateChildFrame(wxDocument *doc, wxView *view, bool isCanvas)
+wxFrame *MyApp::CreateChildFrame(wxView *view, bool isCanvas)
 {
     // create a child frame of appropriate class for the current mode
     wxFrame *subframe;
+    wxDocument *doc = view->GetDocument();
 #if wxUSE_MDI_ARCHITECTURE
     if ( GetMode() == Mode_MDI )
     {
@@ -309,7 +318,7 @@ wxFrame *MyApp::CreateChildFrame(wxDocument *doc, wxView *view, bool isCanvas)
                             wxSize(300, 300)
                        );
 
-        subframe->Centre(wxBOTH);
+        subframe->Centre();
     }
 
     wxMenu *menuFile = new wxMenu;