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

Generated for libwpd by doxygen 1.14.0