Added a parameter to PrintBuffer and PrintFile to allow silent or prompted printing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2012-03-18 23:25:39 +00:00
parent 27abbc9dd2
commit 148d83b59f
3 changed files with 14 additions and 12 deletions

View File

@@ -169,8 +169,8 @@ public:
bool PreviewBuffer(const wxRichTextBuffer& buffer); bool PreviewBuffer(const wxRichTextBuffer& buffer);
/// Print the file or buffer /// Print the file or buffer
bool PrintFile(const wxString& richTextFile); bool PrintFile(const wxString& richTextFile, bool showPrintDialog = true);
bool PrintBuffer(const wxRichTextBuffer& buffer); bool PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog = true);
/// Shows page setup dialog /// Shows page setup dialog
void PageSetup(); void PageSetup();
@@ -226,7 +226,7 @@ public:
protected: protected:
virtual wxRichTextPrintout *CreatePrintout(); virtual wxRichTextPrintout *CreatePrintout();
virtual bool DoPreview(wxRichTextPrintout *printout1, wxRichTextPrintout *printout2); virtual bool DoPreview(wxRichTextPrintout *printout1, wxRichTextPrintout *printout2);
virtual bool DoPrint(wxRichTextPrintout *printout); virtual bool DoPrint(wxRichTextPrintout *printout, bool showPrintDialog);
private: private:
wxPrintData* m_printData; wxPrintData* m_printData;

View File

@@ -341,14 +341,16 @@ public:
/** /**
Prints the given buffer. The function takes its own copy of @a buffer. Prints the given buffer. The function takes its own copy of @a buffer.
@showPrintDialog can be @true to show the print dialog, or @false to print quietly.
*/ */
bool PrintBuffer(const wxRichTextBuffer& buffer); bool PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog = true);
/** /**
Prints the given file. @a richTextFile can be a text file or XML file, Prints the given file. @a richTextFile can be a text file or XML file,
or other file depending on the available file handlers. or other file depending on the available file handlers. @showPrintDialog
can be @true to show the print dialog, or @false to print quietly.
*/ */
bool PrintFile(const wxString& richTextFile); bool PrintFile(const wxString& richTextFile, bool showPrintDialog = true);
/** /**
A convenience function to set the footer text. A convenience function to set the footer text.

View File

@@ -537,7 +537,7 @@ bool wxRichTextPrinting::PreviewBuffer(const wxRichTextBuffer& buffer)
return DoPreview(p1, p2); return DoPreview(p1, p2);
} }
bool wxRichTextPrinting::PrintFile(const wxString& richTextFile) bool wxRichTextPrinting::PrintFile(const wxString& richTextFile, bool showPrintDialog)
{ {
SetRichTextBufferPrinting(new wxRichTextBuffer); SetRichTextBufferPrinting(new wxRichTextBuffer);
@@ -550,19 +550,19 @@ bool wxRichTextPrinting::PrintFile(const wxString& richTextFile)
wxRichTextPrintout *p = CreatePrintout(); wxRichTextPrintout *p = CreatePrintout();
p->SetRichTextBuffer(m_richTextBufferPrinting); p->SetRichTextBuffer(m_richTextBufferPrinting);
bool ret = DoPrint(p); bool ret = DoPrint(p, showPrintDialog);
delete p; delete p;
return ret; return ret;
} }
bool wxRichTextPrinting::PrintBuffer(const wxRichTextBuffer& buffer) bool wxRichTextPrinting::PrintBuffer(const wxRichTextBuffer& buffer, bool showPrintDialog)
{ {
SetRichTextBufferPrinting(new wxRichTextBuffer(buffer)); SetRichTextBufferPrinting(new wxRichTextBuffer(buffer));
wxRichTextPrintout *p = CreatePrintout(); wxRichTextPrintout *p = CreatePrintout();
p->SetRichTextBuffer(m_richTextBufferPrinting); p->SetRichTextBuffer(m_richTextBufferPrinting);
bool ret = DoPrint(p); bool ret = DoPrint(p, showPrintDialog);
delete p; delete p;
return ret; return ret;
} }
@@ -587,12 +587,12 @@ bool wxRichTextPrinting::DoPreview(wxRichTextPrintout *printout1, wxRichTextPrin
return true; return true;
} }
bool wxRichTextPrinting::DoPrint(wxRichTextPrintout *printout) bool wxRichTextPrinting::DoPrint(wxRichTextPrintout *printout, bool showPrintDialog)
{ {
wxPrintDialogData printDialogData(*GetPrintData()); wxPrintDialogData printDialogData(*GetPrintData());
wxPrinter printer(&printDialogData); wxPrinter printer(&printDialogData);
if (!printer.Print(m_parentWindow, printout, true)) if (!printer.Print(m_parentWindow, printout, showPrintDialog))
{ {
return false; return false;
} }