Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef WP5LISTENER_H
00029 #define WP5LISTENER_H
00030
00031 #include "libwpd_internal.h"
00032 #include <vector>
00033
00034 class WP5SubDocument;
00035 class WP5PrefixData;
00036 class WP5GeneralPacketData;
00037
00038 class WP5Listener
00039 {
00040 public:
00041 WP5Listener();
00042 virtual ~WP5Listener() {};
00043
00044 virtual void startDocument() = 0;
00045 virtual void setFont(const WPXString &fontName, const float fontSize) = 0;
00046 virtual void setTabs(const std::vector<WPXTabStop>& tabStops, const uint16_t tabOffset) = 0;
00047 virtual void insertCharacter(const uint16_t character) = 0;
00048 virtual void insertTab(const uint8_t tabType, const float tabPosition) = 0;
00049 virtual void insertIndent(const uint8_t indentType, const float indentPosition) = 0;
00050 virtual void insertEOL() = 0;
00051 virtual void insertBreak(const uint8_t breakType) = 0;
00052 virtual void lineSpacingChange(const float lineSpacing) = 0;
00053 virtual void justificationChange(const uint8_t justification) = 0;
00054 virtual void characterColorChange(const uint8_t red, const uint8_t green, const uint8_t blue) = 0;
00055 virtual void attributeChange(const bool isOn, const uint8_t attribute) = 0;
00056 virtual void pageMarginChange(const uint8_t side, const uint16_t margin) = 0;
00057 virtual void pageFormChange(const uint16_t length, const uint16_t width, const WPXFormOrientation orientation) = 0;
00058 virtual void marginChange(const uint8_t side, const uint16_t margin) = 0;
00059 virtual void endDocument() = 0;
00060
00061 virtual void defineTable(const uint8_t position, const uint16_t leftOffset) = 0;
00062 virtual void addTableColumnDefinition(const uint32_t width, const uint32_t leftGutter, const uint32_t rightGutter,
00063 const uint32_t attributes, const uint8_t alignment) = 0;
00064 virtual void startTable() = 0;
00065 virtual void insertRow(const uint16_t rowHeight, const bool isMinimumHeight, const bool isHeaderRow) = 0;
00066 virtual void insertCell(const uint8_t colSpan, const uint8_t rowSpan, const uint8_t borderBits,
00067 const RGBSColor * cellFgColor, const RGBSColor * cellBgColor,
00068 const RGBSColor * cellBorderColor, const WPXVerticalAlignment cellVerticalAlignment,
00069 const bool useCellAttributes, const uint32_t cellAttributes) = 0;
00070 virtual void endTable() = 0;
00071
00072 virtual void insertNoteReference(const WPXString ¬eReference) = 0;
00073 virtual void insertNote(const WPXNoteType noteType, const WP5SubDocument *subDocument) = 0;
00074 virtual void headerFooterGroup(const uint8_t headerFooterType, const uint8_t occurenceBits, WP5SubDocument *subDocument) = 0;
00075 virtual void suppressPageCharacteristics(const uint8_t suppressCode) = 0;
00076
00077 void setPrefixData(WP5PrefixData *prefixData) { m_prefixData = prefixData; }
00078 const WP5GeneralPacketData * getGeneralPacketData(const int type) const;
00079
00080 private:
00081 WP5Listener(const WP5Listener&);
00082 WP5Listener& operator=(const WP5Listener&);
00083 WP5PrefixData *m_prefixData;
00084 };
00085
00086 #endif