]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/richtext/richtextprint.h
Implement GetPageText for the OSX WebKit implementation.
[wxWidgets.git] / include / wx / richtext / richtextprint.h
index 69d1a43e2e28bd17773082f55c8b0141c85cc009..1ff6ef1533e5875f46ca43e58cdf2961280a99cc 100644 (file)
@@ -26,7 +26,7 @@
 enum wxRichTextOddEvenPage {
     wxRICHTEXT_PAGE_ODD,
     wxRICHTEXT_PAGE_EVEN,
-    wxRICHTEXT_PAGE_ALL,
+    wxRICHTEXT_PAGE_ALL
 };
 
 // Header/footer text locations
@@ -44,7 +44,7 @@ class WXDLLIMPEXP_RICHTEXT wxRichTextHeaderFooterData: public wxObject
 {
 public:
     wxRichTextHeaderFooterData() { Init(); }
-    wxRichTextHeaderFooterData(const wxRichTextHeaderFooterData& data) { Copy(data); }
+    wxRichTextHeaderFooterData(const wxRichTextHeaderFooterData& data): wxObject() { Copy(data); }
 
     /// Initialise
     void Init() { m_headerMargin = 20; m_footerMargin = 20; m_showOnFirstPage = true; }
@@ -107,7 +107,7 @@ private:
 class WXDLLIMPEXP_RICHTEXT wxRichTextPrintout : public wxPrintout
 {
 public:
-    wxRichTextPrintout(const wxString& title = wxT("Printout"));
+    wxRichTextPrintout(const wxString& title = _("Printout"));
     virtual ~wxRichTextPrintout();
 
     /// The buffer to print
@@ -119,7 +119,7 @@ public:
     const wxRichTextHeaderFooterData& GetHeaderFooterData() const { return m_headerFooterData; }
 
     /// 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);
 
     /// Calculate scaling and rectangles, setting the device context scaling
     void CalculateScaling(wxDC* dc, wxRect& textRect, wxRect& headerRect, wxRect& footerRect);
@@ -145,11 +145,12 @@ private:
     int                         m_numPages;
     wxArrayInt                  m_pageBreaksStart;
     wxArrayInt                  m_pageBreaksEnd;
+    wxArrayInt                  m_pageYOffsets;
     int                         m_marginLeft, m_marginTop, m_marginRight, m_marginBottom;
 
     wxRichTextHeaderFooterData  m_headerFooterData;
 
-    DECLARE_NO_COPY_CLASS(wxRichTextPrintout)
+    wxDECLARE_NO_COPY_CLASS(wxRichTextPrintout);
 };
 
 /*
@@ -160,7 +161,7 @@ private:
 class WXDLLIMPEXP_RICHTEXT wxRichTextPrinting : public wxObject
 {
 public:
-    wxRichTextPrinting(const wxString& name = wxT("Printing"), wxWindow *parentWindow = NULL);
+    wxRichTextPrinting(const wxString& name = _("Printing"), wxWindow *parentWindow = NULL);
     virtual ~wxRichTextPrinting();
 
     /// Preview the file or buffer
@@ -187,12 +188,22 @@ public:
     wxString GetFooterText(wxRichTextOddEvenPage page = wxRICHTEXT_PAGE_EVEN, wxRichTextPageLocation location = wxRICHTEXT_PAGE_CENTRE) const;
 
     /// Show header/footer on first page, or not
-    bool SetShowOnFirstPage(bool show) { m_headerFooterData.SetShowOnFirstPage(show); }
+    void SetShowOnFirstPage(bool show) { m_headerFooterData.SetShowOnFirstPage(show); }
+
+    /// Set the font
+    void SetHeaderFooterFont(const wxFont& font) { m_headerFooterData.SetFont(font); }
+
+    /// Set the colour
+    void SetHeaderFooterTextColour(const wxColour& font) { m_headerFooterData.SetTextColour(font); }
 
     /// Get print and page setup data
     wxPrintData *GetPrintData();
     wxPageSetupDialogData *GetPageSetupData() { return m_pageSetupData; }
 
+    /// Set print and page setup data
+    void SetPrintData(const wxPrintData& printData);
+    void SetPageSetupData(const wxPageSetupData& pageSetupData);
+
     /// Set the rich text buffer pointer, deleting the existing object if present
     void SetRichTextBufferPreview(wxRichTextBuffer* buf);
     wxRichTextBuffer* GetRichTextBufferPreview() const { return m_richTextBufferPreview; }
@@ -228,7 +239,7 @@ private:
     wxRichTextBuffer*           m_richTextBufferPrinting;
     wxRect                      m_previewRect;
 
-    DECLARE_NO_COPY_CLASS(wxRichTextPrinting)
+    wxDECLARE_NO_COPY_CLASS(wxRichTextPrinting);
 };
 
 #endif  // wxUSE_RICHTEXT & wxUSE_PRINTING_ARCHITECTURE