diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-04-21 14:31:00 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-05-05 08:38:36 +0200 |
commit | 57f1934bdaa747f6e671419aa040e140d235f937 (patch) | |
tree | 98fe4a07f17f29d0e7bd17db5916a87bd30def3e /sw | |
parent | 3b39adee1965be05e4bae759f43f77ce530f326c (diff) |
convert HTML_TOKEN_IDS to scoped enum
Change-Id: I525506e0103e4f17e5b8b95f15c1285d65b93de9
Reviewed-on: https://gerrit.libreoffice.org/37220
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/html/htmlatr.cxx | 42 | ||||
-rw-r--r-- | sw/source/filter/html/htmlcss1.cxx | 94 | ||||
-rw-r--r-- | sw/source/filter/html/htmlctxt.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/html/htmlflywriter.cxx | 5 | ||||
-rw-r--r-- | sw/source/filter/html/htmlform.cxx | 14 | ||||
-rw-r--r-- | sw/source/filter/html/htmlgrin.cxx | 6 | ||||
-rw-r--r-- | sw/source/filter/html/htmlnumreader.cxx | 54 | ||||
-rw-r--r-- | sw/source/filter/html/htmlnumwriter.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/html/htmlsect.cxx | 19 | ||||
-rw-r--r-- | sw/source/filter/html/htmltab.cxx | 279 | ||||
-rw-r--r-- | sw/source/filter/html/htmltabw.cxx | 2 | ||||
-rw-r--r-- | sw/source/filter/html/svxcss1.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/html/swcss1.hxx | 2 | ||||
-rw-r--r-- | sw/source/filter/html/swhtml.cxx | 710 | ||||
-rw-r--r-- | sw/source/filter/html/swhtml.hxx | 57 | ||||
-rw-r--r-- | sw/source/filter/html/wrthtml.cxx | 11 | ||||
-rw-r--r-- | sw/source/filter/html/wrthtml.hxx | 4 | ||||
-rw-r--r-- | sw/source/uibase/docvw/srcedtw.cxx | 4 |
18 files changed, 666 insertions, 649 deletions
diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx index b817040077b2..d6005f1730ed 100644 --- a/sw/source/filter/html/htmlatr.cxx +++ b/sw/source/filter/html/htmlatr.cxx @@ -125,11 +125,11 @@ void SwHTMLWriter::OutAndSetDefList( sal_uInt16 nNewLvl ) { // output </pre> for the previous(!) paragraph, if required. // Preferable, the <pre> is exported by OutHTML_SwFormatOff for the - // previous paragraph already, but that's not possible, because a very + // previous paragraph already, but that's not possible, because a very // deep look at the next paragraph (this one) is required to figure // out that a def list starts here. - ChangeParaToken( 0 ); + ChangeParaToken( HtmlTokenId::NONE ); // write according to the level difference for( sal_uInt16 i=m_nDefListLvl; i<nNewLvl; i++ ) @@ -156,9 +156,9 @@ void SwHTMLWriter::OutAndSetDefList( sal_uInt16 nNewLvl ) m_nDefListLvl = nNewLvl; } -void SwHTMLWriter::ChangeParaToken( sal_uInt16 nNew ) +void SwHTMLWriter::ChangeParaToken( HtmlTokenId nNew ) { - if( nNew != m_nLastParaToken && HTML_PREFORMTXT_ON == m_nLastParaToken ) + if( nNew != m_nLastParaToken && HtmlTokenId::PREFORMTXT_ON == m_nLastParaToken ) { HTMLOutFuncs::Out_AsciiTag( Strm(), OOO_STRING_SVTOOLS_HTML_preformtxt, false ); m_bLFPossible = true; @@ -478,7 +478,7 @@ void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, { nNumStart = static_cast< sal_uInt16 >(pTextNd->GetActualListStartValue()); } - OSL_ENSURE( rHWrt.m_nLastParaToken == 0, + OSL_ENSURE( rHWrt.m_nLastParaToken == HtmlTokenId::NONE, "<PRE> was not closed before <LI>." ); } } @@ -502,7 +502,7 @@ void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, } // Now, we define what is possible due to the token - sal_uInt16 nToken = 0; // token for tag change + HtmlTokenId nToken = HtmlTokenId::NONE; // token for tag change bool bOutNewLine = false; // only output a single LF? if( !pFormatInfo->aToken.isEmpty() ) { @@ -526,13 +526,13 @@ void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, } else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_preformtxt) { - if (HTML_PREFORMTXT_ON == rHWrt.m_nLastParaToken) + if (HtmlTokenId::PREFORMTXT_ON == rHWrt.m_nLastParaToken) { bOutNewLine = true; } else { - nToken = HTML_PREFORMTXT_ON; + nToken = HtmlTokenId::PREFORMTXT_ON; rHWrt.m_bNoAlign = true; bNoEndTag = true; } @@ -971,11 +971,11 @@ void OutHTML_SwFormatOff( Writer& rWrt, const SwHTMLTextCollOutputInfo& rInfo ) if( rNextInfo.GetNumRule() != rNRInfo.GetNumRule() || rNextInfo.GetDepth() != rNRInfo.GetDepth() || rNextInfo.IsNumbered() || rNextInfo.IsRestart() ) - rHWrt.ChangeParaToken( 0 ); + rHWrt.ChangeParaToken( HtmlTokenId::NONE ); OutHTML_NumBulListEnd( rHWrt, rNextInfo ); } else if( rNextInfo.GetNumRule() != nullptr ) - rHWrt.ChangeParaToken( 0 ); + rHWrt.ChangeParaToken( HtmlTokenId::NONE ); return; } @@ -2008,7 +2008,7 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) // MIB 8.7.97: We enclose the line in a <PRE>. This means that the // spacings are wrong, but otherwise we get an empty paragraph // after the <HR> which is even uglier. - rHTMLWrt.ChangeParaToken( 0 ); + rHTMLWrt.ChangeParaToken( HtmlTokenId::NONE ); // Output all the nodes that are anchored to a frame rHTMLWrt.OutFlyFrame( rNode.GetIndex(), 0, HtmlPosition::Any ); @@ -2120,7 +2120,7 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) { // ... and it is located before a table or a section rHTMLWrt.OutBookmarks(); - rHTMLWrt.m_bLFPossible = !rHTMLWrt.m_nLastParaToken; + rHTMLWrt.m_bLFPossible = rHTMLWrt.m_nLastParaToken == HtmlTokenId::NONE; // Output all frames that are anchored to this node rHTMLWrt.OutFlyFrame( rNode.GetIndex(), 0, HtmlPosition::Any ); @@ -2200,7 +2200,7 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) OutHTML_SwFormat( rWrt, rFormat, pNd->GetpSwAttrSet(), aFormatInfo ); // If we didn't open a new line before the paragraph tag, we do that now - rHTMLWrt.m_bLFPossible = !rHTMLWrt.m_nLastParaToken; + rHTMLWrt.m_bLFPossible = rHTMLWrt.m_nLastParaToken == HtmlTokenId::NONE; if( !bOldLFPossible && rHTMLWrt.m_bLFPossible ) rHTMLWrt.OutNewLine(); @@ -2333,7 +2333,7 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) aEndPosLst.OutStartAttrs( rHTMLWrt, nStrPos + nOffset ); } - bool bWriteBreak = (HTML_PREFORMTXT_ON != rHTMLWrt.m_nLastParaToken); + bool bWriteBreak = (HtmlTokenId::PREFORMTXT_ON != rHTMLWrt.m_nLastParaToken); if( bWriteBreak && pNd->GetNumRule() ) bWriteBreak = false; @@ -2412,7 +2412,8 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) if( pTextHt ) { - rHTMLWrt.m_bLFPossible = !rHTMLWrt.m_nLastParaToken && nStrPos > 0 && + rHTMLWrt.m_bLFPossible = rHTMLWrt.m_nLastParaToken == HtmlTokenId::NONE && + nStrPos > 0 && rStr[nStrPos-1] == ' '; sal_uInt16 nCSS1Script = rHTMLWrt.m_nCSS1Script; rHTMLWrt.m_nCSS1Script = aEndPosLst.GetScriptAtPos( @@ -2438,10 +2439,10 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) // try to split a line after about 255 characters // at a space character unless in a PRE-context - if( ' '==c && !rHTMLWrt.m_nLastParaToken ) + if( ' ' == c && rHTMLWrt.m_nLastParaToken == HtmlTokenId::NONE ) { sal_Int32 nLineLen; - if( rHTMLWrt.m_nLastParaToken ) + if( rHTMLWrt.m_nLastParaToken != HtmlTokenId::NONE ) nLineLen = nStrPos - nPreSplitPos; else nLineLen = rHTMLWrt.GetLineLen(); @@ -2457,7 +2458,7 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) HTMLOutFuncs::FlushToAscii( rWrt.Strm(), aContext ); rHTMLWrt.OutNewLine(); bOutChar = false; - if( rHTMLWrt.m_nLastParaToken ) + if( rHTMLWrt.m_nLastParaToken != HtmlTokenId::NONE ) nPreSplitPos = nStrPos+1; } } @@ -2485,7 +2486,7 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) // then we need to add an extra <br> // because browsers like Mozilla wouldn't add a line for the next paragraph bWriteBreak = (0x0a == c) && - (HTML_PREFORMTXT_ON != rHTMLWrt.m_nLastParaToken); + (HtmlTokenId::PREFORMTXT_ON != rHTMLWrt.m_nLastParaToken); } } } @@ -2558,7 +2559,8 @@ Writer& OutHTML_SwTextNode( Writer& rWrt, const SwContentNode& rNode ) // if an LF is not allowed already, it is allowed once the paragraphs // ends with a ' ' - if( !rHTMLWrt.m_bLFPossible && !rHTMLWrt.m_nLastParaToken && + if( !rHTMLWrt.m_bLFPossible && + rHTMLWrt.m_nLastParaToken == HtmlTokenId::NONE && nEnd > 0 && ' ' == rStr[nEnd-1] ) rHTMLWrt.m_bLFPossible = true; diff --git a/sw/source/filter/html/htmlcss1.cxx b/sw/source/filter/html/htmlcss1.cxx index 2b120556e78b..d486ffb3c45f 100644 --- a/sw/source/filter/html/htmlcss1.cxx +++ b/sw/source/filter/html/htmlcss1.cxx @@ -744,7 +744,7 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, OUString aClass; Css1ScriptFlags nScript; eSelType = GetTokenAndClass( pSelector, aToken2, aClass, nScript ); - int nToken2 = GetHTMLToken( aToken2 ); + HtmlTokenId nToken2 = GetHTMLToken( aToken2 ); // and also some information of the next element CSS1SelectorType eNextType = pNext ? pNext->GetType() @@ -755,7 +755,7 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, { switch( nToken2 ) { - case HTML_ANCHOR_ON: + case HtmlTokenId::ANCHOR_ON: if( !pNext ) { InsertTag( aToken2, rItemSet, rPropInfo ); @@ -800,7 +800,7 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, } } break; - case HTML_BODY_ON: + case HtmlTokenId::BODY_ON: if( !pNext ) { // BODY @@ -838,9 +838,10 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, return; } break; + default: break; } } - else if( CSS1_SELTYPE_ELEM_CLASS==eSelType && HTML_ANCHOR_ON==nToken2 && + else if( CSS1_SELTYPE_ELEM_CLASS==eSelType && HtmlTokenId::ANCHOR_ON==nToken2 && !pNext && aClass.getLength() >= 9 && ('s' == aClass[0] || 'S' == aClass[0]) ) { @@ -870,25 +871,25 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, sal_uInt16 nPoolCollId = 0; switch( nToken2 ) { - case HTML_HEAD1_ON: + case HtmlTokenId::HEAD1_ON: nPoolCollId = RES_POOLCOLL_HEADLINE1; break; - case HTML_HEAD2_ON: + case HtmlTokenId::HEAD2_ON: nPoolCollId = RES_POOLCOLL_HEADLINE2; break; - case HTML_HEAD3_ON: + case HtmlTokenId::HEAD3_ON: nPoolCollId = RES_POOLCOLL_HEADLINE3; break; - case HTML_HEAD4_ON: + case HtmlTokenId::HEAD4_ON: nPoolCollId = RES_POOLCOLL_HEADLINE4; break; - case HTML_HEAD5_ON: + case HtmlTokenId::HEAD5_ON: nPoolCollId = RES_POOLCOLL_HEADLINE5; break; - case HTML_HEAD6_ON: + case HtmlTokenId::HEAD6_ON: nPoolCollId = RES_POOLCOLL_HEADLINE6; break; - case HTML_PARABREAK_ON: + case HtmlTokenId::PARABREAK_ON: if( aClass.getLength() >= 9 && ('s' == aClass[0] || 'S' == aClass[0]) ) { @@ -907,23 +908,23 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, nPoolCollId = RES_POOLCOLL_TEXT; } break; - case HTML_ADDRESS_ON: + case HtmlTokenId::ADDRESS_ON: nPoolCollId = RES_POOLCOLL_SENDADRESS; break; - case HTML_BLOCKQUOTE_ON: + case HtmlTokenId::BLOCKQUOTE_ON: nPoolCollId = RES_POOLCOLL_HTML_BLOCKQUOTE; break; - case HTML_DT_ON: + case HtmlTokenId::DT_ON: nPoolCollId = RES_POOLCOLL_HTML_DT; break; - case HTML_DD_ON: + case HtmlTokenId::DD_ON: nPoolCollId = RES_POOLCOLL_HTML_DD; break; - case HTML_PREFORMTXT_ON: + case HtmlTokenId::PREFORMTXT_ON: nPoolCollId = RES_POOLCOLL_HTML_PRE; break; - case HTML_TABLEHEADER_ON: - case HTML_TABLEDATA_ON: + case HtmlTokenId::TABLEHEADER_ON: + case HtmlTokenId::TABLEDATA_ON: if( CSS1_SELTYPE_ELEMENT==eSelType && !pNext ) { InsertTag( aToken2, rItemSet, rPropInfo ); @@ -936,7 +937,7 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, // not TH and TD, but TH P and TD P OUString aSubToken, aSubClass; GetTokenAndClass( pNext, aSubToken, aSubClass, nScript ); - if( HTML_PARABREAK_ON == GetHTMLToken( aSubToken ) ) + if( HtmlTokenId::PARABREAK_ON == GetHTMLToken( aSubToken ) ) { aClass = aSubClass; pNext = pNext->GetNext(); @@ -945,7 +946,7 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, if( !aClass.isEmpty() || pNext ) { nPoolCollId = static_cast< sal_uInt16 >( - HTML_TABLEHEADER_ON == nToken2 ? RES_POOLCOLL_TABLE_HDLN + HtmlTokenId::TABLEHEADER_ON == nToken2 ? RES_POOLCOLL_TABLE_HDLN : RES_POOLCOLL_TABLE ); } else @@ -1077,7 +1078,7 @@ void SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector, if( pNext ) return; - SwCharFormat *pCFormat = GetChrFormat( static_cast< sal_uInt16 >(nToken2), aEmptyOUStr ); + SwCharFormat *pCFormat = GetChrFormat( nToken2, aEmptyOUStr ); if( pCFormat ) { SwCharFormat *pParentCFormat = nullptr; @@ -1129,31 +1130,32 @@ const FontList *SwCSS1Parser::GetFontList() const return pFList; } -SwCharFormat* SwCSS1Parser::GetChrFormat( sal_uInt16 nToken2, const OUString& rClass ) const +SwCharFormat* SwCSS1Parser::GetChrFormat( HtmlTokenId nToken2, const OUString& rClass ) const { // search the corresponding style sal_uInt16 nPoolId = 0; const sal_Char* sName = nullptr; switch( nToken2 ) { - case HTML_EMPHASIS_ON: nPoolId = RES_POOLCHR_HTML_EMPHASIS; break; - case HTML_CITIATION_ON: nPoolId = RES_POOLCHR_HTML_CITIATION; break; - case HTML_STRONG_ON: nPoolId = RES_POOLCHR_HTML_STRONG; break; - case HTML_CODE_ON: nPoolId = RES_POOLCHR_HTML_CODE; break; - case HTML_SAMPLE_ON: nPoolId = RES_POOLCHR_HTML_SAMPLE; break; - case HTML_KEYBOARD_ON: nPoolId = RES_POOLCHR_HTML_KEYBOARD; break; - case HTML_VARIABLE_ON: nPoolId = RES_POOLCHR_HTML_VARIABLE; break; - case HTML_DEFINSTANCE_ON: nPoolId = RES_POOLCHR_HTML_DEFINSTANCE; break; - case HTML_TELETYPE_ON: nPoolId = RES_POOLCHR_HTML_TELETYPE; break; - - case HTML_SHORTQUOTE_ON: sName = OOO_STRING_SVTOOLS_HTML_shortquote; break; - case HTML_LANGUAGE_ON: sName = OOO_STRING_SVTOOLS_HTML_language; break; - case HTML_AUTHOR_ON: sName = OOO_STRING_SVTOOLS_HTML_author; break; - case HTML_PERSON_ON: sName = OOO_STRING_SVTOOLS_HTML_person; break; - case HTML_ACRONYM_ON: sName = OOO_STRING_SVTOOLS_HTML_acronym; break; - case HTML_ABBREVIATION_ON: sName = OOO_STRING_SVTOOLS_HTML_abbreviation; break; - case HTML_INSERTEDTEXT_ON: sName = OOO_STRING_SVTOOLS_HTML_insertedtext; break; - case HTML_DELETEDTEXT_ON: sName = OOO_STRING_SVTOOLS_HTML_deletedtext; break; + case HtmlTokenId::EMPHASIS_ON: nPoolId = RES_POOLCHR_HTML_EMPHASIS; break; + case HtmlTokenId::CITIATION_ON: nPoolId = RES_POOLCHR_HTML_CITIATION; break; + case HtmlTokenId::STRONG_ON: nPoolId = RES_POOLCHR_HTML_STRONG; break; + case HtmlTokenId::CODE_ON: nPoolId = RES_POOLCHR_HTML_CODE; break; + case HtmlTokenId::SAMPLE_ON: nPoolId = RES_POOLCHR_HTML_SAMPLE; break; + case HtmlTokenId::KEYBOARD_ON: nPoolId = RES_POOLCHR_HTML_KEYBOARD; break; + case HtmlTokenId::VARIABLE_ON: nPoolId = RES_POOLCHR_HTML_VARIABLE; break; + case HtmlTokenId::DEFINSTANCE_ON: nPoolId = RES_POOLCHR_HTML_DEFINSTANCE; break; + case HtmlTokenId::TELETYPE_ON: nPoolId = RES_POOLCHR_HTML_TELETYPE; break; + + case HtmlTokenId::SHORTQUOTE_ON: sName = OOO_STRING_SVTOOLS_HTML_shortquote; break; + case HtmlTokenId::LANGUAGE_ON: sName = OOO_STRING_SVTOOLS_HTML_language; break; + case HtmlTokenId::AUTHOR_ON: sName = OOO_STRING_SVTOOLS_HTML_author; break; + case HtmlTokenId::PERSON_ON: sName = OOO_STRING_SVTOOLS_HTML_person; break; + case HtmlTokenId::ACRONYM_ON: sName = OOO_STRING_SVTOOLS_HTML_acronym; break; + case HtmlTokenId::ABBREVIATION_ON: sName = OOO_STRING_SVTOOLS_HTML_abbreviation; break; + case HtmlTokenId::INSERTEDTEXT_ON: sName = OOO_STRING_SVTOOLS_HTML_insertedtext; break; + case HtmlTokenId::DELETEDTEXT_ON: sName = OOO_STRING_SVTOOLS_HTML_deletedtext; break; + default: break; } // search or create the style (only possible with name) @@ -1777,7 +1779,7 @@ void SwHTMLParser::InsertLink() // The style was load asynchronously and is only available // on the next continue call. Therefore we must create a // Pending stack, so that we will return to here. - m_pPendStack = new SwPendingStack( HTML_LINK, m_pPendStack ); + m_pPendStack = new SwPendingStack( HtmlTokenId::LINK, m_pPendStack ); } } else @@ -2114,25 +2116,25 @@ void SwHTMLParser::SetFrameFormatAttrs( SfxItemSet &rItemSet, } } -HTMLAttrContext *SwHTMLParser::PopContext( sal_uInt16 nToken ) +HTMLAttrContext *SwHTMLParser::PopContext( HtmlTokenId nToken ) { HTMLAttrContexts::size_type nPos = m_aContexts.size(); if( nPos <= m_nContextStMin ) return nullptr; - bool bFound = 0==nToken; - if( nToken ) + bool bFound = HtmlTokenId::NONE == nToken; + if( nToken != HtmlTokenId::NONE ) { // search for stack entry of token ... while( nPos > m_nContextStMin ) { - sal_uInt16 nCntxtToken = m_aContexts[--nPos]->GetToken(); + HtmlTokenId nCntxtToken = m_aContexts[--nPos]->GetToken(); if( nCntxtToken == nToken ) { bFound = true; break; } - else if( nCntxtToken == 0 ) // zero as token doesn't occur + else if( nCntxtToken == HtmlTokenId::NONE ) // zero as token doesn't occur { break; } diff --git a/sw/source/filter/html/htmlctxt.cxx b/sw/source/filter/html/htmlctxt.cxx index af63f258f792..f528368230b5 100644 --- a/sw/source/filter/html/htmlctxt.cxx +++ b/sw/source/filter/html/htmlctxt.cxx @@ -619,8 +619,8 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet, HTMLAttrs &rAttrs = pContext->GetAttrs(); rAttrs.push_back( m_aAttrTab.pCharBrush ); } - else if( pContext->GetToken() != HTML_TABLEHEADER_ON && - pContext->GetToken() != HTML_TABLEDATA_ON ) + else if( pContext->GetToken() != HtmlTokenId::TABLEHEADER_ON && + pContext->GetToken() != HtmlTokenId::TABLEDATA_ON ) { ppAttr = &m_aAttrTab.pBrush; } diff --git a/sw/source/filter/html/htmlflywriter.cxx b/sw/source/filter/html/htmlflywriter.cxx index 9297c9f6153a..751f89c3cfb5 100644 --- a/sw/source/filter/html/htmlflywriter.cxx +++ b/sw/source/filter/html/htmlflywriter.cxx @@ -29,6 +29,7 @@ #include <vcl/wrkwin.hxx> #include <svtools/htmlkywd.hxx> #include <svtools/htmlout.hxx> +#include <svtools/htmltokn.h> #include <svtools/imap.hxx> #include <svtools/imapobj.hxx> #include <svtools/htmlcfg.hxx> @@ -1544,7 +1545,7 @@ static Writer & OutHTML_FrameFormatAsMulticol( Writer& rWrt, { SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - rHTMLWrt.ChangeParaToken( 0 ); + rHTMLWrt.ChangeParaToken( HtmlTokenId::NONE ); // Close the current <DL>! rHTMLWrt.OutAndSetDefList( 0 ); @@ -1652,7 +1653,7 @@ static Writer& OutHTML_FrameFormatAsDivOrSpan( Writer& rWrt, const sal_Char *pStr = nullptr; if( !bSpan ) { - rHTMLWrt.ChangeParaToken( 0 ); + rHTMLWrt.ChangeParaToken( HtmlTokenId::NONE ); // Close the current <DL>! rHTMLWrt.OutAndSetDefList( 0 ); diff --git a/sw/source/filter/html/htmlform.cxx b/sw/source/filter/html/htmlform.cxx index f47d1141752b..08319ee5a1bc 100644 --- a/sw/source/filter/html/htmlform.cxx +++ b/sw/source/filter/html/htmlform.cxx @@ -2071,7 +2071,7 @@ void SwHTMLParser::NewTextArea() SetControlSize( xShape, aTextSz, false, false ); // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_TEXTAREA_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::TEXTAREA_ON ); // und PRE/Listing/XMP voruebergehend aussetzen SplitPREListingXMP( pCntxt ); @@ -2098,7 +2098,7 @@ void SwHTMLParser::EndTextArea() m_pFormImpl->ReleaseFCompPropSet(); // den Kontext holen - HTMLAttrContext *pCntxt = PopContext( HTML_TEXTAREA_ON ); + HTMLAttrContext *pCntxt = PopContext( HtmlTokenId::TEXTAREA_ON ); if( pCntxt ) { // und ggf. die Attribute beenden @@ -2109,7 +2109,7 @@ void SwHTMLParser::EndTextArea() m_bTextArea = false; } -void SwHTMLParser::InsertTextAreaText( sal_uInt16 nToken ) +void SwHTMLParser::InsertTextAreaText( HtmlTokenId nToken ) { OSL_ENSURE( m_bTextArea, "keine TextArea oder falscher Typ" ); OSL_ENSURE( m_pFormImpl && m_pFormImpl->GetFCompPropSet().is(), @@ -2118,10 +2118,10 @@ void SwHTMLParser::InsertTextAreaText( sal_uInt16 nToken ) OUString& rText = m_pFormImpl->GetText(); switch( nToken) { - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: rText += aToken; break; - case HTML_NEWPARA: + case HtmlTokenId::NEWPARA: if( !m_bTAIgnoreNewPara ) rText += "\n"; // das ist hier richtig!!! break; @@ -2344,7 +2344,7 @@ void SwHTMLParser::NewSelect() SetControlSize( xShape, aTextSz, bMinWidth, bMinHeight ); // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_SELECT_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::SELECT_ON ); // und PRE/Listing/XMP voruebergehend aussetzen SplitPREListingXMP( pCntxt ); @@ -2420,7 +2420,7 @@ void SwHTMLParser::EndSelect() m_pFormImpl->ReleaseFCompPropSet(); // den Kontext holen - HTMLAttrContext *pCntxt = PopContext( HTML_SELECT_ON ); + HTMLAttrContext *pCntxt = PopContext( HtmlTokenId::SELECT_ON ); if( pCntxt ) { // und ggf. die Attribute beenden diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx index d13e02734563..1ee611cfd9f5 100644 --- a/sw/source/filter/html/htmlgrin.cxx +++ b/sw/source/filter/html/htmlgrin.cxx @@ -1049,7 +1049,7 @@ void SwHTMLParser::InsertBodyOptions() void SwHTMLParser::NewAnchor() { // end previous link if there was one - HTMLAttrContext *pOldCntxt = PopContext( HTML_ANCHOR_ON ); + HTMLAttrContext *pOldCntxt = PopContext( HtmlTokenId::ANCHOR_ON ); if( pOldCntxt ) { // and maybe end attributes @@ -1170,7 +1170,7 @@ ANCHOR_SETEVENT: } // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_ANCHOR_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::ANCHOR_ON ); bool bEnAnchor = false, bFootnoteAnchor = false, bFootnoteEnSymbol = false; OUString aFootnoteName; @@ -1262,7 +1262,7 @@ void SwHTMLParser::EndAnchor() m_bInFootEndNoteSymbol = false; } - EndTag( HTML_ANCHOR_OFF ); + EndTag( HtmlTokenId::ANCHOR_OFF ); } /* */ diff --git a/sw/source/filter/html/htmlnumreader.cxx b/sw/source/filter/html/htmlnumreader.cxx index 186f8f599bf0..66109b02cab7 100644 --- a/sw/source/filter/html/htmlnumreader.cxx +++ b/sw/source/filter/html/htmlnumreader.cxx @@ -52,7 +52,7 @@ static HTMLOptionEnum<sal_Unicode> aHTMLULTypeTable[] = }; -void SwHTMLParser::NewNumBulList( int nToken ) +void SwHTMLParser::NewNumBulList( HtmlTokenId nToken ) { SwHTMLNumRuleInfo& rInfo = GetNumInfo(); @@ -85,7 +85,7 @@ void SwHTMLParser::NewNumBulList( int nToken ) if( bNewNumFormat ) { sal_uInt16 nChrFormatPoolId = 0; - if( HTML_ORDERLIST_ON == nToken ) + if( HtmlTokenId::ORDERLIST_ON == nToken ) { aNumFormat.SetNumberingType(SVX_NUM_ARABIC); nChrFormatPoolId = RES_POOLCHR_NUM_LEVEL; @@ -144,7 +144,7 @@ void SwHTMLParser::NewNumBulList( int nToken ) { switch( nToken ) { - case HTML_ORDERLIST_ON: + case HtmlTokenId::ORDERLIST_ON: bChangeNumFormat = true; switch( rOption.GetString()[0] ) { @@ -156,11 +156,12 @@ void SwHTMLParser::NewNumBulList( int nToken ) } break; - case HTML_UNORDERLIST_ON: + case HtmlTokenId::UNORDERLIST_ON: aNumFormat.SetBulletChar( rOption.GetEnum( aHTMLULTypeTable,aNumFormat.GetBulletChar() ) ); bChangeNumFormat = true; break; + default: break; } } break; @@ -249,7 +250,7 @@ void SwHTMLParser::NewNumBulList( int nToken ) } // create a new context - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken ); // Parse styles if( HasStyleOptions( aStyle, aId, aClass, &aLang, &aDir ) ) @@ -330,7 +331,7 @@ void SwHTMLParser::NewNumBulList( int nToken ) SetTextCollAttrs( pCntxt ); } -void SwHTMLParser::EndNumBulList( int nToken ) +void SwHTMLParser::EndNumBulList( HtmlTokenId nToken ) { SwHTMLNumRuleInfo& rInfo = GetNumInfo(); @@ -354,10 +355,10 @@ void SwHTMLParser::EndNumBulList( int nToken ) AddParSpace(); // get current context from stack - HTMLAttrContext *pCntxt = nToken!=0 ? PopContext( static_cast< sal_uInt16 >(nToken & ~1) ) : nullptr; + HTMLAttrContext *pCntxt = nToken != HtmlTokenId::NONE ? PopContext( getOnToken(nToken) ) : nullptr; // Don't end a list because of a token, if the context wasn't created or mustn't be ended - if( rInfo.GetDepth()>0 && (!nToken || pCntxt) ) + if( rInfo.GetDepth()>0 && (nToken == HtmlTokenId::NONE || pCntxt) ) { rInfo.DecDepth(); if( !rInfo.GetDepth() ) // was that the last level? @@ -418,7 +419,7 @@ void SwHTMLParser::EndNumBulList( int nToken ) bSetAttrs = true; } - if( nToken ) + if( nToken != HtmlTokenId::NONE ) SetTextCollAttrs(); if( bSetAttrs ) @@ -426,11 +427,11 @@ void SwHTMLParser::EndNumBulList( int nToken ) } -void SwHTMLParser::NewNumBulListItem( int nToken ) +void SwHTMLParser::NewNumBulListItem( HtmlTokenId nToken ) { sal_uInt8 nLevel = GetNumInfo().GetLevel(); OUString aId, aStyle, aClass, aLang, aDir; - sal_uInt16 nStart = HTML_LISTHEADER_ON != nToken + sal_uInt16 nStart = HtmlTokenId::LISTHEADER_ON != nToken ? GetNumInfo().GetNodeStartValue( nLevel ) : USHRT_MAX; if( USHRT_MAX != nStart ) @@ -469,9 +470,9 @@ void SwHTMLParser::NewNumBulListItem( int nToken ) AppendTextNode( AM_NOSPACE, false ); m_bNoParSpace = false; // no space in <LI>! - const bool bCountedInList = nToken != HTML_LISTHEADER_ON; + const bool bCountedInList = nToken != HtmlTokenId::LISTHEADER_ON; - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken ); OUString aNumRuleName; if( GetNumInfo().GetNumRule() ) @@ -497,11 +498,11 @@ void SwHTMLParser::NewNumBulListItem( int nToken ) m_xDoc->MakeNumRule( aNumRuleName, &aNumRule ); - OSL_ENSURE( !m_nOpenParaToken, + OSL_ENSURE( m_nOpenParaToken == HtmlTokenId::NONE, "Jetzt geht ein offenes Absatz-Element verloren" ); // We'll act like we're in a paragraph. On the next paragraph, at least numbering is gone, // that's gonna be taken over by the next AppendTextNode - m_nOpenParaToken = static_cast< sal_uInt16 >(nToken); + m_nOpenParaToken = nToken; } SwTextNode* pTextNode = m_pPam->GetNode().GetTextNode(); @@ -548,37 +549,38 @@ void SwHTMLParser::NewNumBulListItem( int nToken ) ShowStatline(); } -void SwHTMLParser::EndNumBulListItem( int nToken, bool bSetColl, +void SwHTMLParser::EndNumBulListItem( HtmlTokenId nToken, bool bSetColl, bool /*bLastPara*/ ) { // Create a new paragraph - if( !nToken && m_pPam->GetPoint()->nContent.GetIndex() ) + if( nToken == HtmlTokenId::NONE && m_pPam->GetPoint()->nContent.GetIndex() ) AppendTextNode( AM_NOSPACE ); // Get context to that token and pop it from stack HTMLAttrContext *pCntxt = nullptr; auto nPos = m_aContexts.size(); - nToken &= ~1; + nToken = getOnToken(nToken); while( !pCntxt && nPos>m_nContextStMin ) { - sal_uInt16 nCntxtToken = m_aContexts[--nPos]->GetToken(); + HtmlTokenId nCntxtToken = m_aContexts[--nPos]->GetToken(); switch( nCntxtToken ) { - case HTML_LI_ON: - case HTML_LISTHEADER_ON: - if( !nToken || nToken == nCntxtToken ) + case HtmlTokenId::LI_ON: + case HtmlTokenId::LISTHEADER_ON: + if( nToken == HtmlTokenId::NONE || nToken == nCntxtToken ) { pCntxt = m_aContexts[nPos]; m_aContexts.erase( m_aContexts.begin() + nPos ); } break; - case HTML_ORDERLIST_ON: - case HTML_UNORDERLIST_ON: - case HTML_MENULIST_ON: - case HTML_DIRLIST_ON: + case HtmlTokenId::ORDERLIST_ON: + case HtmlTokenId::UNORDERLIST_ON: + case HtmlTokenId::MENULIST_ON: + case HtmlTokenId::DIRLIST_ON: // Don't care about LI/LH outside the current list nPos = m_nContextStMin; break; + default: break; } } diff --git a/sw/source/filter/html/htmlnumwriter.cxx b/sw/source/filter/html/htmlnumwriter.cxx index 01d9e6c33ef2..f363e40f49e3 100644 --- a/sw/source/filter/html/htmlnumwriter.cxx +++ b/sw/source/filter/html/htmlnumwriter.cxx @@ -170,7 +170,7 @@ Writer& OutHTML_NumBulListStart( SwHTMLWriter& rWrt, } } - OSL_ENSURE( rWrt.m_nLastParaToken == 0, + OSL_ENSURE( rWrt.m_nLastParaToken == HtmlTokenId::NONE, "<PRE> was not closed before <OL>." ); sal_uInt16 nPrevDepth = (bSameRule && !rInfo.IsRestart()) ? rPrevInfo.GetDepth() : 0; @@ -291,7 +291,7 @@ Writer& OutHTML_NumBulListEnd( SwHTMLWriter& rWrt, return rWrt; } - OSL_ENSURE( rWrt.m_nLastParaToken == 0, + OSL_ENSURE( rWrt.m_nLastParaToken == HtmlTokenId::NONE, "<PRE> was not closed before </OL>." ); sal_uInt16 nNextDepth = (bSameRule && !rNextInfo.IsRestart()) ? rNextInfo.GetDepth() : 0; diff --git a/sw/source/filter/html/htmlsect.cxx b/sw/source/filter/html/htmlsect.cxx index 4a6792e384bf..3d18e2c40e88 100644 --- a/sw/source/filter/html/htmlsect.cxx +++ b/sw/source/filter/html/htmlsect.cxx @@ -55,12 +55,12 @@ using namespace ::com::sun::star; -void SwHTMLParser::NewDivision( int nToken ) +void SwHTMLParser::NewDivision( HtmlTokenId nToken ) { OUString aId, aHRef; OUString aStyle, aLang, aDir; OUString aClass; - SvxAdjust eAdjust = HTML_CENTER_ON==nToken ? SvxAdjust::Center + SvxAdjust eAdjust = HtmlTokenId::CENTER_ON==nToken ? SvxAdjust::Center : SvxAdjust::End; bool bHeader=false, bFooter=false; @@ -74,7 +74,7 @@ void SwHTMLParser::NewDivision( int nToken ) aId = rOption.GetString(); break; case HtmlOptionId::ALIGN: - if( HTML_DIVISION_ON==nToken ) + if( HtmlTokenId::DIVISION_ON==nToken ) eAdjust = rOption.GetEnum( aHTMLPAlignTable, eAdjust ); break; case HtmlOptionId::STYLE: @@ -113,7 +113,7 @@ void SwHTMLParser::NewDivision( int nToken ) bAppended = true; } - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken ); bool bStyleParsed = false, bPositioned = false; SfxItemSet aItemSet( m_xDoc->GetAttrPool(), m_pCSS1Parser->GetWhichMap() ); @@ -130,7 +130,7 @@ void SwHTMLParser::NewDivision( int nToken ) NewMultiCol( aPropInfo.m_nColumnCount ); return; } - bPositioned = HTML_DIVISION_ON == nToken && !aClass.isEmpty() && + bPositioned = HtmlTokenId::DIVISION_ON == nToken && !aClass.isEmpty() && CreateContainer( aClass, aItemSet, aPropInfo, pCntxt ); if( !bPositioned ) @@ -378,7 +378,7 @@ void SwHTMLParser::NewDivision( int nToken ) PushContext( pCntxt ); } -void SwHTMLParser::EndDivision( int /*nToken*/ ) +void SwHTMLParser::EndDivision() { // search for the stack entry of the token (because we still have the div stack // we don't make a difference between DIV and CENTER) @@ -388,11 +388,12 @@ void SwHTMLParser::EndDivision( int /*nToken*/ ) { switch( m_aContexts[--nPos]->GetToken() ) { - case HTML_CENTER_ON: - case HTML_DIVISION_ON: + case HtmlTokenId::CENTER_ON: + case HtmlTokenId::DIVISION_ON: pCntxt = m_aContexts[nPos]; m_aContexts.erase( m_aContexts.begin() + nPos ); break; + default: break; } } @@ -577,7 +578,7 @@ void SwHTMLParser::NewMultiCol( sal_uInt16 columnsFromCss ) } } - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_MULTICOL_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::MULTICOL_ON ); //.is the multicol element contained in a container? That may be the // case for 5.0 documents. diff --git a/sw/source/filter/html/htmltab.cxx b/sw/source/filter/html/htmltab.cxx index b5ebc4232dd3..b319109f3b26 100644 --- a/sw/source/filter/html/htmltab.cxx +++ b/sw/source/filter/html/htmltab.cxx @@ -2943,7 +2943,7 @@ void SectionSaveStruct::Restore( SwHTMLParser& rParser ) // Reset a few flags rParser.m_bNoParSpace = false; - rParser.m_nOpenParaToken = 0; + rParser.m_nOpenParaToken = HtmlTokenId::NONE; if( !rParser.m_aParaAttrs.empty() ) rParser.m_aParaAttrs.clear(); @@ -3110,15 +3110,16 @@ CellSaveStruct::CellSaveStruct( SwHTMLParser& rParser, HTMLTable *pCurTable, // Create a new context but don't anchor the drawing::Alignment attribute there, // since there's no section yet - sal_uInt16 nToken, nColl; + HtmlTokenId nToken; + sal_uInt16 nColl; if( m_bHead ) { - nToken = HTML_TABLEHEADER_ON; + nToken = HtmlTokenId::TABLEHEADER_ON; nColl = RES_POOLCOLL_TABLE_HDLN; } else { - nToken = HTML_TABLEDATA_ON; + nToken = HtmlTokenId::TABLEDATA_ON; nColl = RES_POOLCOLL_TABLE; } HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken, nColl, aEmptyOUStr, true ); @@ -3315,7 +3316,7 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, CellSaveStruct* pSaveStruct; - int nToken = 0; + HtmlTokenId nToken = HtmlTokenId::NONE; bool bPending = false; if( m_pPendStack ) { @@ -3334,7 +3335,7 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, // <TH> resp. <TD> were already read if( m_pTable->IsOverflowing() ) { - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); return; } @@ -3479,7 +3480,7 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, bParentLFStripped = StripTrailingLF() > 0; // Close paragraph resp. headers - m_nOpenParaToken = 0; + m_nOpenParaToken = HtmlTokenId::NONE; m_nFontStHeadStart = m_nFontStMin; // The hard attributes on that paragraph are never gonna be invalid anymore @@ -3698,10 +3699,10 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, bReadOptions ); // If the first GetNextToken() doesn't succeed (pending input), must re-read from the beginning. - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); } - if( !nToken ) + if( nToken == HtmlTokenId::NONE ) nToken = GetNextToken(); // Token after <TABLE> bool bDone = false; @@ -3720,24 +3721,24 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, } else switch( nToken ) { - case HTML_TABLEHEADER_ON: - case HTML_TABLEDATA_ON: - case HTML_TABLEROW_ON: - case HTML_TABLEROW_OFF: - case HTML_THEAD_ON: - case HTML_THEAD_OFF: - case HTML_TFOOT_ON: - case HTML_TFOOT_OFF: - case HTML_TBODY_ON: - case HTML_TBODY_OFF: - case HTML_TABLE_OFF: + case HtmlTokenId::TABLEHEADER_ON: + case HtmlTokenId::TABLEDATA_ON: + case HtmlTokenId::TABLEROW_ON: + case HtmlTokenId::TABLEROW_OFF: + case HtmlTokenId::THEAD_ON: + case HtmlTokenId::THEAD_OFF: + case HtmlTokenId::TFOOT_ON: + case HtmlTokenId::TFOOT_OFF: + case HtmlTokenId::TBODY_ON: + case HtmlTokenId::TBODY_OFF: + case HtmlTokenId::TABLE_OFF: SkipToken(); SAL_FALLTHROUGH; - case HTML_TABLEHEADER_OFF: - case HTML_TABLEDATA_OFF: + case HtmlTokenId::TABLEHEADER_OFF: + case HtmlTokenId::TABLEDATA_OFF: bDone = true; break; - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: { bool bHasToFly = false; SvxAdjust eTabAdjust = SvxAdjust::End; @@ -3851,22 +3852,22 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, } break; - case HTML_NOBR_ON: + case HtmlTokenId::NOBR_ON: // HACK for MS: Is the <NOBR> at the start of the cell? pSaveStruct->StartNoBreak( *m_pPam->GetPoint() ); break; - case HTML_NOBR_OFF: + case HtmlTokenId::NOBR_OFF: pSaveStruct->EndNoBreak( *m_pPam->GetPoint() ); break; - case HTML_COMMENT: + case HtmlTokenId::COMMENT: // Spaces are not gonna be deleted with comment fields, // and we don't want a new cell for a comment NextToken( nToken ); break; - case HTML_MARQUEE_ON: + case HtmlTokenId::MARQUEE_ON: if( !pSaveStruct->IsInSection() ) { // create a new section, the PaM is gonna be there @@ -3877,7 +3878,7 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, NewMarquee( pCurTable ); break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: // Don't add a section for an empty string if( !pSaveStruct->IsInSection() && 1==aToken.getLength() && ' '==aToken[0] ) @@ -3900,7 +3901,7 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, "SwHTMLParser::BuildTableCell: There is a PendStack again" ); bPending = false; if( IsParserWorking() ) - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); if( !bDone ) nToken = GetNextToken(); @@ -3908,8 +3909,8 @@ void SwHTMLParser::BuildTableCell( HTMLTable *pCurTable, bool bReadOptions, if( SvParserState::Pending == GetStatus() ) { - m_pPendStack = new SwPendingStack( bHead ? HTML_TABLEHEADER_ON - : HTML_TABLEDATA_ON, m_pPendStack ); + m_pPendStack = new SwPendingStack( bHead ? HtmlTokenId::TABLEHEADER_ON + : HtmlTokenId::TABLEDATA_ON, m_pPendStack ); m_pPendStack->pData = pSaveStruct; return; @@ -4008,7 +4009,7 @@ void SwHTMLParser::BuildTableRow( HTMLTable *pCurTable, bool bReadOptions, if( !IsParserWorking() && !m_pPendStack ) return; - int nToken = 0; + HtmlTokenId nToken = HtmlTokenId::NONE; RowSaveStruct* pSaveStruct; bool bPending = false; @@ -4081,10 +4082,10 @@ void SwHTMLParser::BuildTableRow( HTMLTable *pCurTable, bool bReadOptions, aId, aClass ); pCurTable->OpenRow( eAdjust, eVertOri, pBrushItem ); // If the first GetNextToken() doesn't succeed (pending input), must re-read from the beginning. - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); } - if( !nToken ) + if( nToken == HtmlTokenId::NONE ) nToken = GetNextToken(); bool bDone = false; @@ -4105,7 +4106,7 @@ void SwHTMLParser::BuildTableRow( HTMLTable *pCurTable, bool bReadOptions, } else switch( nToken ) { - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: if( !pCurTable->GetContext() ) { SkipToken(); @@ -4113,59 +4114,59 @@ void SwHTMLParser::BuildTableRow( HTMLTable *pCurTable, bool bReadOptions, } break; - case HTML_TABLEROW_ON: - case HTML_THEAD_ON: - case HTML_THEAD_OFF: - case HTML_TBODY_ON: - case HTML_TBODY_OFF: - case HTML_TFOOT_ON: - case HTML_TFOOT_OFF: - case HTML_TABLE_OFF: + case HtmlTokenId::TABLEROW_ON: + case HtmlTokenId::THEAD_ON: + case HtmlTokenId::THEAD_OFF: + case HtmlTokenId::TBODY_ON: + case HtmlTokenId::TBODY_OFF: + case HtmlTokenId::TFOOT_ON: + case HtmlTokenId::TFOOT_OFF: + case HtmlTokenId::TABLE_OFF: SkipToken(); SAL_FALLTHROUGH; - case HTML_TABLEROW_OFF: + case HtmlTokenId::TABLEROW_OFF: bDone = true; break; - case HTML_TABLEHEADER_ON: - case HTML_TABLEDATA_ON: - BuildTableCell( pCurTable, true, HTML_TABLEHEADER_ON==nToken ); + case HtmlTokenId::TABLEHEADER_ON: + case HtmlTokenId::TABLEDATA_ON: + BuildTableCell( pCurTable, true, HtmlTokenId::TABLEHEADER_ON==nToken ); if( SvParserState::Pending != GetStatus() ) { pSaveStruct->bHasCells = true; bDone = m_pTable->IsOverflowing(); } break; - case HTML_CAPTION_ON: + case HtmlTokenId::CAPTION_ON: BuildTableCaption( pCurTable ); bDone = m_pTable->IsOverflowing(); break; - case HTML_CAPTION_OFF: - case HTML_TABLEHEADER_OFF: - case HTML_TABLEDATA_OFF: - case HTML_COLGROUP_ON: - case HTML_COLGROUP_OFF: - case HTML_COL_ON: - case HTML_COL_OFF: + case HtmlTokenId::CAPTION_OFF: + case HtmlTokenId::TABLEHEADER_OFF: + case HtmlTokenId::TABLEDATA_OFF: + case HtmlTokenId::COLGROUP_ON: + case HtmlTokenId::COLGROUP_OFF: + case HtmlTokenId::COL_ON: + case HtmlTokenId::COL_OFF: // Where no cell started, there can't be a cell ending // all the other tokens are bogus anyway and only break the table break; - case HTML_MULTICOL_ON: + case HtmlTokenId::MULTICOL_ON: // we can't add columned text frames here break; - case HTML_FORM_ON: + case HtmlTokenId::FORM_ON: NewForm( false ); // don't create a new paragraph break; - case HTML_FORM_OFF: + case HtmlTokenId::FORM_OFF: EndForm( false ); // don't create a new paragraph break; - case HTML_COMMENT: + case HtmlTokenId::COMMENT: NextToken( nToken ); break; - case HTML_MAP_ON: + case HtmlTokenId::MAP_ON: // an image map doesn't add anything, so we can parse it without a cell NextToken( nToken ); break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: if( (pCurTable->GetContext() || !pCurTable->HasParentSection()) && 1==aToken.getLength() && ' '==aToken[0] ) @@ -4181,7 +4182,7 @@ void SwHTMLParser::BuildTableRow( HTMLTable *pCurTable, bool bReadOptions, "SwHTMLParser::BuildTableRow: There is a PendStack again" ); bPending = false; if( IsParserWorking() ) - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); if( !bDone ) nToken = GetNextToken(); @@ -4189,7 +4190,7 @@ void SwHTMLParser::BuildTableRow( HTMLTable *pCurTable, bool bReadOptions, if( SvParserState::Pending == GetStatus() ) { - m_pPendStack = new SwPendingStack( HTML_TABLEROW_ON, m_pPendStack ); + m_pPendStack = new SwPendingStack( HtmlTokenId::TABLEROW_ON, m_pPendStack ); m_pPendStack->pData = pSaveStruct; } else @@ -4209,7 +4210,7 @@ void SwHTMLParser::BuildTableSection( HTMLTable *pCurTable, if( !IsParserWorking() && !m_pPendStack ) return; - int nToken = 0; + HtmlTokenId nToken = HtmlTokenId::NONE; bool bPending = false; RowSaveStruct* pSaveStruct; @@ -4255,10 +4256,10 @@ void SwHTMLParser::BuildTableSection( HTMLTable *pCurTable, } // If the first GetNextToken() doesn't succeed (pending input), must re-read from the beginning. - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); } - if( !nToken ) + if( nToken == HtmlTokenId::NONE ) nToken = GetNextToken(); bool bDone = false; @@ -4279,7 +4280,7 @@ void SwHTMLParser::BuildTableSection( HTMLTable *pCurTable, } else switch( nToken ) { - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: if( !pCurTable->GetContext() ) { SkipToken(); @@ -4287,45 +4288,45 @@ void SwHTMLParser::BuildTableSection( HTMLTable *pCurTable, } break; - case HTML_THEAD_ON: - case HTML_TFOOT_ON: - case HTML_TBODY_ON: - case HTML_TABLE_OFF: + case HtmlTokenId::THEAD_ON: + case HtmlTokenId::TFOOT_ON: + case HtmlTokenId::TBODY_ON: + case HtmlTokenId::TABLE_OFF: SkipToken(); SAL_FALLTHROUGH; - case HTML_THEAD_OFF: - case HTML_TBODY_OFF: - case HTML_TFOOT_OFF: + case HtmlTokenId::THEAD_OFF: + case HtmlTokenId::TBODY_OFF: + case HtmlTokenId::TFOOT_OFF: bDone = true; break; - case HTML_CAPTION_ON: + case HtmlTokenId::CAPTION_ON: BuildTableCaption( pCurTable ); bDone = m_pTable->IsOverflowing(); break; - case HTML_CAPTION_OFF: + case HtmlTokenId::CAPTION_OFF: break; - case HTML_TABLEHEADER_ON: - case HTML_TABLEDATA_ON: + case HtmlTokenId::TABLEHEADER_ON: + case HtmlTokenId::TABLEDATA_ON: SkipToken(); BuildTableRow( pCurTable, false, pSaveStruct->eAdjust, pSaveStruct->eVertOri ); bDone = m_pTable->IsOverflowing(); break; - case HTML_TABLEROW_ON: + case HtmlTokenId::TABLEROW_ON: BuildTableRow( pCurTable, true, pSaveStruct->eAdjust, pSaveStruct->eVertOri ); bDone = m_pTable->IsOverflowing(); break; - case HTML_MULTICOL_ON: + case HtmlTokenId::MULTICOL_ON: // we can't add columned text frames here break; - case HTML_FORM_ON: + case HtmlTokenId::FORM_ON: NewForm( false ); // don't create a new paragraph break; - case HTML_FORM_OFF: + case HtmlTokenId::FORM_OFF: EndForm( false ); // don't create a new paragraph break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: // blank strings may be a series of CR+LF and no text if( (pCurTable->GetContext() || !pCurTable->HasParentSection()) && @@ -4341,7 +4342,7 @@ void SwHTMLParser::BuildTableSection( HTMLTable *pCurTable, "SwHTMLParser::BuildTableSection: There is a PendStack again" ); bPending = false; if( IsParserWorking() ) - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); if( !bDone ) nToken = GetNextToken(); @@ -4349,8 +4350,8 @@ void SwHTMLParser::BuildTableSection( HTMLTable *pCurTable, if( SvParserState::Pending == GetStatus() ) { - m_pPendStack = new SwPendingStack( bHead ? HTML_THEAD_ON - : HTML_TBODY_ON, m_pPendStack ); + m_pPendStack = new SwPendingStack( bHead ? HtmlTokenId::THEAD_ON + : HtmlTokenId::TBODY_ON, m_pPendStack ); m_pPendStack->pData = pSaveStruct; } else @@ -4395,7 +4396,7 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, if( !IsParserWorking() && !m_pPendStack ) return; - int nToken = 0; + HtmlTokenId nToken = HtmlTokenId::NONE; bool bPending = false; TableColGrpSaveStruct* pSaveStruct; @@ -4448,10 +4449,10 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, } } // If the first GetNextToken() doesn't succeed (pending input), must re-read from the beginning. - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); } - if( !nToken ) + if( nToken == HtmlTokenId::NONE ) nToken = GetNextToken(); // naechstes Token bool bDone = false; @@ -4472,7 +4473,7 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, } else switch( nToken ) { - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: if( !pCurTable->GetContext() ) { SkipToken(); @@ -4480,18 +4481,18 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, } break; - case HTML_COLGROUP_ON: - case HTML_THEAD_ON: - case HTML_TFOOT_ON: - case HTML_TBODY_ON: - case HTML_TABLEROW_ON: - case HTML_TABLE_OFF: + case HtmlTokenId::COLGROUP_ON: + case HtmlTokenId::THEAD_ON: + case HtmlTokenId::TFOOT_ON: + case HtmlTokenId::TBODY_ON: + case HtmlTokenId::TABLEROW_ON: + case HtmlTokenId::TABLE_OFF: SkipToken(); SAL_FALLTHROUGH; - case HTML_COLGROUP_OFF: + case HtmlTokenId::COLGROUP_OFF: bDone = true; break; - case HTML_COL_ON: + case HtmlTokenId::COL_ON: { sal_uInt16 nColSpan = 1; sal_uInt16 nColWidth = pSaveStruct->nColGrpWidth; @@ -4533,12 +4534,12 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, pSaveStruct->nColGrpSpan = 0; } break; - case HTML_COL_OFF: + case HtmlTokenId::COL_OFF: break; // Ignore - case HTML_MULTICOL_ON: + case HtmlTokenId::MULTICOL_ON: // we can't add columned text frames here break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: if( (pCurTable->GetContext() || !pCurTable->HasParentSection()) && 1==aToken.getLength() && ' '==aToken[0] ) @@ -4553,7 +4554,7 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, "SwHTMLParser::BuildTableColGrp: There is a PendStack again" ); bPending = false; if( IsParserWorking() ) - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); if( !bDone ) nToken = GetNextToken(); @@ -4561,7 +4562,7 @@ void SwHTMLParser::BuildTableColGroup( HTMLTable *pCurTable, if( SvParserState::Pending == GetStatus() ) { - m_pPendStack = new SwPendingStack( HTML_COL_ON, m_pPendStack ); + m_pPendStack = new SwPendingStack( HtmlTokenId::COL_ON, m_pPendStack ); m_pPendStack->pData = pSaveStruct; } else @@ -4612,7 +4613,7 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) if( !IsParserWorking() && !m_pPendStack ) return; - int nToken = 0; + HtmlTokenId nToken = HtmlTokenId::NONE; CaptionSaveStruct* pSaveStruct; if( m_pPendStack ) @@ -4631,7 +4632,7 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) { if( m_pTable->IsOverflowing() ) { - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); return; } @@ -4661,7 +4662,7 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) else pStNd = InsertTableSection( RES_POOLCOLL_TEXT ); - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_CAPTION_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::CAPTION_ON ); // Table headers are always centered NewAttr( &m_aAttrTab.pAdjust, SvxAdjustItem(SvxAdjust::Center, RES_PARATR_ADJUST) ); @@ -4675,10 +4676,10 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) pCurTable->SetCaption( pStNd, bTop ); // If the first GetNextToken() doesn't succeed (pending input), must re-read from the beginning. - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); } - if( !nToken ) + if( nToken == HtmlTokenId::NONE ) nToken = GetNextToken(); // </CAPTION> is needed according to DTD @@ -4691,7 +4692,7 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) switch( nToken ) { - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: if( !m_pPendStack ) { pSaveStruct->m_pTable = m_pTable; @@ -4708,17 +4709,17 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) m_pTable = pSaveStruct->m_pTable; } break; - case HTML_TABLE_OFF: - case HTML_COLGROUP_ON: - case HTML_THEAD_ON: - case HTML_TFOOT_ON: - case HTML_TBODY_ON: - case HTML_TABLEROW_ON: + case HtmlTokenId::TABLE_OFF: + case HtmlTokenId::COLGROUP_ON: + case HtmlTokenId::THEAD_ON: + case HtmlTokenId::TFOOT_ON: + case HtmlTokenId::TBODY_ON: + case HtmlTokenId::TABLEROW_ON: SkipToken(); bDone = true; break; - case HTML_CAPTION_OFF: + case HtmlTokenId::CAPTION_OFF: bDone = true; break; default: @@ -4737,7 +4738,7 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) } if( IsParserWorking() ) - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); if( !bDone ) nToken = GetNextToken(); @@ -4745,7 +4746,7 @@ void SwHTMLParser::BuildTableCaption( HTMLTable *pCurTable ) if( SvParserState::Pending==GetStatus() ) { - m_pPendStack = new SwPendingStack( HTML_CAPTION_ON, m_pPendStack ); + m_pPendStack = new SwPendingStack( HtmlTokenId::CAPTION_ON, m_pPendStack ); m_pPendStack->pData = pSaveStruct; return; } @@ -4978,7 +4979,7 @@ HTMLTable *SwHTMLParser::BuildTable( SvxAdjust eParentAdjust, if( !IsParserWorking() && !m_pPendStack ) return nullptr; - int nToken = 0; + HtmlTokenId nToken = HtmlTokenId::NONE; bool bPending = false; TableSaveStruct* pSaveStruct; @@ -5016,13 +5017,13 @@ HTMLTable *SwHTMLParser::BuildTable( SvxAdjust eParentAdjust, delete pTableOptions; // Is pending on the first GetNextToken, needs to be re-read on each construction - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); } HTMLTable *pCurTable = pSaveStruct->m_pCurrentTable; // </TABLE> is needed according to DTD - if( !nToken ) + if( nToken == HtmlTokenId::NONE ) nToken = GetNextToken(); bool bDone = false; @@ -5043,7 +5044,7 @@ HTMLTable *SwHTMLParser::BuildTable( SvxAdjust eParentAdjust, } else switch( nToken ) { - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: if( !pCurTable->GetContext() ) { // If there's no table added, read the next table' @@ -5052,43 +5053,43 @@ HTMLTable *SwHTMLParser::BuildTable( SvxAdjust eParentAdjust, } break; - case HTML_TABLE_OFF: + case HtmlTokenId::TABLE_OFF: bDone = true; break; - case HTML_CAPTION_ON: + case HtmlTokenId::CAPTION_ON: BuildTableCaption( pCurTable ); bDone = m_pTable->IsOverflowing(); break; - case HTML_COL_ON: + case HtmlTokenId::COL_ON: SkipToken(); BuildTableColGroup( pCurTable, false ); break; - case HTML_COLGROUP_ON: + case HtmlTokenId::COLGROUP_ON: BuildTableColGroup( pCurTable, true ); break; - case HTML_TABLEROW_ON: - case HTML_TABLEHEADER_ON: - case HTML_TABLEDATA_ON: + case HtmlTokenId::TABLEROW_ON: + case HtmlTokenId::TABLEHEADER_ON: + case HtmlTokenId::TABLEDATA_ON: SkipToken(); BuildTableSection( pCurTable, false, false ); bDone = m_pTable->IsOverflowing(); break; - case HTML_THEAD_ON: - case HTML_TFOOT_ON: - case HTML_TBODY_ON: - BuildTableSection( pCurTable, true, HTML_THEAD_ON==nToken ); + case HtmlTokenId::THEAD_ON: + case HtmlTokenId::TFOOT_ON: + case HtmlTokenId::TBODY_ON: + BuildTableSection( pCurTable, true, HtmlTokenId::THEAD_ON==nToken ); bDone = m_pTable->IsOverflowing(); break; - case HTML_MULTICOL_ON: + case HtmlTokenId::MULTICOL_ON: // we can't add columned text frames here break; - case HTML_FORM_ON: + case HtmlTokenId::FORM_ON: NewForm( false ); // don't add a new paragraph break; - case HTML_FORM_OFF: + case HtmlTokenId::FORM_OFF: EndForm( false ); // don't add a new paragraph break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: // blank strings may be a series of CR+LF and no text if( (pCurTable->GetContext() || !pCurTable->HasParentSection()) && @@ -5105,7 +5106,7 @@ HTMLTable *SwHTMLParser::BuildTable( SvxAdjust eParentAdjust, "SwHTMLParser::BuildTable: There is a PendStack again" ); bPending = false; if( IsParserWorking() ) - SaveState( 0 ); + SaveState( HtmlTokenId::NONE ); if( !bDone ) nToken = GetNextToken(); @@ -5113,7 +5114,7 @@ HTMLTable *SwHTMLParser::BuildTable( SvxAdjust eParentAdjust, if( SvParserState::Pending == GetStatus() ) { - m_pPendStack = new SwPendingStack( HTML_TABLE_ON, m_pPendStack ); + m_pPendStack = new SwPendingStack( HtmlTokenId::TABLE_ON, m_pPendStack ); m_pPendStack->pData = pSaveStruct; return nullptr; } diff --git a/sw/source/filter/html/htmltabw.cxx b/sw/source/filter/html/htmltabw.cxx index dc2cbe168c21..3be0af4f9ffb 100644 --- a/sw/source/filter/html/htmltabw.cxx +++ b/sw/source/filter/html/htmltabw.cxx @@ -601,7 +601,7 @@ void SwHTMLWrtTable::Write( SwHTMLWriter& rWrt, sal_Int16 eAlign, } // vorhergende Aufzaehlung etc. beenden - rWrt.ChangeParaToken( 0 ); + rWrt.ChangeParaToken( HtmlTokenId::NONE ); if( rWrt.m_bLFPossible ) rWrt.OutNewLine(); // <TABLE> in neue Zeile diff --git a/sw/source/filter/html/svxcss1.cxx b/sw/source/filter/html/svxcss1.cxx index c309fc4f0391..9910b534e074 100644 --- a/sw/source/filter/html/svxcss1.cxx +++ b/sw/source/filter/html/svxcss1.cxx @@ -767,10 +767,10 @@ SvxCSS1Parser::SvxCSS1Parser( SfxItemPool& rPool, const OUString& rBaseURL, aItemIds.nDirection = rPool.GetTrueWhich( SID_ATTR_FRAMEDIRECTION, false ); aWhichMap.insert( aWhichMap.begin(), 0 ); - SvParser::BuildWhichTable( aWhichMap, reinterpret_cast<sal_uInt16 *>(&aItemIds), + BuildWhichTable( aWhichMap, reinterpret_cast<sal_uInt16 *>(&aItemIds), sizeof(aItemIds) / sizeof(sal_uInt16) ); if( pWhichIds && nWhichIds ) - SvParser::BuildWhichTable( aWhichMap, pWhichIds, nWhichIds ); + BuildWhichTable( aWhichMap, pWhichIds, nWhichIds ); pSheetItemSet = new SfxItemSet( rPool, &aWhichMap[0] ); pSheetPropInfo = new SvxCSS1PropertyInfo; diff --git a/sw/source/filter/html/swcss1.hxx b/sw/source/filter/html/swcss1.hxx index e8b197be6663..e3150d623451 100644 --- a/sw/source/filter/html/swcss1.hxx +++ b/sw/source/filter/html/swcss1.hxx @@ -84,7 +84,7 @@ public: virtual const FontList *GetFontList() const override; // determine the character format of a token and a maybe empty class - SwCharFormat* GetChrFormat( sal_uInt16 nToken, const OUString& rClass ) const; + SwCharFormat* GetChrFormat( HtmlTokenId nToken, const OUString& rClass ) const; // determine a TextFormatColl of a Pool-Id SwTextFormatColl *GetTextFormatColl( sal_uInt16 nTextColl, const OUString& rClass ); diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx index 6122d867a2da..de58b2c52989 100644 --- a/sw/source/filter/html/swhtml.cxx +++ b/sw/source/filter/html/swhtml.cxx @@ -213,7 +213,7 @@ sal_uLong HTMLReader::Read( SwDoc &rDoc, const OUString& rBaseURL, SwPaM &rPam, // damit keiner das Doc klaut! rDoc.acquire(); sal_uLong nRet = 0; - tools::SvRef<SvParser> xParser = new SwHTMLParser( &rDoc, rPam, *pStrm, + tools::SvRef<SwHTMLParser> xParser = new SwHTMLParser( &rDoc, rPam, *pStrm, rName, rBaseURL, !bInsertMode, pMedium, IsReadUTF8(), bIgnoreHTMLComments ); @@ -271,7 +271,7 @@ SwHTMLParser::SwHTMLParser( SwDoc* pD, SwPaM& rCursor, SvStream& rIn, m_nContextStMin( 0 ), m_nContextStAttrMin( 0 ), m_nSelectEntryCnt( 0 ), - m_nOpenParaToken( 0 ), + m_nOpenParaToken( HtmlTokenId::NONE ), m_eJumpTo( JUMPTO_NONE ), #ifdef DBG_UTIL m_nContinue( 0 ), @@ -554,7 +554,7 @@ SvParserState SwHTMLParser::CallParser() return eRet; } -void SwHTMLParser::Continue( int nToken ) +void SwHTMLParser::Continue( HtmlTokenId nToken ) { #ifdef DBG_UTIL OSL_ENSURE(!m_nContinue, "Continue im Continue - not supposed to happen"); @@ -613,9 +613,9 @@ void SwHTMLParser::Continue( int nToken ) // beendet wird. if( SvParserState::Error == eState ) { - OSL_ENSURE( !m_pPendStack || m_pPendStack->nToken, + OSL_ENSURE( !m_pPendStack || m_pPendStack->nToken != HtmlTokenId::NONE, "SwHTMLParser::Continue: Pending-Stack ohne Token" ); - if( m_pPendStack && m_pPendStack->nToken ) + if( m_pPendStack && m_pPendStack->nToken != HtmlTokenId::NONE ) NextToken( m_pPendStack->nToken ); OSL_ENSURE( !m_pPendStack, "SwHTMLParser::Continue: Es gibt wieder einen Pend-Stack" ); @@ -937,7 +937,7 @@ void SwHTMLParser::DocumentDetected() } // is called for every token that is recognised in CallParser -void SwHTMLParser::NextToken( int nToken ) +void SwHTMLParser::NextToken( HtmlTokenId nToken ) { if( ( m_xDoc->GetDocShell() && m_xDoc->GetDocShell()->IsAbortingImport() ) || 1 == m_xDoc->getReferenceCount() ) @@ -945,7 +945,7 @@ void SwHTMLParser::NextToken( int nToken ) // Was the import cancelled by SFX? If a pending stack // exists, clean it. eState = SvParserState::Error; - OSL_ENSURE( !m_pPendStack || m_pPendStack->nToken, + OSL_ENSURE( !m_pPendStack || m_pPendStack->nToken != HtmlTokenId::NONE, "SwHTMLParser::NextToken: Pending-Stack without token" ); if( 1 == m_xDoc->getReferenceCount() || !m_pPendStack ) return ; @@ -957,15 +957,15 @@ void SwHTMLParser::NextToken( int nToken ) switch( nToken ) { // tables are read by recursive method calls - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: // For CSS declarations we might have to wait // for a file download to finish - case HTML_LINK: + case HtmlTokenId::LINK: // For controls we might have to set the size. - case HTML_INPUT: - case HTML_TEXTAREA_ON: - case HTML_SELECT_ON: - case HTML_SELECT_OFF: + case HtmlTokenId::INPUT: + case HtmlTokenId::TEXTAREA_ON: + case HtmlTokenId::SELECT_ON: + case HtmlTokenId::SELECT_OFF: break; default: OSL_ENSURE( !m_pPendStack, "Unbekanntes Token fuer Pending-Stack" ); @@ -983,7 +983,7 @@ void SwHTMLParser::NextToken( int nToken ) { switch( nToken ) { - case HTML_TITLE_OFF: + case HtmlTokenId::TITLE_OFF: if( IsNewDoc() && !m_sTitle.isEmpty() ) { if( m_xDoc->GetDocShell() ) { @@ -1004,21 +1004,21 @@ void SwHTMLParser::NextToken( int nToken ) m_sTitle.clear(); break; - case HTML_NONBREAKSPACE: + case HtmlTokenId::NONBREAKSPACE: m_sTitle += " "; break; - case HTML_SOFTHYPH: + case HtmlTokenId::SOFTHYPH: m_sTitle += "-"; break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: m_sTitle += aToken; break; default: m_sTitle += "<"; - if( (HTML_TOKEN_ONOFF & nToken) && (1 & nToken) ) + if( (nToken >= HtmlTokenId::ONOFF_START) && isOffToken(nToken) ) m_sTitle += "/"; m_sTitle += sSaveToken; if( !aToken.isEmpty() ) @@ -1052,7 +1052,7 @@ void SwHTMLParser::NextToken( int nToken ) { // <SCRIPT> is ignored here (from us), because it is ignored in // Applets as well - if( HTML_IFRAME_OFF == nToken ) + if( HtmlTokenId::IFRAME_OFF == nToken ) { m_bCallNextToken = false; m_bInFloatingFrame = false; @@ -1064,7 +1064,7 @@ void SwHTMLParser::NextToken( int nToken ) { switch( nToken ) { - case HTML_NOEMBED_OFF: + case HtmlTokenId::NOEMBED_OFF: m_aContents = convertLineEnd(m_aContents, GetSystemLineEnd()); InsertComment( m_aContents, OOO_STRING_SVTOOLS_HTML_noembed ); m_aContents.clear(); @@ -1072,7 +1072,7 @@ void SwHTMLParser::NextToken( int nToken ) m_bInNoEmbed = false; break; - case HTML_RAWDATA: + case HtmlTokenId::RAWDATA: InsertCommentText( OOO_STRING_SVTOOLS_HTML_noembed ); break; @@ -1091,18 +1091,18 @@ void SwHTMLParser::NextToken( int nToken ) switch( nToken ) { - case HTML_APPLET_OFF: + case HtmlTokenId::APPLET_OFF: m_bCallNextToken = false; EndApplet(); break; - case HTML_OBJECT_OFF: + case HtmlTokenId::OBJECT_OFF: m_bCallNextToken = false; EndObject(); break; - - case HTML_PARAM: + case HtmlTokenId::PARAM: InsertParam(); break; + default: break; } return; @@ -1114,13 +1114,13 @@ void SwHTMLParser::NextToken( int nToken ) switch( nToken ) { - case HTML_TEXTAREA_OFF: + case HtmlTokenId::TEXTAREA_OFF: m_bCallNextToken = false; EndTextArea(); break; default: - InsertTextAreaText( static_cast< sal_uInt16 >(nToken) ); + InsertTextAreaText( nToken ); break; } @@ -1131,25 +1131,25 @@ void SwHTMLParser::NextToken( int nToken ) // HAS to be treated after bNoScript! switch( nToken ) { - case HTML_SELECT_OFF: + case HtmlTokenId::SELECT_OFF: m_bCallNextToken = false; EndSelect(); return; - case HTML_OPTION: + case HtmlTokenId::OPTION: InsertSelectOption(); return; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: InsertSelectText(); return; - case HTML_INPUT: - case HTML_SCRIPT_ON: - case HTML_SCRIPT_OFF: - case HTML_NOSCRIPT_ON: - case HTML_NOSCRIPT_OFF: - case HTML_RAWDATA: + case HtmlTokenId::INPUT: + case HtmlTokenId::SCRIPT_ON: + case HtmlTokenId::SCRIPT_OFF: + case HtmlTokenId::NOSCRIPT_ON: + case HtmlTokenId::NOSCRIPT_OFF: + case HtmlTokenId::RAWDATA: // treat in normal switch break; @@ -1165,14 +1165,15 @@ void SwHTMLParser::NextToken( int nToken ) // script. switch( nToken ) { - case HTML_MARQUEE_OFF: + case HtmlTokenId::MARQUEE_OFF: m_bCallNextToken = false; EndMarquee(); break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: InsertMarqueeText(); break; + default: break; } return; @@ -1181,14 +1182,15 @@ void SwHTMLParser::NextToken( int nToken ) { switch( nToken ) { - case HTML_SDFIELD_OFF: + case HtmlTokenId::SDFIELD_OFF: m_bCallNextToken = false; EndField(); break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: InsertFieldText(); break; + default: break; } return; @@ -1197,14 +1199,15 @@ void SwHTMLParser::NextToken( int nToken ) { switch( nToken ) { - case HTML_ANCHOR_OFF: + case HtmlTokenId::ANCHOR_OFF: EndAnchor(); m_bCallNextToken = false; break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: InsertFootEndNoteText(); break; + default: break; } return; } @@ -1231,17 +1234,17 @@ void SwHTMLParser::NextToken( int nToken ) // end-token, </HEAD> or <BODY>. Text inside is ignored. switch( nToken ) { - case HTML_UNKNOWNCONTROL_OFF: + case HtmlTokenId::UNKNOWNCONTROL_OFF: if( m_aUnknownToken != sSaveToken ) return; SAL_FALLTHROUGH; - case HTML_FRAMESET_ON: - case HTML_HEAD_OFF: - case HTML_BODY_ON: - case HTML_IMAGE: // Don't know why Netscape acts this way. + case HtmlTokenId::FRAMESET_ON: + case HtmlTokenId::HEAD_OFF: + case HtmlTokenId::BODY_ON: + case HtmlTokenId::IMAGE: // Don't know why Netscape acts this way. m_aUnknownToken.clear(); break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: return; default: m_aUnknownToken.clear(); @@ -1252,7 +1255,7 @@ void SwHTMLParser::NextToken( int nToken ) switch( nToken ) { - case HTML_BODY_ON: + case HtmlTokenId::BODY_ON: if( !m_aStyleSource.isEmpty() ) { m_pCSS1Parser->ParseStyleSheet( m_aStyleSource ); @@ -1276,11 +1279,11 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_LINK: + case HtmlTokenId::LINK: InsertLink(); break; - case HTML_BASE: + case HtmlTokenId::BASE: { const HTMLOptions& rHTMLOptions = GetOptions(); for (size_t i = rHTMLOptions.size(); i; ) @@ -1315,7 +1318,7 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_META: + case HtmlTokenId::META: { SvKeyValueIterator *pHTTPHeader = nullptr; if( IsNewDoc() ) @@ -1341,32 +1344,32 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_TITLE_ON: + case HtmlTokenId::TITLE_ON: m_bInTitle = true; break; - case HTML_SCRIPT_ON: + case HtmlTokenId::SCRIPT_ON: NewScript(); break; - case HTML_SCRIPT_OFF: + case HtmlTokenId::SCRIPT_OFF: EndScript(); break; - case HTML_NOSCRIPT_ON: - case HTML_NOSCRIPT_OFF: + case HtmlTokenId::NOSCRIPT_ON: + case HtmlTokenId::NOSCRIPT_OFF: bInsertUnknown = true; break; - case HTML_STYLE_ON: + case HtmlTokenId::STYLE_ON: NewStyle(); break; - case HTML_STYLE_OFF: + case HtmlTokenId::STYLE_OFF: EndStyle(); break; - case HTML_RAWDATA: + case HtmlTokenId::RAWDATA: if( !m_bIgnoreRawData ) { if( IsReadScript() ) @@ -1382,26 +1385,26 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_OBJECT_ON: + case HtmlTokenId::OBJECT_ON: #if HAVE_FEATURE_JAVA NewObject(); m_bCallNextToken = m_pAppletImpl!=nullptr && m_pTable!=nullptr; #endif break; - case HTML_APPLET_ON: + case HtmlTokenId::APPLET_ON: #if HAVE_FEATURE_JAVA InsertApplet(); m_bCallNextToken = m_pAppletImpl!=nullptr && m_pTable!=nullptr; #endif break; - case HTML_IFRAME_ON: + case HtmlTokenId::IFRAME_ON: InsertFloatingFrame(); m_bCallNextToken = m_bInFloatingFrame && m_pTable!=nullptr; break; - case HTML_LINEBREAK: + case HtmlTokenId::LINEBREAK: if( !IsReadPRE() ) { InsertLineBreak(); @@ -1412,10 +1415,10 @@ void SwHTMLParser::NextToken( int nToken ) // <BR>s in <PRE> resemble true LFs, hence no break SAL_FALLTHROUGH; - case HTML_NEWPARA: + case HtmlTokenId::NEWPARA: // CR in PRE/LISTING/XMP { - if( HTML_NEWPARA==nToken || + if( HtmlTokenId::NEWPARA==nToken || m_pPam->GetPoint()->nContent.GetIndex() ) { AppendTextNode(); // there is no LF at this place @@ -1428,15 +1431,15 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_NONBREAKSPACE: + case HtmlTokenId::NONBREAKSPACE: m_xDoc->getIDocumentContentOperations().InsertString( *m_pPam, OUString(CHAR_HARDBLANK) ); break; - case HTML_SOFTHYPH: + case HtmlTokenId::SOFTHYPH: m_xDoc->getIDocumentContentOperations().InsertString( *m_pPam, OUString(CHAR_SOFTHYPHEN) ); break; - case HTML_LINEFEEDCHAR: + case HtmlTokenId::LINEFEEDCHAR: if( m_pPam->GetPoint()->nContent.GetIndex() ) AppendTextNode(); if( !m_pTable && !m_xDoc->IsInHeaderFooter( m_pPam->GetPoint()->nNode ) ) @@ -1446,7 +1449,7 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_TEXTTOKEN: + case HtmlTokenId::TEXTTOKEN: // insert string without spanning attributes at the end. if( !aToken.isEmpty() && ' '==aToken[0] && !IsReadPRE() ) { @@ -1485,11 +1488,11 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_HORZRULE: + case HtmlTokenId::HORZRULE: InsertHorzRule(); break; - case HTML_IMAGE: + case HtmlTokenId::IMAGE: InsertImage(); // if only the parser references the doc, we can break and set // an error code @@ -1499,183 +1502,183 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_SPACER: + case HtmlTokenId::SPACER: InsertSpacer(); break; - case HTML_EMBED: + case HtmlTokenId::EMBED: InsertEmbed(); break; - case HTML_NOEMBED_ON: + case HtmlTokenId::NOEMBED_ON: m_bInNoEmbed = true; m_bCallNextToken = m_pTable!=nullptr; ReadRawData( OOO_STRING_SVTOOLS_HTML_noembed ); break; - case HTML_DEFLIST_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::DEFLIST_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); NewDefList(); break; - case HTML_DEFLIST_OFF: - if( m_nOpenParaToken ) + case HtmlTokenId::DEFLIST_OFF: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - EndDefListItem( 0, 1==m_nDefListDeep ); + EndDefListItem( HtmlTokenId::NONE ); EndDefList(); break; - case HTML_DD_ON: - case HTML_DT_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::DD_ON: + case HtmlTokenId::DT_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); EndDefListItem();// close <DD>/<DT> and set no template NewDefListItem( nToken ); break; - case HTML_DD_OFF: - case HTML_DT_OFF: - // c.f. HTML_LI_OFF + case HtmlTokenId::DD_OFF: + case HtmlTokenId::DT_OFF: + // c.f. HtmlTokenId::LI_OFF // Actually we should close a DD/DT now. // But neither Netscape nor Microsoft do this and so don't we. EndDefListItem( nToken ); break; // divisions - case HTML_DIVISION_ON: - case HTML_CENTER_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::DIVISION_ON: + case HtmlTokenId::CENTER_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) { if( IsReadPRE() ) - m_nOpenParaToken = 0; + m_nOpenParaToken = HtmlTokenId::NONE; else EndPara(); } NewDivision( nToken ); break; - case HTML_DIVISION_OFF: - case HTML_CENTER_OFF: - if( m_nOpenParaToken ) + case HtmlTokenId::DIVISION_OFF: + case HtmlTokenId::CENTER_OFF: + if( m_nOpenParaToken != HtmlTokenId::NONE ) { if( IsReadPRE() ) - m_nOpenParaToken = 0; + m_nOpenParaToken = HtmlTokenId::NONE; else EndPara(); } - EndDivision( nToken ); + EndDivision(); break; - case HTML_MULTICOL_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::MULTICOL_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); NewMultiCol(); break; - case HTML_MULTICOL_OFF: - if( m_nOpenParaToken ) + case HtmlTokenId::MULTICOL_OFF: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - EndTag( HTML_MULTICOL_ON ); + EndTag( HtmlTokenId::MULTICOL_ON ); break; - case HTML_MARQUEE_ON: + case HtmlTokenId::MARQUEE_ON: NewMarquee(); m_bCallNextToken = m_pMarquee!=nullptr && m_pTable!=nullptr; break; - case HTML_FORM_ON: + case HtmlTokenId::FORM_ON: NewForm(); break; - case HTML_FORM_OFF: + case HtmlTokenId::FORM_OFF: EndForm(); break; // templates - case HTML_PARABREAK_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::PARABREAK_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara( true ); NewPara(); break; - case HTML_PARABREAK_OFF: + case HtmlTokenId::PARABREAK_OFF: EndPara( true ); break; - case HTML_ADDRESS_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::ADDRESS_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - NewTextFormatColl( HTML_ADDRESS_ON, RES_POOLCOLL_SENDADRESS ); + NewTextFormatColl( HtmlTokenId::ADDRESS_ON, RES_POOLCOLL_SENDADRESS ); break; - case HTML_ADDRESS_OFF: - if( m_nOpenParaToken ) + case HtmlTokenId::ADDRESS_OFF: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - EndTextFormatColl( HTML_ADDRESS_OFF ); + EndTextFormatColl( HtmlTokenId::ADDRESS_OFF ); break; - case HTML_BLOCKQUOTE_ON: - case HTML_BLOCKQUOTE30_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::BLOCKQUOTE_ON: + case HtmlTokenId::BLOCKQUOTE30_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - NewTextFormatColl( HTML_BLOCKQUOTE_ON, RES_POOLCOLL_HTML_BLOCKQUOTE ); + NewTextFormatColl( HtmlTokenId::BLOCKQUOTE_ON, RES_POOLCOLL_HTML_BLOCKQUOTE ); break; - case HTML_BLOCKQUOTE_OFF: - case HTML_BLOCKQUOTE30_OFF: - if( m_nOpenParaToken ) + case HtmlTokenId::BLOCKQUOTE_OFF: + case HtmlTokenId::BLOCKQUOTE30_OFF: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - EndTextFormatColl( HTML_BLOCKQUOTE_ON ); + EndTextFormatColl( HtmlTokenId::BLOCKQUOTE_ON ); break; - case HTML_PREFORMTXT_ON: - case HTML_LISTING_ON: - case HTML_XMP_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::PREFORMTXT_ON: + case HtmlTokenId::LISTING_ON: + case HtmlTokenId::XMP_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); NewTextFormatColl( nToken, RES_POOLCOLL_HTML_PRE ); break; - case HTML_PREFORMTXT_OFF: + case HtmlTokenId::PREFORMTXT_OFF: m_bNoParSpace = true; // the last PRE-paragraph gets a spacing - EndTextFormatColl( HTML_PREFORMTXT_OFF ); + EndTextFormatColl( HtmlTokenId::PREFORMTXT_OFF ); break; - case HTML_LISTING_OFF: - case HTML_XMP_OFF: + case HtmlTokenId::LISTING_OFF: + case HtmlTokenId::XMP_OFF: EndTextFormatColl( nToken ); break; - case HTML_HEAD1_ON: - case HTML_HEAD2_ON: - case HTML_HEAD3_ON: - case HTML_HEAD4_ON: - case HTML_HEAD5_ON: - case HTML_HEAD6_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::HEAD1_ON: + case HtmlTokenId::HEAD2_ON: + case HtmlTokenId::HEAD3_ON: + case HtmlTokenId::HEAD4_ON: + case HtmlTokenId::HEAD5_ON: + case HtmlTokenId::HEAD6_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) { if( IsReadPRE() ) - m_nOpenParaToken = 0; + m_nOpenParaToken = HtmlTokenId::NONE; else EndPara(); } NewHeading( nToken ); break; - case HTML_HEAD1_OFF: - case HTML_HEAD2_OFF: - case HTML_HEAD3_OFF: - case HTML_HEAD4_OFF: - case HTML_HEAD5_OFF: - case HTML_HEAD6_OFF: + case HtmlTokenId::HEAD1_OFF: + case HtmlTokenId::HEAD2_OFF: + case HtmlTokenId::HEAD3_OFF: + case HtmlTokenId::HEAD4_OFF: + case HtmlTokenId::HEAD5_OFF: + case HtmlTokenId::HEAD6_OFF: EndHeading(); break; - case HTML_TABLE_ON: + case HtmlTokenId::TABLE_ON: if( m_pPendStack ) BuildTable( SvxAdjust::End ); else { - if( m_nOpenParaToken ) + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); OSL_ENSURE( !m_pTable, "table in table not allowed here" ); if( !m_pTable && (IsNewDoc() || !m_pPam->GetNode().FindTableNode()) && @@ -1698,189 +1701,189 @@ void SwHTMLParser::NextToken( int nToken ) break; // lists - case HTML_DIRLIST_ON: - case HTML_MENULIST_ON: - case HTML_ORDERLIST_ON: - case HTML_UNORDERLIST_ON: - if( m_nOpenParaToken ) + case HtmlTokenId::DIRLIST_ON: + case HtmlTokenId::MENULIST_ON: + case HtmlTokenId::ORDERLIST_ON: + case HtmlTokenId::UNORDERLIST_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); NewNumBulList( nToken ); break; - case HTML_DIRLIST_OFF: - case HTML_MENULIST_OFF: - case HTML_ORDERLIST_OFF: - case HTML_UNORDERLIST_OFF: - if( m_nOpenParaToken ) + case HtmlTokenId::DIRLIST_OFF: + case HtmlTokenId::MENULIST_OFF: + case HtmlTokenId::ORDERLIST_OFF: + case HtmlTokenId::UNORDERLIST_OFF: + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); - EndNumBulListItem( 0, true, GetNumInfo().GetDepth()==1 ); + EndNumBulListItem( HtmlTokenId::NONE, true, GetNumInfo().GetDepth()==1 ); EndNumBulList( nToken ); break; - case HTML_LI_ON: - case HTML_LISTHEADER_ON: - if( m_nOpenParaToken && + case HtmlTokenId::LI_ON: + case HtmlTokenId::LISTHEADER_ON: + if( m_nOpenParaToken != HtmlTokenId::NONE && (m_pPam->GetPoint()->nContent.GetIndex() - || HTML_PARABREAK_ON==m_nOpenParaToken) ) + || HtmlTokenId::PARABREAK_ON==m_nOpenParaToken) ) { // only finish paragraph for <P><LI>, not for <DD><LI> EndPara(); } - EndNumBulListItem( 0, false );// close <LI>/<LH> and don't set a template + EndNumBulListItem( HtmlTokenId::NONE, false );// close <LI>/<LH> and don't set a template NewNumBulListItem( nToken ); break; - case HTML_LI_OFF: - case HTML_LISTHEADER_OFF: + case HtmlTokenId::LI_OFF: + case HtmlTokenId::LISTHEADER_OFF: EndNumBulListItem( nToken, false ); break; // Attribute : - case HTML_ITALIC_ON: + case HtmlTokenId::ITALIC_ON: { SvxPostureItem aPosture( ITALIC_NORMAL, RES_CHRATR_POSTURE ); SvxPostureItem aPostureCJK( ITALIC_NORMAL, RES_CHRATR_CJK_POSTURE ); SvxPostureItem aPostureCTL( ITALIC_NORMAL, RES_CHRATR_CTL_POSTURE ); - NewStdAttr( HTML_ITALIC_ON, + NewStdAttr( HtmlTokenId::ITALIC_ON, &m_aAttrTab.pItalic, aPosture, &m_aAttrTab.pItalicCJK, &aPostureCJK, &m_aAttrTab.pItalicCTL, &aPostureCTL ); } break; - case HTML_BOLD_ON: + case HtmlTokenId::BOLD_ON: { SvxWeightItem aWeight( WEIGHT_BOLD, RES_CHRATR_WEIGHT ); SvxWeightItem aWeightCJK( WEIGHT_BOLD, RES_CHRATR_CJK_WEIGHT ); SvxWeightItem aWeightCTL( WEIGHT_BOLD, RES_CHRATR_CTL_WEIGHT ); - NewStdAttr( HTML_BOLD_ON, + NewStdAttr( HtmlTokenId::BOLD_ON, &m_aAttrTab.pBold, aWeight, &m_aAttrTab.pBoldCJK, &aWeightCJK, &m_aAttrTab.pBoldCTL, &aWeightCTL ); } break; - case HTML_STRIKE_ON: - case HTML_STRIKETHROUGH_ON: + case HtmlTokenId::STRIKE_ON: + case HtmlTokenId::STRIKETHROUGH_ON: { - NewStdAttr( HTML_STRIKE_ON, &m_aAttrTab.pStrike, + NewStdAttr( HtmlTokenId::STRIKE_ON, &m_aAttrTab.pStrike, SvxCrossedOutItem(STRIKEOUT_SINGLE, RES_CHRATR_CROSSEDOUT) ); } break; - case HTML_UNDERLINE_ON: + case HtmlTokenId::UNDERLINE_ON: { - NewStdAttr( HTML_UNDERLINE_ON, &m_aAttrTab.pUnderline, + NewStdAttr( HtmlTokenId::UNDERLINE_ON, &m_aAttrTab.pUnderline, SvxUnderlineItem(LINESTYLE_SINGLE, RES_CHRATR_UNDERLINE) ); } break; - case HTML_SUPERSCRIPT_ON: + case HtmlTokenId::SUPERSCRIPT_ON: { - NewStdAttr( HTML_SUPERSCRIPT_ON, &m_aAttrTab.pEscapement, + NewStdAttr( HtmlTokenId::SUPERSCRIPT_ON, &m_aAttrTab.pEscapement, SvxEscapementItem(HTML_ESC_SUPER,HTML_ESC_PROP, RES_CHRATR_ESCAPEMENT) ); } break; - case HTML_SUBSCRIPT_ON: + case HtmlTokenId::SUBSCRIPT_ON: { - NewStdAttr( HTML_SUBSCRIPT_ON, &m_aAttrTab.pEscapement, + NewStdAttr( HtmlTokenId::SUBSCRIPT_ON, &m_aAttrTab.pEscapement, SvxEscapementItem(HTML_ESC_SUB,HTML_ESC_PROP, RES_CHRATR_ESCAPEMENT) ); } break; - case HTML_BLINK_ON: + case HtmlTokenId::BLINK_ON: { - NewStdAttr( HTML_BLINK_ON, &m_aAttrTab.pBlink, + NewStdAttr( HtmlTokenId::BLINK_ON, &m_aAttrTab.pBlink, SvxBlinkItem( true, RES_CHRATR_BLINK ) ); } break; - case HTML_SPAN_ON: - NewStdAttr( HTML_SPAN_ON ); + case HtmlTokenId::SPAN_ON: + NewStdAttr( HtmlTokenId::SPAN_ON ); break; - case HTML_ITALIC_OFF: - case HTML_BOLD_OFF: - case HTML_STRIKE_OFF: - case HTML_UNDERLINE_OFF: - case HTML_SUPERSCRIPT_OFF: - case HTML_SUBSCRIPT_OFF: - case HTML_BLINK_OFF: - case HTML_SPAN_OFF: + case HtmlTokenId::ITALIC_OFF: + case HtmlTokenId::BOLD_OFF: + case HtmlTokenId::STRIKE_OFF: + case HtmlTokenId::UNDERLINE_OFF: + case HtmlTokenId::SUPERSCRIPT_OFF: + case HtmlTokenId::SUBSCRIPT_OFF: + case HtmlTokenId::BLINK_OFF: + case HtmlTokenId::SPAN_OFF: EndTag( nToken ); break; - case HTML_STRIKETHROUGH_OFF: - EndTag( HTML_STRIKE_OFF ); + case HtmlTokenId::STRIKETHROUGH_OFF: + EndTag( HtmlTokenId::STRIKE_OFF ); break; - case HTML_BASEFONT_ON: + case HtmlTokenId::BASEFONT_ON: NewBasefontAttr(); break; - case HTML_BASEFONT_OFF: + case HtmlTokenId::BASEFONT_OFF: EndBasefontAttr(); break; - case HTML_FONT_ON: - case HTML_BIGPRINT_ON: - case HTML_SMALLPRINT_ON: + case HtmlTokenId::FONT_ON: + case HtmlTokenId::BIGPRINT_ON: + case HtmlTokenId::SMALLPRINT_ON: NewFontAttr( nToken ); break; - case HTML_FONT_OFF: - case HTML_BIGPRINT_OFF: - case HTML_SMALLPRINT_OFF: + case HtmlTokenId::FONT_OFF: + case HtmlTokenId::BIGPRINT_OFF: + case HtmlTokenId::SMALLPRINT_OFF: EndFontAttr( nToken ); break; - case HTML_EMPHASIS_ON: - case HTML_CITIATION_ON: - case HTML_STRONG_ON: - case HTML_CODE_ON: - case HTML_SAMPLE_ON: - case HTML_KEYBOARD_ON: - case HTML_VARIABLE_ON: - case HTML_DEFINSTANCE_ON: - case HTML_SHORTQUOTE_ON: - case HTML_LANGUAGE_ON: - case HTML_AUTHOR_ON: - case HTML_PERSON_ON: - case HTML_ACRONYM_ON: - case HTML_ABBREVIATION_ON: - case HTML_INSERTEDTEXT_ON: - case HTML_DELETEDTEXT_ON: - - case HTML_TELETYPE_ON: + case HtmlTokenId::EMPHASIS_ON: + case HtmlTokenId::CITIATION_ON: + case HtmlTokenId::STRONG_ON: + case HtmlTokenId::CODE_ON: + case HtmlTokenId::SAMPLE_ON: + case HtmlTokenId::KEYBOARD_ON: + case HtmlTokenId::VARIABLE_ON: + case HtmlTokenId::DEFINSTANCE_ON: + case HtmlTokenId::SHORTQUOTE_ON: + case HtmlTokenId::LANGUAGE_ON: + case HtmlTokenId::AUTHOR_ON: + case HtmlTokenId::PERSON_ON: + case HtmlTokenId::ACRONYM_ON: + case HtmlTokenId::ABBREVIATION_ON: + case HtmlTokenId::INSERTEDTEXT_ON: + case HtmlTokenId::DELETEDTEXT_ON: + + case HtmlTokenId::TELETYPE_ON: NewCharFormat( nToken ); break; - case HTML_SDFIELD_ON: + case HtmlTokenId::SDFIELD_ON: NewField(); m_bCallNextToken = m_bInField && m_pTable!=nullptr; break; - case HTML_EMPHASIS_OFF: - case HTML_CITIATION_OFF: - case HTML_STRONG_OFF: - case HTML_CODE_OFF: - case HTML_SAMPLE_OFF: - case HTML_KEYBOARD_OFF: - case HTML_VARIABLE_OFF: - case HTML_DEFINSTANCE_OFF: - case HTML_SHORTQUOTE_OFF: - case HTML_LANGUAGE_OFF: - case HTML_AUTHOR_OFF: - case HTML_PERSON_OFF: - case HTML_ACRONYM_OFF: - case HTML_ABBREVIATION_OFF: - case HTML_INSERTEDTEXT_OFF: - case HTML_DELETEDTEXT_OFF: - - case HTML_TELETYPE_OFF: + case HtmlTokenId::EMPHASIS_OFF: + case HtmlTokenId::CITIATION_OFF: + case HtmlTokenId::STRONG_OFF: + case HtmlTokenId::CODE_OFF: + case HtmlTokenId::SAMPLE_OFF: + case HtmlTokenId::KEYBOARD_OFF: + case HtmlTokenId::VARIABLE_OFF: + case HtmlTokenId::DEFINSTANCE_OFF: + case HtmlTokenId::SHORTQUOTE_OFF: + case HtmlTokenId::LANGUAGE_OFF: + case HtmlTokenId::AUTHOR_OFF: + case HtmlTokenId::PERSON_OFF: + case HtmlTokenId::ACRONYM_OFF: + case HtmlTokenId::ABBREVIATION_OFF: + case HtmlTokenId::INSERTEDTEXT_OFF: + case HtmlTokenId::DELETEDTEXT_OFF: + + case HtmlTokenId::TELETYPE_OFF: EndTag( nToken ); break; - case HTML_HEAD_OFF: + case HtmlTokenId::HEAD_OFF: if( !m_aStyleSource.isEmpty() ) { m_pCSS1Parser->ParseStyleSheet( m_aStyleSource ); @@ -1888,13 +1891,13 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_DOCTYPE: - case HTML_BODY_OFF: - case HTML_HTML_OFF: - case HTML_HEAD_ON: - case HTML_TITLE_OFF: + case HtmlTokenId::DOCTYPE: + case HtmlTokenId::BODY_OFF: + case HtmlTokenId::HTML_OFF: + case HtmlTokenId::HEAD_ON: + case HtmlTokenId::TITLE_OFF: break; // don't evaluate further??? - case HTML_HTML_ON: + case HtmlTokenId::HTML_ON: { const HTMLOptions& rHTMLOptions = GetOptions(); for (size_t i = rHTMLOptions.size(); i; ) @@ -1917,29 +1920,29 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_INPUT: + case HtmlTokenId::INPUT: InsertInput(); break; - case HTML_TEXTAREA_ON: + case HtmlTokenId::TEXTAREA_ON: NewTextArea(); m_bCallNextToken = m_bTextArea && m_pTable!=nullptr; break; - case HTML_SELECT_ON: + case HtmlTokenId::SELECT_ON: NewSelect(); m_bCallNextToken = m_bSelect && m_pTable!=nullptr; break; - case HTML_ANCHOR_ON: + case HtmlTokenId::ANCHOR_ON: NewAnchor(); break; - case HTML_ANCHOR_OFF: + case HtmlTokenId::ANCHOR_OFF: EndAnchor(); break; - case HTML_COMMENT: + case HtmlTokenId::COMMENT: if( ( aToken.getLength() > 5 ) && ( ! m_bIgnoreHTMLComments ) ) { // insert as Post-It @@ -1960,7 +1963,7 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_MAP_ON: + case HtmlTokenId::MAP_ON: // Image Maps are read asynchronously: At first only an image map is created // Areas are processed later. Nevertheless the // ImageMap is inserted into the IMap-Array, because it might be used @@ -1979,29 +1982,29 @@ void SwHTMLParser::NextToken( int nToken ) } break; - case HTML_MAP_OFF: + case HtmlTokenId::MAP_OFF: // there is no ImageMap anymore (don't delete IMap, because it's // already contained in the array!) m_pImageMap = nullptr; break; - case HTML_AREA: + case HtmlTokenId::AREA: if( m_pImageMap ) ParseAreaOptions( m_pImageMap, m_sBaseURL, SFX_EVENT_MOUSEOVER_OBJECT, SFX_EVENT_MOUSEOUT_OBJECT ); break; - case HTML_FRAMESET_ON: + case HtmlTokenId::FRAMESET_ON: bInsertUnknown = m_bKeepUnknown; break; - case HTML_NOFRAMES_ON: + case HtmlTokenId::NOFRAMES_ON: if( IsInHeader() ) FinishHeader( true ); bInsertUnknown = m_bKeepUnknown; break; - case HTML_UNKNOWNCONTROL_ON: + case HtmlTokenId::UNKNOWNCONTROL_ON: // Ignore content of unknown token in the header, if the token // does not start with a '!'. // (but judging from the code, also if does not start with a '%') @@ -2023,7 +2026,7 @@ void SwHTMLParser::NextToken( int nToken ) if( bInsertUnknown ) { OUString aComment("HTML: <"); - if( (HTML_TOKEN_ONOFF & nToken) != 0 && (1 & nToken) != 0 ) + if( (nToken >= HtmlTokenId::ONOFF_START) && isOffToken(nToken) ) aComment += "/"; aComment += sSaveToken; if( !aToken.isEmpty() ) @@ -3401,7 +3404,7 @@ void SwHTMLParser::InsertAttrs( HTMLAttrs& rAttrs ) } } -void SwHTMLParser::NewStdAttr( int nToken ) +void SwHTMLParser::NewStdAttr( HtmlTokenId nToken ) { OUString aId, aStyle, aLang, aDir; OUString aClass; @@ -3432,7 +3435,7 @@ void SwHTMLParser::NewStdAttr( int nToken ) } // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken ); // Styles parsen if( HasStyleOptions( aStyle, aId, aClass, &aLang, &aDir ) ) @@ -3442,7 +3445,7 @@ void SwHTMLParser::NewStdAttr( int nToken ) if( ParseStyleOptions( aStyle, aId, aClass, aItemSet, aPropInfo, &aLang, &aDir ) ) { - if( HTML_SPAN_ON != nToken || aClass.isEmpty() || + if( HtmlTokenId::SPAN_ON != nToken || aClass.isEmpty() || !CreateContainer( aClass, aItemSet, aPropInfo, pCntxt ) ) DoPositioning( aItemSet, aPropInfo, pCntxt ); InsertAttrs( aItemSet, aPropInfo, pCntxt, true ); @@ -3453,7 +3456,7 @@ void SwHTMLParser::NewStdAttr( int nToken ) PushContext( pCntxt ); } -void SwHTMLParser::NewStdAttr( int nToken, +void SwHTMLParser::NewStdAttr( HtmlTokenId nToken, HTMLAttr **ppAttr, const SfxPoolItem & rItem, HTMLAttr **ppAttr2, const SfxPoolItem *pItem2, HTMLAttr **ppAttr3, const SfxPoolItem *pItem3 ) @@ -3486,7 +3489,7 @@ void SwHTMLParser::NewStdAttr( int nToken, } // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken ); // Styles parsen if( HasStyleOptions( aStyle, aId, aClass, &aLang, &aDir ) ) @@ -3524,10 +3527,10 @@ void SwHTMLParser::NewStdAttr( int nToken, PushContext( pCntxt ); } -void SwHTMLParser::EndTag( int nToken ) +void SwHTMLParser::EndTag( HtmlTokenId nToken ) { // den Kontext holen - HTMLAttrContext *pCntxt = PopContext( static_cast< sal_uInt16 >(nToken & ~1) ); + HTMLAttrContext *pCntxt = PopContext( getOnToken(nToken) ); if( pCntxt ) { // und ggf. die Attribute beenden @@ -3576,7 +3579,7 @@ void SwHTMLParser::NewBasefontAttr() nSize = 7; // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_BASEFONT_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::BASEFONT_ON ); // Styles parsen if( HasStyleOptions( aStyle, aId, aClass, &aLang, &aDir ) ) @@ -3619,14 +3622,14 @@ void SwHTMLParser::NewBasefontAttr() void SwHTMLParser::EndBasefontAttr() { - EndTag( HTML_BASEFONT_ON ); + EndTag( HtmlTokenId::BASEFONT_ON ); // Stack-Unterlauf in Tabellen vermeiden if( m_aBaseFontStack.size() > m_nBaseFontStMin ) m_aBaseFontStack.erase( m_aBaseFontStack.begin() + m_aBaseFontStack.size() - 1 ); } -void SwHTMLParser::NewFontAttr( int nToken ) +void SwHTMLParser::NewFontAttr( HtmlTokenId nToken ) { sal_uInt16 nBaseSize = ( m_aBaseFontStack.size() > m_nBaseFontStMin @@ -3650,7 +3653,7 @@ void SwHTMLParser::NewFontAttr( int nToken ) switch( rOption.GetToken() ) { case HtmlOptionId::SIZE: - if( HTML_FONT_ON==nToken && !rOption.GetString().isEmpty() ) + if( HtmlTokenId::FONT_ON==nToken && !rOption.GetString().isEmpty() ) { sal_Int32 nSSize; if( '+' == rOption.GetString()[0] || @@ -3669,14 +3672,14 @@ void SwHTMLParser::NewFontAttr( int nToken ) } break; case HtmlOptionId::COLOR: - if( HTML_FONT_ON==nToken ) + if( HtmlTokenId::FONT_ON==nToken ) { rOption.GetColor( aColor ); bColor = true; } break; case HtmlOptionId::FACE: - if( HTML_FONT_ON==nToken ) + if( HtmlTokenId::FONT_ON==nToken ) aFace = rOption.GetString(); break; case HtmlOptionId::ID: @@ -3698,7 +3701,7 @@ void SwHTMLParser::NewFontAttr( int nToken ) } } - if( HTML_FONT_ON != nToken ) + if( HtmlTokenId::FONT_ON != nToken ) { // HTML_BIGPRINT_ON oder HTML_SMALLPRINT_ON @@ -3716,7 +3719,7 @@ void SwHTMLParser::NewFontAttr( int nToken ) else nPoolId = 0; - if( HTML_BIGPRINT_ON == nToken ) + if( HtmlTokenId::BIGPRINT_ON == nToken ) nSize = ( nFontSize<7 ? nFontSize+1 : 7 ); else nSize = ( nFontSize>1 ? nFontSize-1 : 1 ); @@ -3780,7 +3783,7 @@ void SwHTMLParser::NewFontAttr( int nToken ) } // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext(nToken ); // Styles parsen if( HasStyleOptions( aStyle, aId, aClass, &aLang, &aDir ) ) @@ -3844,7 +3847,7 @@ void SwHTMLParser::NewFontAttr( int nToken ) m_aFontStack.push_back( nSize ); } -void SwHTMLParser::EndFontAttr( int nToken ) +void SwHTMLParser::EndFontAttr( HtmlTokenId nToken ) { EndTag( nToken ); @@ -3893,9 +3896,9 @@ void SwHTMLParser::NewPara() // einen neuen Kontext anlegen HTMLAttrContext *pCntxt = - !aClass.isEmpty() ? new HTMLAttrContext( HTML_PARABREAK_ON, + !aClass.isEmpty() ? new HTMLAttrContext( HtmlTokenId::PARABREAK_ON, RES_POOLCOLL_TEXT, aClass ) - : new HTMLAttrContext( HTML_PARABREAK_ON ); + : new HTMLAttrContext( HtmlTokenId::PARABREAK_ON ); // Styles parsen (Class nicht beruecksichtigen. Das geht nur, solange // keine der CSS1-Properties der Klasse hart formatiert werden muss!!!) @@ -3925,13 +3928,13 @@ void SwHTMLParser::NewPara() // Laufbalkenanzeige ShowStatline(); - OSL_ENSURE( !m_nOpenParaToken, "Jetzt geht ein offenes Absatz-Element verloren" ); - m_nOpenParaToken = HTML_PARABREAK_ON; + OSL_ENSURE( m_nOpenParaToken == HtmlTokenId::NONE, "Jetzt geht ein offenes Absatz-Element verloren" ); + m_nOpenParaToken = HtmlTokenId::PARABREAK_ON; } void SwHTMLParser::EndPara( bool bReal ) { - if( HTML_LI_ON==m_nOpenParaToken && m_pTable ) + if( HtmlTokenId::LI_ON==m_nOpenParaToken && m_pTable ) { #if OSL_DEBUG_LEVEL > 0 const SwNumRule *pNumRule = m_pPam->GetNode().GetTextNode()->GetNumRule(); @@ -3950,7 +3953,7 @@ void SwHTMLParser::EndPara( bool bReal ) // wenn ein DD oder DT offen war, handelt es sich um eine // implizite Def-Liste, die jetzt beendet werden muss - if( (m_nOpenParaToken==HTML_DT_ON || m_nOpenParaToken==HTML_DD_ON) && + if( (m_nOpenParaToken == HtmlTokenId::DT_ON || m_nOpenParaToken == HtmlTokenId::DD_ON) && m_nDefListDeep) { m_nDefListDeep--; @@ -3959,8 +3962,7 @@ void SwHTMLParser::EndPara( bool bReal ) // den Kontext vom Stack holen. Er kann auch von einer implizit // geoeffneten Definitionsliste kommen HTMLAttrContext *pCntxt = - PopContext( static_cast< sal_uInt16 >(m_nOpenParaToken ? (m_nOpenParaToken & ~1) - : HTML_PARABREAK_ON) ); + PopContext( m_nOpenParaToken != HtmlTokenId::NONE ? getOnToken(m_nOpenParaToken) : HtmlTokenId::PARABREAK_ON ); // Attribute beenden if( pCntxt ) @@ -3974,10 +3976,10 @@ void SwHTMLParser::EndPara( bool bReal ) if( bReal ) SetTextCollAttrs(); - m_nOpenParaToken = 0; + m_nOpenParaToken = HtmlTokenId::NONE; } -void SwHTMLParser::NewHeading( int nToken ) +void SwHTMLParser::NewHeading( HtmlTokenId nToken ) { m_eParaAdjust = SvxAdjust::End; @@ -4021,17 +4023,17 @@ void SwHTMLParser::NewHeading( int nToken ) sal_uInt16 nTextColl; switch( nToken ) { - case HTML_HEAD1_ON: nTextColl = RES_POOLCOLL_HEADLINE1; break; - case HTML_HEAD2_ON: nTextColl = RES_POOLCOLL_HEADLINE2; break; - case HTML_HEAD3_ON: nTextColl = RES_POOLCOLL_HEADLINE3; break; - case HTML_HEAD4_ON: nTextColl = RES_POOLCOLL_HEADLINE4; break; - case HTML_HEAD5_ON: nTextColl = RES_POOLCOLL_HEADLINE5; break; - case HTML_HEAD6_ON: nTextColl = RES_POOLCOLL_HEADLINE6; break; + case HtmlTokenId::HEAD1_ON: nTextColl = RES_POOLCOLL_HEADLINE1; break; + case HtmlTokenId::HEAD2_ON: nTextColl = RES_POOLCOLL_HEADLINE2; break; + case HtmlTokenId::HEAD3_ON: nTextColl = RES_POOLCOLL_HEADLINE3; break; + case HtmlTokenId::HEAD4_ON: nTextColl = RES_POOLCOLL_HEADLINE4; break; + case HtmlTokenId::HEAD5_ON: nTextColl = RES_POOLCOLL_HEADLINE5; break; + case HtmlTokenId::HEAD6_ON: nTextColl = RES_POOLCOLL_HEADLINE6; break; default: nTextColl = RES_POOLCOLL_STANDARD; break; } // den Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken), nTextColl, aClass ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken, nTextColl, aClass ); // Styles parsen (zu Class siehe auch NewPara) if( HasStyleOptions( aStyle, aId, aEmptyOUStr, &aLang, &aDir ) ) @@ -4078,15 +4080,16 @@ void SwHTMLParser::EndHeading() { switch( m_aContexts[--nPos]->GetToken() ) { - case HTML_HEAD1_ON: - case HTML_HEAD2_ON: - case HTML_HEAD3_ON: - case HTML_HEAD4_ON: - case HTML_HEAD5_ON: - case HTML_HEAD6_ON: + case HtmlTokenId::HEAD1_ON: + case HtmlTokenId::HEAD2_ON: + case HtmlTokenId::HEAD3_ON: + case HtmlTokenId::HEAD4_ON: + case HtmlTokenId::HEAD5_ON: + case HtmlTokenId::HEAD6_ON: pCntxt = m_aContexts[nPos]; m_aContexts.erase( m_aContexts.begin() + nPos ); break; + default: break; } } @@ -4104,7 +4107,7 @@ void SwHTMLParser::EndHeading() m_nFontStHeadStart = m_nFontStMin; } -void SwHTMLParser::NewTextFormatColl( int nToken, sal_uInt16 nColl ) +void SwHTMLParser::NewTextFormatColl( HtmlTokenId nToken, sal_uInt16 nColl ) { OUString aId, aStyle, aClass, aLang, aDir; @@ -4137,23 +4140,23 @@ void SwHTMLParser::NewTextFormatColl( int nToken, sal_uInt16 nColl ) SwHTMLAppendMode eMode = AM_NORMAL; switch( nToken ) { - case HTML_LISTING_ON: - case HTML_XMP_ON: + case HtmlTokenId::LISTING_ON: + case HtmlTokenId::XMP_ON: // Diese beiden Tags werden jetzt auf die PRE-Vorlage gemappt. // Fuer dem Fall, dass ein CLASS angegeben ist, loeschen wir // es damit wir nicht die CLASS der PRE-Vorlage bekommen. aClass = aEmptyOUStr; SAL_FALLTHROUGH; - case HTML_BLOCKQUOTE_ON: - case HTML_BLOCKQUOTE30_ON: - case HTML_PREFORMTXT_ON: + case HtmlTokenId::BLOCKQUOTE_ON: + case HtmlTokenId::BLOCKQUOTE30_ON: + case HtmlTokenId::PREFORMTXT_ON: eMode = AM_SPACE; break; - case HTML_ADDRESS_ON: + case HtmlTokenId::ADDRESS_ON: eMode = AM_NOSPACE; // ADDRESS kann auf einen <P> ohne </P> folgen break; - case HTML_DT_ON: - case HTML_DD_ON: + case HtmlTokenId::DT_ON: + case HtmlTokenId::DD_ON: eMode = AM_SOFTNOSPACE; break; default: @@ -4166,7 +4169,7 @@ void SwHTMLParser::NewTextFormatColl( int nToken, sal_uInt16 nColl ) AddParSpace(); // ... und in einem Kontext merken - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken), nColl, aClass ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken, nColl, aClass ); // Styles parsen (zu Class siehe auch NewPara) if( HasStyleOptions( aStyle, aId, aEmptyOUStr, &aLang, &aDir ) ) @@ -4192,21 +4195,21 @@ void SwHTMLParser::NewTextFormatColl( int nToken, sal_uInt16 nColl ) ShowStatline(); } -void SwHTMLParser::EndTextFormatColl( int nToken ) +void SwHTMLParser::EndTextFormatColl( HtmlTokenId nToken ) { SwHTMLAppendMode eMode = AM_NORMAL; - switch( nToken & ~1 ) + switch( getOnToken(nToken) ) { - case HTML_BLOCKQUOTE_ON: - case HTML_BLOCKQUOTE30_ON: - case HTML_PREFORMTXT_ON: - case HTML_LISTING_ON: - case HTML_XMP_ON: + case HtmlTokenId::BLOCKQUOTE_ON: + case HtmlTokenId::BLOCKQUOTE30_ON: + case HtmlTokenId::PREFORMTXT_ON: + case HtmlTokenId::LISTING_ON: + case HtmlTokenId::XMP_ON: eMode = AM_SPACE; break; - case HTML_ADDRESS_ON: - case HTML_DT_ON: - case HTML_DD_ON: + case HtmlTokenId::ADDRESS_ON: + case HtmlTokenId::DT_ON: + case HtmlTokenId::DD_ON: eMode = AM_SOFTNOSPACE; break; default: @@ -4219,7 +4222,7 @@ void SwHTMLParser::EndTextFormatColl( int nToken ) AddParSpace(); // den aktuellen Kontext vom Stack holen - HTMLAttrContext *pCntxt = PopContext( static_cast< sal_uInt16 >(nToken & ~1) ); + HTMLAttrContext *pCntxt = PopContext( getOnToken(nToken) ); // und noch Attribute beenden if( pCntxt ) @@ -4276,24 +4279,25 @@ void SwHTMLParser::NewDefList() auto nPos = m_aContexts.size(); while( !bInDD && !bNotInDD && nPos>m_nContextStMin ) { - sal_uInt16 nCntxtToken = m_aContexts[--nPos]->GetToken(); + HtmlTokenId nCntxtToken = m_aContexts[--nPos]->GetToken(); switch( nCntxtToken ) { - case HTML_DEFLIST_ON: - case HTML_DIRLIST_ON: - case HTML_MENULIST_ON: - case HTML_ORDERLIST_ON: - case HTML_UNORDERLIST_ON: + case HtmlTokenId::DEFLIST_ON: + case HtmlTokenId::DIRLIST_ON: + case HtmlTokenId::MENULIST_ON: + case HtmlTokenId::ORDERLIST_ON: + case HtmlTokenId::UNORDERLIST_ON: bNotInDD = true; break; - case HTML_DD_ON: + case HtmlTokenId::DD_ON: bInDD = true; break; + default: break; } } // ... und in einem Kontext merken - HTMLAttrContext *pCntxt = new HTMLAttrContext( HTML_DEFLIST_ON ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( HtmlTokenId::DEFLIST_ON ); // darin auch die Raender merken sal_uInt16 nLeft=0, nRight=0; @@ -4349,7 +4353,7 @@ void SwHTMLParser::EndDefList() m_nDefListDeep--; // den aktuellen Kontext vom Stack holen - HTMLAttrContext *pCntxt = PopContext( HTML_DEFLIST_ON ); + HTMLAttrContext *pCntxt = PopContext( HtmlTokenId::DEFLIST_ON ); // und noch Attribute beenden if( pCntxt ) @@ -4363,25 +4367,26 @@ void SwHTMLParser::EndDefList() SetTextCollAttrs(); } -void SwHTMLParser::NewDefListItem( int nToken ) +void SwHTMLParser::NewDefListItem( HtmlTokenId nToken ) { // festellen, ob das DD/DT in einer DL vorkommt bool bInDefList = false, bNotInDefList = false; auto nPos = m_aContexts.size(); while( !bInDefList && !bNotInDefList && nPos>m_nContextStMin ) { - sal_uInt16 nCntxtToken = m_aContexts[--nPos]->GetToken(); + HtmlTokenId nCntxtToken = m_aContexts[--nPos]->GetToken(); switch( nCntxtToken ) { - case HTML_DEFLIST_ON: + case HtmlTokenId::DEFLIST_ON: bInDefList = true; break; - case HTML_DIRLIST_ON: - case HTML_MENULIST_ON: - case HTML_ORDERLIST_ON: - case HTML_UNORDERLIST_ON: + case HtmlTokenId::DIRLIST_ON: + case HtmlTokenId::MENULIST_ON: + case HtmlTokenId::ORDERLIST_ON: + case HtmlTokenId::UNORDERLIST_ON: bNotInDefList = true; break; + default: break; } } @@ -4389,47 +4394,48 @@ void SwHTMLParser::NewDefListItem( int nToken ) if( !bInDefList ) { m_nDefListDeep++; - OSL_ENSURE( !m_nOpenParaToken, + OSL_ENSURE( m_nOpenParaToken == HtmlTokenId::NONE, "Jetzt geht ein offenes Absatz-Element verloren" ); - m_nOpenParaToken = static_cast< sal_uInt16 >(nToken); + m_nOpenParaToken = nToken; } - NewTextFormatColl( nToken, static_cast< sal_uInt16 >(nToken==HTML_DD_ON ? RES_POOLCOLL_HTML_DD + NewTextFormatColl( nToken, static_cast< sal_uInt16 >(nToken==HtmlTokenId::DD_ON ? RES_POOLCOLL_HTML_DD : RES_POOLCOLL_HTML_DT) ); } -void SwHTMLParser::EndDefListItem( int nToken, bool /*bLastPara*/ ) +void SwHTMLParser::EndDefListItem( HtmlTokenId nToken ) { // einen neuen Absatz aufmachen - if( !nToken && m_pPam->GetPoint()->nContent.GetIndex() ) + if( nToken == HtmlTokenId::NONE && m_pPam->GetPoint()->nContent.GetIndex() ) AppendTextNode( AM_SOFTNOSPACE ); // Kontext zu dem Token suchen und vom Stack holen - nToken &= ~1; + nToken = getOnToken(nToken); HTMLAttrContext *pCntxt = nullptr; auto nPos = m_aContexts.size(); while( !pCntxt && nPos>m_nContextStMin ) { - sal_uInt16 nCntxtToken = m_aContexts[--nPos]->GetToken(); + HtmlTokenId nCntxtToken = m_aContexts[--nPos]->GetToken(); switch( nCntxtToken ) { - case HTML_DD_ON: - case HTML_DT_ON: - if( !nToken || nToken == nCntxtToken ) + case HtmlTokenId::DD_ON: + case HtmlTokenId::DT_ON: + if( nToken == HtmlTokenId::NONE || nToken == nCntxtToken ) { pCntxt = m_aContexts[nPos]; m_aContexts.erase( m_aContexts.begin() + nPos ); } break; - case HTML_DEFLIST_ON: + case HtmlTokenId::DEFLIST_ON: // keine DD/DT ausserhalb der aktuelen DefListe betrachten - case HTML_DIRLIST_ON: - case HTML_MENULIST_ON: - case HTML_ORDERLIST_ON: - case HTML_UNORDERLIST_ON: + case HtmlTokenId::DIRLIST_ON: + case HtmlTokenId::MENULIST_ON: + case HtmlTokenId::ORDERLIST_ON: + case HtmlTokenId::UNORDERLIST_ON: // und auch nicht ausserhalb einer anderen Liste nPos = m_nContextStMin; break; + default: break; } } @@ -4742,7 +4748,7 @@ void SwHTMLParser::SetTextCollAttrs( HTMLAttrContext *pContext ) } } -void SwHTMLParser::NewCharFormat( int nToken ) +void SwHTMLParser::NewCharFormat( HtmlTokenId nToken ) { OUString aId, aStyle, aLang, aDir; OUString aClass; @@ -4773,10 +4779,10 @@ void SwHTMLParser::NewCharFormat( int nToken ) } // einen neuen Kontext anlegen - HTMLAttrContext *pCntxt = new HTMLAttrContext( static_cast< sal_uInt16 >(nToken) ); + HTMLAttrContext *pCntxt = new HTMLAttrContext( nToken ); // die Vorlage setzen und im Kontext merken - SwCharFormat* pCFormat = m_pCSS1Parser->GetChrFormat( static_cast< sal_uInt16 >(nToken), aClass ); + SwCharFormat* pCFormat = m_pCSS1Parser->GetChrFormat( nToken, aClass ); OSL_ENSURE( pCFormat, "keine Zeichenvorlage zu Token gefunden" ); // Styles parsen (zu Class siehe auch NewPara) @@ -5243,14 +5249,14 @@ void SwHTMLParser::InsertHorzRule() if( m_pPam->GetPoint()->nContent.GetIndex() ) AppendTextNode( AM_NOSPACE ); - if( m_nOpenParaToken ) + if( m_nOpenParaToken != HtmlTokenId::NONE ) EndPara(); AppendTextNode(); m_pPam->Move( fnMoveBackward ); // ... und in einem Kontext merken HTMLAttrContext *pCntxt = - new HTMLAttrContext( HTML_HORZRULE, RES_POOLCOLL_HTML_HR, aEmptyOUStr ); + new HTMLAttrContext( HtmlTokenId::HORZRULE, RES_POOLCOLL_HTML_HR, aEmptyOUStr ); PushContext( pCntxt ); @@ -5343,7 +5349,7 @@ void SwHTMLParser::InsertHorzRule() InsertBookmark( aId ); // den aktuellen Kontext vom Stack holen - HTMLAttrContext *pPoppedContext = PopContext( HTML_HORZRULE ); + HTMLAttrContext *pPoppedContext = PopContext( HtmlTokenId::HORZRULE ); OSL_ENSURE( pPoppedContext==pCntxt, "wo kommt denn da ein HR-Kontext her?" ); delete pPoppedContext; diff --git a/sw/source/filter/html/swhtml.hxx b/sw/source/filter/html/swhtml.hxx index 6276bb9dd7ab..b23528a9732e 100644 --- a/sw/source/filter/html/swhtml.hxx +++ b/sw/source/filter/html/swhtml.hxx @@ -23,6 +23,7 @@ #include <sfx2/sfxhtml.hxx> #include <svl/macitem.hxx> +#include <svtools/htmltokn.h> #include <editeng/svxenum.hxx> #include <rtl/ref.hxx> #include <fmtornt.hxx> @@ -202,7 +203,7 @@ class HTMLAttrContext HTMLAttrContext_SaveDoc *pSaveDocContext; SfxItemSet *pFrameItemSet; - sal_uInt16 nToken; // the token of the context + HtmlTokenId nToken; // the token of the context sal_uInt16 nTextFormatColl; // a style created in the context or zero @@ -228,7 +229,7 @@ class HTMLAttrContext public: void ClearSaveDocContext(); - HTMLAttrContext( sal_uInt16 nTokn, sal_uInt16 nPoolId, const OUString& rClass, + HTMLAttrContext( HtmlTokenId nTokn, sal_uInt16 nPoolId, const OUString& rClass, bool bDfltColl=false ) : aClass( rClass ), pSaveDocContext( nullptr ), @@ -252,7 +253,7 @@ public: bRestartListing( false ) {} - explicit HTMLAttrContext( sal_uInt16 nTokn ) : + explicit HTMLAttrContext( HtmlTokenId nTokn ) : pSaveDocContext( nullptr ), pFrameItemSet( nullptr ), nToken( nTokn ), @@ -276,7 +277,7 @@ public: ~HTMLAttrContext() { ClearSaveDocContext(); delete pFrameItemSet; } - sal_uInt16 GetToken() const { return nToken; } + HtmlTokenId GetToken() const { return nToken; } sal_uInt16 GetTextFormatColl() const { return bDfltTextFormatColl ? 0 : nTextFormatColl; } sal_uInt16 GetDfltTextFormatColl() const { return bDfltTextFormatColl ? nTextFormatColl : 0; } @@ -426,7 +427,7 @@ class SwHTMLParser : public SfxHTMLParser, public SwClient size_t m_nContextStMin; // lower limit of PopContext size_t m_nContextStAttrMin; // lower limit of attributes sal_uInt16 m_nSelectEntryCnt; // Number of entries in the actual listbox - sal_uInt16 m_nOpenParaToken; // opened paragraph element + HtmlTokenId m_nOpenParaToken; // opened paragraph element enum JumpToMarks { JUMPTO_NONE, JUMPTO_MARK, JUMPTO_TABLE, JUMPTO_FRAME, JUMPTO_REGION, JUMPTO_GRAPHIC } m_eJumpTo; @@ -561,7 +562,7 @@ class SwHTMLParser : public SfxHTMLParser, public SwClient // Fetch top/specified context but not outside the context with token // nLimit. If bRemove set then remove it. - HTMLAttrContext *PopContext( sal_uInt16 nToken=0 ); + HTMLAttrContext *PopContext( HtmlTokenId nToken = HtmlTokenId::NONE ); bool GetMarginsFromContext( sal_uInt16 &nLeft, sal_uInt16 &nRight, short& nIndent, bool bIgnoreCurrent=false ) const; @@ -576,16 +577,16 @@ class SwHTMLParser : public SfxHTMLParser, public SwClient // <P> and <H1> to <H6> void NewPara(); void EndPara( bool bReal = false ); - void NewHeading( int nToken ); + void NewHeading( HtmlTokenId nToken ); void EndHeading(); // <ADDRESS>, <BLOCKQUOTE> and <PRE> - void NewTextFormatColl( int nToken, sal_uInt16 nPoolId ); - void EndTextFormatColl( int nToken ); + void NewTextFormatColl( HtmlTokenId nToken, sal_uInt16 nPoolId ); + void EndTextFormatColl( HtmlTokenId nToken ); // <DIV> and <CENTER> - void NewDivision( int nToken ); - void EndDivision( int nToken ); + void NewDivision( HtmlTokenId nToken ); + void EndDivision(); // insert/close Fly-Frames void InsertFlyFrame( const SfxItemSet& rItemSet, HTMLAttrContext *pCntxt, @@ -609,37 +610,37 @@ class SwHTMLParser : public SfxHTMLParser, public SwClient // Handling of lists // order list <OL> and unordered list <UL> with <LI> - void NewNumBulList( int nToken ); - void EndNumBulList( int nToken=0 ); - void NewNumBulListItem( int nToken ); - void EndNumBulListItem( int nToken, bool bSetColl, + void NewNumBulList( HtmlTokenId nToken ); + void EndNumBulList( HtmlTokenId nToken = HtmlTokenId::NONE ); + void NewNumBulListItem( HtmlTokenId nToken ); + void EndNumBulListItem( HtmlTokenId nToken, bool bSetColl, bool bLastPara=false ); // definitions lists <DL> with <DD>, <DT> void NewDefList(); void EndDefList(); - void NewDefListItem( int nToken ); - void EndDefListItem( int nToken=0, bool bLastPara=false ); + void NewDefListItem( HtmlTokenId nToken ); + void EndDefListItem( HtmlTokenId nToken = HtmlTokenId::NONE ); // Handling of tags on character level // handle tags like <B>, <I> and so, which enable/disable a certain // attribute or like <SPAN> get attributes from styles - void NewStdAttr( int nToken ); - void NewStdAttr( int nToken, + void NewStdAttr( HtmlTokenId nToken ); + void NewStdAttr( HtmlTokenId nToken, HTMLAttr **ppAttr, const SfxPoolItem & rItem, HTMLAttr **ppAttr2=nullptr, const SfxPoolItem *pItem2=nullptr, HTMLAttr **ppAttr3=nullptr, const SfxPoolItem *pItem3=nullptr ); - void EndTag( int nToken ); + void EndTag( HtmlTokenId nToken ); // handle font attributes void NewBasefontAttr(); // for <BASEFONT> void EndBasefontAttr(); - void NewFontAttr( int nToken ); // for <FONT>, <BIG> and <SMALL> - void EndFontAttr( int nToken ); + void NewFontAttr( HtmlTokenId nToken ); // for <FONT>, <BIG> and <SMALL> + void EndFontAttr( HtmlTokenId nToken ); // tags realized via character styles - void NewCharFormat( int nToken ); + void NewCharFormat( HtmlTokenId nToken ); // <SDFIELD> public: @@ -793,7 +794,7 @@ private: void InsertInput(); void NewTextArea(); - void InsertTextAreaText( sal_uInt16 nToken ); + void InsertTextAreaText( HtmlTokenId nToken ); void EndTextArea(); void NewSelect(); @@ -868,7 +869,7 @@ public: // used in tables protected: // Executed for each token recognized by CallParser - virtual void NextToken( int nToken ) override; + virtual void NextToken( HtmlTokenId nToken ) override; virtual ~SwHTMLParser() override; // If the document is removed, remove the parser as well @@ -890,7 +891,7 @@ public: static sal_uInt16 ToTwips( sal_uInt16 nPixel ); // for reading asynchronously from SvStream - virtual void Continue( int nToken ) override; + virtual void Continue( HtmlTokenId nToken ) override; virtual bool ParseMetaOptions( const css::uno::Reference<css::document::XDocumentProperties>&, SvKeyValueIterator* ) override; @@ -903,11 +904,11 @@ struct SwPendingStackData struct SwPendingStack { - int nToken; + HtmlTokenId nToken; SwPendingStackData* pData; SwPendingStack* pNext; - SwPendingStack( int nTkn, SwPendingStack* pNxt ) + SwPendingStack( HtmlTokenId nTkn, SwPendingStack* pNxt ) : nToken( nTkn ), pData( nullptr ), pNext( pNxt ) {} }; diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx index 1b84110cda90..5596225a6245 100644 --- a/sw/source/filter/html/wrthtml.cxx +++ b/sw/source/filter/html/wrthtml.cxx @@ -26,6 +26,7 @@ #include <sfx2/linkmgr.hxx> #include <svtools/htmlcfg.hxx> +#include <svtools/htmltokn.h> #include <vcl/svapp.hxx> #include <i18nlangtag/languagetag.hxx> #include <sfx2/frmhtmlw.hxx> @@ -97,7 +98,7 @@ SwHTMLWriter::SwHTMLWriter( const OUString& rBaseURL ) , m_pFormatFootnote(nullptr) , m_nWarn(0) , m_nLastLFPos(0) - , m_nLastParaToken(0) + , m_nLastParaToken(HtmlTokenId::NONE) , m_nBkmkTabPos(-1) , m_nImgMapCnt(1) , m_nFormCntrlCnt(0) @@ -375,7 +376,7 @@ sal_uLong SwHTMLWriter::WriteStream() // document is saved m_pHTMLPosFlyFrames = nullptr; CollectFlyFrames(); - m_nLastParaToken = 0; + m_nLastParaToken = HtmlTokenId::NONE; GetControls(); CollectLinkTargets(); @@ -666,7 +667,7 @@ static Writer& OutHTML_Section( Writer& rWrt, const SwSectionNode& rSectNd ) // End <PRE> and any <DL>, because a definition list's level may // change inside the section. - rHTMLWrt.ChangeParaToken( 0 ); + rHTMLWrt.ChangeParaToken( HtmlTokenId::NONE ); rHTMLWrt.OutAndSetDefList( 0 ); const SwSection& rSection = rSectNd.GetSection(); @@ -811,7 +812,7 @@ void SwHTMLWriter::Out_SwDoc( SwPaM* pPam ) m_bOutFooter = false; // after one node no footer anymore } - ChangeParaToken( 0 ); // MIB 8.7.97: We're doing it here and not at the caller + ChangeParaToken( HtmlTokenId::NONE ); // MIB 8.7.97: We're doing it here and not at the caller OutAndSetDefList( 0 ); } while( CopyNextPam( &pPam ) ); // until all PaM's processed @@ -1471,7 +1472,7 @@ HTMLSaveData::~HTMLSaveData() rWrt.SetEndPaM( pOldEnd ); rWrt.bWriteAll = bOldWriteAll; rWrt.m_nBkmkTabPos = bOldWriteAll ? rWrt.FindPos_Bkmk( *pOldPam->GetPoint() ) : -1; - rWrt.m_nLastParaToken = 0; + rWrt.m_nLastParaToken = HtmlTokenId::NONE; rWrt.m_nDefListLvl = nOldDefListLvl; rWrt.m_nDirection = nOldDirection; rWrt.m_bOutHeader = bOldOutHeader; diff --git a/sw/source/filter/html/wrthtml.hxx b/sw/source/filter/html/wrthtml.hxx index 51a32bb2fc29..6061bd4c2eec 100644 --- a/sw/source/filter/html/wrthtml.hxx +++ b/sw/source/filter/html/wrthtml.hxx @@ -305,7 +305,7 @@ public: sal_uInt32 m_nWarn; // warning code sal_uInt32 m_nLastLFPos; // last position of LF - sal_uInt16 m_nLastParaToken; // to hold paragraphs together + HtmlTokenId m_nLastParaToken; // to hold paragraphs together sal_Int32 m_nBkmkTabPos; // current position in bookmark table sal_uInt16 m_nImgMapCnt; sal_uInt16 m_nFormCntrlCnt; @@ -476,7 +476,7 @@ public: const SfxItemSet *pItemSet=nullptr ); void OutCSS1_FrameFormatBackground( const SwFrameFormat& rFrameFormat ); - void ChangeParaToken( sal_uInt16 nNew ); + void ChangeParaToken( HtmlTokenId nNew ); void IncIndentLevel() { diff --git a/sw/source/uibase/docvw/srcedtw.cxx b/sw/source/uibase/docvw/srcedtw.cxx index 26c6d5bcde8d..6ccfee3d61b1 100644 --- a/sw/source/uibase/docvw/srcedtw.cxx +++ b/sw/source/uibase/docvw/srcedtw.cxx @@ -145,8 +145,8 @@ static void lcl_Highlight(const OUString& rSource, TextPortions& aPortionList) // some string was found OUString sToken = rSource.copy(nActPos + 1, nSrchPos - nActPos - 1 ); sToken = sToken.toAsciiUpperCase(); - int nToken = ::GetHTMLToken(sToken); - if(nToken) + HtmlTokenId nToken = ::GetHTMLToken(sToken); + if(nToken != HtmlTokenId::NONE) { // Token was found eFoundType = svtools::HTMLKEYWORD; |