always reusing the session from printdata, that way print to pdf etc is preserved

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@18034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2002-12-03 14:54:41 +00:00
parent fdb1afcd50
commit ed46dceab3
2 changed files with 16 additions and 32 deletions

View File

@@ -104,11 +104,8 @@ int wxPrintDialog::ShowModal()
::UMAPrClose(NULL) ; ::UMAPrClose(NULL) ;
#else #else
#if PM_USE_SESSION_APIS #if PM_USE_SESSION_APIS
PMPrintSession macPrintSession = kPMNoReference;
Boolean accepted; Boolean accepted;
err = ::UMAPrOpen(&macPrintSession) ;
if ( err == noErr )
{ {
m_printDialogData.ConvertToNative() ; m_printDialogData.ConvertToNative() ;
@@ -123,13 +120,13 @@ int wxPrintDialog::ShowModal()
if ((err == noErr) && if ((err == noErr) &&
(m_printDialogData.GetPrintData().m_macPageFormat != kPMNoPageFormat)) (m_printDialogData.GetPrintData().m_macPageFormat != kPMNoPageFormat))
{ {
err = PMSessionDefaultPageFormat((PMPrintSession)macPrintSession, err = PMSessionDefaultPageFormat((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat); (PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat);
} }
} }
else else
{ {
err = PMSessionValidatePageFormat((PMPrintSession)macPrintSession, err = PMSessionValidatePageFormat((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat, (PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat,
kPMDontWantBoolean); kPMDontWantBoolean);
} }
@@ -145,13 +142,13 @@ int wxPrintDialog::ShowModal()
if ((err == noErr) && if ((err == noErr) &&
(m_printDialogData.GetPrintData().m_macPrintSettings != kPMNoPrintSettings)) (m_printDialogData.GetPrintData().m_macPrintSettings != kPMNoPrintSettings))
{ {
err = PMSessionDefaultPrintSettings((PMPrintSession)macPrintSession, err = PMSessionDefaultPrintSettings((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings); (PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings);
} }
} }
else else
{ {
err = PMSessionValidatePrintSettings((PMPrintSession)macPrintSession, err = PMSessionValidatePrintSettings((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings, (PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings,
kPMDontWantBoolean); kPMDontWantBoolean);
} }
@@ -165,7 +162,7 @@ int wxPrintDialog::ShowModal()
// Display the Print dialog. // Display the Print dialog.
if (err == noErr) if (err == noErr)
{ {
err = PMSessionPrintDialog((PMPrintSession)macPrintSession, err = PMSessionPrintDialog((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings, (PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings,
(PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat, (PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat,
&accepted); &accepted);
@@ -186,7 +183,6 @@ int wxPrintDialog::ShowModal()
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal(); dialog.ShowModal();
} }
::UMAPrClose(&macPrintSession) ;
#else #else
#pragma warning "TODO: Printing for carbon without session apis" #pragma warning "TODO: Printing for carbon without session apis"
#endif #endif
@@ -256,11 +252,8 @@ int wxPageSetupDialog::ShowModal()
::UMAPrClose(NULL) ; ::UMAPrClose(NULL) ;
#else #else
#if PM_USE_SESSION_APIS #if PM_USE_SESSION_APIS
PMPrintSession macPrintSession = kPMNoReference;
Boolean accepted; Boolean accepted;
err = ::UMAPrOpen(&macPrintSession) ;
if ( err == noErr )
{ {
m_pageSetupData.ConvertToNative() ; m_pageSetupData.ConvertToNative() ;
@@ -275,13 +268,13 @@ int wxPageSetupDialog::ShowModal()
if ((err == noErr) && if ((err == noErr) &&
(m_pageSetupData.GetPrintData().m_macPageFormat != kPMNoPageFormat)) (m_pageSetupData.GetPrintData().m_macPageFormat != kPMNoPageFormat))
{ {
err = PMSessionDefaultPageFormat((PMPrintSession)macPrintSession, err = PMSessionDefaultPageFormat((PMPrintSession)m_pageSetupData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat); (PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat);
} }
} }
else else
{ {
err = PMSessionValidatePageFormat((PMPrintSession)macPrintSession, err = PMSessionValidatePageFormat((PMPrintSession)m_pageSetupData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat, (PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat,
kPMDontWantBoolean); kPMDontWantBoolean);
} }
@@ -289,7 +282,7 @@ int wxPageSetupDialog::ShowModal()
// Display the Page Setup dialog. // Display the Page Setup dialog.
if (err == noErr) if (err == noErr)
{ {
err = PMSessionPageSetupDialog((PMPrintSession)macPrintSession, err = PMSessionPageSetupDialog((PMPrintSession)m_pageSetupData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat, (PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat,
&accepted); &accepted);
if ((err == noErr) && !accepted) if ((err == noErr) && !accepted)
@@ -312,7 +305,6 @@ int wxPageSetupDialog::ShowModal()
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal(); dialog.ShowModal();
} }
::UMAPrClose(&macPrintSession) ;
#else #else
#pragma warning "TODO: Printing for carbon without session apis" #pragma warning "TODO: Printing for carbon without session apis"
#endif #endif

View File

@@ -104,11 +104,8 @@ int wxPrintDialog::ShowModal()
::UMAPrClose(NULL) ; ::UMAPrClose(NULL) ;
#else #else
#if PM_USE_SESSION_APIS #if PM_USE_SESSION_APIS
PMPrintSession macPrintSession = kPMNoReference;
Boolean accepted; Boolean accepted;
err = ::UMAPrOpen(&macPrintSession) ;
if ( err == noErr )
{ {
m_printDialogData.ConvertToNative() ; m_printDialogData.ConvertToNative() ;
@@ -123,13 +120,13 @@ int wxPrintDialog::ShowModal()
if ((err == noErr) && if ((err == noErr) &&
(m_printDialogData.GetPrintData().m_macPageFormat != kPMNoPageFormat)) (m_printDialogData.GetPrintData().m_macPageFormat != kPMNoPageFormat))
{ {
err = PMSessionDefaultPageFormat((PMPrintSession)macPrintSession, err = PMSessionDefaultPageFormat((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat); (PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat);
} }
} }
else else
{ {
err = PMSessionValidatePageFormat((PMPrintSession)macPrintSession, err = PMSessionValidatePageFormat((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat, (PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat,
kPMDontWantBoolean); kPMDontWantBoolean);
} }
@@ -145,13 +142,13 @@ int wxPrintDialog::ShowModal()
if ((err == noErr) && if ((err == noErr) &&
(m_printDialogData.GetPrintData().m_macPrintSettings != kPMNoPrintSettings)) (m_printDialogData.GetPrintData().m_macPrintSettings != kPMNoPrintSettings))
{ {
err = PMSessionDefaultPrintSettings((PMPrintSession)macPrintSession, err = PMSessionDefaultPrintSettings((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings); (PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings);
} }
} }
else else
{ {
err = PMSessionValidatePrintSettings((PMPrintSession)macPrintSession, err = PMSessionValidatePrintSettings((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings, (PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings,
kPMDontWantBoolean); kPMDontWantBoolean);
} }
@@ -165,7 +162,7 @@ int wxPrintDialog::ShowModal()
// Display the Print dialog. // Display the Print dialog.
if (err == noErr) if (err == noErr)
{ {
err = PMSessionPrintDialog((PMPrintSession)macPrintSession, err = PMSessionPrintDialog((PMPrintSession)m_printDialogData.GetPrintData().m_macPrintSession,
(PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings, (PMPrintSettings)m_printDialogData.GetPrintData().m_macPrintSettings,
(PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat, (PMPageFormat)m_printDialogData.GetPrintData().m_macPageFormat,
&accepted); &accepted);
@@ -186,7 +183,6 @@ int wxPrintDialog::ShowModal()
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal(); dialog.ShowModal();
} }
::UMAPrClose(&macPrintSession) ;
#else #else
#pragma warning "TODO: Printing for carbon without session apis" #pragma warning "TODO: Printing for carbon without session apis"
#endif #endif
@@ -256,11 +252,8 @@ int wxPageSetupDialog::ShowModal()
::UMAPrClose(NULL) ; ::UMAPrClose(NULL) ;
#else #else
#if PM_USE_SESSION_APIS #if PM_USE_SESSION_APIS
PMPrintSession macPrintSession = kPMNoReference;
Boolean accepted; Boolean accepted;
err = ::UMAPrOpen(&macPrintSession) ;
if ( err == noErr )
{ {
m_pageSetupData.ConvertToNative() ; m_pageSetupData.ConvertToNative() ;
@@ -275,13 +268,13 @@ int wxPageSetupDialog::ShowModal()
if ((err == noErr) && if ((err == noErr) &&
(m_pageSetupData.GetPrintData().m_macPageFormat != kPMNoPageFormat)) (m_pageSetupData.GetPrintData().m_macPageFormat != kPMNoPageFormat))
{ {
err = PMSessionDefaultPageFormat((PMPrintSession)macPrintSession, err = PMSessionDefaultPageFormat((PMPrintSession)m_pageSetupData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat); (PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat);
} }
} }
else else
{ {
err = PMSessionValidatePageFormat((PMPrintSession)macPrintSession, err = PMSessionValidatePageFormat((PMPrintSession)m_pageSetupData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat, (PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat,
kPMDontWantBoolean); kPMDontWantBoolean);
} }
@@ -289,7 +282,7 @@ int wxPageSetupDialog::ShowModal()
// Display the Page Setup dialog. // Display the Page Setup dialog.
if (err == noErr) if (err == noErr)
{ {
err = PMSessionPageSetupDialog((PMPrintSession)macPrintSession, err = PMSessionPageSetupDialog((PMPrintSession)m_pageSetupData.GetPrintData().m_macPrintSession,
(PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat, (PMPageFormat)m_pageSetupData.GetPrintData().m_macPageFormat,
&accepted); &accepted);
if ((err == noErr) && !accepted) if ((err == noErr) && !accepted)
@@ -312,7 +305,6 @@ int wxPageSetupDialog::ShowModal()
wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ; wxMessageDialog dialog( NULL , message , "", wxICON_HAND | wxOK) ;
dialog.ShowModal(); dialog.ShowModal();
} }
::UMAPrClose(&macPrintSession) ;
#else #else
#pragma warning "TODO: Printing for carbon without session apis" #pragma warning "TODO: Printing for carbon without session apis"
#endif #endif