diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-07-24 16:14:28 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-07-24 17:21:25 +0200 |
commit | 95aaf200aa6337834a6ea18e595a41c1f131a01c (patch) | |
tree | 09128d06a2fb5a7c6e14b1e27e1321392c1f9b68 /writerfilter | |
parent | bbb04f6e81c0c5f62637ddb2fbde5175db18b29f (diff) |
rtftok: add OPEN_M_TOKEN to avoid code duplication
Change-Id: I95b2ee34fef0c075040af808de276e0b745bf830
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 201 |
1 files changed, 46 insertions, 155 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index b9badd107f8c..f7462b2c6903 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -69,6 +69,11 @@ #define TWIP_TO_MM100(TWIP) ((TWIP) >= 0 ? (((TWIP)*127L+36L)/72L) : (((TWIP)*127L-36L)/72L)) #define M_TOKEN(token) OOX_TOKEN(officeMath, token) +#define OPEN_M_TOKEN( rtftok, ooxtok ) \ + case RTF_M##rtftok: \ + m_aMathBuffer.appendOpeningTag(M_TOKEN(ooxtok)); \ + m_aStates.top().nDestinationState = DESTINATION_M##rtftok; \ + break using std::make_pair; using rtl::OString; @@ -1410,61 +1415,11 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword) case RTF_MOMATHPARA: // Nothing to do here (just enter the destination) till RTF_MMATHPR is implemented. break; - case RTF_MOMATH: - m_aMathBuffer.appendOpeningTag(M_TOKEN(oMath)); - m_aStates.top().nDestinationState = DESTINATION_MOMATH; - break; - case RTF_MR: - m_aStates.top().nDestinationState = DESTINATION_MR; - break; - case RTF_MF: - m_aMathBuffer.appendOpeningTag(M_TOKEN(f)); - m_aStates.top().nDestinationState = DESTINATION_MF; - break; - case RTF_MFPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(fPr)); - m_aStates.top().nDestinationState = DESTINATION_MFPR; - break; - case RTF_MCTRLPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(ctrlPr)); - m_aStates.top().nDestinationState = DESTINATION_MCTRLPR; - break; - case RTF_MNUM: - m_aMathBuffer.appendOpeningTag(M_TOKEN(num)); - m_aStates.top().nDestinationState = DESTINATION_MNUM; - break; - case RTF_MDEN: - m_aMathBuffer.appendOpeningTag(M_TOKEN(den)); - m_aStates.top().nDestinationState = DESTINATION_MDEN; - break; - case RTF_MACC: - m_aMathBuffer.appendOpeningTag(M_TOKEN(acc)); - m_aStates.top().nDestinationState = DESTINATION_MACC; - break; - case RTF_MACCPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(accPr)); - m_aStates.top().nDestinationState = DESTINATION_MACCPR; - break; - case RTF_MBAR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(bar)); - m_aStates.top().nDestinationState = DESTINATION_MBAR; - break; - case RTF_MBARPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(barPr)); - m_aStates.top().nDestinationState = DESTINATION_MBARPR; - break; - case RTF_MCHR: - m_aStates.top().nDestinationState = DESTINATION_MCHR; - break; - case RTF_MPOS: - m_aStates.top().nDestinationState = DESTINATION_MPOS; - break; - case RTF_MVERTJC: - m_aStates.top().nDestinationState = DESTINATION_MVERTJC; - break; - case RTF_MSTRIKEH: - m_aStates.top().nDestinationState = DESTINATION_MSTRIKEH; - break; + case RTF_MR: m_aStates.top().nDestinationState = DESTINATION_MR; break; + case RTF_MCHR: m_aStates.top().nDestinationState = DESTINATION_MCHR; break; + case RTF_MPOS: m_aStates.top().nDestinationState = DESTINATION_MPOS; break; + case RTF_MVERTJC: m_aStates.top().nDestinationState = DESTINATION_MVERTJC; break; + case RTF_MSTRIKEH: m_aStates.top().nDestinationState = DESTINATION_MSTRIKEH; break; case RTF_MHIDETOP: case RTF_MHIDEBOT: case RTF_MHIDELEFT: @@ -1472,106 +1427,42 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword) // SmOoxmlImport::handleBorderBox will ignore these anyway, so silently ignore for now. m_aStates.top().nDestinationState = DESTINATION_SKIP; break; - case RTF_MSUBHIDE: - m_aStates.top().nDestinationState = DESTINATION_MSUBHIDE; - break; - case RTF_MSUPHIDE: - m_aStates.top().nDestinationState = DESTINATION_MSUPHIDE; - break; - case RTF_MBEGCHR: - m_aStates.top().nDestinationState = DESTINATION_MBEGCHR; - break; - case RTF_MENDCHR: - m_aStates.top().nDestinationState = DESTINATION_MENDCHR; - break; - case RTF_ME: - m_aMathBuffer.appendOpeningTag(M_TOKEN(e)); - m_aStates.top().nDestinationState = DESTINATION_ME; - break; - case RTF_MD: - m_aMathBuffer.appendOpeningTag(M_TOKEN(d)); - m_aStates.top().nDestinationState = DESTINATION_MD; - break; - case RTF_MDPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(dPr)); - m_aStates.top().nDestinationState = DESTINATION_MDPR; - break; - case RTF_MFUNC: - m_aMathBuffer.appendOpeningTag(M_TOKEN(func)); - m_aStates.top().nDestinationState = DESTINATION_MFUNC; - break; - case RTF_MFUNCPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(funcPr)); - m_aStates.top().nDestinationState = DESTINATION_MFUNCPR; - break; - case RTF_MFNAME: - m_aMathBuffer.appendOpeningTag(M_TOKEN(fName)); - m_aStates.top().nDestinationState = DESTINATION_MFNAME; - break; - case RTF_MLIMLOW: - m_aMathBuffer.appendOpeningTag(M_TOKEN(limLow)); - m_aStates.top().nDestinationState = DESTINATION_MLIMLOW; - break; - case RTF_MLIMLOWPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(limLowPr)); - m_aStates.top().nDestinationState = DESTINATION_MLIMLOWPR; - break; - case RTF_MLIM: - m_aMathBuffer.appendOpeningTag(M_TOKEN(lim)); - m_aStates.top().nDestinationState = DESTINATION_MLIM; - break; - case RTF_MM: - m_aMathBuffer.appendOpeningTag(M_TOKEN(m)); - m_aStates.top().nDestinationState = DESTINATION_MM; - break; - case RTF_MMPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(mPr)); - m_aStates.top().nDestinationState = DESTINATION_MMPR; - break; - case RTF_MMR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(mr)); - m_aStates.top().nDestinationState = DESTINATION_MMR; - break; - case RTF_MNARY: - m_aMathBuffer.appendOpeningTag(M_TOKEN(nary)); - m_aStates.top().nDestinationState = DESTINATION_MNARY; - break; - case RTF_MNARYPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(naryPr)); - m_aStates.top().nDestinationState = DESTINATION_MNARYPR; - break; - case RTF_MSUB: - m_aMathBuffer.appendOpeningTag(M_TOKEN(sub)); - m_aStates.top().nDestinationState = DESTINATION_MSUB; - break; - case RTF_MSUP: - m_aMathBuffer.appendOpeningTag(M_TOKEN(sup)); - m_aStates.top().nDestinationState = DESTINATION_MSUP; - break; - case RTF_MLIMUPP: - m_aMathBuffer.appendOpeningTag(M_TOKEN(limUpp)); - m_aStates.top().nDestinationState = DESTINATION_MLIMUPP; - break; - case RTF_MLIMUPPPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(limUppPr)); - m_aStates.top().nDestinationState = DESTINATION_MLIMUPPPR; - break; - case RTF_MGROUPCHR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(groupChr)); - m_aStates.top().nDestinationState = DESTINATION_MGROUPCHR; - break; - case RTF_MGROUPCHRPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(groupChrPr)); - m_aStates.top().nDestinationState = DESTINATION_MGROUPCHRPR; - break; - case RTF_MBORDERBOX: - m_aMathBuffer.appendOpeningTag(M_TOKEN(borderBox)); - m_aStates.top().nDestinationState = DESTINATION_MBORDERBOX; - break; - case RTF_MBORDERBOXPR: - m_aMathBuffer.appendOpeningTag(M_TOKEN(borderBoxPr)); - m_aStates.top().nDestinationState = DESTINATION_MBORDERBOXPR; - break; + case RTF_MSUBHIDE: m_aStates.top().nDestinationState = DESTINATION_MSUBHIDE; break; + case RTF_MSUPHIDE: m_aStates.top().nDestinationState = DESTINATION_MSUPHIDE; break; + case RTF_MBEGCHR: m_aStates.top().nDestinationState = DESTINATION_MBEGCHR; break; + case RTF_MENDCHR: m_aStates.top().nDestinationState = DESTINATION_MENDCHR; break; + OPEN_M_TOKEN(OMATH, oMath); + OPEN_M_TOKEN(F, f); + OPEN_M_TOKEN(FPR, fPr); + OPEN_M_TOKEN(CTRLPR, ctrlPr); + OPEN_M_TOKEN(NUM, num); + OPEN_M_TOKEN(DEN, den); + OPEN_M_TOKEN(ACC, acc); + OPEN_M_TOKEN(ACCPR, accPr); + OPEN_M_TOKEN(BAR, bar); + OPEN_M_TOKEN(BARPR, barPr); + OPEN_M_TOKEN(E, e); + OPEN_M_TOKEN(D, d); + OPEN_M_TOKEN(DPR, dPr); + OPEN_M_TOKEN(FUNC, func); + OPEN_M_TOKEN(FUNCPR, funcPr); + OPEN_M_TOKEN(FNAME, fName); + OPEN_M_TOKEN(LIMLOW, limLow); + OPEN_M_TOKEN(LIMLOWPR, limLowPr); + OPEN_M_TOKEN(LIM, lim); + OPEN_M_TOKEN(M, m); + OPEN_M_TOKEN(MPR, mPr); + OPEN_M_TOKEN(MR, mr); + OPEN_M_TOKEN(NARY, nary); + OPEN_M_TOKEN(NARYPR, naryPr); + OPEN_M_TOKEN(SUB, sub); + OPEN_M_TOKEN(SUP, sup); + OPEN_M_TOKEN(LIMUPP, limUpp); + OPEN_M_TOKEN(LIMUPPPR, limUppPr); + OPEN_M_TOKEN(GROUPCHR, groupChr); + OPEN_M_TOKEN(GROUPCHRPR, groupChrPr); + OPEN_M_TOKEN(BORDERBOX, borderBox); + OPEN_M_TOKEN(BORDERBOXPR, borderBoxPr); default: SAL_INFO("writerfilter", OSL_THIS_FUNC << ": TODO handle destination '" << lcl_RtfToString(nKeyword) << "'"); // Make sure we skip destinations (even without \*) till we don't handle them |