X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0ab2de15cbb2bf653f3279d7f8635ee503488396..f4bb632cde9cc60fa89f173f0d33c5881794cc68:/src/common/cmndata.cpp diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp index 1f839fb728..e49c5e1d9d 100644 --- a/src/common/cmndata.cpp +++ b/src/common/cmndata.cpp @@ -49,7 +49,7 @@ #include "wx/paper.h" #endif // wxUSE_PRINTING_ARCHITECTURE -#if defined(__WXMSW__) && !defined(__PALMOS__) +#if defined(__WXMSW__) #include #include "wx/msw/private.h" @@ -177,7 +177,7 @@ wxPrintData::wxPrintData() m_printCollate = false; // New, 24/3/99 - m_printerName = wxT(""); + m_printerName = wxEmptyString; m_colour = true; m_duplexMode = wxDUPLEX_SIMPLEX; m_printQuality = wxPRINT_QUALITY_HIGH; @@ -190,15 +190,16 @@ wxPrintData::wxPrintData() wxPrintData::wxPrintData(const wxPrintData& printData) : wxObject() { + m_nativeData = NULL; (*this) = printData; } wxPrintData::~wxPrintData() { m_nativeData->m_ref--; - if (m_nativeData->m_ref == 0) + if (m_nativeData->m_ref == 0) delete m_nativeData; - + #ifdef __WXMAC__ delete m_nativePrintData ; #endif @@ -235,16 +236,19 @@ void wxPrintData::operator=(const wxPrintData& data) m_paperSize = data.m_paperSize; m_bin = data.m_bin; m_printMode = data.m_printMode; - m_filename = data.m_filename; + m_filename = data.m_filename; - // UnRef old m_nativeData - m_nativeData->m_ref--; - if (m_nativeData->m_ref == 0) - delete m_nativeData; + // UnRef old m_nativeData + if (m_nativeData) + { + m_nativeData->m_ref--; + if (m_nativeData->m_ref == 0) + delete m_nativeData; + } // Set Ref new one m_nativeData = data.GetNativeData(); m_nativeData->m_ref++; - + #ifdef __WXMAC__ m_nativePrintData->CopyFrom( data.m_nativePrintData ) ; #endif @@ -258,17 +262,25 @@ bool wxPrintData::Ok() const return m_nativeData->Ok(); } -#if WXWIN_COMPATIBILITY_2_4 +// What should happen here? wxPostScriptPrintNativeData is not +// defined unless all this is true on MSW. +#if WXWIN_COMPATIBILITY_2_4 && wxUSE_PRINTING_ARCHITECTURE && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) #include "wx/generic/prntdlgg.h" +#if wxUSE_POSTSCRIPT + #define WXUNUSED_WITHOUT_PS(name) name +#else + #define WXUNUSED_WITHOUT_PS(name) WXUNUSED(name) +#endif + wxString wxPrintData::GetPrinterCommand() const { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) return ((wxPostScriptPrintNativeData*)m_nativeData)->GetPrinterCommand(); #endif - return wxT(""); + return wxEmptyString; } wxString wxPrintData::GetPrinterOptions() const @@ -277,7 +289,7 @@ wxString wxPrintData::GetPrinterOptions() const if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) return ((wxPostScriptPrintNativeData*)m_nativeData)->GetPrinterOptions(); #endif - return wxT(""); + return wxEmptyString; } wxString wxPrintData::GetPreviewCommand() const @@ -286,7 +298,7 @@ wxString wxPrintData::GetPreviewCommand() const if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) return ((wxPostScriptPrintNativeData*)m_nativeData)->GetPreviewCommand(); #endif - return wxT(""); + return wxEmptyString; } wxString wxPrintData::GetFontMetricPath() const @@ -295,7 +307,7 @@ wxString wxPrintData::GetFontMetricPath() const if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) return ((wxPostScriptPrintNativeData*)m_nativeData)->GetFontMetricPath(); #endif - return wxT(""); + return wxEmptyString; } double wxPrintData::GetPrinterScaleX() const @@ -334,7 +346,7 @@ long wxPrintData::GetPrinterTranslateY() const return 0; } -void wxPrintData::SetPrinterCommand(const wxString& command) +void wxPrintData::SetPrinterCommand(const wxString& WXUNUSED_WITHOUT_PS(command)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -342,7 +354,7 @@ void wxPrintData::SetPrinterCommand(const wxString& command) #endif } -void wxPrintData::SetPrinterOptions(const wxString& options) +void wxPrintData::SetPrinterOptions(const wxString& WXUNUSED_WITHOUT_PS(options)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -350,7 +362,7 @@ void wxPrintData::SetPrinterOptions(const wxString& options) #endif } -void wxPrintData::SetPreviewCommand(const wxString& command) +void wxPrintData::SetPreviewCommand(const wxString& WXUNUSED_WITHOUT_PS(command)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -358,7 +370,7 @@ void wxPrintData::SetPreviewCommand(const wxString& command) #endif } -void wxPrintData::SetFontMetricPath(const wxString& path) +void wxPrintData::SetFontMetricPath(const wxString& WXUNUSED_WITHOUT_PS(path)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -366,7 +378,7 @@ void wxPrintData::SetFontMetricPath(const wxString& path) #endif } -void wxPrintData::SetPrinterScaleX(double x) +void wxPrintData::SetPrinterScaleX(double WXUNUSED_WITHOUT_PS(x)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -374,7 +386,7 @@ void wxPrintData::SetPrinterScaleX(double x) #endif } -void wxPrintData::SetPrinterScaleY(double y) +void wxPrintData::SetPrinterScaleY(double WXUNUSED_WITHOUT_PS(y)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -382,7 +394,7 @@ void wxPrintData::SetPrinterScaleY(double y) #endif } -void wxPrintData::SetPrinterScaling(double x, double y) +void wxPrintData::SetPrinterScaling(double WXUNUSED_WITHOUT_PS(x), double WXUNUSED_WITHOUT_PS(y)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -390,7 +402,7 @@ void wxPrintData::SetPrinterScaling(double x, double y) #endif } -void wxPrintData::SetPrinterTranslateX(long x) +void wxPrintData::SetPrinterTranslateX(long WXUNUSED_WITHOUT_PS(x)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -398,7 +410,7 @@ void wxPrintData::SetPrinterTranslateX(long x) #endif } -void wxPrintData::SetPrinterTranslateY(long y) +void wxPrintData::SetPrinterTranslateY(long WXUNUSED_WITHOUT_PS(y)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -406,7 +418,7 @@ void wxPrintData::SetPrinterTranslateY(long y) #endif } -void wxPrintData::SetPrinterTranslation(long x, long y) +void wxPrintData::SetPrinterTranslation(long WXUNUSED_WITHOUT_PS(x), long WXUNUSED_WITHOUT_PS(y)) { #if wxUSE_POSTSCRIPT if (m_nativeData && wxIsKindOf(m_nativeData,wxPostScriptPrintNativeData)) @@ -432,10 +444,10 @@ wxPrintDialogData::wxPrintDialogData() m_printSelection = false; m_printEnableSelection = false; m_printEnablePageNumbers = true; - + wxPrintFactory* factory = wxPrintFactory::GetFactory(); m_printEnablePrintToFile = ! factory->HasOwnPrintToFile(); - + m_printEnableHelp = false; #if WXWIN_COMPATIBILITY_2_4 m_printSetupDialog = false; @@ -598,6 +610,7 @@ wxPageSetupDialogData& wxPageSetupDialogData::operator=(const wxPageSetupDialogD wxPageSetupDialogData& wxPageSetupDialogData::operator=(const wxPrintData& data) { m_printData = data; + CalculatePaperSizeFromId(); return *this; } @@ -649,6 +662,12 @@ void wxPageSetupDialogData::SetPaperSize(wxPaperSize id) CalculatePaperSizeFromId(); } +void wxPageSetupDialogData::SetPrintData(const wxPrintData& printData) +{ + m_printData = printData; + CalculatePaperSizeFromId(); +} + // Use paper size defined in this object to set the wxPrintData // paper id void wxPageSetupDialogData::CalculateIdFromPaperSize()