Removed Pango homemade implementation and

reinstated old code that uses /Times and
    /Helv etc for printing PostScript.
  Various smaller fixes related to printing.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2004-10-27 22:55:30 +00:00
parent dd65d8c830
commit 01b5396fce
5 changed files with 24 additions and 448 deletions

View File

@@ -88,47 +88,6 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
printout->SetIsPreview(false);
#if 0
// 4/9/99, JACS: this is a silly place to allow preparation, considering
// the DC and no parameters have been set in the printout object.
// Moved further down.
// printout->OnPreparePrinting();
// Get some parameters from the printout, if defined
int fromPage, toPage;
int minPage, maxPage;
printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
if (maxPage == 0)
{
sm_lastError = wxPRINTER_ERROR;
return false;
}
m_printDialogData.SetMinPage(minPage);
m_printDialogData.SetMaxPage(maxPage);
if (fromPage != 0)
m_printDialogData.SetFromPage(fromPage);
if (toPage != 0)
m_printDialogData.SetToPage(toPage);
if (minPage != 0)
{
m_printDialogData.EnablePageNumbers(true);
if (m_printDialogData.GetFromPage() < m_printDialogData.GetMinPage())
m_printDialogData.SetFromPage(m_printDialogData.GetMinPage());
else if (m_printDialogData.GetFromPage() > m_printDialogData.GetMaxPage())
m_printDialogData.SetFromPage(m_printDialogData.GetMaxPage());
if (m_printDialogData.GetToPage() > m_printDialogData.GetMaxPage())
m_printDialogData.SetToPage(m_printDialogData.GetMaxPage());
else if (m_printDialogData.GetToPage() < m_printDialogData.GetMinPage())
m_printDialogData.SetToPage(m_printDialogData.GetMinPage());
}
else
m_printDialogData.EnablePageNumbers(false);
#endif
if (m_printDialogData.GetMinPage() < 1)
m_printDialogData.SetMinPage(1);
if (m_printDialogData.GetMaxPage() < 1)
@@ -193,7 +152,12 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
// set by the user
m_printDialogData.SetMinPage(minPage);
m_printDialogData.SetMaxPage(maxPage);
if (m_printDialogData.GetFromPage() < minPage)
m_printDialogData.SetFromPage( minPage );
if (m_printDialogData.GetToPage() > maxPage)
m_printDialogData.SetToPage( maxPage );
int
pagesPerCopy = m_printDialogData.GetToPage()-m_printDialogData.GetFromPage()+1,
totalPages = pagesPerCopy * m_printDialogData.GetNoCopies(),
@@ -273,12 +237,13 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
wxDC* wxPostScriptPrinter::PrintDialog(wxWindow *parent)
{
wxDC* dc = (wxDC*) NULL;
wxGenericPrintDialog* dialog = new wxGenericPrintDialog(parent, & m_printDialogData);
int ret = dialog->ShowModal() ;
if (ret == wxID_OK)
wxGenericPrintDialog dialog( parent, &m_printDialogData );
if (dialog.ShowModal() == wxID_OK)
{
dc = dialog->GetPrintDC();
m_printDialogData = dialog->GetPrintDialogData();
dc = dialog.GetPrintDC();
m_printDialogData = dialog.GetPrintDialogData();
if (dc == NULL)
sm_lastError = wxPRINTER_ERROR;
else
@@ -287,8 +252,6 @@ wxDC* wxPostScriptPrinter::PrintDialog(wxWindow *parent)
else
sm_lastError = wxPRINTER_CANCELLED;
dialog->Destroy();
return dc;
}