X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6aa89a22b8e47000c98bff05c6f545f331f1c353..15d9a04c6877a2f730b679402e6798aaace16e3a:/src/generic/prntdlgg.cpp diff --git a/src/generic/prntdlgg.cpp b/src/generic/prntdlgg.cpp index 1184a4db2a..49cb50fb98 100644 --- a/src/generic/prntdlgg.cpp +++ b/src/generic/prntdlgg.cpp @@ -33,8 +33,6 @@ #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" @@ -503,9 +500,13 @@ bool wxGenericPrintSetupDialog::TransferDataFromWindow() } if (m_paperTypeChoice) { - wxString val(m_paperTypeChoice->GetStringSelection()); - if (!val.IsNull() && val != wxT("")) - m_printData.SetPaperId(wxThePrintPaperDatabase->ConvertNameToId(val)); + int selectedItem = m_paperTypeChoice->GetSelection(); + if (selectedItem != -1) + { + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(selectedItem); + if (paper != NULL) + m_printData.SetPaperId( paper->GetId()); + } } return TRUE; @@ -526,7 +527,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; @@ -610,7 +611,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(); } @@ -699,16 +700,21 @@ wxGenericPageSetupDialog::~wxGenericPageSetupDialog() { } +static inline wxString IntToString( long value ) +{ + return wxString::Format(wxT("%ld"), value); +} + bool wxGenericPageSetupDialog::TransferDataToWindow() { if (m_marginLeftText) - m_marginLeftText->SetValue(IntToString((int) m_pageData.GetMarginTopLeft().x)); + m_marginLeftText->SetValue(IntToString(m_pageData.GetMarginTopLeft().x)); if (m_marginTopText) - m_marginTopText->SetValue(IntToString((int) m_pageData.GetMarginTopLeft().y)); + m_marginTopText->SetValue(IntToString(m_pageData.GetMarginTopLeft().y)); if (m_marginRightText) - m_marginRightText->SetValue(IntToString((int) m_pageData.GetMarginBottomRight().x)); + m_marginRightText->SetValue(IntToString(m_pageData.GetMarginBottomRight().x)); if (m_marginBottomText) - m_marginBottomText->SetValue(IntToString((int) m_pageData.GetMarginBottomRight().y)); + m_marginBottomText->SetValue(IntToString(m_pageData.GetMarginBottomRight().y)); if (m_orientationRadioBox) { @@ -765,10 +771,10 @@ bool wxGenericPageSetupDialog::TransferDataFromWindow() if (m_paperTypeChoice) { - wxString val(m_paperTypeChoice->GetStringSelection()); - if (!val.IsEmpty()) + int selectedItem = m_paperTypeChoice->GetSelection(); + if (selectedItem != -1) { - wxPrintPaperType* paper = wxThePrintPaperDatabase->FindPaperType(val); + wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(selectedItem); if ( paper ) { m_pageData.SetPaperSize(wxSize(paper->GetWidth()/10, paper->GetHeight()/10)); @@ -795,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(); }