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 {
34 class HeaderFooter;
35 typedef std::shared_ptr<HeaderFooter> HeaderFooterPtr;
36 }
37 
39 {
40 public:
42 
45 
48  };
49 public:
51  WPSPageSpan();
52  WPSPageSpan(WPSPageSpan const &)=default;
53  WPSPageSpan(WPSPageSpan &&)=default;
54  WPSPageSpan &operator=(WPSPageSpan const &)=default;
57  ~WPSPageSpan();
58 
59  double getFormLength() const
60  {
61  return m_formLength;
62  }
63  double getFormWidth() const
64  {
65  return m_formWidth;
66  }
68  {
69  return m_formOrientation;
70  }
71  double getMarginLeft() const
72  {
73  return m_marginLeft;
74  }
75  double getMarginRight() const
76  {
77  return m_marginRight;
78  }
79  double getMarginTop() const
80  {
81  return m_marginTop;
82  }
83  double getMarginBottom() const
84  {
85  return m_marginBottom;
86  }
88  {
89  return m_pageNumberPosition;
90  }
91  int getPageNumber() const
92  {
93  return m_pageNumber;
94  }
96  {
97  return m_pageNumberingType;
98  }
99  double getPageNumberingFontSize() const
100  {
102  }
103  librevenge::RVNGString getPageNumberingFontName() const
104  {
106  }
107  int getPageSpan() const
108  {
109  return m_pageSpan;
110  }
111  const std::vector<WPSPageSpanInternal::HeaderFooterPtr> &getHeaderFooterList() const
112  {
113  return m_headerFooterList;
114  }
115 
116  void setHeaderFooter(const HeaderFooterType type, const HeaderFooterOccurrence occurrence,
117  WPSSubDocumentPtr &subDocument);
118  void setFormLength(const double formLength)
119  {
120  m_formLength = formLength;
121  }
122  void setFormWidth(const double formWidth)
123  {
124  m_formWidth = formWidth;
125  }
126  void setFormOrientation(const FormOrientation formOrientation)
127  {
128  m_formOrientation = formOrientation;
129  }
130  void setMarginLeft(const double marginLeft)
131  {
132  m_marginLeft = marginLeft;
133  }
134  void setMarginRight(const double marginRight)
135  {
136  m_marginRight = marginRight;
137  }
138  void setMarginTop(const double marginTop)
139  {
140  m_marginTop = marginTop;
141  }
142  void setMarginBottom(const double marginBottom)
143  {
144  m_marginBottom = marginBottom;
145  }
146  void setPageNumberPosition(const PageNumberPosition pageNumberPosition)
147  {
148  m_pageNumberPosition = pageNumberPosition;
149  }
150  void setPageNumber(const int pageNumber)
151  {
152  m_pageNumber = pageNumber;
153  }
154  void setPageNumberingType(const libwps::NumberingType pageNumberingType)
155  {
156  m_pageNumberingType = pageNumberingType;
157  }
158  void setPageNumberingFontSize(const double pageNumberingFontSize)
159  {
160  m_pageNumberingFontSize = pageNumberingFontSize;
161  }
162  void setPageNumberingFontName(const librevenge::RVNGString &pageNumberingFontName)
163  {
164  m_pageNumberingFontName = pageNumberingFontName;
165  }
166  void setPageSpan(const int pageSpan)
167  {
168  m_pageSpan = pageSpan;
169  }
170 
171  bool operator==(std::shared_ptr<WPSPageSpan> const &pageSpan) const;
172  bool operator!=(std::shared_ptr<WPSPageSpan> const &pageSpan) const
173  {
174  return !operator==(pageSpan);
175  }
176 
177  // interface with the listeners
178  void getPageProperty(librevenge::RVNGPropertyList &pList) const;
179  void sendHeaderFooters(WPSContentListener *listener, librevenge::RVNGTextInterface *documentInterface);
180  void sendHeaderFooters(WKSContentListener *listener, librevenge::RVNGSpreadsheetInterface *documentInterface);
181 
182 protected:
183 
188 
189  void _insertPageNumberParagraph(librevenge::RVNGTextInterface *documentInterface);
190 private:
198  librevenge::RVNGString m_pageNumberingFontName;
200  std::vector<WPSPageSpanInternal::HeaderFooterPtr> m_headerFooterList;
201 
203 };
204 
205 #endif
206 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
Definition: WKSContentListener.h:54
Definition: WPSContentListener.h:45
Definition: WPSPageSpan.h:39
double m_marginRight
Definition: WPSPageSpan.h:193
double getPageNumberingFontSize() const
Definition: WPSPageSpan.h:99
void _setHeaderFooter(HeaderFooterType type, HeaderFooterOccurrence occurrence, WPSSubDocumentPtr &doc)
Definition: WPSPageSpan.cpp:407
PageNumberPosition m_pageNumberPosition
Definition: WPSPageSpan.h:195
double getMarginLeft() const
Definition: WPSPageSpan.h:71
HeaderFooterType
Definition: WPSPageSpan.h:43
@ FOOTER
Definition: WPSPageSpan.h:43
@ HEADER
Definition: WPSPageSpan.h:43
int m_pageSpan
Definition: WPSPageSpan.h:202
void setFormLength(const double formLength)
Definition: WPSPageSpan.h:118
librevenge::RVNGString getPageNumberingFontName() const
Definition: WPSPageSpan.h:103
void setFormWidth(const double formWidth)
Definition: WPSPageSpan.h:122
FormOrientation getFormOrientation() const
Definition: WPSPageSpan.h:67
void getPageProperty(librevenge::RVNGPropertyList &pList) const
Definition: WPSPageSpan.cpp:282
WPSPageSpan & operator=(WPSPageSpan &&)=default
double m_pageNumberingFontSize
Definition: WPSPageSpan.h:199
double getFormWidth() const
Definition: WPSPageSpan.h:63
HeaderFooterOccurrence
Definition: WPSPageSpan.h:44
@ EVEN
Definition: WPSPageSpan.h:44
@ FIRST
Definition: WPSPageSpan.h:44
@ NEVER
Definition: WPSPageSpan.h:44
@ ODD
Definition: WPSPageSpan.h:44
@ ALL
Definition: WPSPageSpan.h:44
void sendHeaderFooters(WPSContentListener *listener, librevenge::RVNGTextInterface *documentInterface)
Definition: WPSPageSpan.cpp:155
FormOrientation
Definition: WPSPageSpan.h:41
@ LANDSCAPE
Definition: WPSPageSpan.h:41
@ PORTRAIT
Definition: WPSPageSpan.h:41
void _removeHeaderFooter(HeaderFooterType type, HeaderFooterOccurrence occurrence)
Definition: WPSPageSpan.cpp:416
void setMarginTop(const double marginTop)
Definition: WPSPageSpan.h:138
int getPageNumber() const
Definition: WPSPageSpan.h:91
void setPageNumberingFontName(const librevenge::RVNGString &pageNumberingFontName)
Definition: WPSPageSpan.h:162
std::vector< WPSPageSpanInternal::HeaderFooterPtr > m_headerFooterList
Definition: WPSPageSpan.h:200
~WPSPageSpan()
destructor
Definition: WPSPageSpan.cpp:107
double m_marginBottom
Definition: WPSPageSpan.h:194
PageNumberPosition
Definition: WPSPageSpan.h:46
@ TopRight
Definition: WPSPageSpan.h:46
@ BottomLeftAndRight
Definition: WPSPageSpan.h:47
@ TopInsideLeftAndRight
Definition: WPSPageSpan.h:46
@ TopLeft
Definition: WPSPageSpan.h:46
@ BottomInsideLeftAndRight
Definition: WPSPageSpan.h:47
@ BottomCenter
Definition: WPSPageSpan.h:47
@ TopLeftAndRight
Definition: WPSPageSpan.h:46
@ BottomLeft
Definition: WPSPageSpan.h:47
@ TopCenter
Definition: WPSPageSpan.h:46
@ BottomRight
Definition: WPSPageSpan.h:47
@ None
Definition: WPSPageSpan.h:46
double m_formLength
Definition: WPSPageSpan.h:191
void setMarginBottom(const double marginBottom)
Definition: WPSPageSpan.h:142
PageNumberPosition getPageNumberPosition() const
Definition: WPSPageSpan.h:87
int _getHeaderFooterPosition(HeaderFooterType type, HeaderFooterOccurrence occurrence)
Definition: WPSPageSpan.cpp:431
bool operator!=(std::shared_ptr< WPSPageSpan > const &pageSpan) const
Definition: WPSPageSpan.h:172
librevenge::RVNGString m_pageNumberingFontName
Definition: WPSPageSpan.h:198
double getMarginTop() const
Definition: WPSPageSpan.h:79
void setHeaderFooter(const HeaderFooterType type, const HeaderFooterOccurrence occurrence, WPSSubDocumentPtr &subDocument)
Definition: WPSPageSpan.cpp:111
bool _containsHeaderFooter(HeaderFooterType type, HeaderFooterOccurrence occurrence)
Definition: WPSPageSpan.cpp:423
void setPageNumberingType(const libwps::NumberingType pageNumberingType)
Definition: WPSPageSpan.h:154
WPSPageSpan(WPSPageSpan &&)=default
FormOrientation m_formOrientation
Definition: WPSPageSpan.h:192
void setMarginLeft(const double marginLeft)
Definition: WPSPageSpan.h:130
void setPageNumber(const int pageNumber)
Definition: WPSPageSpan.h:150
int m_pageNumber
Definition: WPSPageSpan.h:196
double getFormLength() const
Definition: WPSPageSpan.h:59
double m_marginTop
Definition: WPSPageSpan.h:194
double getMarginBottom() const
Definition: WPSPageSpan.h:83
void setPageSpan(const int pageSpan)
Definition: WPSPageSpan.h:166
WPSPageSpan & operator=(WPSPageSpan const &)=default
void setPageNumberPosition(const PageNumberPosition pageNumberPosition)
Definition: WPSPageSpan.h:146
int getPageSpan() const
Definition: WPSPageSpan.h:107
void setFormOrientation(const FormOrientation formOrientation)
Definition: WPSPageSpan.h:126
double getMarginRight() const
Definition: WPSPageSpan.h:75
double m_formWidth
Definition: WPSPageSpan.h:191
WPSPageSpan()
constructor
Definition: WPSPageSpan.cpp:89
void _insertPageNumberParagraph(librevenge::RVNGTextInterface *documentInterface)
Definition: WPSPageSpan.cpp:358
void setPageNumberingFontSize(const double pageNumberingFontSize)
Definition: WPSPageSpan.h:158
libwps::NumberingType getPageNumberingType() const
Definition: WPSPageSpan.h:95
libwps::NumberingType m_pageNumberingType
Definition: WPSPageSpan.h:197
WPSPageSpan(WPSPageSpan const &)=default
const std::vector< WPSPageSpanInternal::HeaderFooterPtr > & getHeaderFooterList() const
Definition: WPSPageSpan.h:111
bool operator==(std::shared_ptr< WPSPageSpan > const &pageSpan) const
Definition: WPSPageSpan.cpp:299
void setMarginRight(const double marginRight)
Definition: WPSPageSpan.h:134
double m_marginLeft
Definition: WPSPageSpan.h:193
std::shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:111
Definition: WPSPageSpan.cpp:34
std::shared_ptr< HeaderFooter > HeaderFooterPtr
Definition: WPSPageSpan.h:34
NumberingType
Definition: libwps_internal.h:246

Generated on Thu Jul 22 2021 00:00:00 for libwps by doxygen 1.9.1