WP6Listener.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwpd
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 (wrlach@gmail.com)
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://libwpd.sourceforge.net
22  */
23 
24 /* "This product is not manufactured, approved, or supported by
25  * Corel Corporation or Corel Corporation Limited."
26  */
27 
28 #ifndef WP6LISTENER_H
29 #define WP6LISTENER_H
30 
31 #include "libwpd_internal.h"
32 #include <vector>
33 
34 class WPXString;
36 class WP6PrefixData;
38 class WP6SubDocument;
39 
41 
43 {
44 public:
45  WP6Listener();
46  virtual ~WP6Listener() {}
47 
48  virtual void startDocument() = 0;
49  virtual void startSubDocument() = 0;
50  virtual void setDate(const uint16_t type, const uint16_t year,
51  const uint8_t month, const uint8_t day,
52  const uint8_t hour, const uint8_t minute,
53  const uint8_t second, const uint8_t dayOfWeek,
54  const uint8_t timeZone, const uint8_t unused) = 0;
55  virtual void setExtendedInformation(const uint16_t type, const WPXString &data) = 0;
56  virtual void setAlignmentCharacter(const uint32_t character) = 0;
57  virtual void setLeaderCharacter(const uint32_t character, const uint8_t numSpaces) = 0;
58  virtual void defineTabStops(const bool isRelative, const std::vector<WPXTabStop> &tabStops,
59  const std::vector<bool> &usePreWP9LeaderMethods) = 0;
60  virtual void insertCharacter(uint32_t character) = 0;
61  virtual void insertTab(const uint8_t tabType, double tabPosition) = 0;
62  virtual void handleLineBreak() = 0;
63  virtual void insertEOL() = 0;
64  virtual void insertBreak(const uint8_t breakType) = 0;
65  virtual void lineSpacingChange(const double lineSpacing) = 0;
66  virtual void justificationChange(const uint8_t justification) = 0;
67  virtual void characterColorChange(const uint8_t red, const uint8_t green, const uint8_t blue) = 0;
68  virtual void characterShadingChange(const uint8_t shading) = 0;
69  virtual void highlightChange(const bool isOn, const RGBSColor &color) = 0;
70  virtual void fontChange(const uint16_t matchedFontPointSize, const uint16_t fontPID, const WPXString &fontName) = 0;
71  virtual void attributeChange(const bool isOn, const uint8_t attribute) = 0;
72  virtual void spacingAfterParagraphChange(const double spacingRelative, const double spacingAbsolute) = 0;
73  virtual void pageMarginChange(const uint8_t side, const uint16_t margin) = 0;
74  virtual void pageFormChange(const uint16_t length, const uint16_t width, const WPXFormOrientation orientation) = 0;
75  virtual void pageNumberingChange(const WPXPageNumberPosition pageNumberPosition, const uint16_t pageNumberFontPointSize, const uint16_t pageNumberFontPID) = 0;
76  virtual void marginChange(const uint8_t side, const uint16_t margin) = 0;
77  virtual void paragraphMarginChange(const uint8_t side, const int16_t margin) = 0;
78  virtual void indentFirstLineChange(const int16_t offset) = 0;
79  virtual void columnChange(const WPXTextColumnType columnType, const uint8_t numColumns,
80  const std::vector<double> &columnWidth, const std::vector<bool> &isFixedWidth) = 0;
81  virtual void updateOutlineDefinition(const WP6OutlineLocation outlineLocation, const uint16_t outlineHash,
82  const uint8_t *numberingMethods, const uint8_t tabBehaviourFlag) = 0;
83  virtual void paragraphNumberOn(const uint16_t outlineHash, const uint8_t level, const uint8_t flag) = 0;
84  virtual void paragraphNumberOff() = 0;
85  virtual void displayNumberReferenceGroupOn(const uint8_t subGroup, const uint8_t level) = 0;
86  virtual void displayNumberReferenceGroupOff(const uint8_t subGroup) = 0;
87  virtual void styleGroupOn(const uint8_t subGroup) = 0;
88  virtual void styleGroupOff(const uint8_t subGroup) = 0;
89  virtual void globalOn(const uint8_t systemStyle) = 0;
90  virtual void globalOff() = 0;
91  virtual void noteOn(const uint16_t textPID) = 0;
92  virtual void noteOff(const WPXNoteType noteType) = 0;
93  virtual void headerFooterGroup(const uint8_t headerFooterType, const uint8_t occurenceBits, const uint16_t textPID) = 0;
94  virtual void suppressPageCharacteristics(const uint8_t suppressCode) = 0;
95  virtual void setPageNumber(const uint16_t pageNumber) = 0;
96  virtual void setPageNumberingType(const WPXNumberingType pageNumberingType) = 0;
97  virtual void endDocument() = 0;
98  virtual void endSubDocument() = 0;
99  virtual void defineTable(const uint8_t position, const uint16_t leftOffset) = 0;
100  virtual void addTableColumnDefinition(const uint32_t width, const uint32_t leftGutter, const uint32_t rightGutter,
101  const uint32_t attributes, const uint8_t alignment) = 0;
102  virtual void startTable() = 0;
103  virtual void insertRow(const uint16_t rowHeight, const bool isMinimumHeight, const bool isHeaderRow) = 0;
104  virtual void insertCell(const uint8_t colSpan, const uint8_t rowSpan, const uint8_t borderBits,
105  const RGBSColor *cellFgColor, const RGBSColor *cellBgColor,
106  const RGBSColor *cellBorderColor, const WPXVerticalAlignment cellVerticalAlignment,
107  const bool useCellAttributes, const uint32_t cellAttributes) = 0;
108  virtual void endTable() = 0;
109 
110  virtual void undoChange(const uint8_t undoType, const uint16_t undoLevel) = 0;
111  virtual void boxOn(const uint8_t anchoringType, const uint8_t generalPositioningFlags, const uint8_t horizontalPositioningFlags,
112  const int16_t horizontalOffset, const uint8_t leftColumn, const uint8_t rightColumn,
113  const uint8_t verticalPositioningFlags, const int16_t verticalOffset, const uint8_t widthFlags, const uint16_t width,
114  const uint8_t heightFlags, const uint16_t height, const uint8_t boxContentType, const uint16_t nativeWidth,
115  const uint16_t nativeHeight) = 0;
116  virtual void boxOff() = 0;
117  virtual void insertGraphicsData(const uint16_t packetId) = 0;
118  virtual void insertTextBox(const WP6SubDocument *subDocument) = 0;
119  virtual void commentAnnotation(const uint16_t textPID) = 0;
120 
121  void setPrefixData(WP6PrefixData *prefixData)
122  {
123  m_prefixData = prefixData;
124  }
125  const WP6PrefixDataPacket *getPrefixDataPacket(const int prefixID) const;
126  WPXString getFontNameForPID(const int prefixID) const;
127 
128 private:
129  WP6Listener(const WP6Listener &);
132 };
133 
134 #endif /* WP6LISTENER_H */
135 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WPXNumberingType
Definition: libwpd_internal.h:93
virtual void displayNumberReferenceGroupOff(const uint8_t subGroup)=0
virtual void attributeChange(const bool isOn, const uint8_t attribute)=0
Definition: WP6DefaultInitialFontPacket.h:31
Definition: WPXString.h:32
virtual void styleGroupOff(const uint8_t subGroup)=0
virtual void commentAnnotation(const uint16_t textPID)=0
virtual void spacingAfterParagraphChange(const double spacingRelative, const double spacingAbsolute)=0
virtual void insertTextBox(const WP6SubDocument *subDocument)=0
virtual void columnChange(const WPXTextColumnType columnType, const uint8_t numColumns, const std::vector< double > &columnWidth, const std::vector< bool > &isFixedWidth)=0
virtual void setLeaderCharacter(const uint32_t character, const uint8_t numSpaces)=0
virtual void endTable()=0
Definition: WP6Listener.h:42
virtual void characterShadingChange(const uint8_t shading)=0
const WP6PrefixDataPacket * getPrefixDataPacket(const int prefixID) const
Definition: WP6Listener.cpp:44
WP6Listener & operator=(const WP6Listener &)
WPXTextColumnType
Definition: libwpd_internal.h:110
Definition: WP6Listener.h:40
virtual void insertGraphicsData(const uint16_t packetId)=0
virtual void pageMarginChange(const uint8_t side, const uint16_t margin)=0
virtual void noteOn(const uint16_t textPID)=0
virtual void highlightChange(const bool isOn, const RGBSColor &color)=0
virtual void paragraphMarginChange(const uint8_t side, const int16_t margin)=0
WP6OutlineLocation
Definition: WP6Listener.h:40
virtual void insertEOL()=0
virtual void setAlignmentCharacter(const uint32_t character)=0
virtual void boxOn(const uint8_t anchoringType, const uint8_t generalPositioningFlags, const uint8_t horizontalPositioningFlags, const int16_t horizontalOffset, const uint8_t leftColumn, const uint8_t rightColumn, const uint8_t verticalPositioningFlags, const int16_t verticalOffset, const uint8_t widthFlags, const uint16_t width, const uint8_t heightFlags, const uint16_t height, const uint8_t boxContentType, const uint16_t nativeWidth, const uint16_t nativeHeight)=0
WP6PrefixData * m_prefixData
Definition: WP6Listener.h:131
virtual void defineTable(const uint8_t position, const uint16_t leftOffset)=0
virtual void endDocument()=0
void setPrefixData(WP6PrefixData *prefixData)
Definition: WP6Listener.h:121
virtual void setPageNumberingType(const WPXNumberingType pageNumberingType)=0
virtual void insertTab(const uint8_t tabType, double tabPosition)=0
virtual void undoChange(const uint8_t undoType, const uint16_t undoLevel)=0
virtual void startSubDocument()=0
Definition: libwpd_internal.h:168
virtual void setExtendedInformation(const uint16_t type, const WPXString &data)=0
virtual void insertBreak(const uint8_t breakType)=0
virtual void insertCell(const uint8_t colSpan, const uint8_t rowSpan, const uint8_t borderBits, const RGBSColor *cellFgColor, const RGBSColor *cellBgColor, const RGBSColor *cellBorderColor, const WPXVerticalAlignment cellVerticalAlignment, const bool useCellAttributes, const uint32_t cellAttributes)=0
Definition: WP6SubDocument.h:33
virtual void globalOff()=0
virtual void displayNumberReferenceGroupOn(const uint8_t subGroup, const uint8_t level)=0
virtual void startTable()=0
virtual void setDate(const uint16_t type, const uint16_t year, const uint8_t month, const uint8_t day, const uint8_t hour, const uint8_t minute, const uint8_t second, const uint8_t dayOfWeek, const uint8_t timeZone, const uint8_t unused)=0
virtual void noteOff(const WPXNoteType noteType)=0
virtual void defineTabStops(const bool isRelative, const std::vector< WPXTabStop > &tabStops, const std::vector< bool > &usePreWP9LeaderMethods)=0
WPXFormOrientation
Definition: libwpd_internal.h:106
virtual void insertCharacter(uint32_t character)=0
virtual void paragraphNumberOff()=0
Definition: WP6PrefixData.h:38
virtual void styleGroupOn(const uint8_t subGroup)=0
virtual void paragraphNumberOn(const uint16_t outlineHash, const uint8_t level, const uint8_t flag)=0
WPXVerticalAlignment
Definition: libwpd_internal.h:108
virtual void marginChange(const uint8_t side, const uint16_t margin)=0
WPXString getFontNameForPID(const int prefixID) const
Definition: WP6Listener.cpp:52
virtual void addTableColumnDefinition(const uint32_t width, const uint32_t leftGutter, const uint32_t rightGutter, const uint32_t attributes, const uint8_t alignment)=0
virtual void fontChange(const uint16_t matchedFontPointSize, const uint16_t fontPID, const WPXString &fontName)=0
virtual void setPageNumber(const uint16_t pageNumber)=0
virtual void suppressPageCharacteristics(const uint8_t suppressCode)=0
virtual void endSubDocument()=0
virtual ~WP6Listener()
Definition: WP6Listener.h:46
Definition: WP6PrefixDataPacket.h:36
WPXPageNumberPosition
Definition: libwpd_internal.h:98
virtual void startDocument()=0
Definition: WP6Listener.h:40
virtual void pageNumberingChange(const WPXPageNumberPosition pageNumberPosition, const uint16_t pageNumberFontPointSize, const uint16_t pageNumberFontPID)=0
virtual void indentFirstLineChange(const int16_t offset)=0
virtual void globalOn(const uint8_t systemStyle)=0
virtual void boxOff()=0
virtual void updateOutlineDefinition(const WP6OutlineLocation outlineLocation, const uint16_t outlineHash, const uint8_t *numberingMethods, const uint8_t tabBehaviourFlag)=0
virtual void pageFormChange(const uint16_t length, const uint16_t width, const WPXFormOrientation orientation)=0
virtual void handleLineBreak()=0
virtual void lineSpacingChange(const double lineSpacing)=0
virtual void headerFooterGroup(const uint8_t headerFooterType, const uint8_t occurenceBits, const uint16_t textPID)=0
WP6Listener()
Definition: WP6Listener.cpp:39
virtual void justificationChange(const uint8_t justification)=0
WPXNoteType
Definition: libwpd_internal.h:94
virtual void insertRow(const uint16_t rowHeight, const bool isMinimumHeight, const bool isHeaderRow)=0
virtual void characterColorChange(const uint8_t red, const uint8_t green, const uint8_t blue)=0

Generated for libwpd by doxygen 1.8.5