]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/richtext/richtextprint.h
avoid GTK+ prefixes for our tree entry code, it is not part of GTK+, should have...
[wxWidgets.git] / interface / wx / richtext / richtextprint.h
index b47311c78f05ba8fadda42c5abe431603393115c..5a756e5028d75bdf13823a51708e4de39c26c842 100644 (file)
@@ -3,31 +3,54 @@
 // Purpose:     interface of wxRichTextHeaderFooterData
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // 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
 /**
     @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
 
     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.
 
     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}
 
     @library{wxrichtext}
     @category{richtext}
@@ -56,7 +79,7 @@ public:
     /**
         Returns the font specified for printing the header and footer.
     */
     /**
         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.
 
     /**
         Returns the margin between the text and the footer.
@@ -97,7 +120,7 @@ public:
     /**
         Returns the text colour for drawing the header and footer.
     */
     /**
         Returns the text colour for drawing the header and footer.
     */
-    const wxColour GetTextColour() const;
+    const wxColour& GetTextColour() const;
 
     /**
         Initialises the object.
 
     /**
         Initialises the object.
@@ -159,9 +182,8 @@ public:
 /**
     @class wxRichTextPrintout
 
 /**
     @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}
 
     @library{wxrichtext}
     @category{richtext}
@@ -170,10 +192,9 @@ class wxRichTextPrintout : public wxPrintout
 {
 public:
     /**
 {
 public:
     /**
-        )
         Constructor.
     */
         Constructor.
     */
-    wxRichTextPrintout();
+    wxRichTextPrintout(const wxString& title = "Printout");
 
     /**
         Calculates scaling and text, header and footer rectangles.
 
     /**
         Calculates scaling and text, header and footer rectangles.
@@ -185,13 +206,13 @@ public:
     /**
         Returns the header and footer data associated with the printout.
     */
     /**
         Returns the header and footer data associated with the printout.
     */
-    const wxRichTextHeaderFooterData GetHeaderFooterData() const;
+    const wxRichTextHeaderFooterData& GetHeaderFooterData() const;
 
     /**
         Gets the page information.
     */
 
     /**
         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.
 
     /**
         Returns a pointer to the buffer being rendered.
@@ -201,17 +222,17 @@ public:
     /**
         Returns @true if the given page exists in the printout.
     */
     /**
         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.
     */
 
     /**
         Prepares for printing, laying out the buffer and calculating pagination.
     */
-    void OnPreparePrinting();
+    virtual void OnPreparePrinting();
 
     /**
         Does the actual printing for this page.
     */
 
     /**
         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.
 
     /**
         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.
     */
     /**
         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);
 };
     */
     void SetRichTextBuffer(wxRichTextBuffer* buffer);
 };
@@ -247,16 +267,17 @@ class wxRichTextPrinting : public wxObject
 {
 public:
     /**
 {
 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;
     */
     wxString GetFooterText(wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_EVEN,
                            wxRichTextPageLocation location = wxRICHTEXT_PAGE_CENTRE) const;
@@ -264,11 +285,11 @@ public:
     /**
         Returns the internal wxRichTextHeaderFooterData object.
     */
     /**
         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;
     */
     wxString GetHeaderText(wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_EVEN,
                            wxRichTextPageLocation location = wxRICHTEXT_PAGE_CENTRE) const;
@@ -279,15 +300,15 @@ public:
     wxPageSetupDialogData* GetPageSetupData();
 
     /**
     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.
     */
     */
     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.
 
     /**
         Returns a pointer to the internal print data.
@@ -297,7 +318,7 @@ public:
     /**
         Returns the title of the preview window or printing wait caption.
     */
     /**
         Returns the title of the preview window or printing wait caption.
     */
-    const wxString GetTitle() const;
+    const wxString& GetTitle() const;
 
     /**
         Shows the page setup dialog.
 
     /**
         Shows the page setup dialog.
@@ -305,33 +326,35 @@ public:
     void PageSetup();
 
     /**
     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);
 
     /**
     */
     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);
 
     /**
         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,
     */
     void SetFooterText(const wxString& text,
                        wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_ALL,
@@ -353,8 +376,8 @@ public:
     void SetHeaderFooterTextColour(const wxColour& colour);
 
     /**
     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,
     */
     void SetHeaderText(const wxString& text,
                        wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_ALL,
@@ -363,11 +386,11 @@ public:
     /**
         Sets the page setup data.
     */
     /**
         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);
 
     */
     void SetParentWindow(wxWindow* parent);