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 #ifndef WP42CONTENTLISTENER_H
00028 #define WP42CONTENTLISTENER_H
00029
00030 #include "WP42Listener.h"
00031 #include "WP42SubDocument.h"
00032 #include "WPXContentListener.h"
00033 #include "WPXDocumentInterface.h"
00034
00035 typedef struct _WP42ContentParsingState WP42ContentParsingState;
00036 struct _WP42ContentParsingState
00037 {
00038 _WP42ContentParsingState();
00039 ~_WP42ContentParsingState();
00040 WPXString m_textBuffer;
00041 };
00042
00043 class WP42ContentListener : public WP42Listener, protected WPXContentListener
00044 {
00045 public:
00046 WP42ContentListener(std::list<WPXPageSpan> &pageList, std::vector<WP42SubDocument *> &subDocuments, WPXDocumentInterface *documentInterface);
00047 ~WP42ContentListener();
00048
00049 void startDocument() { WPXContentListener::startDocument(); }
00050 void startSubDocument() { WPXContentListener::startSubDocument(); }
00051 void insertCharacter(uint32_t character);
00052 void insertTab(uint8_t tabType, double tabPosition);
00053 void insertBreak(uint8_t breakType) { WPXContentListener::insertBreak(breakType); }
00054 void insertEOL();
00055 void attributeChange(bool isOn, uint8_t attribute);
00056 void marginReset(uint8_t leftMargin, uint8_t rightMargin);
00057 void headerFooterGroup(uint8_t headerFooterDefinition, WP42SubDocument *subDocument);
00058 void suppressPageCharacteristics(uint8_t ) {}
00059 void endDocument() { WPXContentListener::endDocument(); };
00060 void endSubDocument() { WPXContentListener::endSubDocument(); };
00061
00062 protected:
00063 void _handleSubDocument(const WPXSubDocument *subDocument, WPXSubDocumentType subDocumentType, WPXTableList tableList, int nextTableIndice = 0);
00064
00065 void _flushText();
00066 void _changeList() {};
00067
00068 private:
00069 WP42ContentListener(const WP42ContentListener&);
00070 WP42ContentListener& operator=(const WP42ContentListener&);
00071 WP42ContentParsingState *m_parseState;
00072 std::vector<WP42SubDocument *> &m_subDocuments;
00073 };
00074
00075 #endif