diff options
Diffstat (limited to 'writerfilter/source/rtftok/rtfdocumentimpl.hxx')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.hxx | 189 |
1 files changed, 22 insertions, 167 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index 0d77b6e95198..5c39af1a115e 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -24,149 +24,12 @@ #include <rtftok/RTFDocument.hxx> #include <rtfreferencetable.hxx> #include <rtfsprm.hxx> +#include <rtflistener.hxx> class SvStream; namespace writerfilter { namespace rtftok { - enum RTFInternalState - { - INTERNAL_NORMAL, - INTERNAL_BIN, - INTERNAL_HEX - }; - - // Note that this is not a 1:1 mapping between destination control - // words, e.g. RTF_PICT gets mapped to DESTINATION_PICT or - // DESTINATION_SHAPEPROPERTYVALUEPICT, etc. - enum RTFDestinationState - { - DESTINATION_NORMAL, - DESTINATION_SKIP, - DESTINATION_FONTTABLE, - DESTINATION_FONTENTRY, - DESTINATION_COLORTABLE, - DESTINATION_STYLESHEET, - DESTINATION_STYLEENTRY, - DESTINATION_FIELD, - DESTINATION_FIELDINSTRUCTION, - DESTINATION_FIELDRESULT, - DESTINATION_LISTTABLE, - DESTINATION_LISTPICTURE, - DESTINATION_LISTENTRY, - DESTINATION_LISTOVERRIDETABLE, - DESTINATION_LISTOVERRIDEENTRY, - DESTINATION_LISTLEVEL, - DESTINATION_LEVELTEXT, - DESTINATION_LEVELNUMBERS, - DESTINATION_SHPPICT, - DESTINATION_PICT, - DESTINATION_PICPROP, - DESTINATION_SHAPEPROPERTY, - DESTINATION_SHAPEPROPERTYNAME, - DESTINATION_SHAPEPROPERTYVALUE, - DESTINATION_SHAPE, - DESTINATION_SHAPEINSTRUCTION, - DESTINATION_SHAPEPROPERTYVALUEPICT, - DESTINATION_NESTEDTABLEPROPERTIES, - DESTINATION_FOOTNOTE, - DESTINATION_BOOKMARKSTART, - DESTINATION_BOOKMARKEND, - DESTINATION_REVISIONTABLE, - DESTINATION_REVISIONENTRY, - DESTINATION_SHAPETEXT, - DESTINATION_FORMFIELD, - DESTINATION_FORMFIELDNAME, - DESTINATION_FORMFIELDLIST, - DESTINATION_DATAFIELD, - DESTINATION_INFO, - DESTINATION_CREATIONTIME, - DESTINATION_REVISIONTIME, - DESTINATION_PRINTTIME, - DESTINATION_AUTHOR, - DESTINATION_KEYWORDS, - DESTINATION_OPERATOR, - DESTINATION_COMPANY, - DESTINATION_COMMENT, - DESTINATION_OBJECT, - DESTINATION_OBJDATA, - DESTINATION_RESULT, - DESTINATION_ANNOTATIONDATE, - DESTINATION_ANNOTATIONAUTHOR, - DESTINATION_FALT, - DESTINATION_FLYMAINCONTENT, - DESTINATION_DRAWINGOBJECT, - DESTINATION_PARAGRAPHNUMBERING, - DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE, - DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER, - DESTINATION_TITLE, - DESTINATION_SUBJECT, - DESTINATION_DOCCOMM, - DESTINATION_ATNID, - DESTINATION_MOMATH, - DESTINATION_MR, - DESTINATION_MF, - DESTINATION_MFPR, - DESTINATION_MCTRLPR, - DESTINATION_MNUM, - DESTINATION_MDEN, - DESTINATION_MACC, - DESTINATION_MACCPR, - DESTINATION_MCHR, - DESTINATION_MPOS, - DESTINATION_MVERTJC, - DESTINATION_MSTRIKEH, - DESTINATION_MDEGHIDE, - DESTINATION_ME, - DESTINATION_MBAR, - DESTINATION_MBARPR, - DESTINATION_MD, - DESTINATION_MDPR, - DESTINATION_MBEGCHR, - DESTINATION_MSEPCHR, - DESTINATION_MENDCHR, - DESTINATION_MFUNC, - DESTINATION_MFUNCPR, - DESTINATION_MFNAME, - DESTINATION_MLIMLOW, - DESTINATION_MLIMLOWPR, - DESTINATION_MLIM, - DESTINATION_MM, - DESTINATION_MMPR, - DESTINATION_MMR, - DESTINATION_MNARY, - DESTINATION_MNARYPR, - DESTINATION_MSUB, - DESTINATION_MSUP, - DESTINATION_MSUBHIDE, - DESTINATION_MSUPHIDE, - DESTINATION_MLIMUPP, - DESTINATION_MLIMUPPPR, - DESTINATION_MGROUPCHR, - DESTINATION_MGROUPCHRPR, - DESTINATION_MBORDERBOX, - DESTINATION_MBORDERBOXPR, - DESTINATION_MRAD, - DESTINATION_MRADPR, - DESTINATION_MDEG, - DESTINATION_MSSUB, - DESTINATION_MSSUBPR, - DESTINATION_MSSUP, - DESTINATION_MSSUPPR, - DESTINATION_MSSUBSUP, - DESTINATION_MSSUBSUPPR, - DESTINATION_MSPRE, - DESTINATION_MSPREPR, - DESTINATION_MTYPE, - DESTINATION_MGROW, - DESTINATION_MBOX, - DESTINATION_MEQARR, - DESTINATION_UPR, - DESTINATION_LFOLEVEL, - DESTINATION_BACKGROUND, - DESTINATION_SHAPEGROUP, - }; - enum RTFBorderState { BORDER_NONE, @@ -176,16 +39,6 @@ namespace writerfilter { BORDER_PAGE }; - enum RTFErrors - { - ERROR_OK, - ERROR_GROUP_UNDER, - ERROR_GROUP_OVER, - ERROR_EOF, - ERROR_HEX_INVALID, - ERROR_CHAR_OVER - }; - /// Minimalistic buffer of elements for nested cells. enum RTFBufferTypes { @@ -417,7 +270,7 @@ namespace writerfilter { /// Implementation of the RTFDocument interface. class RTFDocumentImpl - : public RTFDocument + : public RTFDocument, public RTFListener { public: typedef ::boost::shared_ptr<RTFDocumentImpl> Pointer_t; @@ -427,39 +280,41 @@ namespace writerfilter { uno::Reference<frame::XFrame> const& xFrame, uno::Reference<task::XStatusIndicator> const& xStatusIndicator); virtual ~RTFDocumentImpl(); + + // RTFDocument virtual void resolve(Stream & rHandler); virtual std::string getType() const; + // RTFListener + virtual int dispatchDestination(RTFKeyword nKeyword); + virtual int dispatchFlag(RTFKeyword nKeyword); + virtual int dispatchSymbol(RTFKeyword nKeyword); + virtual int dispatchToggle(RTFKeyword nKeyword, bool bParam, int nParam); + virtual int dispatchValue(RTFKeyword nKeyword, int nParam); + virtual int resolveChars(char ch); + virtual int pushState(); + virtual int popState(); + virtual RTFDestinationState getDestinationState(); + virtual void setDestinationState(RTFDestinationState nDestinationState); + virtual RTFInternalState getInternalState(); + virtual void setInternalState(RTFInternalState nInternalState); + virtual bool getSkipUnknown(); + virtual void setSkipUnknown(bool bSkipUnknown); + virtual void finishSubstream(); + virtual bool isSubstream() const; + Stream& Mapper(); void setSubstream(bool bIsSubtream); void setSuperstream(RTFDocumentImpl *pSuperstream); void setAuthor(OUString& rAuthor); void setAuthorInitials(OUString& rAuthorInitials); - bool isSubstream() const; - void finishSubstream(); void setIgnoreFirst(OUString& rIgnoreFirst); void seek(sal_uInt32 nPos); uno::Reference<lang::XMultiServiceFactory> getModelFactory(); bool isInBackground(); - RTFInternalState getInternalState(); - void setInternalState(RTFInternalState nInternalState); - RTFDestinationState getDestinationState(); - void setDestinationState(RTFDestinationState nDestinationState); void setDestinationText(OUString& rString); /// Resolve a picture: If not inline, then anchored. int resolvePict(bool bInline); - bool getSkipUnknown(); - void setSkipUnknown(bool bSkipUnknown); - - // These callbacks are invoked by the tokenizer. - int resolveChars(char ch); - int pushState(); - int popState(); - int dispatchFlag(RTFKeyword nKeyword); - int dispatchDestination(RTFKeyword nKeyword); - int dispatchSymbol(RTFKeyword nKeyword); - int dispatchToggle(RTFKeyword nKeyword, bool bParam, int nParam); - int dispatchValue(RTFKeyword nKeyword, int nParam); /// If this is the first run of the document, starts the initial paragraph. void checkFirstRun(); |