// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "prntdlgg.h"
#endif
#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"
{
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
{
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);
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());
}
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;
for (size_t i = 0; i < n; i++)
{
- wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Item(i)->GetData();
+ wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(i);
choices[i] = paper->GetName();
}
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));
for (size_t i = 0; i < n; i++)
{
- wxPrintPaperType *paper = (wxPrintPaperType *)wxThePrintPaperDatabase->Item(i)->GetData();
+ wxPrintPaperType *paper = wxThePrintPaperDatabase->Item(i);
choices[i] = paper->GetName();
}