/////////////////////////////////////////////////////////////////////////////
-// Name: prntdlgg.cpp
+// Name: src/generic/prntdlgg.cpp
// Purpose: Generic print dialogs
// Author: Julian Smart
// Modified by:
#if wxUSE_PRINTING_ARCHITECTURE && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
+#include "wx/generic/prntdlgg.h"
+
#ifndef WX_PRECOMP
#include "wx/utils.h"
#include "wx/dc.h"
#endif
#if wxUSE_STATLINE
- #include "wx/statline.h"
+ #include "wx/statline.h"
#endif
-#include "wx/generic/prntdlgg.h"
-
#if wxUSE_POSTSCRIPT
#include "wx/generic/dcpsg.h"
#endif
#include <stdlib.h>
#include <string.h>
+#ifndef __WXUNIVERSAL__
+
+#if wxUSE_LIBGNOMEPRINT
+ #include "wx/link.h"
+ wxFORCE_LINK_MODULE(gnome_print)
+#endif
+
+#if wxUSE_GTKPRINT
+ #include "wx/link.h"
+ wxFORCE_LINK_MODULE(gtk_print)
+#endif
+
+#endif // !wxUniv
+
// ----------------------------------------------------------------------------
// global vars
// ----------------------------------------------------------------------------
wxGenericPrintDialog::wxGenericPrintDialog(wxWindow *parent,
wxPrintDialogData* data)
- : wxPrintDialogBase(parent, wxID_ANY, _("Print"),
+ : wxPrintDialogBase(GetParentForModalDialog(parent),
+ wxID_ANY, _("Print"),
wxPoint(0,0), wxSize(600, 600),
wxDEFAULT_DIALOG_STYLE |
wxTAB_TRAVERSAL)
wxGenericPrintDialog::wxGenericPrintDialog(wxWindow *parent,
wxPrintData* data)
- : wxPrintDialogBase(parent, wxID_ANY, _("Print"),
+ : wxPrintDialogBase(GetParentForModalDialog(parent),
+ wxID_ANY, _("Print"),
wxPoint(0,0), wxSize(600, 600),
wxDEFAULT_DIALOG_STYLE |
wxTAB_TRAVERSAL)
if (factory->HasStatusLine())
{
flex->Add( new wxStaticText( this, wxID_ANY, _("Status:") ),
- 0, wxALIGN_CENTER_VERTICAL|wxALL-wxTOP, 5 );
+ 0, wxALIGN_CENTER_VERTICAL|(wxALL-wxTOP), 5 );
flex->Add( new wxStaticText( this, wxID_ANY, factory->CreateStatusLine() ),
- 0, wxALIGN_CENTER_VERTICAL|wxALL-wxTOP, 5 );
+ 0, wxALIGN_CENTER_VERTICAL|(wxALL-wxTOP), 5 );
}
mainsizer->Add( topsizer, 0, wxLEFT|wxTOP|wxRIGHT|wxGROW, 10 );
mainsizer->Add( bottomsizer, 0, wxTOP|wxLEFT|wxRIGHT, 12 );
-#if wxUSE_STATLINE
- // 4) static line
- mainsizer->Add( new wxStaticLine( this, wxID_ANY ), 0, wxEXPAND | wxLEFT|wxRIGHT|wxTOP, 10 );
-#endif
-
- // 5) buttons
+ // 4) buttons
- mainsizer->Add( CreateButtonSizer( wxOK|wxCANCEL), 0, wxEXPAND|wxALL, 10 );
+ wxSizer *sizerBtn = CreateSeparatedButtonSizer( wxOK|wxCANCEL);
+ if ( sizerBtn )
+ mainsizer->Add(sizerBtn, 0, wxEXPAND|wxALL, 10 );
SetAutoLayout( true );
SetSizer( mainsizer );
wxFileName fname( m_printDialogData.GetPrintData().GetFilename() );
wxFileDialog dialog( this, _("PostScript file"),
- fname.GetPath(), fname.GetFullName(), wxT("*.ps"), wxSAVE | wxOVERWRITE_PROMPT );
+ fname.GetPath(), fname.GetFullName(), wxT("*.ps"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
if (dialog.ShowModal() != wxID_OK) return;
m_printDialogData.GetPrintData().SetFilename( dialog.GetPath() );
if (m_printDialogData.GetToPage() > 0)
m_toText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetToPage()));
if(m_rangeRadioBox)
+ {
if (m_printDialogData.GetAllPages() || m_printDialogData.GetFromPage() == 0)
m_rangeRadioBox->SetSelection(0);
else
m_rangeRadioBox->SetSelection(1);
+ }
}
else
{
if (tmp != wxT("for"))
break; // the lpstat syntax must have changed.
tmp = tok.GetNextToken(); // "hp_deskjet930c:"
- if (tmp[tmp.Len()-1] == wxT(':'))
- tmp.Remove(tmp.Len()-1,1);
+ if (tmp[tmp.length()-1] == wxT(':'))
+ tmp.Remove(tmp.length()-1,1);
wxString name = tmp;
item.SetText( name );
item.SetId( m_printerListCtrl->InsertItem( item ) );
tmp = output2[0]; // "printer hp_deskjet930c is idle. enable since ..."
int pos = tmp.Find( wxT('.') );
if (pos != wxNOT_FOUND)
- tmp.Remove( (size_t)pos, tmp.Len()-(size_t)pos );
+ tmp.Remove( (size_t)pos, tmp.length()-(size_t)pos );
wxStringTokenizer tok2( tmp, wxT(" ") );
tmp = tok2.GetNextToken(); // "printer"
tmp = tok2.GetNextToken(); // "hp_deskjet930c"
void wxGenericPrintSetupDialog::OnPrinter(wxListEvent& event)
{
// Delete check mark
- long item;
- for (item = 0; item < m_printerListCtrl->GetItemCount(); item++)
+ for (long item = 0; item < m_printerListCtrl->GetItemCount(); item++)
m_printerListCtrl->SetItemImage( item, -1 );
m_printerListCtrl->SetItemImage( event.GetIndex(), 0 );
}
else
{
- wxString tmp = wxT("lpr -P");
- wxListItem item;
- item.SetColumn( 1 );
- item.SetMask( wxLIST_MASK_TEXT );
- item.SetId( event.GetIndex() );
- m_printerListCtrl->GetItem( item );
- tmp += item.GetText();
- m_printerCommandText->SetValue( tmp );
+ wxListItem li;
+ li.SetColumn( 1 );
+ li.SetMask( wxLIST_MASK_TEXT );
+ li.SetId( event.GetIndex() );
+ m_printerListCtrl->GetItem( li );
+ m_printerCommandText->SetValue( _T("lpr -P") + li.GetText() );
}
}
wxPostScriptPrintNativeData *data =
(wxPostScriptPrintNativeData *) m_printData.GetNativeData();
- if (m_printerCommandText && data->GetPrinterCommand())
+ if (m_printerCommandText && !data->GetPrinterCommand().empty())
m_printerCommandText->SetValue(data->GetPrinterCommand());
- if (m_printerOptionsText && data->GetPrinterOptions())
+ if (m_printerOptionsText && !data->GetPrinterOptions().empty())
m_printerOptionsText->SetValue(data->GetPrinterOptions());
if (m_colourCheckBox)
m_colourCheckBox->SetValue(m_printData.GetColour());
}
#endif
-