Kaydet (Commit) c395a894 authored tarafından Miklos Vajna's avatar Miklos Vajna

writerfilter: turn RTFDestinationState into a C++11 scoped enumeration

Change-Id: I5d3c0ab5869f415b3a435e5f931613a188e43173
üst 645030d0
......@@ -1856,51 +1856,51 @@ bool RTFSymbol::operator<(const RTFSymbol& rOther) const
RTFMathSymbol aRTFMathControlWords[] =
{
// eKeyword nToken eDestination
{RTF_MOMATH, M_TOKEN(oMath), DESTINATION_MOMATH},
{RTF_MF, M_TOKEN(f), DESTINATION_MF},
{RTF_MFPR, M_TOKEN(fPr), DESTINATION_MFPR},
{RTF_MCTRLPR, M_TOKEN(ctrlPr), DESTINATION_MCTRLPR},
{RTF_MNUM, M_TOKEN(num), DESTINATION_MNUM},
{RTF_MDEN, M_TOKEN(den), DESTINATION_MDEN},
{RTF_MACC, M_TOKEN(acc), DESTINATION_MACC},
{RTF_MACCPR, M_TOKEN(accPr), DESTINATION_MACCPR},
{RTF_MBAR, M_TOKEN(bar), DESTINATION_MBAR},
{RTF_MBARPR, M_TOKEN(barPr), DESTINATION_MBARPR},
{RTF_ME, M_TOKEN(e), DESTINATION_ME},
{RTF_MD, M_TOKEN(d), DESTINATION_MD},
{RTF_MDPR, M_TOKEN(dPr), DESTINATION_MDPR},
{RTF_MFUNC, M_TOKEN(func), DESTINATION_MFUNC},
{RTF_MFUNCPR, M_TOKEN(funcPr), DESTINATION_MFUNCPR},
{RTF_MFNAME, M_TOKEN(fName), DESTINATION_MFNAME},
{RTF_MLIMLOW, M_TOKEN(limLow), DESTINATION_MLIMLOW},
{RTF_MLIMLOWPR, M_TOKEN(limLowPr), DESTINATION_MLIMLOWPR},
{RTF_MLIM, M_TOKEN(lim), DESTINATION_MLIM},
{RTF_MM, M_TOKEN(m), DESTINATION_MM},
{RTF_MMPR, M_TOKEN(mPr), DESTINATION_MMPR},
{RTF_MMR, M_TOKEN(mr), DESTINATION_MMR},
{RTF_MNARY, M_TOKEN(nary), DESTINATION_MNARY},
{RTF_MNARYPR, M_TOKEN(naryPr), DESTINATION_MNARYPR},
{RTF_MSUB, M_TOKEN(sub), DESTINATION_MSUB},
{RTF_MSUP, M_TOKEN(sup), DESTINATION_MSUP},
{RTF_MLIMUPP, M_TOKEN(limUpp), DESTINATION_MLIMUPP},
{RTF_MLIMUPPPR, M_TOKEN(limUppPr), DESTINATION_MLIMUPPPR},
{RTF_MGROUPCHR, M_TOKEN(groupChr), DESTINATION_MGROUPCHR},
{RTF_MGROUPCHRPR, M_TOKEN(groupChrPr), DESTINATION_MGROUPCHRPR},
{RTF_MBORDERBOX, M_TOKEN(borderBox), DESTINATION_MBORDERBOX},
{RTF_MBORDERBOXPR, M_TOKEN(borderBoxPr), DESTINATION_MBORDERBOXPR},
{RTF_MRAD, M_TOKEN(rad), DESTINATION_MRAD},
{RTF_MRADPR, M_TOKEN(radPr), DESTINATION_MRADPR},
{RTF_MDEG, M_TOKEN(deg), DESTINATION_MDEG},
{RTF_MSSUB, M_TOKEN(sSub), DESTINATION_MSSUB},
{RTF_MSSUBPR, M_TOKEN(sSubPr), DESTINATION_MSSUBPR},
{RTF_MSSUP, M_TOKEN(sSup), DESTINATION_MSSUP},
{RTF_MSSUPPR, M_TOKEN(sSupPr), DESTINATION_MSSUPPR},
{RTF_MSSUBSUP, M_TOKEN(sSubSup), DESTINATION_MSSUBSUP},
{RTF_MSSUBSUPPR, M_TOKEN(sSubSupPr), DESTINATION_MSSUBSUPPR},
{RTF_MSPRE, M_TOKEN(sPre), DESTINATION_MSPRE},
{RTF_MSPREPR, M_TOKEN(sPrePr), DESTINATION_MSPREPR},
{RTF_MBOX, M_TOKEN(box), DESTINATION_MBOX},
{RTF_MEQARR, M_TOKEN(eqArr), DESTINATION_MEQARR},
{RTF_MOMATH, M_TOKEN(oMath), Destination::MOMATH},
{RTF_MF, M_TOKEN(f), Destination::MF},
{RTF_MFPR, M_TOKEN(fPr), Destination::MFPR},
{RTF_MCTRLPR, M_TOKEN(ctrlPr), Destination::MCTRLPR},
{RTF_MNUM, M_TOKEN(num), Destination::MNUM},
{RTF_MDEN, M_TOKEN(den), Destination::MDEN},
{RTF_MACC, M_TOKEN(acc), Destination::MACC},
{RTF_MACCPR, M_TOKEN(accPr), Destination::MACCPR},
{RTF_MBAR, M_TOKEN(bar), Destination::MBAR},
{RTF_MBARPR, M_TOKEN(barPr), Destination::MBARPR},
{RTF_ME, M_TOKEN(e), Destination::ME},
{RTF_MD, M_TOKEN(d), Destination::MD},
{RTF_MDPR, M_TOKEN(dPr), Destination::MDPR},
{RTF_MFUNC, M_TOKEN(func), Destination::MFUNC},
{RTF_MFUNCPR, M_TOKEN(funcPr), Destination::MFUNCPR},
{RTF_MFNAME, M_TOKEN(fName), Destination::MFNAME},
{RTF_MLIMLOW, M_TOKEN(limLow), Destination::MLIMLOW},
{RTF_MLIMLOWPR, M_TOKEN(limLowPr), Destination::MLIMLOWPR},
{RTF_MLIM, M_TOKEN(lim), Destination::MLIM},
{RTF_MM, M_TOKEN(m), Destination::MM},
{RTF_MMPR, M_TOKEN(mPr), Destination::MMPR},
{RTF_MMR, M_TOKEN(mr), Destination::MMR},
{RTF_MNARY, M_TOKEN(nary), Destination::MNARY},
{RTF_MNARYPR, M_TOKEN(naryPr), Destination::MNARYPR},
{RTF_MSUB, M_TOKEN(sub), Destination::MSUB},
{RTF_MSUP, M_TOKEN(sup), Destination::MSUP},
{RTF_MLIMUPP, M_TOKEN(limUpp), Destination::MLIMUPP},
{RTF_MLIMUPPPR, M_TOKEN(limUppPr), Destination::MLIMUPPPR},
{RTF_MGROUPCHR, M_TOKEN(groupChr), Destination::MGROUPCHR},
{RTF_MGROUPCHRPR, M_TOKEN(groupChrPr), Destination::MGROUPCHRPR},
{RTF_MBORDERBOX, M_TOKEN(borderBox), Destination::MBORDERBOX},
{RTF_MBORDERBOXPR, M_TOKEN(borderBoxPr), Destination::MBORDERBOXPR},
{RTF_MRAD, M_TOKEN(rad), Destination::MRAD},
{RTF_MRADPR, M_TOKEN(radPr), Destination::MRADPR},
{RTF_MDEG, M_TOKEN(deg), Destination::MDEG},
{RTF_MSSUB, M_TOKEN(sSub), Destination::MSSUB},
{RTF_MSSUBPR, M_TOKEN(sSubPr), Destination::MSSUBPR},
{RTF_MSSUP, M_TOKEN(sSup), Destination::MSSUP},
{RTF_MSSUPPR, M_TOKEN(sSupPr), Destination::MSSUPPR},
{RTF_MSSUBSUP, M_TOKEN(sSubSup), Destination::MSSUBSUP},
{RTF_MSSUBSUPPR, M_TOKEN(sSubSupPr), Destination::MSSUBSUPPR},
{RTF_MSPRE, M_TOKEN(sPre), Destination::MSPRE},
{RTF_MSPREPR, M_TOKEN(sPrePr), Destination::MSPREPR},
{RTF_MBOX, M_TOKEN(box), Destination::MBOX},
{RTF_MEQARR, M_TOKEN(eqArr), Destination::MEQARR},
};
int nRTFMathControlWords = SAL_N_ELEMENTS(aRTFMathControlWords);
......
......@@ -15,142 +15,146 @@ namespace writerfilter
namespace rtftok
{
// 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
/**
* An RTF destination state is the last open destination control word.
*
* 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.
*/
enum class Destination
{
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_LISTNAME,
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_ANNOTATIONREFERENCE,
DESTINATION_FALT,
DESTINATION_FLYMAINCONTENT,
DESTINATION_DRAWINGOBJECT,
DESTINATION_PARAGRAPHNUMBERING,
DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE,
DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER,
DESTINATION_TITLE,
DESTINATION_SUBJECT,
DESTINATION_DOCCOMM,
DESTINATION_ATNID,
DESTINATION_ANNOTATIONREFERENCESTART,
DESTINATION_ANNOTATIONREFERENCEEND,
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,
DESTINATION_FOOTNOTESEPARATOR,
DESTINATION_INDEXENTRY,
DESTINATION_TOCENTRY,
NORMAL,
SKIP,
FONTTABLE,
FONTENTRY,
COLORTABLE,
STYLESHEET,
STYLEENTRY,
FIELD,
FIELDINSTRUCTION,
FIELDRESULT,
LISTTABLE,
LISTPICTURE,
LISTENTRY,
LISTNAME,
LISTOVERRIDETABLE,
LISTOVERRIDEENTRY,
LISTLEVEL,
LEVELTEXT,
LEVELNUMBERS,
SHPPICT,
PICT,
PICPROP,
SHAPEPROPERTY,
SHAPEPROPERTYNAME,
SHAPEPROPERTYVALUE,
SHAPE,
SHAPEINSTRUCTION,
SHAPEPROPERTYVALUEPICT,
NESTEDTABLEPROPERTIES,
FOOTNOTE,
BOOKMARKSTART,
BOOKMARKEND,
REVISIONTABLE,
REVISIONENTRY,
SHAPETEXT,
FORMFIELD,
FORMFIELDNAME,
FORMFIELDLIST,
DATAFIELD,
INFO,
CREATIONTIME,
REVISIONTIME,
PRINTTIME,
AUTHOR,
KEYWORDS,
OPERATOR,
COMPANY,
COMMENT,
OBJECT,
OBJDATA,
RESULT,
ANNOTATIONDATE,
ANNOTATIONAUTHOR,
ANNOTATIONREFERENCE,
FALT,
FLYMAINCONTENT,
DRAWINGOBJECT,
PARAGRAPHNUMBERING,
PARAGRAPHNUMBERING_TEXTBEFORE,
PARAGRAPHNUMBERING_TEXTAFTER,
TITLE,
SUBJECT,
DOCCOMM,
ATNID,
ANNOTATIONREFERENCESTART,
ANNOTATIONREFERENCEEND,
MOMATH,
MR,
MF,
MFPR,
MCTRLPR,
MNUM,
MDEN,
MACC,
MACCPR,
MCHR,
MPOS,
MVERTJC,
MSTRIKEH,
MDEGHIDE,
ME,
MBAR,
MBARPR,
MD,
MDPR,
MBEGCHR,
MSEPCHR,
MENDCHR,
MFUNC,
MFUNCPR,
MFNAME,
MLIMLOW,
MLIMLOWPR,
MLIM,
MM,
MMPR,
MMR,
MNARY,
MNARYPR,
MSUB,
MSUP,
MSUBHIDE,
MSUPHIDE,
MLIMUPP,
MLIMUPPPR,
MGROUPCHR,
MGROUPCHRPR,
MBORDERBOX,
MBORDERBOXPR,
MRAD,
MRADPR,
MDEG,
MSSUB,
MSSUBPR,
MSSUP,
MSSUPPR,
MSSUBSUP,
MSSUBSUPPR,
MSPRE,
MSPREPR,
MTYPE,
MGROW,
MBOX,
MEQARR,
UPR,
LFOLEVEL,
BACKGROUND,
SHAPEGROUP,
FOOTNOTESEPARATOR,
INDEXENTRY,
TOCENTRY,
};
enum RTFKeyword
......@@ -2001,7 +2005,7 @@ struct RTFMathSymbol
{
RTFKeyword eKeyword;
int nToken; ///< This is the OOXML token equivalent.
RTFDestinationState eDestination;
Destination eDestination;
bool operator<(const RTFMathSymbol& rOther) const;
};
......
......@@ -213,7 +213,7 @@ public:
RTFDocumentImpl* m_pDocumentImpl;
RTFInternalState nInternalState;
RTFDestinationState nDestinationState;
Destination eDestination;
RTFFieldStatus eFieldStatus;
RTFBorderState nBorderState;
// font table, stylesheet table
......@@ -344,8 +344,8 @@ public:
virtual RTFError resolveChars(char ch) SAL_OVERRIDE;
virtual RTFError pushState() SAL_OVERRIDE;
virtual RTFError popState() SAL_OVERRIDE;
virtual RTFDestinationState getDestinationState() SAL_OVERRIDE;
virtual void setDestinationState(RTFDestinationState nDestinationState) SAL_OVERRIDE;
virtual Destination getDestination() SAL_OVERRIDE;
virtual void setDestination(Destination eDestination) SAL_OVERRIDE;
virtual RTFInternalState getInternalState() SAL_OVERRIDE;
virtual void setInternalState(RTFInternalState nInternalState) SAL_OVERRIDE;
virtual bool getSkipUnknown() SAL_OVERRIDE;
......
......@@ -55,8 +55,8 @@ public:
virtual RTFError pushState() = 0;
virtual RTFError popState() = 0;
virtual RTFDestinationState getDestinationState() = 0;
virtual void setDestinationState(RTFDestinationState nDestinationState) = 0;
virtual Destination getDestination() = 0;
virtual void setDestination(Destination eDestination) = 0;
virtual RTFInternalState getInternalState() = 0;
virtual void setInternalState(RTFInternalState nInternalState) = 0;
virtual bool getSkipUnknown() = 0;
......
......@@ -81,12 +81,12 @@ RTFError RTFLookahead::popState()
return RTFError::OK;
}
RTFDestinationState RTFLookahead::getDestinationState()
Destination RTFLookahead::getDestination()
{
return DESTINATION_NORMAL;
return Destination::NORMAL;
}
void RTFLookahead::setDestinationState(RTFDestinationState /*nDestinationState*/)
void RTFLookahead::setDestination(Destination /*eDestination*/)
{
}
......
......@@ -37,8 +37,8 @@ public:
virtual RTFError resolveChars(char ch) SAL_OVERRIDE;
virtual RTFError pushState() SAL_OVERRIDE;
virtual RTFError popState() SAL_OVERRIDE;
virtual RTFDestinationState getDestinationState() SAL_OVERRIDE;
virtual void setDestinationState(RTFDestinationState nDestinationState) SAL_OVERRIDE;
virtual Destination getDestination() SAL_OVERRIDE;
virtual void setDestination(Destination eDestination) SAL_OVERRIDE;
virtual RTFInternalState getInternalState() SAL_OVERRIDE;
virtual void setInternalState(RTFInternalState nInternalState) SAL_OVERRIDE;
virtual bool getSkipUnknown() SAL_OVERRIDE;
......
......@@ -30,7 +30,7 @@ RTFSkipDestination::~RTFSkipDestination()
if (!m_bParsed)
{
SAL_INFO("writerfilter", OSL_THIS_FUNC << ": skipping destination");
m_rImport.setDestinationState(DESTINATION_SKIP);
m_rImport.setDestination(Destination::SKIP);
}
m_rImport.setSkipUnknown(false);
}
......
......@@ -282,7 +282,7 @@ bool RTFTokenizer::lookupMathKeyword(RTFMathSymbol& rSymbol)
RTFError RTFTokenizer::dispatchKeyword(OString& rKeyword, bool bParam, int nParam)
{
if (m_rImport.getDestinationState() == DESTINATION_SKIP)
if (m_rImport.getDestination() == Destination::SKIP)
return RTFError::OK;
SAL_INFO("writerfilter.rtf", OSL_THIS_FUNC << ": keyword '\\" << rKeyword.getStr() <<
"' with param? " << (bParam ? 1 : 0) <<" param val: '" << (bParam ? nParam : 0) << "'");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment