#include "wx/combobox.h"
#include "wx/intl.h"
#include "wx/sizer.h"
+ #include "wx/cmndata.h"
#endif
#if wxUSE_STATLINE
#include "wx/printdlg.h"
#include "wx/paper.h"
+#include "wx/filename.h"
// For print paper things
#include "wx/prntbase.h"
#if wxUSE_POSTSCRIPT
-// ============================================================================
-// implementation
-// ============================================================================
-
// ----------------------------------------------------------------------------
// Generic print dialog for non-Windows printing use.
// ----------------------------------------------------------------------------
1, wxRA_VERTICAL);
m_rangeRadioBox->SetSelection(1);
- mainsizer->Add( m_rangeRadioBox, 0, wxLEFT|wxTOP|wxRIGHT, 10 );
+ mainsizer->Add( m_rangeRadioBox, 0, wxLEFT|wxTOP|wxRIGHT, 10 );
}
// 3) bottom row
{
bottomsizer->Add( new wxStaticText(this, wxPRINTID_STATIC, _("From:") ), 0, wxCENTER|wxALL, 5 );
m_fromText = new wxTextCtrl(this, wxPRINTID_FROM, "", wxDefaultPosition, wxSize(40, -1));
- bottomsizer->Add( m_fromText, 1, wxCENTER|wxRIGHT, 10 );
+ bottomsizer->Add( m_fromText, 1, wxCENTER|wxRIGHT, 10 );
bottomsizer->Add( new wxStaticText(this, wxPRINTID_STATIC, _("To:") ), 0, wxCENTER|wxALL, 5);
m_toText = new wxTextCtrl(this, wxPRINTID_TO, "", wxDefaultPosition, wxSize(40, -1));
- bottomsizer->Add( m_toText, 1, wxCENTER|wxRIGHT, 10 );
+ bottomsizer->Add( m_toText, 1, wxCENTER|wxRIGHT, 10 );
}
bottomsizer->Add( new wxStaticText(this, wxPRINTID_STATIC, _("Copies:") ), 0, wxCENTER|wxALL, 5 );
int ret = genericPrintSetupDialog->ShowModal();
if ( ret != wxID_CANCEL )
{
- // Transfer settings to the global object (for compatibility) and to
- // the print dialog's print data.
- *wxThePrintSetupData = genericPrintSetupDialog->GetPrintData();
+ // Transfer settings to the print dialog's print data.
m_printDialogData.GetPrintData() = genericPrintSetupDialog->GetPrintData();
}
genericPrintSetupDialog->Destroy();
if (m_printDialogData.GetPrintToFile())
{
m_printDialogData.GetPrintData().SetPrintMode(wxPRINT_MODE_FILE);
- wxThePrintSetupData->SetPrinterMode(wxPRINT_MODE_FILE);
-
- wxString f = wxFileSelector(_("PostScript file"),
- wxPathOnly(wxThePrintSetupData->GetPrinterFile()),
- wxFileNameFromPath(wxThePrintSetupData->GetPrinterFile()),
- wxT("ps"), wxT("*.ps"), 0, this);
- if ( f.IsEmpty() )
- return;
+
+ wxFileName fname( m_printDialogData.GetPrintData().GetFilename() );
+
+ wxFileDialog dialog( this, _("PostScript file"),
+ fname.GetPath(), fname.GetFullName(), wxT("*.ps"), wxOPEN | wxOVERWRITE_PROMPT );
+ if (dialog.ShowModal() != wxID_OK) return;
- m_printDialogData.GetPrintData().SetFilename(f);
- wxThePrintSetupData->SetPrinterFile(f);
+ m_printDialogData.GetPrintData().SetFilename( dialog.GetPath() );
}
else
{
m_printDialogData.GetPrintData().SetPrintMode(wxPRINT_MODE_PRINTER);
- wxThePrintSetupData->SetPrinterMode(wxPRINT_MODE_PRINTER);
}
EndModal(wxID_OK);
void wxGenericPrintDialog::OnSetup(wxCommandEvent& WXUNUSED(event))
{
- *wxThePrintSetupData = m_printDialogData.GetPrintData();
- wxGenericPrintSetupDialog *genericPrintSetupDialog =
- new wxGenericPrintSetupDialog(this, wxThePrintSetupData);
- int ret = genericPrintSetupDialog->ShowModal();
- if ( ret != wxID_CANCEL )
+ wxGenericPrintSetupDialog dialog( this, &m_printDialogData.GetPrintData() );
+ if (dialog.ShowModal() != wxID_CANCEL)
{
- *wxThePrintSetupData = genericPrintSetupDialog->GetPrintData();
- m_printDialogData = genericPrintSetupDialog->GetPrintData();
+ m_printDialogData = dialog.GetPrintData();
}
-
- genericPrintSetupDialog->Close(TRUE);
}
bool wxGenericPrintDialog::TransferDataToWindow()
Init(data);
}
-// Convert wxPrintSetupData to standard wxPrintData object
-wxGenericPrintSetupDialog::wxGenericPrintSetupDialog(wxWindow *parent, wxPrintSetupData* data):
-wxDialog(parent, -1, _("Print Setup"), wxPoint(0, 0), wxSize(600, 600), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL|wxTAB_TRAVERSAL)
-{
- wxPrintData printData;
- if (data)
- printData = * data;
- else
- printData = * wxThePrintSetupData;
-
- Init(& printData);
-}
-
void wxGenericPrintSetupDialog::Init(wxPrintData* data)
{
if ( data )
okButton->SetDefault();
okButton->SetFocus();
-
+
Fit();
Centre(wxBOTH);
m_printData.SetPaperId(wxThePrintPaperDatabase->ConvertNameToId(val));
}
- // This is for backward compatibility only
- *wxThePrintSetupData = GetPrintData();
return TRUE;
}
bool wxGenericPageSetupDialog::TransferDataFromWindow()
{
if (m_marginLeftText && m_marginTopText)
- m_pageData.SetMarginTopLeft(wxPoint(wxAtoi((const wxChar *)m_marginLeftText->GetValue()),wxAtoi((const wxChar *)m_marginTopText->GetValue())));
+ {
+ int left = wxAtoi( m_marginLeftText->GetValue().c_str() );
+ int top = wxAtoi( m_marginTopText->GetValue().c_str() );
+ m_pageData.SetMarginTopLeft( wxPoint(left,top) );
+ }
if (m_marginRightText && m_marginBottomText)
- m_pageData.SetMarginBottomRight(wxPoint(wxAtoi((const wxChar *)m_marginRightText->GetValue()),wxAtoi((const wxChar *)m_marginBottomText->GetValue())));
+ {
+ int right = wxAtoi( m_marginRightText->GetValue().c_str() );
+ int bottom = wxAtoi( m_marginBottomText->GetValue().c_str() );
+ m_pageData.SetMarginBottomRight( wxPoint(right,bottom) );
+ }
if (m_orientationRadioBox)
{
int sel = m_orientationRadioBox->GetSelection();
if (sel == 0)
{
-#if wxUSE_POSTSCRIPT
- wxThePrintSetupData->SetPrinterOrientation(wxPORTRAIT);
-#endif
m_pageData.GetPrintData().SetOrientation(wxPORTRAIT);
}
else
{
-#if wxUSE_POSTSCRIPT
- wxThePrintSetupData->SetPrinterOrientation(wxLANDSCAPE);
-#endif
m_pageData.GetPrintData().SetOrientation(wxLANDSCAPE);
}
}
+
if (m_paperTypeChoice)
{
wxString val(m_paperTypeChoice->GetStringSelection());
- if (!val.IsNull() && val != "")
+ if (!val.IsEmpty())
{
wxPrintPaperType* paper = wxThePrintPaperDatabase->FindPaperType(val);
if ( paper )
}
#endif
+