23#include "tablehandler.h"
25#include <wv2/handlers.h>
26#include <wv2/functor.h>
31#include <tqstringlist.h>
47class KWordReplacementHandler;
48class KWordTableHandler;
49class KWordPictureHandler;
50class KWordTextHandler;
52class Document :
public TQObject,
public wvWare::SubDocumentHandler
57 Document(
const std::string& fileName, TQDomDocument& mainDocument, TQDomDocument &documentInfo, TQDomElement& framesetsElement, KoFilterChain* chain );
60 bool hasParser()
const {
return m_parser != 0L; }
61 bool bodyFound()
const {
return m_bodyFound; }
63 virtual void bodyStart();
64 virtual void bodyEnd();
66 virtual void headerStart( wvWare::HeaderData::Type type );
67 virtual void headerEnd();
69 virtual void footnoteStart();
70 virtual void footnoteEnd();
74 void processSubDocQueue();
76 void finishDocument();
78 typedef const wvWare::FunctorBase* FunctorPtr;
81 SubDocument( FunctorPtr ptr,
int d,
const TQString& n,
const TQString& extra )
82 : functorPtr(ptr), data(d), name(n), extraName(extra) {}
84 FunctorPtr functorPtr;
91 KoStoreDevice* createPictureFrameSet(
const KoSize& size );
95 void slotFirstSectionFound( wvWare::SharedPtr<const wvWare::Word97::SEP> );
99 void slotSubDocFound(
const wvWare::FunctorBase* functor,
int data );
102 void slotTableFound(
const KWord::Table& table );
105 void slotPictureFound(
const TQString& frameName,
const TQString& pictureName,
const wvWare::FunctorBase* );
109 void slotTableCellStart(
int row,
int column,
int rowSize,
int columnSize,
const KoRect& cellRect,
const TQString& tableName,
const wvWare::Word97::BRC& brcTop,
const wvWare::Word97::BRC& brcBottom,
const wvWare::Word97::BRC& brcLeft,
const wvWare::Word97::BRC& brcRight,
const wvWare::Word97::SHD& shd );
110 void slotTableCellEnd();
113 void processStyles();
114 void processAssociatedStrings();
115 enum NewFrameBehavior { Reconnect=0, NoFollowup=1, Copy=2 };
116 TQDomElement createInitialFrame( TQDomElement& parentFramesetElem,
double left,
double right,
double top,
double bottom,
bool autoExtend, NewFrameBehavior nfb );
117 void generateFrameBorder( TQDomElement& frameElementOut,
const wvWare::Word97::BRC& brcTop,
const wvWare::Word97::BRC& brcBottom,
const wvWare::Word97::BRC& brcLeft,
const wvWare::Word97::BRC& brcRight,
const wvWare::Word97::SHD& shd );
119 TQDomDocument& m_mainDocument;
120 TQDomDocument& m_documentInfo;
121 TQDomElement& m_framesetsElement;
122 KWordReplacementHandler* m_replacementHandler;
123 KWordTableHandler* m_tableHandler;
124 KWordPictureHandler* m_pictureHandler;
125 KWordTextHandler* m_textHandler;
126 KoFilterChain* m_chain;
127 wvWare::SharedPtr<wvWare::Parser> m_parser;
128 std::queue<SubDocument> m_subdocQueue;
129 std::queue<KWord::Table> m_tableQueue;
130 TQStringList m_pictureList;
131 unsigned char m_headerFooters;
133 int m_footNoteNumber;
This class hold a whole document with its headers, footers, footnotes, endnotes, content,...
virtual ~Document()
Destructor.