X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e34dcad290e5129f0e5818fcc89868dd28729b75..4b1e72e266ec6993d665c65d5f5e59e7981afc17:/src/generic/prntdlgg.cpp diff --git a/src/generic/prntdlgg.cpp b/src/generic/prntdlgg.cpp index 38dd0fdfee..cef8bc45ea 100644 --- a/src/generic/prntdlgg.cpp +++ b/src/generic/prntdlgg.cpp @@ -6,7 +6,7 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "prntdlgg.h" #endif @@ -28,7 +28,7 @@ #pragma hdrstop #endif -#if wxUSE_PRINTING_ARCHITECTURE +#if wxUSE_PRINTING_ARCHITECTURE && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) #ifndef WX_PRECOMP #include "wx/utils.h" @@ -252,6 +252,11 @@ void wxGenericPrintDialog::OnOK(wxCommandEvent& WXUNUSED(event)) { TransferDataFromWindow(); + // An empty 'to' field signals printing just the + // 'from' page. + if (m_printDialogData.GetToPage() < 1) + m_printDialogData.SetToPage(m_printDialogData.GetFromPage()); + // There are some interactions between the global setup data // and the standard print dialog. The global printing 'mode' // is determined by whether the user checks Print to file @@ -311,12 +316,12 @@ bool wxGenericPrintDialog::TransferDataToWindow() { m_fromText->Enable(TRUE); m_toText->Enable(TRUE); - m_fromText->SetValue( - wxString::Format(_T("%d"), m_printDialogData.GetFromPage())); - m_toText->SetValue( - wxString::Format(_T("%d"), m_printDialogData.GetToPage())); + if (m_printDialogData.GetFromPage() > 0) + m_fromText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetFromPage())); + if (m_printDialogData.GetToPage() > 0) + m_toText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetToPage())); if(m_rangeRadioBox) - if (m_printDialogData.GetAllPages()) + if (m_printDialogData.GetAllPages() || m_printDialogData.GetFromPage() == 0) m_rangeRadioBox->SetSelection(0); else m_rangeRadioBox->SetSelection(1); @@ -503,7 +508,7 @@ bool wxGenericPrintSetupDialog::TransferDataFromWindow() int selectedItem = m_paperTypeChoice->GetSelection(); if (selectedItem != -1) { - wxPrintPaperType *paper = (wxPrintPaperType*)wxThePrintPaperDatabase->Item(selectedItem)->GetData(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(selectedItem); if (paper != NULL) m_printData.SetPaperId( paper->GetId()); } @@ -527,7 +532,7 @@ wxComboBox *wxGenericPrintSetupDialog::CreatePaperTypeChoice(int *x, int *y) for (size_t i = 0; i < n; i++) { - wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Item(i)->GetData(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(i); choices[i] = paper->GetName(); if (m_printData.GetPaperId() == paper->GetId()) sel = i; @@ -611,7 +616,7 @@ wxGenericPageSetupDialog::wxGenericPageSetupDialog( wxWindow *parent, for (size_t i = 0; i < n; i++) { - wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Item(i)->GetData(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(i); choices[i] = paper->GetName(); } @@ -700,21 +705,16 @@ wxGenericPageSetupDialog::~wxGenericPageSetupDialog() { } -static inline wxString IntToString( long value ) -{ - return wxString::Format(wxT("%ld"), value); -} - bool wxGenericPageSetupDialog::TransferDataToWindow() { if (m_marginLeftText) - m_marginLeftText->SetValue(IntToString(m_pageData.GetMarginTopLeft().x)); + m_marginLeftText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginTopLeft().x)); if (m_marginTopText) - m_marginTopText->SetValue(IntToString(m_pageData.GetMarginTopLeft().y)); + m_marginTopText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginTopLeft().y)); if (m_marginRightText) - m_marginRightText->SetValue(IntToString(m_pageData.GetMarginBottomRight().x)); + m_marginRightText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginBottomRight().x)); if (m_marginBottomText) - m_marginBottomText->SetValue(IntToString(m_pageData.GetMarginBottomRight().y)); + m_marginBottomText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginBottomRight().y)); if (m_orientationRadioBox) { @@ -774,7 +774,7 @@ bool wxGenericPageSetupDialog::TransferDataFromWindow() int selectedItem = m_paperTypeChoice->GetSelection(); if (selectedItem != -1) { - wxPrintPaperType *paper = (wxPrintPaperType*)wxThePrintPaperDatabase->Item(selectedItem)->GetData(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(selectedItem); if ( paper ) { m_pageData.SetPaperSize(wxSize(paper->GetWidth()/10, paper->GetHeight()/10)); @@ -801,7 +801,7 @@ wxComboBox *wxGenericPageSetupDialog::CreatePaperTypeChoice(int *x, int *y) for (size_t i = 0; i < n; i++) { - wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Item(i)->GetData(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(i); choices[i] = paper->GetName(); }