X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17dd9caaa552b76b3e1c71898f100650e3f86aaf..ba4434328537c72d2d83678787cf1b6c0acc6916:/src/generic/prntdlgg.cpp?ds=sidebyside diff --git a/src/generic/prntdlgg.cpp b/src/generic/prntdlgg.cpp index e7fef1cdae..38938d2c43 100644 --- a/src/generic/prntdlgg.cpp +++ b/src/generic/prntdlgg.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "prntdlgg.h" #endif @@ -28,13 +28,11 @@ #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" #include "wx/dc.h" - #include "wx/app.h" - #include "wx/frame.h" #include "wx/stattext.h" #include "wx/statbox.h" #include "wx/button.h" @@ -42,7 +40,6 @@ #include "wx/textctrl.h" #include "wx/radiobox.h" #include "wx/filedlg.h" - #include "wx/choice.h" #include "wx/combobox.h" #include "wx/intl.h" #include "wx/sizer.h" @@ -110,7 +107,6 @@ wxGenericPrintDialog::wxGenericPrintDialog(wxWindow *parent, : wxDialog(parent, -1, _("Print"), wxPoint(0, 0), wxSize(600, 600), wxDEFAULT_DIALOG_STYLE | - wxDIALOG_MODAL | wxTAB_TRAVERSAL) { if ( data ) @@ -124,7 +120,6 @@ wxGenericPrintDialog::wxGenericPrintDialog(wxWindow *parent, : wxDialog(parent, -1, _("Print"), wxPoint(0, 0), wxSize(600, 600), wxDEFAULT_DIALOG_STYLE | - wxDIALOG_MODAL | wxTAB_TRAVERSAL) { if ( data ) @@ -136,7 +131,7 @@ wxGenericPrintDialog::wxGenericPrintDialog(wxWindow *parent, void wxGenericPrintDialog::Init(wxWindow * WXUNUSED(parent)) { // wxDialog::Create(parent, -1, _("Print"), wxPoint(0, 0), wxSize(600, 600), - // wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL | wxTAB_TRAVERSAL); + // wxDEFAULT_DIALOG_STYLE | wxTAB_TRAVERSAL); wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL ); @@ -255,6 +250,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 @@ -314,12 +314,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); @@ -403,7 +403,7 @@ wxDC *wxGenericPrintDialog::GetPrintDC() // ---------------------------------------------------------------------------- wxGenericPrintSetupDialog::wxGenericPrintSetupDialog(wxWindow *parent, wxPrintData* data): -wxDialog(parent, -1, _("Print Setup"), wxPoint(0, 0), wxSize(600, 600), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL|wxTAB_TRAVERSAL) +wxDialog(parent, -1, _("Print Setup"), wxPoint(0, 0), wxSize(600, 600), wxDEFAULT_DIALOG_STYLE|wxTAB_TRAVERSAL) { Init(data); } @@ -506,7 +506,7 @@ bool wxGenericPrintSetupDialog::TransferDataFromWindow() int selectedItem = m_paperTypeChoice->GetSelection(); if (selectedItem != -1) { - wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Nth(selectedItem)->Data(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(selectedItem); if (paper != NULL) m_printData.SetPaperId( paper->GetId()); } @@ -530,7 +530,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; @@ -596,7 +596,7 @@ wxGenericPageSetupDialog::wxGenericPageSetupDialog( wxWindow *parent, _("Page Setup"), wxPoint(0, 0), wxSize(600, 600), - wxDIALOG_MODAL|wxDEFAULT_DIALOG_STYLE|wxTAB_TRAVERSAL ) + wxDEFAULT_DIALOG_STYLE|wxTAB_TRAVERSAL ) { if (data) m_pageData = *data; @@ -614,7 +614,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(); } @@ -706,13 +706,13 @@ wxGenericPageSetupDialog::~wxGenericPageSetupDialog() bool wxGenericPageSetupDialog::TransferDataToWindow() { if (m_marginLeftText) - m_marginLeftText->SetValue(IntToString((int) m_pageData.GetMarginTopLeft().x)); + m_marginLeftText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginTopLeft().x)); if (m_marginTopText) - m_marginTopText->SetValue(IntToString((int) m_pageData.GetMarginTopLeft().y)); + m_marginTopText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginTopLeft().y)); if (m_marginRightText) - m_marginRightText->SetValue(IntToString((int) m_pageData.GetMarginBottomRight().x)); + m_marginRightText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginBottomRight().x)); if (m_marginBottomText) - m_marginBottomText->SetValue(IntToString((int) m_pageData.GetMarginBottomRight().y)); + m_marginBottomText->SetValue(wxString::Format(wxT("%d"), m_pageData.GetMarginBottomRight().y)); if (m_orientationRadioBox) { @@ -772,7 +772,7 @@ bool wxGenericPageSetupDialog::TransferDataFromWindow() int selectedItem = m_paperTypeChoice->GetSelection(); if (selectedItem != -1) { - wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Nth(selectedItem)->Data(); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(selectedItem); if ( paper ) { m_pageData.SetPaperSize(wxSize(paper->GetWidth()/10, paper->GetHeight()/10)); @@ -799,7 +799,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(); }