]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/prntbase.cpp
Add wxUSE_TARSTREAM and wxUSE_FS_ARCHIVE.
[wxWidgets.git] / src / common / prntbase.cpp
index 0f2e0784669aed1bb8ee71243cb2226717f2de3d..bb8d65092b2a954377be77627fa72b7fbff31669 100644 (file)
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
-#include "wx/defs.h"
-
 #if wxUSE_PRINTING_ARCHITECTURE
 
+#include "wx/dcprint.h"
+
 #ifndef WX_PRECOMP
-#include "wx/utils.h"
-#include "wx/dc.h"
-#include "wx/app.h"
-#include "wx/msgdlg.h"
-#include "wx/layout.h"
-#include "wx/choice.h"
-#include "wx/button.h"
-#include "wx/settings.h"
-#include "wx/dcmemory.h"
-#include "wx/stattext.h"
-#include "wx/intl.h"
-#include "wx/textdlg.h"
-#include "wx/sizer.h"
+    #if defined(__WXMSW__)
+        #include "wx/msw/wrapcdlg.h"
+    #endif // MSW
+    #include "wx/utils.h"
+    #include "wx/dc.h"
+    #include "wx/app.h"
+    #include "wx/msgdlg.h"
+    #include "wx/layout.h"
+    #include "wx/choice.h"
+    #include "wx/button.h"
+    #include "wx/settings.h"
+    #include "wx/dcmemory.h"
+    #include "wx/stattext.h"
+    #include "wx/intl.h"
+    #include "wx/textdlg.h"
+    #include "wx/sizer.h"
+    #include "wx/module.h"
 #endif // !WX_PRECOMP
 
 #include "wx/prntbase.h"
-#include "wx/dcprint.h"
 #include "wx/printdlg.h"
 #include "wx/print.h"
-#include "wx/module.h"
+#include "wx/dcprint.h"
 
 #include <stdlib.h>
 #include <string.h>
 #include "wx/mac/private/print.h"
 #else
 #include "wx/generic/prntdlgg.h"
+#include "wx/dcps.h"
 #endif
 
 #ifdef __WXMSW__
-    #include "wx/msw/wrapcdlg.h"
     #ifndef __WIN32__
         #include <print.h>
     #endif
@@ -200,6 +203,17 @@ wxDialog *wxNativePrintFactory::CreatePrintSetupDialog( wxWindow *parent,
 #endif
 }
 
+wxDC* wxNativePrintFactory::CreatePrinterDC( const wxPrintData& data )
+{
+#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+    return new wxPrinterDC(data);
+#elif defined(__WXMAC__)
+    return new wxPrinterDC(data);
+#else
+    return new wxPostScriptDC(data);
+#endif
+}
+
 bool wxNativePrintFactory::HasOwnPrintToFile()
 {
     // Only relevant for PostScript and here the
@@ -654,9 +668,9 @@ void wxPreviewCanvas::OnChar(wxKeyEvent &event)
 
     switch(event.GetKeyCode())
     {
-        case WXK_NEXT:
+        case WXK_PAGEDOWN:
             controlBar->OnNext(); break;
-        case WXK_PRIOR:
+        case WXK_PAGEUP:
             controlBar->OnPrevious(); break;
         case WXK_HOME:
             controlBar->OnFirst(); break;
@@ -876,27 +890,38 @@ void wxPreviewControlBar::CreateButtons()
         item0->Add( m_printButton, 0, wxALIGN_CENTRE|wxALL, 5 );
     }
 
+    // Exact-fit buttons are too tiny on wxUniversal
+    int navButtonStyle;
+    wxSize navButtonSize;
+#ifdef __WXUNIVERSAL__
+    navButtonStyle = 0;
+    navButtonSize = wxSize(40, m_closeButton->GetSize().y);
+#else
+    navButtonStyle = wxBU_EXACTFIT;
+    navButtonSize = wxDefaultSize;
+#endif
+
     if (m_buttonFlags & wxPREVIEW_FIRST)
     {
-        m_firstPageButton = new wxButton( this, wxID_PREVIEW_FIRST, _("|<<"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
+        m_firstPageButton = new wxButton( this, wxID_PREVIEW_FIRST, _("|<<"), wxDefaultPosition, navButtonSize, navButtonStyle );
         item0->Add( m_firstPageButton, 0, wxALIGN_CENTRE|wxALL, 5 );
     }
 
     if (m_buttonFlags & wxPREVIEW_PREVIOUS)
     {
-        m_previousPageButton = new wxButton( this, wxID_PREVIEW_PREVIOUS, _("<<"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
+        m_previousPageButton = new wxButton( this, wxID_PREVIEW_PREVIOUS, _("<<"), wxDefaultPosition, navButtonSize, navButtonStyle );
         item0->Add( m_previousPageButton, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 );
     }
 
     if (m_buttonFlags & wxPREVIEW_NEXT)
     {
-        m_nextPageButton = new wxButton( this, wxID_PREVIEW_NEXT, _(">>"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
+        m_nextPageButton = new wxButton( this, wxID_PREVIEW_NEXT, _(">>"), wxDefaultPosition, navButtonSize, navButtonStyle );
         item0->Add( m_nextPageButton, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 );
     }
 
     if (m_buttonFlags & wxPREVIEW_LAST)
     {
-        m_lastPageButton = new wxButton( this, wxID_PREVIEW_LAST, _(">>|"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
+        m_lastPageButton = new wxButton( this, wxID_PREVIEW_LAST, _(">>|"), wxDefaultPosition, navButtonSize, navButtonStyle );
         item0->Add( m_lastPageButton, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 );
     }
 
@@ -1370,7 +1395,7 @@ int wxPrintPreviewBase::GetMaxPage() const
 { return m_maxPage; }
 int wxPrintPreviewBase::GetMinPage() const
 { return m_minPage; }
-bool wxPrintPreviewBase::Ok() const
+bool wxPrintPreviewBase::IsOk() const
 { return m_isOk; }
 void wxPrintPreviewBase::SetOk(bool ok)
 { m_isOk = ok; }
@@ -1478,6 +1503,11 @@ void wxPrintPreview::SetZoom(int percent)
     m_pimpl->SetZoom( percent );
 }
 
+int wxPrintPreview::GetZoom() const
+{
+    return m_pimpl->GetZoom();
+}
+
 wxPrintDialogData& wxPrintPreview::GetPrintDialogData()
 {
     return m_pimpl->GetPrintDialogData();
@@ -1493,7 +1523,7 @@ int wxPrintPreview::GetMinPage() const
     return m_pimpl->GetMinPage();
 }
 
-bool wxPrintPreview::Ok() const
+bool wxPrintPreview::IsOk() const
 {
     return m_pimpl->Ok();
 }