]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/docview.cpp
* Deleted #include "wx/bufstrm.h"
[wxWidgets.git] / src / common / docview.cpp
index 81d86a85a2e9f8380657a530e1b93f194c8b102b..30af03944460aabc4b553365994b40c84a8d1901 100644 (file)
@@ -44,7 +44,7 @@
 #include "wx/generic/printps.h"
 
 /*
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
 #include "wx/mdi.h"
 #endif
 */
@@ -491,7 +491,7 @@ void wxView::OnChangeFilename(void)
     // If the frame is an MDI child, just set the title
     // to the name.
     // Otherwise, append the document name to the name of the application
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
     if (GetFrame()->IsKindOf(CLASSINFO(wxMDIChildFrame)))
 #else
     if (FALSE)
@@ -753,7 +753,7 @@ void wxDocManager::OnPrint(wxCommandEvent& WXUNUSED(event))
   {
     // TODO: trouble about this is that it pulls in the postscript
     // code unecessarily
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
     if ( wxTheApp->GetPrintMode() == wxPRINT_WINDOWS )
     {
       wxWindowsPrinter printer;
@@ -779,7 +779,7 @@ void wxDocManager::OnPrintSetup(wxCommandEvent& WXUNUSED(event))
 
   wxPrintData data;
 
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
   if ( wxTheApp->GetPrintMode() == wxPRINT_WINDOWS )
   {
     wxPrintDialog printerDialog(parentWin, & data);
@@ -806,12 +806,12 @@ void wxDocManager::OnPreview(wxCommandEvent& WXUNUSED(event))
   {
     // Pass two printout objects: for preview, and possible printing.
     wxPrintPreviewBase *preview = NULL;
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
     if ( wxTheApp->GetPrintMode() == wxPRINT_WINDOWS )
         preview = new wxWindowsPrintPreview(printout, view->OnCreatePrintout());
     else
 #endif
-        preview = new wxPostScriptPrintPreview(printout, view->OnCreatePrintout());
+       preview = new wxPostScriptPrintPreview(printout, view->OnCreatePrintout());
 
     wxPreviewFrame *frame = new wxPreviewFrame(preview, (wxFrame *)wxTheApp->GetTopWindow(), "Print Preview",
                wxPoint(100, 100), wxSize(600, 650));
@@ -839,6 +839,30 @@ void wxDocManager::OnRedo(wxCommandEvent& WXUNUSED(event))
     doc->GetCommandProcessor()->Redo();
 }
 
+wxView *wxDocManager::GetCurrentView(void) const
+{
+    if (m_currentView)
+        return m_currentView;
+    if (m_docs.Number() == 1)
+    {
+        wxDocument* doc = (wxDocument*) m_docs.First()->Data();
+        return doc->GetFirstView();
+    }
+    return NULL;
+}
+
+// Extend event processing to search the view's event table
+bool wxDocManager::ProcessEvent(wxEvent& event)
+{
+    wxView* view = GetCurrentView();
+    if (view)
+    {
+        if (view->ProcessEvent(event))
+            return TRUE;
+    }
+    return wxEvtHandler::ProcessEvent(event);
+}
+
 wxDocument *wxDocManager::CreateDocument(const wxString& path, long flags)
 {
   wxDocTemplate **templates = new wxDocTemplate *[m_templates.Number()];
@@ -1126,7 +1150,7 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **templates,
     int noTemplates, wxString& path, long WXUNUSED(flags), bool WXUNUSED(save))
 {
   // We can only have multiple filters in Windows
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
   char *descrBuf = new char[1000];
   descrBuf[0] = 0;
   int i;