X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f663107ff159d56404c5a0a84170a4a85fffd1a..633e19307ce18ce24837db616feb9dda848056dd:/interface/wx/richtext/richtextprint.h diff --git a/interface/wx/richtext/richtextprint.h b/interface/wx/richtext/richtextprint.h index b47311c78f..5a756e5028 100644 --- a/interface/wx/richtext/richtextprint.h +++ b/interface/wx/richtext/richtextprint.h @@ -3,31 +3,54 @@ // Purpose: interface of wxRichTextHeaderFooterData // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// + +/** + These are the header and footer page identifiers, passed to functions such + as wxRichTextHeaderFooterData::SetFooterText to specify the odd or even page + for the text. +*/ +enum wxRichTextOddEvenPage { + wxRICHTEXT_PAGE_ODD, + wxRICHTEXT_PAGE_EVEN, + wxRICHTEXT_PAGE_ALL, +}; + + +/** + These are the location identifiers for passing to functions such as + wxRichTextHeaderFooterData::SetFooterText(), to specify whether the text + is on the left, centre or right of the page. +*/ +enum wxRichTextPageLocation { + wxRICHTEXT_PAGE_LEFT, + wxRICHTEXT_PAGE_CENTRE, + wxRICHTEXT_PAGE_RIGHT +}; + + /** @class wxRichTextHeaderFooterData This class represents header and footer data to be passed to the - wxRichTextPrinting and - wxRichTextPrintout classes. + wxRichTextPrinting and wxRichTextPrintout classes. Headers and footers can be specified independently for odd, even or both page - sides. Different text can be specified - for left, centre and right locations on the page, and the font and text colour - can also - be specified. You can specify the following keywords in header and footer text, - which will + sides. Different text can be specified for left, centre and right locations + on the page, and the font and text colour can also be specified. + + You can specify the following keywords in header and footer text, which will be substituted for the actual values during printing and preview. - @@DATE@: the current date. - @@PAGESCNT@: the total number of pages. - @@PAGENUM@: the current page number. - @@TIME@: the current time. - @@TITLE@: the title of the document, as passed to the wxRichTextPrinting or - wxRichTextLayout constructor. + - @@DATE@: the current date. + - @@PAGESCNT@: the total number of pages. + - @@PAGENUM@: the current page number. + - @@TIME@: the current time. + - @@TITLE@: the title of the document, as passed to the wxRichTextPrinting or + wxRichTextLayout constructor. @library{wxrichtext} @category{richtext} @@ -56,7 +79,7 @@ public: /** Returns the font specified for printing the header and footer. */ - const wxFont GetFont() const; + const wxFont& GetFont() const; /** Returns the margin between the text and the footer. @@ -97,7 +120,7 @@ public: /** Returns the text colour for drawing the header and footer. */ - const wxColour GetTextColour() const; + const wxColour& GetTextColour() const; /** Initialises the object. @@ -159,9 +182,8 @@ public: /** @class wxRichTextPrintout - This class implements print layout for wxRichTextBuffer. Instead of using it - directly, you - should normally use the wxRichTextPrinting class. + This class implements print layout for wxRichTextBuffer. + Instead of using it directly, you should normally use the wxRichTextPrinting class. @library{wxrichtext} @category{richtext} @@ -170,10 +192,9 @@ class wxRichTextPrintout : public wxPrintout { public: /** - ) Constructor. */ - wxRichTextPrintout(); + wxRichTextPrintout(const wxString& title = "Printout"); /** Calculates scaling and text, header and footer rectangles. @@ -185,13 +206,13 @@ public: /** Returns the header and footer data associated with the printout. */ - const wxRichTextHeaderFooterData GetHeaderFooterData() const; + const wxRichTextHeaderFooterData& GetHeaderFooterData() const; /** Gets the page information. */ - void GetPageInfo(int* minPage, int* maxPage, int* selPageFrom, - int* selPageTo); + virtual void GetPageInfo(int* minPage, int* maxPage, int* selPageFrom, + int* selPageTo); /** Returns a pointer to the buffer being rendered. @@ -201,17 +222,17 @@ public: /** Returns @true if the given page exists in the printout. */ - bool HasPage(int page); + virtual bool HasPage(int page); /** Prepares for printing, laying out the buffer and calculating pagination. */ - void OnPreparePrinting(); + virtual void OnPreparePrinting(); /** Does the actual printing for this page. */ - bool OnPrintPage(int page); + virtual bool OnPrintPage(int page); /** Sets the header and footer data associated with the printout. @@ -221,13 +242,12 @@ public: /** Sets margins in 10ths of millimetre. Defaults to 1 inch for margins. */ - void SetMargins(int top = 252, int bottom = 252, int left = 252, - int right = 252); + void SetMargins(int top = 254, int bottom = 254, int left = 254, + int right = 254); /** - Sets the buffer to print. wxRichTextPrintout does not manage this pointer; it - should - be managed by the calling code, such as wxRichTextPrinting. + Sets the buffer to print. wxRichTextPrintout does not manage this pointer; + it should be managed by the calling code, such as wxRichTextPrinting. */ void SetRichTextBuffer(wxRichTextBuffer* buffer); }; @@ -247,16 +267,17 @@ class wxRichTextPrinting : public wxObject { public: /** - , @b wxWindow*@e parentWindow = @NULL) - Constructor. Optionally pass a title to be used in the preview frame and - printing wait dialog, and - also a parent window for these windows. + Constructor. + + Optionally pass a title to be used in the preview frame and printing wait + dialog, and also a parent window for these windows. */ - wxRichTextPrinting(); + wxRichTextPrinting(const wxString& name = "Printing", + wxWindow* parentWindow = NULL); /** - A convenience function to get the footer text. See wxRichTextHeaderFooterData - for details. + A convenience function to get the footer text. + See wxRichTextHeaderFooterData for details. */ wxString GetFooterText(wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_EVEN, wxRichTextPageLocation location = wxRICHTEXT_PAGE_CENTRE) const; @@ -264,11 +285,11 @@ public: /** Returns the internal wxRichTextHeaderFooterData object. */ - const wxRichTextHeaderFooterData GetHeaderFooterData() const; + const wxRichTextHeaderFooterData& GetHeaderFooterData() const; /** - A convenience function to get the header text. See wxRichTextHeaderFooterData - for details. + A convenience function to get the header text. + See wxRichTextHeaderFooterData for details. */ wxString GetHeaderText(wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_EVEN, wxRichTextPageLocation location = wxRICHTEXT_PAGE_CENTRE) const; @@ -279,15 +300,15 @@ public: wxPageSetupDialogData* GetPageSetupData(); /** - Returns the parent window to be used for the preview window and printing wait - dialog. + Returns the parent window to be used for the preview window and printing + wait dialog. */ wxWindow* GetParentWindow() const; /** Returns the dimensions to be used for the preview window. */ - const wxRect GetPreviewRect() const; + const wxRect& GetPreviewRect() const; /** Returns a pointer to the internal print data. @@ -297,7 +318,7 @@ public: /** Returns the title of the preview window or printing wait caption. */ - const wxString GetTitle() const; + const wxString& GetTitle() const; /** Shows the page setup dialog. @@ -305,33 +326,35 @@ public: void PageSetup(); /** - Shows a preview window for the given buffer. The function takes its own copy of - @e buffer. + Shows a preview window for the given buffer. + The function takes its own copy of @a buffer. */ bool PreviewBuffer(const wxRichTextBuffer& buffer); /** - Shows a preview window for the given file. @a richTextFile can be a text file - or XML file, or other file + Shows a preview window for the given file. + + @a richTextFile can be a text file or XML file, or other file depending on the available file handlers. */ bool PreviewFile(const wxString& richTextFile); /** - Prints the given buffer. The function takes its own copy of @e 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, or other - file - depending on the available file handlers. + Prints the given file. @a richTextFile can be a text file or XML file, + 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. See wxRichTextHeaderFooterData - for details. + A convenience function to set the footer text. + See wxRichTextHeaderFooterData for details. */ void SetFooterText(const wxString& text, wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_ALL, @@ -353,8 +376,8 @@ public: void SetHeaderFooterTextColour(const wxColour& colour); /** - A convenience function to set the header text. See wxRichTextHeaderFooterData - for details. + A convenience function to set the header text. + See wxRichTextHeaderFooterData for details. */ void SetHeaderText(const wxString& text, wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_ALL, @@ -363,11 +386,11 @@ public: /** Sets the page setup data. */ - void SetPageSetupData(const wxPageSetupData& pageSetupData); + void SetPageSetupData(const wxPageSetupDialogData& pageSetupData); /** - Sets the parent window to be used for the preview window and printing wait - dialog. + Sets the parent window to be used for the preview window and printing + wait dialog. */ void SetParentWindow(wxWindow* parent);