WPSPageSpan.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwps
3  * Version: MPL 2.0 / LGPLv2.1+
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * Major Contributor(s):
10  * Copyright (C) 2002 William Lachance (william.lachance@sympatico.ca)
11  * Copyright (C) 2002 Marc Maurer (uwog@uwog.net)
12  * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch)
13  *
14  * For minor contributions see the git repository.
15  *
16  * Alternatively, the contents of this file may be used under the terms
17  * of the GNU Lesser General Public License Version 2.1 or later
18  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
19  * applicable instead of those above.
20  *
21  * For further information visit http://libwps.sourceforge.net
22  */
23 
24 #ifndef WPSPAGESPAN_H
25 #define WPSPAGESPAN_H
26 #include <vector>
27 #include "libwps_internal.h"
28 
29 class WKSContentListener;
30 class WPSContentListener;
31 
32 namespace WPSPageSpanInternal
33 {
35 typedef shared_ptr<HeaderFooter> HeaderFooterPtr;
36 }
37 
39 {
40 public:
42 
45 
48  };
49 public:
50  WPSPageSpan();
51  virtual ~WPSPageSpan();
52 
53  double getFormLength() const
54  {
55  return m_formLength;
56  }
57  double getFormWidth() const
58  {
59  return m_formWidth;
60  }
62  {
63  return m_formOrientation;
64  }
65  double getMarginLeft() const
66  {
67  return m_marginLeft;
68  }
69  double getMarginRight() const
70  {
71  return m_marginRight;
72  }
73  double getMarginTop() const
74  {
75  return m_marginTop;
76  }
77  double getMarginBottom() const
78  {
79  return m_marginBottom;
80  }
82  {
83  return m_pageNumberPosition;
84  }
85  int getPageNumber() const
86  {
87  return m_pageNumber;
88  }
90  {
91  return m_pageNumberingType;
92  }
93  double getPageNumberingFontSize() const
94  {
96  }
97  librevenge::RVNGString getPageNumberingFontName() const
98  {
100  }
101  int getPageSpan() const
102  {
103  return m_pageSpan;
104  }
105  const std::vector<WPSPageSpanInternal::HeaderFooterPtr> &getHeaderFooterList() const
106  {
107  return m_headerFooterList;
108  }
109 
110  void setHeaderFooter(const HeaderFooterType type, const HeaderFooterOccurrence occurrence,
111  WPSSubDocumentPtr &subDocument);
112  void setFormLength(const double formLength)
113  {
114  m_formLength = formLength;
115  }
116  void setFormWidth(const double formWidth)
117  {
118  m_formWidth = formWidth;
119  }
120  void setFormOrientation(const FormOrientation formOrientation)
121  {
122  m_formOrientation = formOrientation;
123  }
124  void setMarginLeft(const double marginLeft)
125  {
126  m_marginLeft = marginLeft;
127  }
128  void setMarginRight(const double marginRight)
129  {
130  m_marginRight = marginRight;
131  }
132  void setMarginTop(const double marginTop)
133  {
134  m_marginTop = marginTop;
135  }
136  void setMarginBottom(const double marginBottom)
137  {
138  m_marginBottom = marginBottom;
139  }
140  void setPageNumberPosition(const PageNumberPosition pageNumberPosition)
141  {
142  m_pageNumberPosition = pageNumberPosition;
143  }
144  void setPageNumber(const int pageNumber)
145  {
146  m_pageNumber = pageNumber;
147  }
148  void setPageNumberingType(const libwps::NumberingType pageNumberingType)
149  {
150  m_pageNumberingType = pageNumberingType;
151  }
152  void setPageNumberingFontSize(const double pageNumberingFontSize)
153  {
154  m_pageNumberingFontSize = pageNumberingFontSize;
155  }
156  void setPageNumberingFontName(const librevenge::RVNGString &pageNumberingFontName)
157  {
158  m_pageNumberingFontName = pageNumberingFontName;
159  }
160  void setPageSpan(const int pageSpan)
161  {
162  m_pageSpan = pageSpan;
163  }
164 
165  bool operator==(shared_ptr<WPSPageSpan> const &pageSpan) const;
166  bool operator!=(shared_ptr<WPSPageSpan> const &pageSpan) const
167  {
168  return !operator==(pageSpan);
169  }
170 
171  // interface with the listeners
172  void getPageProperty(librevenge::RVNGPropertyList &pList) const;
173  void sendHeaderFooters(WPSContentListener *listener, librevenge::RVNGTextInterface *documentInterface);
174  void sendHeaderFooters(WKSContentListener *listener, librevenge::RVNGSpreadsheetInterface *documentInterface);
175 
176 protected:
177 
182 
183  void _insertPageNumberParagraph(librevenge::RVNGTextInterface *documentInterface);
184 private:
192  librevenge::RVNGString m_pageNumberingFontName;
194  std::vector<WPSPageSpanInternal::HeaderFooterPtr> m_headerFooterList;
195 
197 };
198 
199 #endif
200 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
virtual ~WPSPageSpan()
Definition: WPSPageSpan.cpp:105
double m_formLength
Definition: WPSPageSpan.h:185
librevenge::RVNGString getPageNumberingFontName() const
Definition: WPSPageSpan.h:97
bool operator!=(shared_ptr< WPSPageSpan > const &pageSpan) const
Definition: WPSPageSpan.h:166
Definition: WPSPageSpan.h:47
Definition: WPSPageSpan.h:46
void setMarginRight(const double marginRight)
Definition: WPSPageSpan.h:128
Definition: WPSPageSpan.h:41
WPSPageSpan()
Definition: WPSPageSpan.cpp:87
PageNumberPosition
Definition: WPSPageSpan.h:46
shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:104
double getFormLength() const
Definition: WPSPageSpan.h:53
int getPageSpan() const
Definition: WPSPageSpan.h:101
double getMarginTop() const
Definition: WPSPageSpan.h:73
int getPageNumber() const
Definition: WPSPageSpan.h:85
double getFormWidth() const
Definition: WPSPageSpan.h:57
int m_pageNumber
Definition: WPSPageSpan.h:190
double m_pageNumberingFontSize
Definition: WPSPageSpan.h:193
Definition: WPSPageSpan.h:44
Definition: WPSPageSpan.h:43
double getMarginBottom() const
Definition: WPSPageSpan.h:77
Definition: WPSContentListener.h:44
double getMarginRight() const
Definition: WPSPageSpan.h:69
shared_ptr< HeaderFooter > HeaderFooterPtr
Definition: WPSPageSpan.h:34
const std::vector< WPSPageSpanInternal::HeaderFooterPtr > & getHeaderFooterList() const
Definition: WPSPageSpan.h:105
Definition: WPSPageSpan.h:46
void setPageNumberingFontSize(const double pageNumberingFontSize)
Definition: WPSPageSpan.h:152
void setPageNumberingType(const libwps::NumberingType pageNumberingType)
Definition: WPSPageSpan.h:148
void setFormWidth(const double formWidth)
Definition: WPSPageSpan.h:116
Definition: WPSPageSpan.h:43
void setPageNumberPosition(const PageNumberPosition pageNumberPosition)
Definition: WPSPageSpan.h:140
std::vector< WPSPageSpanInternal::HeaderFooterPtr > m_headerFooterList
Definition: WPSPageSpan.h:194
double getPageNumberingFontSize() const
Definition: WPSPageSpan.h:93
Definition: WPSPageSpan.cpp:36
void getPageProperty(librevenge::RVNGPropertyList &pList) const
Definition: WPSPageSpan.cpp:274
Definition: WPSPageSpan.h:44
Definition: WPSPageSpan.h:47
double m_marginLeft
Definition: WPSPageSpan.h:187
void setHeaderFooter(const HeaderFooterType type, const HeaderFooterOccurrence occurrence, WPSSubDocumentPtr &subDocument)
Definition: WPSPageSpan.cpp:109
PageNumberPosition getPageNumberPosition() const
Definition: WPSPageSpan.h:81
FormOrientation getFormOrientation() const
Definition: WPSPageSpan.h:61
void setPageNumber(const int pageNumber)
Definition: WPSPageSpan.h:144
FormOrientation
Definition: WPSPageSpan.h:41
PageNumberPosition m_pageNumberPosition
Definition: WPSPageSpan.h:189
void setMarginBottom(const double marginBottom)
Definition: WPSPageSpan.h:136
librevenge::RVNGString m_pageNumberingFontName
Definition: WPSPageSpan.h:192
int _getHeaderFooterPosition(HeaderFooterType type, HeaderFooterOccurrence occurrence)
Definition: WPSPageSpan.cpp:423
void setMarginTop(const double marginTop)
Definition: WPSPageSpan.h:132
int m_pageSpan
Definition: WPSPageSpan.h:196
bool _containsHeaderFooter(HeaderFooterType type, HeaderFooterOccurrence occurrence)
Definition: WPSPageSpan.cpp:415
Definition: WPSPageSpan.h:47
NumberingType
Definition: libwps_internal.h:254
HeaderFooterOccurrence
Definition: WPSPageSpan.h:44
void setFormOrientation(const FormOrientation formOrientation)
Definition: WPSPageSpan.h:120
void setPageNumberingFontName(const librevenge::RVNGString &pageNumberingFontName)
Definition: WPSPageSpan.h:156
Definition: WPSPageSpan.h:47
HeaderFooterType
Definition: WPSPageSpan.h:43
Definition: WPSPageSpan.h:46
Definition: WPSPageSpan.h:44
libwps::NumberingType getPageNumberingType() const
Definition: WPSPageSpan.h:89
double m_marginRight
Definition: WPSPageSpan.h:187
Definition: WPSPageSpan.h:46
Definition: WPSPageSpan.h:46
void _insertPageNumberParagraph(librevenge::RVNGTextInterface *documentInterface)
Definition: WPSPageSpan.cpp:350
void setMarginLeft(const double marginLeft)
Definition: WPSPageSpan.h:124
void setFormLength(const double formLength)
Definition: WPSPageSpan.h:112
Definition: WPSPageSpan.h:38
Definition: WPSPageSpan.h:46
void _setHeaderFooter(HeaderFooterType type, HeaderFooterOccurrence occurrence, WPSSubDocumentPtr &doc)
Definition: WPSPageSpan.cpp:399
void sendHeaderFooters(WPSContentListener *listener, librevenge::RVNGTextInterface *documentInterface)
Definition: WPSPageSpan.cpp:151
double m_formWidth
Definition: WPSPageSpan.h:185
double m_marginTop
Definition: WPSPageSpan.h:188
Definition: WPSPageSpan.h:41
Definition: WPSPageSpan.h:47
void _removeHeaderFooter(HeaderFooterType type, HeaderFooterOccurrence occurrence)
Definition: WPSPageSpan.cpp:408
Definition: WPSPageSpan.cpp:33
FormOrientation m_formOrientation
Definition: WPSPageSpan.h:186
bool operator==(shared_ptr< WPSPageSpan > const &pageSpan) const
Definition: WPSPageSpan.cpp:291
Definition: WKSContentListener.h:47
double getMarginLeft() const
Definition: WPSPageSpan.h:65
double m_marginBottom
Definition: WPSPageSpan.h:188
libwps::NumberingType m_pageNumberingType
Definition: WPSPageSpan.h:191
Definition: WPSPageSpan.h:44
void setPageSpan(const int pageSpan)
Definition: WPSPageSpan.h:160

Generated on Thu Oct 9 2014 14:30:04 for libwps by doxygen 1.8.8