X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/51abe921b849be69f02c174365c9a7bc8b46bd08..4a377e137527eb7f4a26b9e3bc1cd88e8c108676:/src/common/cmndata.cpp diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp index d6d38e477c..90ec1c14a4 100644 --- a/src/common/cmndata.cpp +++ b/src/common/cmndata.cpp @@ -40,7 +40,7 @@ #include "wx/log.h" // For compatibility -#if (defined(__WXMOTIF__) || defined(__WXGTK__)) && wxUSE_POSTSCRIPT +#if (defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__)) && wxUSE_POSTSCRIPT #define wxCOMPATIBILITY_WITH_PRINTSETUPDATA 1 #endif @@ -72,20 +72,19 @@ #endif #endif // MSW -#if !USE_SHARED_LIBRARY #if wxUSE_PRINTING_ARCHITECTURE IMPLEMENT_DYNAMIC_CLASS(wxPrintData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxPrintDialogData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxPageSetupDialogData, wxObject) #endif // wxUSE_PRINTING_ARCHITECTURE + IMPLEMENT_DYNAMIC_CLASS(wxFontData, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxColourData, wxObject) -#endif #ifdef __WXMAC__ -#define mm2pt 2.83464566929 -#define pt2mm 0.352777777778 -#endif + #define mm2pt 2.83464566929 + #define pt2mm 0.352777777778 +#endif // Mac // ============================================================================ // implementation @@ -170,9 +169,29 @@ wxFontData::~wxFontData() wxPrintData::wxPrintData() { #ifdef __WXMSW__ - m_devMode = NULL; + m_devMode = (void*) NULL; + m_devNames = (void*) NULL; #elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; + m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + (**m_macPrintInfo).iPrVersion = 0; // something invalid + + (**m_macPrintInfo).prInfo.iHRes = 72; + (**m_macPrintInfo).prInfo.iVRes = 72; + Rect r1 = { 0, 0, 8*72 - 2 * 18, 11*72 - 2 * 36 } ; + (**m_macPrintInfo).prInfo.rPage = r1;// must have its top left & (0,0) + + Rect r2 = { -18, -36, 8*72 - 18, 11*72 - 36 } ; + (**m_macPrintInfo).rPaper = r2; + (**m_macPrintInfo).prStl.iPageV = 11 * 120 ; // 11 inches in 120th of an inch + (**m_macPrintInfo).prStl.iPageH = 8 * 120 ; // 8 inches in 120th of an inch +/* + UMAPrOpen() ; + m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + ::PrintDefault( m_macPrintInfo ) ; + OSErr err = PrError() ; + UMAPrClose() ; + wxASSERT( err == noErr ) ; +*/ #endif m_printOrientation = wxPORTRAIT; m_printNoCopies = 1; @@ -202,9 +221,20 @@ wxPrintData::wxPrintData() wxPrintData::wxPrintData(const wxPrintData& printData) { #ifdef __WXMSW__ - m_devMode = NULL; + m_devMode = (void*) NULL; + m_devNames = (void*) NULL; +#elif defined( __WXMAC__ ) + m_macPrintInfo = NULL ; + /* + (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + UMAPrOpen() ; + m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; + ::PrintDefault( m_macPrintInfo ) ; + OSErr err = PrError() ; + UMAPrClose() ; + wxASSERT( err == noErr ) ; + */ #endif - (*this) = printData; } @@ -212,17 +242,20 @@ wxPrintData::~wxPrintData() { #ifdef __WXMSW__ HGLOBAL hDevMode = (HGLOBAL)(DWORD) m_devMode; - if (hDevMode ) + if ( hDevMode ) GlobalFree(hDevMode); + HGLOBAL hDevNames = (HGLOBAL)(DWORD) m_devNames; + if ( hDevNames ) + GlobalFree(hDevNames); #elif defined(__WXMAC__) - if ( m_macPrintInfo ) - ::DisposeHandle( (Handle) m_macPrintInfo ) ; + wxASSERT( m_macPrintInfo ) ; +// ::DisposeHandle( (Handle) m_macPrintInfo ) ; #endif } #if defined(__WXMSW__) // && defined(__WIN32__) -#ifdef __WIN32__ +#if defined(__WXDEBUG__) && defined(__WIN32__) static wxString wxGetPrintDlgError() { DWORD err = CommDlgExtendedError(); @@ -257,9 +290,40 @@ static wxString wxGetPrintDlgError() } #endif +static HGLOBAL wxCreateDevNames(const wxString& driverName, const wxString& printerName, const wxString& portName) +{ + HGLOBAL hDev = NULL; + // if (!driverName.IsEmpty() && !printerName.IsEmpty() && !portName.IsEmpty()) + if (driverName.IsEmpty() && printerName.IsEmpty() && portName.IsEmpty()) + { + } + else + { + hDev = GlobalAlloc(GPTR, 4*sizeof(WORD)+ + driverName.Length() + 1 + + printerName.Length() + 1 + + portName.Length()+1); + LPDEVNAMES lpDev = (LPDEVNAMES)GlobalLock(hDev); + lpDev->wDriverOffset = sizeof(WORD)*4; + wxStrcpy((wxChar*)lpDev + lpDev->wDriverOffset, driverName); + + lpDev->wDeviceOffset = (WORD)(lpDev->wDriverOffset + driverName.Length()+1); + wxStrcpy((wxChar*)lpDev + lpDev->wDeviceOffset, printerName); + + lpDev->wOutputOffset = (WORD)(lpDev->wDeviceOffset + printerName.Length()+1); + wxStrcpy((wxChar*)lpDev + lpDev->wOutputOffset, portName); + + lpDev->wDefault = 0; + + GlobalUnlock(hDev); + } + return hDev; +} + void wxPrintData::ConvertToNative() { HGLOBAL hDevMode = (HGLOBAL)(DWORD) m_devMode; + HGLOBAL hDevNames = (HGLOBAL)(DWORD) m_devNames; if (!hDevMode) { // Use PRINTDLG as a way of creating a DEVMODE object @@ -301,13 +365,19 @@ void wxPrintData::ConvertToNative() } else { + hDevMode = pd->hDevMode; + m_devMode = (void*)(long) hDevMode; + pd->hDevMode = NULL; + + // We'll create a new DEVNAMEs structure below. if ( pd->hDevNames ) GlobalFree(pd->hDevNames); pd->hDevNames = NULL; - hDevMode = pd->hDevMode; - m_devMode = (void*)(long) hDevMode; - pd->hDevMode = NULL; + // hDevNames = pd->hDevNames; + // m_devNames = (void*)(long) hDevNames; + // pd->hDevnames = NULL; + } delete pd; @@ -315,7 +385,7 @@ void wxPrintData::ConvertToNative() if ( hDevMode ) { - DEVMODE *devMode = (DEVMODE*) GlobalLock(hDevMode); + LPDEVMODE devMode = (LPDEVMODE) GlobalLock(hDevMode); //// Orientation @@ -426,18 +496,27 @@ void wxPrintData::ConvertToNative() GlobalUnlock(hDevMode); } + + if ( hDevNames ) + { + GlobalFree(hDevNames); + } + + // TODO: I hope it's OK to pass some empty strings to DEVNAMES. + m_devNames = (void*) (long) wxCreateDevNames("", m_printerName, ""); } void wxPrintData::ConvertFromNative() { HGLOBAL hDevMode = (HGLOBAL)(DWORD) m_devMode; + HGLOBAL hDevNames = (HGLOBAL)(DWORD) m_devNames; if (!hDevMode) return; if ( hDevMode ) { - DEVMODE *devMode = (DEVMODE*) GlobalLock(hDevMode); + LPDEVMODE devMode = (LPDEVMODE)GlobalLock(hDevMode); #ifndef __WXWINE__ //// Orientation @@ -599,6 +678,30 @@ void wxPrintData::ConvertFromNative() GlobalUnlock(hDevMode); } + + if (hDevNames) + { + LPDEVNAMES lpDevNames = (LPDEVNAMES)GlobalLock(hDevNames); + if (lpDevNames) + { + // TODO: Unicode-ification + + // Get the port name + // port is obsolete in WIN32 + // m_printData.SetPortName((LPSTR)lpDevNames + lpDevNames->wDriverOffset); + + // Get the printer name + wxString printerName = (LPSTR)lpDevNames + lpDevNames->wDeviceOffset; + + // Not sure if we should check for this mismatch +// wxASSERT_MSG( (m_printerName == "" || (devName == m_printerName)), "Printer name obtained from DEVMODE and DEVNAMES were different!"); + + if (printerName != wxT("")) + m_printerName = printerName; + + GlobalUnlock(hDevNames); + } + } } #endif @@ -606,34 +709,21 @@ void wxPrintData::ConvertFromNative() #ifdef __WXMAC__ void wxPrintData::ConvertToNative() { - if ( !m_macPrintInfo ) - { - m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - if ( m_macPrintInfo ) - { - ::PrintDefault( m_macPrintInfo ) ; - // todo setup the global pagesetup ? - } - } - if ( m_macPrintInfo ) - { - (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; - (**m_macPrintInfo).prJob.iFstPage = 0 ; - (**m_macPrintInfo).prJob.iLstPage = 0 ; - } + (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; } void wxPrintData::ConvertFromNative() { - if ( m_macPrintInfo ) - { - m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; - } + m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; } #endif void wxPrintData::operator=(const wxPrintData& data) { +#ifdef __WXMAC__ + m_macPrintInfo = data.m_macPrintInfo ; + HandToHand( (Handle*) &m_macPrintInfo ) ; +#endif m_printNoCopies = data.m_printNoCopies; m_printCollate = data.m_printCollate; m_printOrientation = data.m_printOrientation; @@ -711,6 +801,9 @@ wxPrintDialogData::wxPrintDialogData() wxPrintDialogData::wxPrintDialogData(const wxPrintDialogData& dialogData) { +#ifdef __WXMSW__ + m_printDlgData = NULL; +#endif (*this) = dialogData; } @@ -718,8 +811,6 @@ wxPrintDialogData::wxPrintDialogData(const wxPrintData& printData) { #ifdef __WXMSW__ m_printDlgData = NULL; -#elif defined( __WXMAC__ ) - m_macPrintInfo = NULL ; #endif m_printFromPage = 0; m_printToPage = 0; @@ -747,9 +838,6 @@ wxPrintDialogData::~wxPrintDialogData() GlobalFree(pd->hDevMode); if ( pd ) delete pd; -#elif defined(__WXMAC__) - if ( m_macPrintInfo ) - ::DisposeHandle( (Handle) m_macPrintInfo ) ; #endif } @@ -786,12 +874,23 @@ void wxPrintDialogData::ConvertToNative() GlobalFree(pd->hDevMode); } + // Pass the devnames data to the PRINTDLG structure, since it'll + // be needed when PrintDlg is called. + if (pd->hDevNames) + { + GlobalFree(pd->hDevNames); + } + pd->hDevMode = (HGLOBAL)(DWORD) m_printData.GetNativeData(); m_printData.SetNativeData((void*) NULL); wxASSERT_MSG( (pd->hDevMode), wxT("hDevMode must be non-NULL in ConvertToNative!")); + pd->hDevNames = (HGLOBAL)(DWORD) m_printData.GetNativeDataDevNames(); + + m_printData.SetNativeDataDevNames((void*) NULL); + pd->hDC = (HDC) NULL; pd->nFromPage = (UINT)m_printFromPage; pd->nToPage = (UINT)m_printToPage; @@ -808,7 +907,7 @@ void wxPrintDialogData::ConvertToNative() #endif pd->hwndOwner=(HWND)NULL; - pd->hDevNames=(HANDLE)NULL; +// pd->hDevNames=(HANDLE)NULL; pd->hInstance=(HINSTANCE)NULL; pd->lCustData = (LPARAM) NULL; pd->lpfnPrintHook = NULL; @@ -856,6 +955,18 @@ void wxPrintDialogData::ConvertFromNative() pd->hDevMode = NULL; } + // Pass the devnames data back to the wxPrintData structure where it really belongs. + if (pd->hDevNames) + { + if (m_printData.GetNativeDataDevNames()) + { + // Make sure we don't leak memory + GlobalFree((HGLOBAL)(DWORD) m_printData.GetNativeDataDevNames()); + } + m_printData.SetNativeDataDevNames((void*)(long) pd->hDevNames); + pd->hDevNames = NULL; + } + // Now convert the DEVMODE object, passed down from the PRINTDLG object, // into wxWindows form. m_printData.ConvertFromNative(); @@ -908,31 +1019,16 @@ void wxPrintDialogData::SetOwnerWindow(wxWindow* win) #ifdef __WXMAC__ void wxPrintDialogData::ConvertToNative() { - if ( !m_macPrintInfo ) - { - m_macPrintInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - if ( m_macPrintInfo ) - { - ::PrintDefault( m_macPrintInfo ) ; - // todo setup the global pagesetup ? - } - } - if ( m_macPrintInfo ) - { - (**m_macPrintInfo).prJob.iCopies = m_printNoCopies ; - (**m_macPrintInfo).prJob.iFstPage = m_printFromPage ; - (**m_macPrintInfo).prJob.iLstPage = m_printToPage ; - } + (**m_printData.m_macPrintInfo).prJob.iFstPage = m_printFromPage ; + (**m_printData.m_macPrintInfo).prJob.iLstPage = m_printToPage ; + m_printData.ConvertToNative() ; } void wxPrintDialogData::ConvertFromNative() { - if ( m_macPrintInfo ) - { - m_printNoCopies = (**m_macPrintInfo).prJob.iCopies ; - m_printFromPage = (**m_macPrintInfo).prJob.iFstPage ; - m_printToPage = (**m_macPrintInfo).prJob.iLstPage ; - } + m_printData.ConvertFromNative() ; + m_printFromPage = (**m_printData.m_macPrintInfo).prJob.iFstPage ; + m_printToPage = (**m_printData.m_macPrintInfo).prJob.iLstPage ; } #endif @@ -970,8 +1066,6 @@ wxPageSetupDialogData::wxPageSetupDialogData() { #if defined(__WIN95__) m_pageSetupData = NULL; -#elif defined( __WXMAC__ ) - m_macPageSetupInfo = NULL ; #endif m_paperSize = wxSize(0, 0); @@ -994,6 +1088,9 @@ wxPageSetupDialogData::wxPageSetupDialogData() wxPageSetupDialogData::wxPageSetupDialogData(const wxPageSetupDialogData& dialogData) { +#if defined(__WIN95__) + m_pageSetupData = NULL; +#endif (*this) = dialogData; } @@ -1001,8 +1098,6 @@ wxPageSetupDialogData::wxPageSetupDialogData(const wxPrintData& printData) { #if defined(__WIN95__) m_pageSetupData = NULL; -#elif defined( __WXMAC__ ) - m_macPageSetupInfo = NULL ; #endif m_paperSize = wxSize(0, 0); m_minMarginTopLeft = wxPoint(0, 0); @@ -1032,11 +1127,10 @@ wxPageSetupDialogData::~wxPageSetupDialogData() PAGESETUPDLG *pd = (PAGESETUPDLG *)m_pageSetupData; if ( pd && pd->hDevMode ) GlobalFree(pd->hDevMode); + if ( pd && pd->hDevNames ) + GlobalFree(pd->hDevNames); if ( pd ) delete pd; -#elif defined( __WXMAC__ ) - if( m_macPageSetupInfo ) - ::DisposeHandle( (Handle) m_macPageSetupInfo ) ; #endif } @@ -1074,6 +1168,7 @@ void wxPageSetupDialogData::ConvertToNative() { pd = new PAGESETUPDLG; pd->hDevMode = NULL; + pd->hDevNames = NULL; m_pageSetupData = (void *)pd; } @@ -1093,6 +1188,20 @@ void wxPageSetupDialogData::ConvertToNative() wxASSERT_MSG( (pd->hDevMode), wxT("hDevMode must be non-NULL in ConvertToNative!")); + // Pass the devnames data (created in m_printData.ConvertToNative) + // to the PRINTDLG structure, since it'll + // be needed when PrintDlg is called. + + if (pd->hDevNames) + { + GlobalFree(pd->hDevNames); + pd->hDevNames = NULL; + } + + pd->hDevNames = (HGLOBAL) m_printData.GetNativeDataDevNames(); + + m_printData.SetNativeDataDevNames((void*) NULL); + // pd->hDevMode = GlobalAlloc(GMEM_MOVEABLE, sizeof(DEVMODE)); pd->Flags = PSD_MARGINS|PSD_MINMARGINS; @@ -1117,7 +1226,7 @@ void wxPageSetupDialogData::ConvertToNative() pd->lStructSize = sizeof( PAGESETUPDLG ); pd->hwndOwner=(HWND)NULL; - pd->hDevNames=(HWND)NULL; +// pd->hDevNames=(HWND)NULL; pd->hInstance=(HINSTANCE)NULL; pd->ptPaperSize.x = m_paperSize.x * 100; @@ -1172,6 +1281,20 @@ void wxPageSetupDialogData::ConvertFromNative() m_printData.ConvertFromNative(); + // Pass the devnames data back to the wxPrintData structure where it really belongs. + if (pd->hDevNames) + { + if (m_printData.GetNativeDataDevNames()) + { + // Make sure we don't leak memory + GlobalFree((HGLOBAL) m_printData.GetNativeDataDevNames()); + } + m_printData.SetNativeDataDevNames((void*) pd->hDevNames); + pd->hDevNames = NULL; + } + + m_printData.ConvertFromNative(); + pd->Flags = PSD_MARGINS|PSD_MINMARGINS; m_defaultMinMargins = ((pd->Flags & PSD_DEFAULTMINMARGINS) == PSD_DEFAULTMINMARGINS); @@ -1210,64 +1333,49 @@ void wxPageSetupDialogData::SetOwnerWindow(wxWindow* win) #endif // Win95 #ifdef __WXMAC__ -void wxPageSetupData::ConvertToNative() +void wxPageSetupDialogData::ConvertToNative() { - if ( !m_macPageSetupInfo ) - { - m_macPageSetupInfo = (THPrint) NewHandleClear( sizeof( TPrint ) ) ; - if ( m_macPageSetupInfo ) - { - ::PrintDefault( m_macPageSetupInfo ) ; - } - } - if ( m_macPageSetupInfo ) - { - // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0 - (**m_macPageSetupInfo).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt ) ; - (**m_macPageSetupInfo).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt ) ; - - (**m_macPageSetupInfo).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt ) ; - (**m_macPageSetupInfo).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt ) ; - - (**m_macPageSetupInfo).prInfo.rPage.left = 0 ; - (**m_macPageSetupInfo).prInfo.rPage.top = 0 ; - (**m_macPageSetupInfo).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt ) ; - (**m_macPageSetupInfo).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt ) ; - - //TODO add custom fields in dialog for margins - - } + m_printData.ConvertToNative() ; + // on mac the paper rect has a negative top left corner, because the page rect (printable area) is at 0,0 + (**m_printData.m_macPrintInfo).rPaper.left = int( ((double) m_minMarginTopLeft.x)*mm2pt ) ; + (**m_printData.m_macPrintInfo).rPaper.top = int( ((double) m_minMarginTopLeft.y)*mm2pt ) ; + + (**m_printData.m_macPrintInfo).rPaper.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x)*mm2pt ) ; + (**m_printData.m_macPrintInfo).rPaper.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y)*mm2pt ) ; + + (**m_printData.m_macPrintInfo).prInfo.rPage.left = 0 ; + (**m_printData.m_macPrintInfo).prInfo.rPage.top = 0 ; + (**m_printData.m_macPrintInfo).prInfo.rPage.right = int( ((double) m_paperSize.x - m_minMarginTopLeft.x - m_minMarginBottomRight.x)*mm2pt ) ; + (**m_printData.m_macPrintInfo).prInfo.rPage.bottom = int( ((double) m_paperSize.y - m_minMarginTopLeft.y - m_minMarginBottomRight.y)*mm2pt ) ; } -void wxPageSetupData::ConvertFromNative() +void wxPageSetupDialogData::ConvertFromNative() { - if ( m_macPageSetupInfo ) - { - m_paperSize.x = ((double) (**m_macPageSetupInfo).rPaper.right - (**m_macPageSetupInfo).rPaper.left ) * pt2mm ; - m_paperSize.y = ((double) (**m_macPageSetupInfo).rPaper.bottom - (**m_macPageSetupInfo).rPaper.top ) * pt2mm ; - - m_minMarginTopLeft.x = ((double) -(**m_macPageSetupInfo).rPaper.left ) * pt2mm ; - m_minMarginTopLeft.y = ((double) -(**m_macPageSetupInfo).rPaper.top ) * pt2mm ; + m_printData.ConvertFromNative () ; - m_minMarginBottomRight.x = ((double) (**m_macPageSetupInfo).rPaper.right - (**m_macPageSetupInfo).prInfo.rPage.right ) * pt2mm ; - m_minMarginBottomRight.y = ((double)(**m_macPageSetupInfo).rPaper.bottom - (**m_macPageSetupInfo).prInfo.rPage.bottom ) * pt2mm ; + m_paperSize.x = ((double) (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).rPaper.left ) * pt2mm ; + m_paperSize.y = ((double) (**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).rPaper.top ) * pt2mm ; + + m_minMarginTopLeft.x = ((double) -(**m_printData.m_macPrintInfo).rPaper.left ) * pt2mm ; + m_minMarginTopLeft.y = ((double) -(**m_printData.m_macPrintInfo).rPaper.top ) * pt2mm ; - // adjust minimal values - //TODO add custom fields in dialog for margins + m_minMarginBottomRight.x = ((double) (**m_printData.m_macPrintInfo).rPaper.right - (**m_printData.m_macPrintInfo).prInfo.rPage.right ) * pt2mm ; + m_minMarginBottomRight.y = ((double)(**m_printData.m_macPrintInfo).rPaper.bottom - (**m_printData.m_macPrintInfo).prInfo.rPage.bottom ) * pt2mm ; - if ( m_marginTopLeft.x < m_minMarginTopLeft.x ) - m_marginTopLeft.x = m_minMarginTopLeft.x ; - - if ( m_marginBottomRight.x < m_minMarginBottomRight.x ) - m_marginBottomRight.x = m_minMarginBottomRight.x ; + // adjust minimal values + //TODO add custom fields in dialog for margins - if ( m_marginTopLeft.y < m_minMarginTopLeft.y ) - m_marginTopLeft.y = m_minMarginTopLeft.y ; - - if ( m_marginBottomRight.y < m_minMarginBottomRight.y ) - m_marginBottomRight.y = m_minMarginBottomRight.y ; + if ( m_marginTopLeft.x < m_minMarginTopLeft.x ) + m_marginTopLeft.x = m_minMarginTopLeft.x ; + + if ( m_marginBottomRight.x < m_minMarginBottomRight.x ) + m_marginBottomRight.x = m_minMarginBottomRight.x ; - } + if ( m_marginTopLeft.y < m_minMarginTopLeft.y ) + m_marginTopLeft.y = m_minMarginTopLeft.y ; + + if ( m_marginBottomRight.y < m_minMarginBottomRight.y ) + m_marginBottomRight.y = m_minMarginBottomRight.y ; } #endif @@ -1294,8 +1402,7 @@ void wxPageSetupDialogData::SetPaperSize(wxPaperSize id) void wxPageSetupDialogData::CalculateIdFromPaperSize() { wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL), - wxT("wxThePrintPaperDatabase should not be NULL. " - "Do not create global print dialog data objects.") ); + wxT("wxThePrintPaperDatabase should not be NULL. Do not create global print dialog data objects.") ); wxSize sz = GetPaperSize(); @@ -1310,8 +1417,7 @@ void wxPageSetupDialogData::CalculateIdFromPaperSize() void wxPageSetupDialogData::CalculatePaperSizeFromId() { wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL), - wxT("wxThePrintPaperDatabase should not be NULL. " - "Do not create global print dialog data objects.") ); + wxT("wxThePrintPaperDatabase should not be NULL. Do not create global print dialog data objects.") ); wxSize sz = wxThePrintPaperDatabase->GetSize(m_printData.GetPaperId());