summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-04-21 14:31:00 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-05-05 08:38:36 +0200
commit57f1934bdaa747f6e671419aa040e140d235f937 (patch)
tree98fe4a07f17f29d0e7bd17db5916a87bd30def3e
parent3b39adee1965be05e4bae759f43f77ce530f326c (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>
-rw-r--r--dbaccess/source/ui/inc/DExport.hxx3
-rw-r--r--dbaccess/source/ui/inc/HtmlReader.hxx4
-rw-r--r--dbaccess/source/ui/inc/RtfReader.hxx2
-rw-r--r--dbaccess/source/ui/inc/WExtendPages.hxx6
-rw-r--r--dbaccess/source/ui/inc/WTypeSelect.hxx4
-rw-r--r--dbaccess/source/ui/misc/HtmlReader.cxx91
-rw-r--r--dbaccess/source/ui/misc/WExtendPages.cxx14
-rw-r--r--dbaccess/source/ui/misc/WTypeSelect.cxx8
-rw-r--r--editeng/source/editeng/eehtml.cxx397
-rw-r--r--editeng/source/editeng/eehtml.hxx6
-rw-r--r--editeng/source/editeng/eertfpar.cxx7
-rw-r--r--editeng/source/rtf/svxrtf.cxx4
-rw-r--r--filter/source/textfilterdetect/filterdetect.cxx2
-rw-r--r--include/editeng/editdata.hxx13
-rw-r--r--include/svtools/htmltokn.h465
-rw-r--r--include/svtools/parhtml.hxx20
-rw-r--r--include/svtools/parrtf.hxx2
-rw-r--r--include/svtools/svparser.hxx89
-rw-r--r--sc/source/filter/html/htmlpars.cxx157
-rw-r--r--sc/source/filter/inc/eeparser.hxx3
-rw-r--r--sc/source/filter/rtf/eeimpars.cxx4
-rw-r--r--sc/source/filter/rtf/rtfparse.cxx22
-rw-r--r--svtools/source/svhtml/htmlkywd.cxx248
-rw-r--r--svtools/source/svhtml/parhtml.cxx477
-rw-r--r--svtools/source/svrtf/parrtf.cxx2
-rw-r--r--svtools/source/svrtf/svparser.cxx109
-rw-r--r--sw/source/filter/html/htmlatr.cxx42
-rw-r--r--sw/source/filter/html/htmlcss1.cxx94
-rw-r--r--sw/source/filter/html/htmlctxt.cxx4
-rw-r--r--sw/source/filter/html/htmlflywriter.cxx5
-rw-r--r--sw/source/filter/html/htmlform.cxx14
-rw-r--r--sw/source/filter/html/htmlgrin.cxx6
-rw-r--r--sw/source/filter/html/htmlnumreader.cxx54
-rw-r--r--sw/source/filter/html/htmlnumwriter.cxx4
-rw-r--r--sw/source/filter/html/htmlsect.cxx19
-rw-r--r--sw/source/filter/html/htmltab.cxx279
-rw-r--r--sw/source/filter/html/htmltabw.cxx2
-rw-r--r--sw/source/filter/html/svxcss1.cxx4
-rw-r--r--sw/source/filter/html/swcss1.hxx2
-rw-r--r--sw/source/filter/html/swhtml.cxx710
-rw-r--r--sw/source/filter/html/swhtml.hxx57
-rw-r--r--sw/source/filter/html/wrthtml.cxx11
-rw-r--r--sw/source/filter/html/wrthtml.hxx4
-rw-r--r--sw/source/uibase/docvw/srcedtw.cxx4
44 files changed, 1773 insertions, 1701 deletions
diff --git a/dbaccess/source/ui/inc/DExport.hxx b/dbaccess/source/ui/inc/DExport.hxx
index 20c4a696be5f..7fc704a83bc2 100644
--- a/dbaccess/source/ui/inc/DExport.hxx
+++ b/dbaccess/source/ui/inc/DExport.hxx
@@ -107,9 +107,8 @@ namespace dbaui
bool m_bAppendFirstLine;
- virtual bool CreateTable(int nToken) = 0;
virtual TypeSelectionPageFactory
- getTypeSelectionPageFactory() = 0;
+ getTypeSelectionPageFactory() = 0;
void CreateDefaultColumn(const OUString& _rColumnName);
sal_Int16 CheckString(const OUString& aToken, sal_Int16 _nOldNumberFormat);
diff --git a/dbaccess/source/ui/inc/HtmlReader.hxx b/dbaccess/source/ui/inc/HtmlReader.hxx
index 2ba3f9e9911a..c7bd1d53badf 100644
--- a/dbaccess/source/ui/inc/HtmlReader.hxx
+++ b/dbaccess/source/ui/inc/HtmlReader.hxx
@@ -39,8 +39,8 @@ namespace dbaui
bool m_bSDNum;
protected:
- virtual void NextToken( int nToken ) override; // base class
- virtual bool CreateTable(int nToken) override;
+ virtual void NextToken( HtmlTokenId nToken ) override; // base class
+ bool CreateTable( HtmlTokenId nToken );
virtual TypeSelectionPageFactory
getTypeSelectionPageFactory() override;
diff --git a/dbaccess/source/ui/inc/RtfReader.hxx b/dbaccess/source/ui/inc/RtfReader.hxx
index 50f9f3387a49..9b61853e9fa6 100644
--- a/dbaccess/source/ui/inc/RtfReader.hxx
+++ b/dbaccess/source/ui/inc/RtfReader.hxx
@@ -32,7 +32,7 @@ namespace dbaui
std::vector<sal_Int32> m_vecColor;
protected:
- virtual bool CreateTable(int nToken) override;
+ bool CreateTable(int nToken);
virtual void NextToken( int nToken ) override; // base class
virtual TypeSelectionPageFactory
getTypeSelectionPageFactory() override;
diff --git a/dbaccess/source/ui/inc/WExtendPages.hxx b/dbaccess/source/ui/inc/WExtendPages.hxx
index b1a4a9782b43..3efb77d9ddf5 100644
--- a/dbaccess/source/ui/inc/WExtendPages.hxx
+++ b/dbaccess/source/ui/inc/WExtendPages.hxx
@@ -28,7 +28,7 @@ namespace dbaui
class OWizHTMLExtend : public OWizTypeSelect
{
protected:
- virtual SvParser* createReader(sal_Int32 _nRows) override;
+ virtual void createReaderAndCallParser(sal_Int32 _nRows) override;
public:
OWizHTMLExtend(vcl::Window* pParent, SvStream& _rStream)
: OWizTypeSelect( pParent, &_rStream )
@@ -41,7 +41,7 @@ namespace dbaui
class OWizRTFExtend : public OWizTypeSelect
{
protected:
- virtual SvParser* createReader(sal_Int32 _nRows) override;
+ virtual void createReaderAndCallParser(sal_Int32 _nRows) override;
public:
OWizRTFExtend(vcl::Window* pParent,SvStream& _rStream)
: OWizTypeSelect( pParent, &_rStream )
@@ -55,7 +55,7 @@ namespace dbaui
class OWizNormalExtend : public OWizTypeSelect
{
protected:
- virtual SvParser* createReader(sal_Int32 _nRows) override;
+ virtual void createReaderAndCallParser(sal_Int32 _nRows) override;
public:
OWizNormalExtend(vcl::Window* pParent);
};
diff --git a/dbaccess/source/ui/inc/WTypeSelect.hxx b/dbaccess/source/ui/inc/WTypeSelect.hxx
index f9f9c6183ea7..24b9b72bccbd 100644
--- a/dbaccess/source/ui/inc/WTypeSelect.hxx
+++ b/dbaccess/source/ui/inc/WTypeSelect.hxx
@@ -29,7 +29,7 @@
#include <vcl/lstbox.hxx>
class SvStream;
-class SvParser;
+
namespace dbaui
{
class OTableDesignHelpBar;
@@ -109,7 +109,7 @@ namespace dbaui
bool m_bAutoIncrementEnabled;
bool m_bDuplicateName;
- virtual SvParser* createReader(sal_Int32 _nRows) = 0;
+ virtual void createReaderAndCallParser(sal_Int32 _nRows) = 0;
void EnableAuto(bool bEnable);
public:
diff --git a/dbaccess/source/ui/misc/HtmlReader.cxx b/dbaccess/source/ui/misc/HtmlReader.cxx
index 43c96c8aba4e..2cbf3202735e 100644
--- a/dbaccess/source/ui/misc/HtmlReader.cxx
+++ b/dbaccess/source/ui/misc/HtmlReader.cxx
@@ -117,18 +117,18 @@ SvParserState OHTMLReader::CallParser()
return m_bFoundTable ? eParseState : SvParserState::Error;
}
-void OHTMLReader::NextToken( int nToken )
+void OHTMLReader::NextToken( HtmlTokenId nToken )
{
if(m_bError || !m_nRows) // if there is an error or no more rows to check, return immediately
return;
- if ( nToken == HTML_META )
+ if ( nToken == HtmlTokenId::META )
setTextEncoding();
if(m_xConnection.is()) // names, which CTOR was called and hence, if a table should be created
{
switch(nToken)
{
- case HTML_TABLE_ON:
+ case HtmlTokenId::TABLE_ON:
++m_nTableCount;
{ // can also be TD or TH, if there was no TABLE before
const HTMLOptions& rHtmlOptions = GetOptions();
@@ -141,8 +141,8 @@ void OHTMLReader::NextToken( int nToken )
}
}
SAL_FALLTHROUGH;
- case HTML_THEAD_ON:
- case HTML_TBODY_ON:
+ case HtmlTokenId::THEAD_ON:
+ case HtmlTokenId::TBODY_ON:
{
sal_uInt64 const nTell = rInput.Tell(); // perhaps alters position of the stream
if ( !m_xTable.is() )
@@ -153,13 +153,13 @@ void OHTMLReader::NextToken( int nToken )
}
}
break;
- case HTML_TABLE_OFF:
+ case HtmlTokenId::TABLE_OFF:
if(!--m_nTableCount)
{
m_xTable = nullptr;
}
break;
- case HTML_TABLEROW_ON:
+ case HtmlTokenId::TABLEROW_ON:
if ( m_pUpdateHelper.get() )
{
try
@@ -175,21 +175,21 @@ void OHTMLReader::NextToken( int nToken )
else
m_bError = true;
break;
- case HTML_TEXTTOKEN:
- case HTML_SINGLECHAR:
+ case HtmlTokenId::TEXTTOKEN:
+ case HtmlTokenId::SINGLECHAR:
if ( m_bInTbl ) //&& !m_bSDNum ) // important, as otherwise we also get the names of the fonts
m_sTextToken += aToken;
break;
- case HTML_PARABREAK_OFF:
+ case HtmlTokenId::PARABREAK_OFF:
m_sCurrent += m_sTextToken;
break;
- case HTML_PARABREAK_ON:
+ case HtmlTokenId::PARABREAK_ON:
m_sTextToken.clear();
break;
- case HTML_TABLEDATA_ON:
+ case HtmlTokenId::TABLEDATA_ON:
fetchOptions();
break;
- case HTML_TABLEDATA_OFF:
+ case HtmlTokenId::TABLEDATA_OFF:
{
if ( !m_sCurrent.isEmpty() )
m_sTextToken = m_sCurrent;
@@ -208,7 +208,7 @@ void OHTMLReader::NextToken( int nToken )
m_bSDNum = m_bInTbl = false;
}
break;
- case HTML_TABLEROW_OFF:
+ case HtmlTokenId::TABLEROW_OFF:
if ( !m_pUpdateHelper.get() )
{
m_bError = true;
@@ -228,39 +228,40 @@ void OHTMLReader::NextToken( int nToken )
}
m_nColumnPos = 0;
break;
+ default: break;
}
}
else // branch only valid for type checking
{
switch(nToken)
{
- case HTML_THEAD_ON:
- case HTML_TBODY_ON:
+ case HtmlTokenId::THEAD_ON:
+ case HtmlTokenId::TBODY_ON:
// The head of the column is not included
if(m_bHead)
{
do
{}
- while(GetNextToken() != HTML_TABLEROW_OFF);
+ while(GetNextToken() != HtmlTokenId::TABLEROW_OFF);
m_bHead = false;
}
break;
- case HTML_TABLEDATA_ON:
- case HTML_TABLEHEADER_ON:
+ case HtmlTokenId::TABLEDATA_ON:
+ case HtmlTokenId::TABLEHEADER_ON:
fetchOptions();
break;
- case HTML_TEXTTOKEN:
- case HTML_SINGLECHAR:
+ case HtmlTokenId::TEXTTOKEN:
+ case HtmlTokenId::SINGLECHAR:
if ( m_bInTbl ) // && !m_bSDNum ) // important, as otherwise we also get the names of the fonts
m_sTextToken += aToken;
break;
- case HTML_PARABREAK_OFF:
+ case HtmlTokenId::PARABREAK_OFF:
m_sCurrent += m_sTextToken;
break;
- case HTML_PARABREAK_ON:
+ case HtmlTokenId::PARABREAK_ON:
m_sTextToken.clear();
break;
- case HTML_TABLEDATA_OFF:
+ case HtmlTokenId::TABLEDATA_OFF:
if ( !m_sCurrent.isEmpty() )
m_sTextToken = m_sCurrent;
adjustFormat();
@@ -268,7 +269,7 @@ void OHTMLReader::NextToken( int nToken )
m_bSDNum = m_bInTbl = false;
m_sCurrent.clear();
break;
- case HTML_TABLEROW_OFF:
+ case HtmlTokenId::TABLEROW_OFF:
if ( !m_sCurrent.isEmpty() )
m_sTextToken = m_sCurrent;
adjustFormat();
@@ -276,6 +277,7 @@ void OHTMLReader::NextToken( int nToken )
m_nRows--;
m_sCurrent.clear();
break;
+ default: break;
}
}
}
@@ -398,7 +400,7 @@ sal_Int16 OHTMLReader::GetWidthPixel( const HTMLOption& rOption )
}
}
-bool OHTMLReader::CreateTable(int nToken)
+bool OHTMLReader::CreateTable(HtmlTokenId nToken)
{
OUString aTempName(ModuleRes(STR_TBL_TITLE));
aTempName = aTempName.getToken(0,' ');
@@ -416,26 +418,26 @@ bool OHTMLReader::CreateTable(int nToken)
{
switch (nToken)
{
- case HTML_TEXTTOKEN:
- case HTML_SINGLECHAR:
+ case HtmlTokenId::TEXTTOKEN:
+ case HtmlTokenId::SINGLECHAR:
if(bTableHeader)
aColumnName += aToken;
if(bCaption)
aTableName += aToken;
break;
- case HTML_PARABREAK_OFF:
+ case HtmlTokenId::PARABREAK_OFF:
m_sCurrent += aColumnName;
break;
- case HTML_PARABREAK_ON:
+ case HtmlTokenId::PARABREAK_ON:
m_sTextToken.clear();
break;
- case HTML_TABLEDATA_ON:
- case HTML_TABLEHEADER_ON:
+ case HtmlTokenId::TABLEDATA_ON:
+ case HtmlTokenId::TABLEHEADER_ON:
TableDataOn(eVal);
bTableHeader = true;
break;
- case HTML_TABLEDATA_OFF:
- case HTML_TABLEHEADER_OFF:
+ case HtmlTokenId::TABLEDATA_OFF:
+ case HtmlTokenId::TABLEHEADER_OFF:
{
aColumnName = comphelper::string::strip(aColumnName, ' ' );
if (aColumnName.isEmpty() || m_bAppendFirstLine )
@@ -453,12 +455,12 @@ bool OHTMLReader::CreateTable(int nToken)
}
break;
- case HTML_TITLE_ON:
- case HTML_CAPTION_ON:
+ case HtmlTokenId::TITLE_ON:
+ case HtmlTokenId::CAPTION_ON:
bCaption = true;
break;
- case HTML_TITLE_OFF:
- case HTML_CAPTION_OFF:
+ case HtmlTokenId::TITLE_OFF:
+ case HtmlTokenId::CAPTION_OFF:
aTableName = comphelper::string::strip(aTableName, ' ');
if(aTableName.isEmpty())
aTableName = ::dbtools::createUniqueName(m_xTables, aTableName);
@@ -466,25 +468,26 @@ bool OHTMLReader::CreateTable(int nToken)
aTableName = aTempName;
bCaption = false;
break;
- case HTML_FONT_ON:
+ case HtmlTokenId::FONT_ON:
TableFontOn(aFont,nTextColor);
break;
- case HTML_BOLD_ON:
+ case HtmlTokenId::BOLD_ON:
aFont.Weight = css::awt::FontWeight::BOLD;
break;
- case HTML_ITALIC_ON:
+ case HtmlTokenId::ITALIC_ON:
aFont.Slant = css::awt::FontSlant_ITALIC;
break;
- case HTML_UNDERLINE_ON:
+ case HtmlTokenId::UNDERLINE_ON:
aFont.Underline = css::awt::FontUnderline::SINGLE;
break;
- case HTML_STRIKE_ON:
+ case HtmlTokenId::STRIKE_ON:
aFont.Strikeout = css::awt::FontStrikeout::SINGLE;
break;
+ default: break;
}
nToken = GetNextToken();
}
- while (nToken != HTML_TABLEROW_OFF);
+ while (nToken != HtmlTokenId::TABLEROW_OFF);
if ( !m_sCurrent.isEmpty() )
aColumnName = m_sCurrent;
diff --git a/dbaccess/source/ui/misc/WExtendPages.cxx b/dbaccess/source/ui/misc/WExtendPages.cxx
index 0cbe34343250..1a330f0d3a83 100644
--- a/dbaccess/source/ui/misc/WExtendPages.cxx
+++ b/dbaccess/source/ui/misc/WExtendPages.cxx
@@ -24,9 +24,10 @@
using namespace dbaui;
using namespace com::sun::star;
-SvParser* OWizHTMLExtend::createReader(sal_Int32 _nRows)
+
+void OWizHTMLExtend::createReaderAndCallParser(sal_Int32 _nRows)
{
- return new OHTMLReader(*m_pParserStream,
+ tools::SvRef<OHTMLReader> xParser = new OHTMLReader(*m_pParserStream,
_nRows,
m_pParent->GetColumnPositions(),
m_pParent->GetFormatter(),
@@ -34,11 +35,12 @@ SvParser* OWizHTMLExtend::createReader(sal_Int32 _nRows)
&m_pParent->getDestVector(),
&m_pParent->getTypeInfo(),
m_pParent->shouldCreatePrimaryKey());
+ xParser->CallParser();
}
-SvParser* OWizRTFExtend::createReader(sal_Int32 _nRows)
+void OWizRTFExtend::createReaderAndCallParser(sal_Int32 _nRows)
{
- return new ORTFReader(*m_pParserStream,
+ tools::SvRef<ORTFReader> xParser = new ORTFReader(*m_pParserStream,
_nRows,
m_pParent->GetColumnPositions(),
m_pParent->GetFormatter(),
@@ -46,6 +48,7 @@ SvParser* OWizRTFExtend::createReader(sal_Int32 _nRows)
&m_pParent->getDestVector(),
&m_pParent->getTypeInfo(),
m_pParent->shouldCreatePrimaryKey());
+ xParser->CallParser();
}
OWizNormalExtend::OWizNormalExtend(vcl::Window* pParent) : OWizTypeSelect( pParent )
@@ -53,9 +56,8 @@ OWizNormalExtend::OWizNormalExtend(vcl::Window* pParent) : OWizTypeSelect( pPare
EnableAuto(false);
}
-SvParser* OWizNormalExtend::createReader(sal_Int32 /*_nRows*/)
+void OWizNormalExtend::createReaderAndCallParser(sal_Int32 /*_nRows*/)
{
- return nullptr;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/misc/WTypeSelect.cxx b/dbaccess/source/ui/misc/WTypeSelect.cxx
index 429339e3899a..b0512911f518 100644
--- a/dbaccess/source/ui/misc/WTypeSelect.cxx
+++ b/dbaccess/source/ui/misc/WTypeSelect.cxx
@@ -356,13 +356,7 @@ IMPL_LINK_NOARG( OWizTypeSelect, ButtonClickHdl, Button *, void )
{
sal_uInt64 const nTell = m_pParserStream->Tell(); // might change seek position of stream
- SvParser *pReader = createReader(nRows);
- if(pReader)
- {
- pReader->AddFirstRef();
- pReader->CallParser();
- pReader->ReleaseRef();
- }
+ createReaderAndCallParser(nRows);
m_pParserStream->Seek(nTell);
}
diff --git a/editeng/source/editeng/eehtml.cxx b/editeng/source/editeng/eehtml.cxx
index 8831e472569e..e625669aea00 100644
--- a/editeng/source/editeng/eehtml.cxx
+++ b/editeng/source/editeng/eehtml.cxx
@@ -99,11 +99,11 @@ SvParserState EditHTMLParser::CallParser(EditEngine* pEE, const EditPaM& rPaM)
return _eState;
}
-void EditHTMLParser::NextToken( int nToken )
+void EditHTMLParser::NextToken( HtmlTokenId nToken )
{
switch( nToken )
{
- case HTML_META:
+ case HtmlTokenId::META:
{
const HTMLOptions& aOptions = GetOptions();
size_t nArrLen = aOptions.size();
@@ -134,33 +134,33 @@ void EditHTMLParser::NextToken( int nToken )
}
break;
- case HTML_PLAINTEXT_ON:
- case HTML_PLAINTEXT2_ON:
+ case HtmlTokenId::PLAINTEXT_ON:
+ case HtmlTokenId::PLAINTEXT2_ON:
bInPara = true;
break;
- case HTML_PLAINTEXT_OFF:
- case HTML_PLAINTEXT2_OFF:
+ case HtmlTokenId::PLAINTEXT_OFF:
+ case HtmlTokenId::PLAINTEXT2_OFF:
bInPara = false;
break;
- case HTML_LINEBREAK:
- case HTML_NEWPARA:
+ case HtmlTokenId::LINEBREAK:
+ case HtmlTokenId::NEWPARA:
{
if ( ( bInPara || nInTable ) &&
- ( ( nToken == HTML_LINEBREAK ) || HasTextInCurrentPara() ) )
+ ( ( nToken == HtmlTokenId::LINEBREAK ) || HasTextInCurrentPara() ) )
{
ImpInsertParaBreak();
}
}
break;
- case HTML_HORZRULE:
+ case HtmlTokenId::HORZRULE:
{
if ( HasTextInCurrentPara() )
ImpInsertParaBreak();
ImpInsertParaBreak();
}
break;
- case HTML_NONBREAKSPACE:
+ case HtmlTokenId::NONBREAKSPACE:
{
if ( bInPara )
{
@@ -168,7 +168,7 @@ void EditHTMLParser::NextToken( int nToken )
}
}
break;
- case HTML_RAWDATA:
+ case HtmlTokenId::RAWDATA:
if (IsReadStyle() && !aToken.isEmpty())
{
// Each token represents a single line.
@@ -176,7 +176,7 @@ void EditHTMLParser::NextToken( int nToken )
maStyleSource.append('\n');
}
break;
- case HTML_TEXTTOKEN:
+ case HtmlTokenId::TEXTTOKEN:
{
// #i110937# for <title> content, call aImportHdl (no SkipGroup), but don't insert the text into the EditEngine
if (!bInTitle)
@@ -210,98 +210,98 @@ void EditHTMLParser::NextToken( int nToken )
}
break;
- case HTML_CENTER_ON:
- case HTML_CENTER_OFF:
+ case HtmlTokenId::CENTER_ON:
+ case HtmlTokenId::CENTER_OFF:
{
sal_Int32 nNode = mpEditEngine->GetEditDoc().GetPos( aCurSel.Max().GetNode() );
SfxItemSet aItems( aCurSel.Max().GetNode()->GetContentAttribs().GetItems() );
aItems.ClearItem( EE_PARA_JUST );
- if ( nToken == HTML_CENTER_ON )
+ if ( nToken == HtmlTokenId::CENTER_ON )
aItems.Put( SvxAdjustItem( SvxAdjust::Center, EE_PARA_JUST ) );
mpEditEngine->SetParaAttribsOnly(nNode, aItems);
}
break;
- case HTML_ANCHOR_ON: AnchorStart();
+ case HtmlTokenId::ANCHOR_ON: AnchorStart();
break;
- case HTML_ANCHOR_OFF: AnchorEnd();
+ case HtmlTokenId::ANCHOR_OFF: AnchorEnd();
break;
- case HTML_PARABREAK_ON:
+ case HtmlTokenId::PARABREAK_ON:
if( bInPara && HasTextInCurrentPara() )
EndPara();
StartPara( true );
break;
- case HTML_PARABREAK_OFF:
+ case HtmlTokenId::PARABREAK_OFF:
if( bInPara )
EndPara();
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:
+ case HtmlTokenId::HEAD1_ON:
+ case HtmlTokenId::HEAD2_ON:
+ case HtmlTokenId::HEAD3_ON:
+ case HtmlTokenId::HEAD4_ON:
+ case HtmlTokenId::HEAD5_ON:
+ case HtmlTokenId::HEAD6_ON:
{
HeadingStart( 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:
{
HeadingEnd();
}
break;
- case HTML_PREFORMTXT_ON:
- case HTML_XMP_ON:
- case HTML_LISTING_ON:
+ case HtmlTokenId::PREFORMTXT_ON:
+ case HtmlTokenId::XMP_ON:
+ case HtmlTokenId::LISTING_ON:
{
StartPara( true );
ImpSetStyleSheet( STYLE_PRE );
}
break;
- case HTML_DEFLIST_ON:
+ case HtmlTokenId::DEFLIST_ON:
{
nDefListLevel++;
}
break;
- case HTML_DEFLIST_OFF:
+ case HtmlTokenId::DEFLIST_OFF:
{
if( nDefListLevel )
nDefListLevel--;
}
break;
- case HTML_TABLE_ON: nInTable++;
+ case HtmlTokenId::TABLE_ON: nInTable++;
break;
- case HTML_TABLE_OFF: DBG_ASSERT( nInTable, "Not in Table, but TABLE_OFF?" );
+ case HtmlTokenId::TABLE_OFF: DBG_ASSERT( nInTable, "Not in Table, but TABLE_OFF?" );
nInTable--;
break;
- case HTML_TABLEHEADER_ON:
- case HTML_TABLEDATA_ON:
+ case HtmlTokenId::TABLEHEADER_ON:
+ case HtmlTokenId::TABLEDATA_ON:
nInCell++;
SAL_FALLTHROUGH;
- case HTML_BLOCKQUOTE_ON:
- case HTML_BLOCKQUOTE_OFF:
- case HTML_BLOCKQUOTE30_ON:
- case HTML_BLOCKQUOTE30_OFF:
- case HTML_LISTHEADER_ON:
- case HTML_LI_ON:
- case HTML_DD_ON:
- case HTML_DT_ON:
- case HTML_ORDERLIST_ON:
- case HTML_UNORDERLIST_ON:
+ case HtmlTokenId::BLOCKQUOTE_ON:
+ case HtmlTokenId::BLOCKQUOTE_OFF:
+ case HtmlTokenId::BLOCKQUOTE30_ON:
+ case HtmlTokenId::BLOCKQUOTE30_OFF:
+ case HtmlTokenId::LISTHEADER_ON:
+ case HtmlTokenId::LI_ON:
+ case HtmlTokenId::DD_ON:
+ case HtmlTokenId::DT_ON:
+ case HtmlTokenId::ORDERLIST_ON:
+ case HtmlTokenId::UNORDERLIST_ON:
{
bool bHasText = HasTextInCurrentPara();
if ( bHasText )
@@ -310,182 +310,182 @@ void EditHTMLParser::NextToken( int nToken )
}
break;
- case HTML_TABLEHEADER_OFF:
- case HTML_TABLEDATA_OFF:
+ case HtmlTokenId::TABLEHEADER_OFF:
+ case HtmlTokenId::TABLEDATA_OFF:
{
if ( nInCell )
nInCell--;
SAL_FALLTHROUGH;
}
- case HTML_LISTHEADER_OFF:
- case HTML_LI_OFF:
- case HTML_DD_OFF:
- case HTML_DT_OFF:
- case HTML_ORDERLIST_OFF:
- case HTML_UNORDERLIST_OFF: EndPara();
+ case HtmlTokenId::LISTHEADER_OFF:
+ case HtmlTokenId::LI_OFF:
+ case HtmlTokenId::DD_OFF:
+ case HtmlTokenId::DT_OFF:
+ case HtmlTokenId::ORDERLIST_OFF:
+ case HtmlTokenId::UNORDERLIST_OFF: EndPara();
break;
- case HTML_TABLEROW_ON:
- case HTML_TABLEROW_OFF: // A RETURN only after a CELL, for Calc
+ case HtmlTokenId::TABLEROW_ON:
+ case HtmlTokenId::TABLEROW_OFF: // A RETURN only after a CELL, for Calc
- case HTML_COL_ON:
- case HTML_COLGROUP_ON:
- case HTML_COLGROUP_OFF: break;
+ case HtmlTokenId::COL_ON:
+ case HtmlTokenId::COLGROUP_ON:
+ case HtmlTokenId::COLGROUP_OFF: break;
- case HTML_FONT_ON:
+ case HtmlTokenId::FONT_ON:
break;
- case HTML_FONT_OFF:
+ case HtmlTokenId::FONT_OFF:
break;
- case HTML_TITLE_ON:
+ case HtmlTokenId::TITLE_ON:
bInTitle = true;
break;
- case HTML_TITLE_OFF:
+ case HtmlTokenId::TITLE_OFF:
bInTitle = false;
break;
// globals
- case HTML_HTML_ON:
- case HTML_HTML_OFF:
- case HTML_STYLE_ON:
- case HTML_STYLE_OFF:
- case HTML_BODY_ON:
- case HTML_BODY_OFF:
- case HTML_HEAD_ON:
- case HTML_HEAD_OFF:
- case HTML_FORM_ON:
- case HTML_FORM_OFF:
- case HTML_THEAD_ON:
- case HTML_THEAD_OFF:
- case HTML_TBODY_ON:
- case HTML_TBODY_OFF:
+ case HtmlTokenId::HTML_ON:
+ case HtmlTokenId::HTML_OFF:
+ case HtmlTokenId::STYLE_ON:
+ case HtmlTokenId::STYLE_OFF:
+ case HtmlTokenId::BODY_ON:
+ case HtmlTokenId::BODY_OFF:
+ case HtmlTokenId::HEAD_ON:
+ case HtmlTokenId::HEAD_OFF:
+ case HtmlTokenId::FORM_ON:
+ case HtmlTokenId::FORM_OFF:
+ case HtmlTokenId::THEAD_ON:
+ case HtmlTokenId::THEAD_OFF:
+ case HtmlTokenId::TBODY_ON:
+ case HtmlTokenId::TBODY_OFF:
// inline elements, structural markup
// HTML 3.0
- case HTML_BANNER_ON:
- case HTML_BANNER_OFF:
- case HTML_DIVISION_ON:
- case HTML_DIVISION_OFF:
-// case HTML_LISTHEADER_ON: //! special handling
-// case HTML_LISTHEADER_OFF:
- case HTML_NOTE_ON:
- case HTML_NOTE_OFF:
+ case HtmlTokenId::BANNER_ON:
+ case HtmlTokenId::BANNER_OFF:
+ case HtmlTokenId::DIVISION_ON:
+ case HtmlTokenId::DIVISION_OFF:
+// case HtmlTokenId::LISTHEADER_ON: //! special handling
+// case HtmlTokenId::LISTHEADER_OFF:
+ case HtmlTokenId::NOTE_ON:
+ case HtmlTokenId::NOTE_OFF:
// inline elements, logical markup
// HTML 2.0
- case HTML_ADDRESS_ON:
- case HTML_ADDRESS_OFF:
-// case HTML_BLOCKQUOTE_ON: //! special handling
-// case HTML_BLOCKQUOTE_OFF:
- case HTML_CITIATION_ON:
- case HTML_CITIATION_OFF:
- case HTML_CODE_ON:
- case HTML_CODE_OFF:
- case HTML_DEFINSTANCE_ON:
- case HTML_DEFINSTANCE_OFF:
- case HTML_EMPHASIS_ON:
- case HTML_EMPHASIS_OFF:
- case HTML_KEYBOARD_ON:
- case HTML_KEYBOARD_OFF:
- case HTML_SAMPLE_ON:
- case HTML_SAMPLE_OFF:
- case HTML_STRIKE_ON:
- case HTML_STRIKE_OFF:
- case HTML_STRONG_ON:
- case HTML_STRONG_OFF:
- case HTML_VARIABLE_ON:
- case HTML_VARIABLE_OFF:
+ case HtmlTokenId::ADDRESS_ON:
+ case HtmlTokenId::ADDRESS_OFF:
+// case HtmlTokenId::BLOCKQUOTE_ON: //! special handling
+// case HtmlTokenId::BLOCKQUOTE_OFF:
+ case HtmlTokenId::CITIATION_ON:
+ case HtmlTokenId::CITIATION_OFF:
+ case HtmlTokenId::CODE_ON:
+ case HtmlTokenId::CODE_OFF:
+ case HtmlTokenId::DEFINSTANCE_ON:
+ case HtmlTokenId::DEFINSTANCE_OFF:
+ case HtmlTokenId::EMPHASIS_ON:
+ case HtmlTokenId::EMPHASIS_OFF:
+ case HtmlTokenId::KEYBOARD_ON:
+ case HtmlTokenId::KEYBOARD_OFF:
+ case HtmlTokenId::SAMPLE_ON:
+ case HtmlTokenId::SAMPLE_OFF:
+ case HtmlTokenId::STRIKE_ON:
+ case HtmlTokenId::STRIKE_OFF:
+ case HtmlTokenId::STRONG_ON:
+ case HtmlTokenId::STRONG_OFF:
+ case HtmlTokenId::VARIABLE_ON:
+ case HtmlTokenId::VARIABLE_OFF:
// HTML 3.0
- case HTML_ABBREVIATION_ON:
- case HTML_ABBREVIATION_OFF:
- case HTML_ACRONYM_ON:
- case HTML_ACRONYM_OFF:
- case HTML_AUTHOR_ON:
- case HTML_AUTHOR_OFF:
-// case HTML_BLOCKQUOTE30_ON: //! special handling
-// case HTML_BLOCKQUOTE30_OFF:
- case HTML_DELETEDTEXT_ON:
- case HTML_DELETEDTEXT_OFF:
- case HTML_INSERTEDTEXT_ON:
- case HTML_INSERTEDTEXT_OFF:
- case HTML_LANGUAGE_ON:
- case HTML_LANGUAGE_OFF:
- case HTML_PERSON_ON:
- case HTML_PERSON_OFF:
- case HTML_SHORTQUOTE_ON:
- case HTML_SHORTQUOTE_OFF:
- case HTML_SUBSCRIPT_ON:
- case HTML_SUBSCRIPT_OFF:
- case HTML_SUPERSCRIPT_ON:
- case HTML_SUPERSCRIPT_OFF:
+ case HtmlTokenId::ABBREVIATION_ON:
+ case HtmlTokenId::ABBREVIATION_OFF:
+ case HtmlTokenId::ACRONYM_ON:
+ case HtmlTokenId::ACRONYM_OFF:
+ case HtmlTokenId::AUTHOR_ON:
+ case HtmlTokenId::AUTHOR_OFF:
+// case HtmlTokenId::BLOCKQUOTE30_ON: //! special handling
+// case HtmlTokenId::BLOCKQUOTE30_OFF:
+ case HtmlTokenId::DELETEDTEXT_ON:
+ case HtmlTokenId::DELETEDTEXT_OFF:
+ case HtmlTokenId::INSERTEDTEXT_ON:
+ case HtmlTokenId::INSERTEDTEXT_OFF:
+ case HtmlTokenId::LANGUAGE_ON:
+ case HtmlTokenId::LANGUAGE_OFF:
+ case HtmlTokenId::PERSON_ON:
+ case HtmlTokenId::PERSON_OFF:
+ case HtmlTokenId::SHORTQUOTE_ON:
+ case HtmlTokenId::SHORTQUOTE_OFF:
+ case HtmlTokenId::SUBSCRIPT_ON:
+ case HtmlTokenId::SUBSCRIPT_OFF:
+ case HtmlTokenId::SUPERSCRIPT_ON:
+ case HtmlTokenId::SUPERSCRIPT_OFF:
// inline elements, visual markup
// HTML 2.0
- case HTML_BOLD_ON:
- case HTML_BOLD_OFF:
- case HTML_ITALIC_ON:
- case HTML_ITALIC_OFF:
- case HTML_TELETYPE_ON:
- case HTML_TELETYPE_OFF:
- case HTML_UNDERLINE_ON:
- case HTML_UNDERLINE_OFF:
+ case HtmlTokenId::BOLD_ON:
+ case HtmlTokenId::BOLD_OFF:
+ case HtmlTokenId::ITALIC_ON:
+ case HtmlTokenId::ITALIC_OFF:
+ case HtmlTokenId::TELETYPE_ON:
+ case HtmlTokenId::TELETYPE_OFF:
+ case HtmlTokenId::UNDERLINE_ON:
+ case HtmlTokenId::UNDERLINE_OFF:
// HTML 3.0
- case HTML_BIGPRINT_ON:
- case HTML_BIGPRINT_OFF:
- case HTML_STRIKETHROUGH_ON:
- case HTML_STRIKETHROUGH_OFF:
- case HTML_SMALLPRINT_ON:
- case HTML_SMALLPRINT_OFF:
+ case HtmlTokenId::BIGPRINT_ON:
+ case HtmlTokenId::BIGPRINT_OFF:
+ case HtmlTokenId::STRIKETHROUGH_ON:
+ case HtmlTokenId::STRIKETHROUGH_OFF:
+ case HtmlTokenId::SMALLPRINT_ON:
+ case HtmlTokenId::SMALLPRINT_OFF:
// figures
- case HTML_FIGURE_ON:
- case HTML_FIGURE_OFF:
- case HTML_CAPTION_ON:
- case HTML_CAPTION_OFF:
- case HTML_CREDIT_ON:
- case HTML_CREDIT_OFF:
+ case HtmlTokenId::FIGURE_ON:
+ case HtmlTokenId::FIGURE_OFF:
+ case HtmlTokenId::CAPTION_ON:
+ case HtmlTokenId::CAPTION_OFF:
+ case HtmlTokenId::CREDIT_ON:
+ case HtmlTokenId::CREDIT_OFF:
// misc
- case HTML_DIRLIST_ON:
- case HTML_DIRLIST_OFF:
- case HTML_FOOTNOTE_ON: //! land so im Text
- case HTML_FOOTNOTE_OFF:
- case HTML_MENULIST_ON:
- case HTML_MENULIST_OFF:
-// case HTML_PLAINTEXT_ON: //! special handling
-// case HTML_PLAINTEXT_OFF:
-// case HTML_PREFORMTXT_ON: //! special handling
-// case HTML_PREFORMTXT_OFF:
- case HTML_SPAN_ON:
- case HTML_SPAN_OFF:
+ case HtmlTokenId::DIRLIST_ON:
+ case HtmlTokenId::DIRLIST_OFF:
+ case HtmlTokenId::FOOTNOTE_ON: //! land so im Text
+ case HtmlTokenId::FOOTNOTE_OFF:
+ case HtmlTokenId::MENULIST_ON:
+ case HtmlTokenId::MENULIST_OFF:
+// case HtmlTokenId::PLAINTEXT_ON: //! special handling
+// case HtmlTokenId::PLAINTEXT_OFF:
+// case HtmlTokenId::PREFORMTXT_ON: //! special handling
+// case HtmlTokenId::PREFORMTXT_OFF:
+ case HtmlTokenId::SPAN_ON:
+ case HtmlTokenId::SPAN_OFF:
// obsolete
-// case HTML_XMP_ON: //! special handling
-// case HTML_XMP_OFF:
-// case HTML_LISTING_ON: //! special handling
-// case HTML_LISTING_OFF:
+// case HtmlTokenId::XMP_ON: //! special handling
+// case HtmlTokenId::XMP_OFF:
+// case HtmlTokenId::LISTING_ON: //! special handling
+// case HtmlTokenId::LISTING_OFF:
// Netscape
- case HTML_BLINK_ON:
- case HTML_BLINK_OFF:
- case HTML_NOBR_ON:
- case HTML_NOBR_OFF:
- case HTML_NOEMBED_ON:
- case HTML_NOEMBED_OFF:
- case HTML_NOFRAMES_ON:
- case HTML_NOFRAMES_OFF:
+ case HtmlTokenId::BLINK_ON:
+ case HtmlTokenId::BLINK_OFF:
+ case HtmlTokenId::NOBR_ON:
+ case HtmlTokenId::NOBR_OFF:
+ case HtmlTokenId::NOEMBED_ON:
+ case HtmlTokenId::NOEMBED_OFF:
+ case HtmlTokenId::NOFRAMES_ON:
+ case HtmlTokenId::NOFRAMES_OFF:
// Internet Explorer
- case HTML_MARQUEE_ON:
- case HTML_MARQUEE_OFF:
-// case HTML_PLAINTEXT2_ON: //! special handling
-// case HTML_PLAINTEXT2_OFF:
+ case HtmlTokenId::MARQUEE_ON:
+ case HtmlTokenId::MARQUEE_OFF:
+// case HtmlTokenId::PLAINTEXT2_ON: //! special handling
+// case HtmlTokenId::PLAINTEXT2_OFF:
break;
default:
{
- if ( nToken & HTML_TOKEN_ONOFF )
+ if ( nToken >= HtmlTokenId::ONOFF_START )
{
- if ( ( nToken == HTML_UNKNOWNCONTROL_ON ) || ( nToken == HTML_UNKNOWNCONTROL_OFF ) )
+ if ( ( nToken == HtmlTokenId::UNKNOWNCONTROL_ON ) || ( nToken == HtmlTokenId::UNKNOWNCONTROL_OFF ) )
{
;
}
- else if ( !(nToken & 1) )
+ else if ( !isOffToken(nToken) )
{
- DBG_ASSERT( !( nToken & 1 ), "No Start-Token ?!" );
- SkipGroup( nToken + 1 );
+ DBG_ASSERT( !isOffToken( nToken ), "No Start-Token ?!" );
+ SkipGroup( static_cast<HtmlTokenId>((int)nToken + 1) );
}
}
}
@@ -496,9 +496,9 @@ void EditHTMLParser::NextToken( int nToken )
HtmlImportInfo aImportInfo(HtmlImportState::NextToken, this, mpEditEngine->CreateESelection(aCurSel));
aImportInfo.nToken = nToken;
aImportInfo.nTokenValue = (short)nTokenValue;
- if ( nToken == HTML_TEXTTOKEN )
+ if ( nToken == HtmlTokenId::TEXTTOKEN )
aImportInfo.aText = aToken;
- else if (nToken == HTML_STYLE_OFF)
+ else if (nToken == HtmlTokenId::STYLE_OFF)
aImportInfo.aText = maStyleSource.makeStringAndClear();
mpEditEngine->CallHtmlImportHandler(aImportInfo);
}
@@ -669,26 +669,27 @@ void EditHTMLParser::ImpInsertText( const OUString& rText )
aCurSel = mpEditEngine->InsertText(aCurSel, rText);
}
-void EditHTMLParser::SkipGroup( int nEndToken )
+void EditHTMLParser::SkipGroup( HtmlTokenId nEndToken )
{
// groups in cells are closed upon leaving the cell, because those
// ******* web authors don't know their job
// for example: <td><form></td> lacks a closing </form>
sal_uInt8 nCellLevel = nInCell;
- int nToken;
- while( nCellLevel <= nInCell && ( (nToken = GetNextToken() ) != nEndToken ) && nToken )
+ HtmlTokenId nToken;
+ while( nCellLevel <= nInCell && ( (nToken = GetNextToken() ) != nEndToken ) && nToken != HtmlTokenId::NONE )
{
switch ( nToken )
{
- case HTML_TABLEHEADER_ON:
- case HTML_TABLEDATA_ON:
+ case HtmlTokenId::TABLEHEADER_ON:
+ case HtmlTokenId::TABLEDATA_ON:
nInCell++;
break;
- case HTML_TABLEHEADER_OFF:
- case HTML_TABLEDATA_OFF:
+ case HtmlTokenId::TABLEHEADER_OFF:
+ case HtmlTokenId::TABLEDATA_OFF:
if ( nInCell )
nInCell--;
break;
+ default: break;
}
}
}
@@ -793,7 +794,7 @@ void EditHTMLParser::AnchorEnd()
}
}
-void EditHTMLParser::HeadingStart( int nToken )
+void EditHTMLParser::HeadingStart( HtmlTokenId nToken )
{
bWasInPara = bInPara;
StartPara( false );
@@ -802,7 +803,7 @@ void EditHTMLParser::HeadingStart( int nToken )
ImpInsertParaBreak();
sal_uInt16 nId = sal::static_int_cast< sal_uInt16 >(
- 1 + ( ( nToken - HTML_HEAD1_ON ) / 2 ) );
+ 1 + ( ( (int)nToken - (int)HtmlTokenId::HEAD1_ON ) / 2 ) );
DBG_ASSERT( (nId >= 1) && (nId <= 9), "HeadingStart: ID can not be correct!" );
ImpSetStyleSheet( nId );
}
diff --git a/editeng/source/editeng/eehtml.hxx b/editeng/source/editeng/eehtml.hxx
index 8b611b019857..4c68f0dcc69f 100644
--- a/editeng/source/editeng/eehtml.hxx
+++ b/editeng/source/editeng/eehtml.hxx
@@ -56,9 +56,9 @@ private:
void EndPara();
void AnchorStart();
void AnchorEnd();
- void HeadingStart( int nToken );
+ void HeadingStart( HtmlTokenId nToken );
void HeadingEnd();
- void SkipGroup( int nEndToken );
+ void SkipGroup( HtmlTokenId nEndToken );
bool ThrowAwayBlank();
bool HasTextInCurrentPara();
@@ -68,7 +68,7 @@ private:
void ImpSetStyleSheet( sal_uInt16 nHeadingLevel );
protected:
- virtual void NextToken( int nToken ) override;
+ virtual void NextToken( HtmlTokenId nToken ) override;
public:
EditHTMLParser(SvStream& rIn, const OUString& rBaseURL, SvKeyValueIterator* pHTTPHeaderAttrs);
diff --git a/editeng/source/editeng/eertfpar.cxx b/editeng/source/editeng/eertfpar.cxx
index 95e41042008a..88c0499eb9c2 100644
--- a/editeng/source/editeng/eertfpar.cxx
+++ b/editeng/source/editeng/eertfpar.cxx
@@ -33,15 +33,16 @@
#include "editeng/editeng.hxx"
#include <svtools/rtftoken.h>
+#include <svtools/htmltokn.h>
using namespace com::sun::star;
-HtmlImportInfo::HtmlImportInfo( HtmlImportState eSt, SvParser* pPrsrs, const ESelection& rSel )
+HtmlImportInfo::HtmlImportInfo( HtmlImportState eSt, SvParser<HtmlTokenId>* pPrsrs, const ESelection& rSel )
: aSelection( rSel )
{
pParser = pPrsrs;
eState = eSt;
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
nTokenValue = 0;
pAttrs = nullptr;
}
@@ -50,7 +51,7 @@ HtmlImportInfo::~HtmlImportInfo()
{
}
-RtfImportInfo::RtfImportInfo( RtfImportState eSt, SvParser* pPrsrs, const ESelection& rSel )
+RtfImportInfo::RtfImportInfo( RtfImportState eSt, SvParser<int>* pPrsrs, const ESelection& rSel )
: aSelection( rSel )
{
pParser = pPrsrs;
diff --git a/editeng/source/rtf/svxrtf.cxx b/editeng/source/rtf/svxrtf.cxx
index ad244b97e66a..3eb72a55e656 100644
--- a/editeng/source/rtf/svxrtf.cxx
+++ b/editeng/source/rtf/svxrtf.cxx
@@ -1071,8 +1071,8 @@ void SvxRTFParser::BuildWhichTable()
// Building a Which-Map 'rWhichMap' from an array of
// 'pWhichIds' from Which-Ids. It has the long 'nWhichIds'.
// The Which-Map is not going to be deleted.
- SvParser::BuildWhichTable( aWhichMap, reinterpret_cast<sal_uInt16*>(&aPardMap), sizeof(aPardMap) / sizeof(sal_uInt16) );
- SvParser::BuildWhichTable( aWhichMap, reinterpret_cast<sal_uInt16*>(&aPlainMap), sizeof(aPlainMap) / sizeof(sal_uInt16) );
+ ::BuildWhichTable( aWhichMap, reinterpret_cast<sal_uInt16*>(&aPardMap), sizeof(aPardMap) / sizeof(sal_uInt16) );
+ ::BuildWhichTable( aWhichMap, reinterpret_cast<sal_uInt16*>(&aPlainMap), sizeof(aPlainMap) / sizeof(sal_uInt16) );
}
const SfxItemSet& SvxRTFParser::GetRTFDefaults()
diff --git a/filter/source/textfilterdetect/filterdetect.cxx b/filter/source/textfilterdetect/filterdetect.cxx
index 6a392ca79230..ee93d28ddbed 100644
--- a/filter/source/textfilterdetect/filterdetect.cxx
+++ b/filter/source/textfilterdetect/filterdetect.cxx
@@ -108,7 +108,7 @@ bool IsHTMLStream( const uno::Reference<io::XInputStream>& xInStream )
// The string following '<' has to be a known HTML token.
OString aToken = sHeader.copy( nStartOfTagIndex, i - nStartOfTagIndex );
- return GetHTMLToken( OStringToOUString( aToken.toAsciiLowerCase(), RTL_TEXTENCODING_ASCII_US ) ) != 0;
+ return GetHTMLToken( OStringToOUString( aToken.toAsciiLowerCase(), RTL_TEXTENCODING_ASCII_US ) ) != HtmlTokenId::NONE;
}
}
diff --git a/include/editeng/editdata.hxx b/include/editeng/editdata.hxx
index 00e8a2d65ac0..a13ecf822fcc 100644
--- a/include/editeng/editdata.hxx
+++ b/include/editeng/editdata.hxx
@@ -27,9 +27,10 @@
class SfxItemSet;
class SfxPoolItem;
-class SvParser;
+template<typename T> class SvParser;
class SvxFieldItem;
class SvxRTFItemStackType;
+enum class HtmlTokenId : sal_Int16;
enum EETextFormat { EE_FORMAT_TEXT = 0x20, EE_FORMAT_RTF, EE_FORMAT_BIN = 0x31, EE_FORMAT_HTML, EE_FORMAT_XML };
enum EEHorizontalTextDirection { EE_HTEXTDIR_DEFAULT, EE_HTEXTDIR_L2R, EE_HTEXTDIR_R2L };
@@ -219,24 +220,24 @@ enum class HtmlImportState {
struct HtmlImportInfo
{
- SvParser* pParser;
+ SvParser<HtmlTokenId>* pParser;
ESelection aSelection;
HtmlImportState eState;
- int nToken;
+ HtmlTokenId nToken;
short nTokenValue;
OUString aText;
SfxItemSet* pAttrs;
- HtmlImportInfo( HtmlImportState eState, SvParser* pPrsrs, const ESelection& rSel );
+ HtmlImportInfo( HtmlImportState eState, SvParser<HtmlTokenId>* pPrsrs, const ESelection& rSel );
~HtmlImportInfo();
};
struct RtfImportInfo
{
- SvParser* pParser;
+ SvParser<int>* pParser;
ESelection aSelection;
RtfImportState eState;
@@ -247,7 +248,7 @@ struct RtfImportInfo
SvxRTFItemStackType* pAttrs;
- RtfImportInfo( RtfImportState eState, SvParser* pPrsrs, const ESelection& rSel );
+ RtfImportInfo( RtfImportState eState, SvParser<int>* pPrsrs, const ESelection& rSel );
~RtfImportInfo();
};
diff --git a/include/svtools/htmltokn.h b/include/svtools/htmltokn.h
index 8673d466c155..26706c5fc43d 100644
--- a/include/svtools/htmltokn.h
+++ b/include/svtools/htmltokn.h
@@ -22,17 +22,20 @@
#include <svtools/svtdllapi.h>
#include <sal/types.h>
+#include <cassert>
+#include <stdexcept>
namespace rtl {
class OUString;
};
enum class HtmlOptionId;
+enum class HtmlTokenId : sal_Int16;
// search the char for the CharName
sal_Unicode GetHTMLCharName( const rtl::OUString& rName );
// search the TokenID for the token
-SVT_DLLPUBLIC int GetHTMLToken( const rtl::OUString& rName );
+SVT_DLLPUBLIC HtmlTokenId GetHTMLToken( const rtl::OUString& rName );
// search the TokenId for an attribute token
HtmlOptionId GetHTMLOption( const rtl::OUString& rName );
@@ -40,243 +43,257 @@ HtmlOptionId GetHTMLOption( const rtl::OUString& rName );
// search the 24-bit color for a color name (not found = ULONG_MAX)
SVT_DLLPUBLIC sal_uInt32 GetHTMLColor( const rtl::OUString& rName );
-// always starting from 256 on, greater than a char
-const int HTML_TOKEN_START = 0x100;
-const int HTML_TOKEN_ONOFF = 0x200;
-const int HTML_TOKEN_MICROSOFT = 0x1000;
-
-enum HTML_TOKEN_IDS
+enum class HtmlTokenId : sal_Int16
{
- HTML_TEXTTOKEN = HTML_TOKEN_START,
- HTML_SINGLECHAR,
- HTML_NEWPARA,
- HTML_TABCHAR,
- HTML_RAWDATA,
- HTML_LINEFEEDCHAR,
+ INVALID = -1,
+ NONE = 0,
+// always starting from 256 on, greater than a char
+ TEXTTOKEN = 0x100,
+ SINGLECHAR,
+ NEWPARA,
+ TABCHAR,
+ RAWDATA,
+ LINEFEEDCHAR,
// these will only be turned on
- HTML_AREA, // Netscape 2.0
- HTML_BASE, // HTML 3.0
- HTML_COMMENT,
- HTML_DOCTYPE,
- HTML_EMBED, // Netscape 2.0 ignore </EMBED>
- HTML_HORZRULE, // ignore </HR>
- HTML_IMAGE, // ignore </IMG>
- HTML_INPUT, // ignore </INPUT>
- HTML_LINEBREAK, // </BR> -> <BR>
- HTML_LINK, // HTML 3.0
- HTML_META, // HTML 3.0 ignore </META>
- HTML_OPTION, // ignore </OPTION>
- HTML_PARAM, // HotJava
- HTML_SPACER, // Netscape 3.0b5 // ignore </SPACER>
+ AREA, // Netscape 2.0
+ BASE, // HTML 3.0
+ COMMENT,
+ DOCTYPE,
+ EMBED, // Netscape 2.0 ignore </EMBED>
+ HORZRULE, // ignore </HR>
+ IMAGE, // ignore </IMG>
+ INPUT, // ignore </INPUT>
+ LINEBREAK, // </BR> -> <BR>
+ LINK, // HTML 3.0
+ META, // HTML 3.0 ignore </META>
+ OPTION, // ignore </OPTION>
+ PARAM, // HotJava
+ SPACER, // Netscape 3.0b5 // ignore </SPACER>
// tokens recognised using HTML character
- HTML_NONBREAKSPACE,
- HTML_SOFTHYPH,
+ NONBREAKSPACE,
+ SOFTHYPH,
// these will be turned back off,
// the off value is always located behind (+1) !!
- HTML_ABBREVIATION_ON = HTML_TOKEN_ONOFF, // HTML 3.0
- HTML_ABBREVIATION_OFF, // HTML 3.0
- HTML_ACRONYM_ON, // HTML 3.0
- HTML_ACRONYM_OFF, // HTML 3.0
- HTML_ADDRESS_ON,
- HTML_ADDRESS_OFF,
- HTML_ANCHOR_ON,
- HTML_ANCHOR_OFF,
- HTML_APPLET_ON, // HotJava
- HTML_APPLET_OFF, // HotJava
- HTML_AUTHOR_ON, // HTML 3.0
- HTML_AUTHOR_OFF, // HTML 3.0
- HTML_BANNER_ON, // HTML 3.0
- HTML_BANNER_OFF, // HTML 3.0
- HTML_BASEFONT_ON, // Netscape
- HTML_BASEFONT_OFF, // Netscape
- HTML_BIGPRINT_ON, // HTML 3.0
- HTML_BIGPRINT_OFF, // HTML 3.0
- HTML_BLINK_ON, // Netscape
- HTML_BLINK_OFF, // Netscape
- HTML_BLOCKQUOTE30_ON, // HTML 3.0
- HTML_BLOCKQUOTE30_OFF, // HTML 3.0
- HTML_BLOCKQUOTE_ON,
- HTML_BLOCKQUOTE_OFF,
- HTML_BODY_ON,
- HTML_BODY_OFF,
- HTML_BOLD_ON,
- HTML_BOLD_OFF,
- HTML_CAPTION_ON, // HTML 3.0
- HTML_CAPTION_OFF, // HTML 3.0
- HTML_CENTER_ON, // Netscape
- HTML_CENTER_OFF, // Netscape
- HTML_CITIATION_ON,
- HTML_CITIATION_OFF,
- HTML_CODE_ON,
- HTML_CODE_OFF,
- HTML_COL_ON, // HTML3 Table Model Draft
- HTML_COL_OFF, // HTML3 Table Model Draft
- HTML_COLGROUP_ON, // HTML3 Table Model Draft
- HTML_COLGROUP_OFF, // HTML3 Table Model Draft
- HTML_CREDIT_ON, // HTML 3.0
- HTML_CREDIT_OFF, // HTML 3.0
- HTML_DD_ON,
- HTML_DD_OFF,
- HTML_DEFLIST_ON,
- HTML_DEFLIST_OFF,
- HTML_DELETEDTEXT_ON, // HTML 3.0
- HTML_DELETEDTEXT_OFF, // HTML 3.0
- HTML_DIRLIST_ON,
- HTML_DIRLIST_OFF,
- HTML_DIVISION_ON, // HTML 3.0
- HTML_DIVISION_OFF, // HTML 3.0
- HTML_DT_ON,
- HTML_DT_OFF,
- HTML_EMPHASIS_ON,
- HTML_EMPHASIS_OFF,
- HTML_FIGURE_ON, // HTML 3.0
- HTML_FIGURE_OFF, // HTML 3.0
- HTML_FONT_ON, // Netscape
- HTML_FONT_OFF, // Netscape
- HTML_FOOTNOTE_ON, // HTML 3.0
- HTML_FOOTNOTE_OFF, // HTML 3.0
- HTML_FORM_ON,
- HTML_FORM_OFF,
- HTML_FRAME_ON, // Netscape 2.0
- HTML_FRAME_OFF, // Netscape 2.0
- HTML_FRAMESET_ON, // Netscape 2.0
- HTML_FRAMESET_OFF, // Netscape 2.0
- HTML_HEAD1_ON,
- HTML_HEAD1_OFF,
- HTML_HEAD2_ON,
- HTML_HEAD2_OFF,
- HTML_HEAD3_ON,
- HTML_HEAD3_OFF,
- HTML_HEAD4_ON,
- HTML_HEAD4_OFF,
- HTML_HEAD5_ON,
- HTML_HEAD5_OFF,
- HTML_HEAD6_ON,
- HTML_HEAD6_OFF,
- HTML_HEAD_ON,
- HTML_HEAD_OFF,
- HTML_HTML_ON,
- HTML_HTML_OFF,
- HTML_IFRAME_ON, // IE 3.0b2
- HTML_IFRAME_OFF, // IE 3.0b2
- HTML_INSERTEDTEXT_ON, // HTML 3.0
- HTML_INSERTEDTEXT_OFF, // HTML 3.0
- HTML_ITALIC_ON,
- HTML_ITALIC_OFF,
- HTML_KEYBOARD_ON,
- HTML_KEYBOARD_OFF,
- HTML_LANGUAGE_ON, // HTML 3.0
- HTML_LANGUAGE_OFF, // HTML 3.0
- HTML_LISTHEADER_ON, // HTML 3.0
- HTML_LISTHEADER_OFF, // HTML 3.0
- HTML_LI_ON,
- HTML_LI_OFF,
- HTML_MAP_ON, // Netscape 2.0
- HTML_MAP_OFF, // Netscape 2.0
- HTML_MENULIST_ON,
- HTML_MENULIST_OFF,
- HTML_MULTICOL_ON, // Netscape 3.0b5
- HTML_MULTICOL_OFF, // Netscape 3.0b5
- HTML_NOBR_ON, // Netscape
- HTML_NOBR_OFF, // Netscape
- HTML_NOEMBED_ON, // Netscape 2.0
- HTML_NOEMBED_OFF, // Netscape 2.0
- HTML_NOFRAMES_ON, // Netscape 2.0
- HTML_NOFRAMES_OFF, // Netscape 2.0
- HTML_NOSCRIPT_ON, // Netscape 2.0
- HTML_NOSCRIPT_OFF, // Netscape 3.0
- HTML_NOTE_ON, // HTML 3.0
- HTML_NOTE_OFF, // HTML 3.0
- HTML_OBJECT_ON, // HotJava
- HTML_OBJECT_OFF, // HotJava
- HTML_ORDERLIST_ON,
- HTML_ORDERLIST_OFF,
- HTML_PARABREAK_ON,
- HTML_PARABREAK_OFF,
- HTML_PERSON_ON, // HTML 3.0
- HTML_PERSON_OFF, // HTML 3.0
- HTML_PLAINTEXT_ON, // HTML 3.0
- HTML_PLAINTEXT_OFF, // HTML 3.0
- HTML_PREFORMTXT_ON,
- HTML_PREFORMTXT_OFF,
- HTML_SAMPLE_ON,
- HTML_SAMPLE_OFF,
- HTML_SCRIPT_ON, // HTML 3.2
- HTML_SCRIPT_OFF, // HTML 3.2
- HTML_SELECT_ON,
- HTML_SELECT_OFF,
- HTML_SHORTQUOTE_ON, // HTML 3.0
- HTML_SHORTQUOTE_OFF, // HTML 3.0
- HTML_SMALLPRINT_ON, // HTML 3.0
- HTML_SMALLPRINT_OFF, // HTML 3.0
- HTML_SPAN_ON, // Style Sheets
- HTML_SPAN_OFF, // Style Sheets
- HTML_STRIKETHROUGH_ON, // HTML 3.0
- HTML_STRIKETHROUGH_OFF, // HTML 3.0
- HTML_STRONG_ON,
- HTML_STRONG_OFF,
- HTML_STYLE_ON, // HTML 3.0
- HTML_STYLE_OFF, // HTML 3.0
- HTML_SUBSCRIPT_ON, // HTML 3.0
- HTML_SUBSCRIPT_OFF, // HTML 3.0
- HTML_SUPERSCRIPT_ON, // HTML 3.0
- HTML_SUPERSCRIPT_OFF, // HTML 3.0
- HTML_TABLE_ON, // HTML 3.0
- HTML_TABLE_OFF, // HTML 3.0
- HTML_TABLEDATA_ON, // HTML 3.0
- HTML_TABLEDATA_OFF, // HTML 3.0
- HTML_TABLEHEADER_ON, // HTML 3.0
- HTML_TABLEHEADER_OFF, // HTML 3.0
- HTML_TABLEROW_ON, // HTML 3.0
- HTML_TABLEROW_OFF, // HTML 3.0
- HTML_TBODY_ON, // HTML3 Table Model Draft
- HTML_TBODY_OFF, // HTML3 Table Model Draft
- HTML_TELETYPE_ON,
- HTML_TELETYPE_OFF,
- HTML_TEXTAREA_ON,
- HTML_TEXTAREA_OFF,
- HTML_TFOOT_ON, // HTML3 Table Model Draft
- HTML_TFOOT_OFF, // HTML3 Table Model Draft
- HTML_THEAD_ON, // HTML3 Table Model Draft
- HTML_THEAD_OFF, // HTML3 Table Model Draft
- HTML_TITLE_ON,
- HTML_TITLE_OFF,
- HTML_UNDERLINE_ON,
- HTML_UNDERLINE_OFF,
- HTML_UNORDERLIST_ON,
- HTML_UNORDERLIST_OFF,
- HTML_VARIABLE_ON,
- HTML_VARIABLE_OFF,
+ ONOFF_START,
+ ABBREVIATION_ON = ONOFF_START, // HTML 3.0
+ ABBREVIATION_OFF, // HTML 3.0
+ ACRONYM_ON, // HTML 3.0
+ ACRONYM_OFF, // HTML 3.0
+ ADDRESS_ON,
+ ADDRESS_OFF,
+ ANCHOR_ON,
+ ANCHOR_OFF,
+ APPLET_ON, // HotJava
+ APPLET_OFF, // HotJava
+ AUTHOR_ON, // HTML 3.0
+ AUTHOR_OFF, // HTML 3.0
+ BANNER_ON, // HTML 3.0
+ BANNER_OFF, // HTML 3.0
+ BASEFONT_ON, // Netscape
+ BASEFONT_OFF, // Netscape
+ BIGPRINT_ON, // HTML 3.0
+ BIGPRINT_OFF, // HTML 3.0
+ BLINK_ON, // Netscape
+ BLINK_OFF, // Netscape
+ BLOCKQUOTE30_ON, // HTML 3.0
+ BLOCKQUOTE30_OFF, // HTML 3.0
+ BLOCKQUOTE_ON,
+ BLOCKQUOTE_OFF,
+ BODY_ON,
+ BODY_OFF,
+ BOLD_ON,
+ BOLD_OFF,
+ CAPTION_ON, // HTML 3.0
+ CAPTION_OFF, // HTML 3.0
+ CENTER_ON, // Netscape
+ CENTER_OFF, // Netscape
+ CITIATION_ON,
+ CITIATION_OFF,
+ CODE_ON,
+ CODE_OFF,
+ COL_ON, // HTML3 Table Model Draft
+ COL_OFF, // HTML3 Table Model Draft
+ COLGROUP_ON, // HTML3 Table Model Draft
+ COLGROUP_OFF, // HTML3 Table Model Draft
+ CREDIT_ON, // HTML 3.0
+ CREDIT_OFF, // HTML 3.0
+ DD_ON,
+ DD_OFF,
+ DEFLIST_ON,
+ DEFLIST_OFF,
+ DELETEDTEXT_ON, // HTML 3.0
+ DELETEDTEXT_OFF, // HTML 3.0
+ DIRLIST_ON,
+ DIRLIST_OFF,
+ DIVISION_ON, // HTML 3.0
+ DIVISION_OFF, // HTML 3.0
+ DT_ON,
+ DT_OFF,
+ EMPHASIS_ON,
+ EMPHASIS_OFF,
+ FIGURE_ON, // HTML 3.0
+ FIGURE_OFF, // HTML 3.0
+ FONT_ON, // Netscape
+ FONT_OFF, // Netscape
+ FOOTNOTE_ON, // HTML 3.0
+ FOOTNOTE_OFF, // HTML 3.0
+ FORM_ON,
+ FORM_OFF,
+ FRAME_ON, // Netscape 2.0
+ FRAME_OFF, // Netscape 2.0
+ FRAMESET_ON, // Netscape 2.0
+ FRAMESET_OFF, // Netscape 2.0
+ HEAD1_ON,
+ HEAD1_OFF,
+ HEAD2_ON,
+ HEAD2_OFF,
+ HEAD3_ON,
+ HEAD3_OFF,
+ HEAD4_ON,
+ HEAD4_OFF,
+ HEAD5_ON,
+ HEAD5_OFF,
+ HEAD6_ON,
+ HEAD6_OFF,
+ HEAD_ON,
+ HEAD_OFF,
+ HTML_ON,
+ HTML_OFF,
+ IFRAME_ON, // IE 3.0b2
+ IFRAME_OFF, // IE 3.0b2
+ INSERTEDTEXT_ON, // HTML 3.0
+ INSERTEDTEXT_OFF, // HTML 3.0
+ ITALIC_ON,
+ ITALIC_OFF,
+ KEYBOARD_ON,
+ KEYBOARD_OFF,
+ LANGUAGE_ON, // HTML 3.0
+ LANGUAGE_OFF, // HTML 3.0
+ LISTHEADER_ON, // HTML 3.0
+ LISTHEADER_OFF, // HTML 3.0
+ LI_ON,
+ LI_OFF,
+ MAP_ON, // Netscape 2.0
+ MAP_OFF, // Netscape 2.0
+ MENULIST_ON,
+ MENULIST_OFF,
+ MULTICOL_ON, // Netscape 3.0b5
+ MULTICOL_OFF, // Netscape 3.0b5
+ NOBR_ON, // Netscape
+ NOBR_OFF, // Netscape
+ NOEMBED_ON, // Netscape 2.0
+ NOEMBED_OFF, // Netscape 2.0
+ NOFRAMES_ON, // Netscape 2.0
+ NOFRAMES_OFF, // Netscape 2.0
+ NOSCRIPT_ON, // Netscape 2.0
+ NOSCRIPT_OFF, // Netscape 3.0
+ NOTE_ON, // HTML 3.0
+ NOTE_OFF, // HTML 3.0
+ OBJECT_ON, // HotJava
+ OBJECT_OFF, // HotJava
+ ORDERLIST_ON,
+ ORDERLIST_OFF,
+ PARABREAK_ON,
+ PARABREAK_OFF,
+ PERSON_ON, // HTML 3.0
+ PERSON_OFF, // HTML 3.0
+ PLAINTEXT_ON, // HTML 3.0
+ PLAINTEXT_OFF, // HTML 3.0
+ PREFORMTXT_ON,
+ PREFORMTXT_OFF,
+ SAMPLE_ON,
+ SAMPLE_OFF,
+ SCRIPT_ON, // HTML 3.2
+ SCRIPT_OFF, // HTML 3.2
+ SELECT_ON,
+ SELECT_OFF,
+ SHORTQUOTE_ON, // HTML 3.0
+ SHORTQUOTE_OFF, // HTML 3.0
+ SMALLPRINT_ON, // HTML 3.0
+ SMALLPRINT_OFF, // HTML 3.0
+ SPAN_ON, // Style Sheets
+ SPAN_OFF, // Style Sheets
+ STRIKETHROUGH_ON, // HTML 3.0
+ STRIKETHROUGH_OFF, // HTML 3.0
+ STRONG_ON,
+ STRONG_OFF,
+ STYLE_ON, // HTML 3.0
+ STYLE_OFF, // HTML 3.0
+ SUBSCRIPT_ON, // HTML 3.0
+ SUBSCRIPT_OFF, // HTML 3.0
+ SUPERSCRIPT_ON, // HTML 3.0
+ SUPERSCRIPT_OFF, // HTML 3.0
+ TABLE_ON, // HTML 3.0
+ TABLE_OFF, // HTML 3.0
+ TABLEDATA_ON, // HTML 3.0
+ TABLEDATA_OFF, // HTML 3.0
+ TABLEHEADER_ON, // HTML 3.0
+ TABLEHEADER_OFF, // HTML 3.0
+ TABLEROW_ON, // HTML 3.0
+ TABLEROW_OFF, // HTML 3.0
+ TBODY_ON, // HTML3 Table Model Draft
+ TBODY_OFF, // HTML3 Table Model Draft
+ TELETYPE_ON,
+ TELETYPE_OFF,
+ TEXTAREA_ON,
+ TEXTAREA_OFF,
+ TFOOT_ON, // HTML3 Table Model Draft
+ TFOOT_OFF, // HTML3 Table Model Draft
+ THEAD_ON, // HTML3 Table Model Draft
+ THEAD_OFF, // HTML3 Table Model Draft
+ TITLE_ON,
+ TITLE_OFF,
+ UNDERLINE_ON,
+ UNDERLINE_OFF,
+ UNORDERLIST_ON,
+ UNORDERLIST_OFF,
+ VARIABLE_ON,
+ VARIABLE_OFF,
// obsolete features
- HTML_XMP_ON,
- HTML_XMP_OFF,
- HTML_LISTING_ON,
- HTML_LISTING_OFF,
+ XMP_ON,
+ XMP_OFF,
+ LISTING_ON,
+ LISTING_OFF,
// proposed features
- HTML_DEFINSTANCE_ON,
- HTML_DEFINSTANCE_OFF,
- HTML_STRIKE_ON,
- HTML_STRIKE_OFF,
-
- HTML_UNKNOWNCONTROL_ON,
- HTML_UNKNOWNCONTROL_OFF,
-
- HTML_COMMENT2_ON = HTML_TOKEN_MICROSOFT|HTML_TOKEN_ONOFF, // HTML 2.0 ?
- HTML_COMMENT2_OFF, // HTML 2.0 ?
- HTML_MARQUEE_ON,
- HTML_MARQUEE_OFF,
- HTML_PLAINTEXT2_ON, // HTML 2.0 ?
- HTML_PLAINTEXT2_OFF, // HTML 2.0 ?
-
- HTML_SDFIELD_ON,
- HTML_SDFIELD_OFF
+ DEFINSTANCE_ON,
+ DEFINSTANCE_OFF,
+ STRIKE_ON,
+ STRIKE_OFF,
+
+ UNKNOWNCONTROL_ON,
+ UNKNOWNCONTROL_OFF,
+
+ // Microsoft features
+ COMMENT2_ON, // HTML 2.0 ?
+ COMMENT2_OFF, // HTML 2.0 ?
+ MARQUEE_ON,
+ MARQUEE_OFF,
+ PLAINTEXT2_ON, // HTML 2.0 ?
+ PLAINTEXT2_OFF, // HTML 2.0 ?
+
+ SDFIELD_ON,
+ SDFIELD_OFF
};
+constexpr bool isOffToken(HtmlTokenId nToken)
+{
+ return (nToken == HtmlTokenId::NONE || nToken >= HtmlTokenId::ONOFF_START)
+ ? (1 & (int)nToken)
+ : throw std::logic_error("Assertion failed!"); // C++11 does not do assert in constexpr
+}
+
+constexpr HtmlTokenId getOnToken(HtmlTokenId nToken)
+{
+ return (nToken == HtmlTokenId::NONE || nToken >= HtmlTokenId::ONOFF_START)
+ ? HtmlTokenId(~1 & (int)nToken)
+ : throw std::logic_error("Assertion failed!"); // C++11 does not do assert in constexpr
+}
+
// HTML attribute token (=Options)
enum class HtmlOptionId
diff --git a/include/svtools/parhtml.hxx b/include/svtools/parhtml.hxx
index b6e7260b235c..89a0d5aeedf1 100644
--- a/include/svtools/parhtml.hxx
+++ b/include/svtools/parhtml.hxx
@@ -142,7 +142,7 @@ public:
typedef ::std::vector<HTMLOption> HTMLOptions;
-class SVT_DLLPUBLIC HTMLParser : public SvParser
+class SVT_DLLPUBLIC HTMLParser : public SvParser<HtmlTokenId>
{
private:
mutable HTMLOptions maOptions; // options of the start tag
@@ -164,19 +164,19 @@ private:
sal_uInt32 nPre_LinePos; // Pos in the line in the PRE-Tag
- int mnPendingOffToken; ///< OFF token pending for a <XX.../> ON/OFF ON token
+ HtmlTokenId mnPendingOffToken; ///< OFF token pending for a <XX.../> ON/OFF ON token
OUString aEndToken;
protected:
OUString sSaveToken; // the read tag as string
- int ScanText( const sal_Unicode cBreak = 0U );
+ HtmlTokenId ScanText( const sal_Unicode cBreak = 0U );
- int GetNextRawToken();
+ HtmlTokenId GetNextRawToken();
// scan next token
- virtual int GetNextToken_() override;
+ virtual HtmlTokenId GetNextToken_() override;
virtual ~HTMLParser() override;
@@ -198,15 +198,15 @@ public:
// start PRE-/LISTING or XMP mode or filter tags respectively
inline void StartPRE();
void FinishPRE() { bReadPRE = false; }
- int FilterPRE( int nToken );
+ HtmlTokenId FilterPRE( HtmlTokenId nToken );
inline void StartListing();
void FinishListing() { bReadListing = false; }
- int FilterListing( int nToken );
+ HtmlTokenId FilterListing( HtmlTokenId nToken );
inline void StartXMP();
void FinishXMP() { bReadXMP = false; }
- int FilterXMP( int nToken );
+ HtmlTokenId FilterXMP( HtmlTokenId nToken );
void FinishTextArea() { bReadTextArea = false; }
@@ -217,7 +217,7 @@ public:
// (PRE, XMP, ...) and set the flags. Is called by Continue before
// NextToken is called. If you implement own loops or call
// NextToken yourself, you should call this method beforehand.
- int FilterToken( int nToken );
+ HtmlTokenId FilterToken( HtmlTokenId nToken );
void ReadRawData( const OUString &rEndToken ) { aEndToken = rEndToken; }
@@ -230,7 +230,7 @@ public:
const HTMLOptions& GetOptions( HtmlOptionId *pNoConvertToken=nullptr );
// for asynchronous reading from the SvStream
- virtual void Continue( int nToken ) override;
+ virtual void Continue( HtmlTokenId nToken ) override;
protected:
diff --git a/include/svtools/parrtf.hxx b/include/svtools/parrtf.hxx
index 05baf76e57f9..0e870f685c89 100644
--- a/include/svtools/parrtf.hxx
+++ b/include/svtools/parrtf.hxx
@@ -34,7 +34,7 @@ struct RtfParserState_Impl
{}
};
-class SVT_DLLPUBLIC SvRTFParser : public SvParser
+class SVT_DLLPUBLIC SvRTFParser : public SvParser<int>
{
std::stack< RtfParserState_Impl > aParserStates;
int nOpenBrakets;
diff --git a/include/svtools/svparser.hxx b/include/svtools/svparser.hxx
index 67f77ee2ab28..136eb3a42573 100644
--- a/include/svtools/svparser.hxx
+++ b/include/svtools/svparser.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_SVTOOLS_SVPARSER_HXX
#include <svtools/svtdllapi.h>
+#include <svtools/htmltokn.h>
#include <tools/link.hxx>
#include <tools/ref.hxx>
#include <tools/solar.h>
@@ -29,7 +30,7 @@
#include <vector>
#include <memory>
-struct SvParser_Impl;
+template<typename T> struct SvParser_Impl;
class SvStream;
enum class SvParserState
@@ -41,6 +42,7 @@ enum class SvParserState
Error
};
+template<typename T>
class SVT_DLLPUBLIC SvParser : public SvRefBase
{
DECL_LINK( NewDataRead, LinkParamNone*, void );
@@ -51,20 +53,18 @@ protected:
sal_uLong nlLineNr; // current line number
sal_uLong nlLinePos; // current column number
- std::unique_ptr<SvParser_Impl> pImplData; // internal data
+ std::unique_ptr<SvParser_Impl<T>> pImplData; // internal data
long nTokenValue; // additional value (RTF)
bool bTokenHasValue; // indicates whether nTokenValue is valid
SvParserState eState; // status also in derived classes
- rtl_TextEncoding eSrcEnc; // Source encoding
-
- sal_uLong nNextChPos;
- sal_uInt32 nNextCh; // current character codepoint in UTF32 for the "lex"
+ rtl_TextEncoding eSrcEnc; // Source encoding
+ sal_uLong nNextChPos;
+ sal_uInt32 nNextCh; // current character codepoint in UTF32 for the "lex"
bool bUCS2BSrcEnc : 1; // or as big-endian UCS2
bool bSwitchToUCS2 : 1; // switching is allowed
-
bool bRTF_InTextRead : 1; // only for RTF-Parser!!!
struct TokenStackType
@@ -72,28 +72,23 @@ protected:
OUString sToken;
long nTokenValue;
bool bTokenHasValue;
- int nTokenId;
-
- TokenStackType()
- : nTokenValue(0)
- , bTokenHasValue(false)
- , nTokenId(0)
- {
- }
+ T nTokenId;
+
+ TokenStackType();
};
// methods for Token stack
- int SkipToken( short nCnt = -1 ); // "skip" n Tokens back
+ T SkipToken( short nCnt = -1 ); // "skip" n Tokens back
TokenStackType* GetStackPtr( short nCnt );
// scan the next token:
// work off Token stack and call GetNextToken_() if necessary.
// That one is responsible for the recognition of new Tokens.
- int GetNextToken();
- virtual int GetNextToken_() = 0;
+ T GetNextToken();
+ virtual T GetNextToken_() = 0;
// is called for each Token that is recognized in CallParser
- virtual void NextToken( int nToken );
+ virtual void NextToken( T nToken );
// at times of SvRefBase derivation, not everybody may delete
virtual ~SvParser() override;
@@ -110,63 +105,49 @@ public:
virtual SvParserState CallParser() = 0; // calling of the parser
- SvParserState GetStatus() const { return eState; } // StatusInfo
+ SvParserState GetStatus() const; // StatusInfo
- sal_uLong GetLineNr() const { return nlLineNr; }
- sal_uLong GetLinePos() const { return nlLinePos; }
- void IncLineNr() { ++nlLineNr; }
- sal_uLong IncLinePos() { return ++nlLinePos; }
- inline void SetLineNr( sal_uLong nlNum ); // inline bottom
- inline void SetLinePos( sal_uLong nlPos ); // inline bottom
+ sal_uLong GetLineNr() const;
+ sal_uLong GetLinePos() const;
+ void IncLineNr();
+ sal_uLong IncLinePos();
+ void SetLineNr( sal_uLong nlNum );
+ void SetLinePos( sal_uLong nlPos );
sal_uInt32 GetNextChar(); // Return next Unicode codepoint in UTF32.
void RereadLookahead();
- bool IsParserWorking() const { return SvParserState::Working == eState; }
+ bool IsParserWorking() const;
- Link<LinkParamNone*,void> GetAsynchCallLink() const
- { return LINK( const_cast<SvParser*>(this), SvParser, NewDataRead ); }
+ Link<LinkParamNone*,void> GetAsynchCallLink() const;
// for asynchronous reading from the SvStream
- void SaveState( int nToken );
+ void SaveState( T nToken );
void RestoreState();
- virtual void Continue( int nToken );
+ virtual void Continue( T nToken );
// Set/get source encoding. The UCS2BEncoding flag is valid if source
// encoding is UCS2. It specifies a big endian encoding.
void SetSrcEncoding( rtl_TextEncoding eSrcEnc );
- rtl_TextEncoding GetSrcEncoding() const { return eSrcEnc; }
+ rtl_TextEncoding GetSrcEncoding() const;
// May the character set be switched to UCS/2, if a BOM
// is in the first two characters of the stream?
- void SetSwitchToUCS2( bool bSet ) { bSwitchToUCS2 = bSet; }
- bool IsSwitchToUCS2() const { return bSwitchToUCS2; }
+ void SetSwitchToUCS2( bool bSet );
+ bool IsSwitchToUCS2() const;
// how many bytes a character consists of
- inline sal_uInt16 GetCharSize() const;
+ sal_uInt16 GetCharSize() const;
- int GetSaveToken() const;
+ T GetSaveToken() const;
+};
- // build a Which-Map 'rWhichMap' from an array of WhichIds
- // 'pWhichIds'. It has the length 'nWhichIds'.
- // The WhichMap is not deleted.
- static void BuildWhichTable( std::vector<sal_uInt16> &rWhichMap,
+// build a Which-Map 'rWhichMap' from an array of WhichIds
+// 'pWhichIds'. It has the length 'nWhichIds'.
+// The WhichMap is not deleted.
+SVT_DLLPUBLIC void BuildWhichTable( std::vector<sal_uInt16> &rWhichMap,
sal_uInt16 *pWhichIds,
sal_uInt16 nWhichIds );
-};
-
-
-inline void SvParser::SetLineNr( sal_uLong nlNum )
-{ nlLineNr = nlNum; }
-
-inline void SvParser::SetLinePos( sal_uLong nlPos )
-{ nlLinePos = nlPos; }
-
-inline sal_uInt16 SvParser::GetCharSize() const
-{
- return (RTL_TEXTENCODING_UCS2 == eSrcEnc) ? 2 : 1;
-}
-
/*========================================================================
*
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index b1f5f408bdc6..9d768d53cee3 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -949,7 +949,7 @@ void ScHTMLLayoutParser::TableDataOn( HtmlImportInfo* pInfo )
TableOn( pInfo );
}
bInCell = true;
- bool bHorJustifyCenterTH = (pInfo->nToken == HTML_TABLEHEADER_ON);
+ bool bHorJustifyCenterTH = (pInfo->nToken == HtmlTokenId::TABLEHEADER_ON);
const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
for (const auto & rOption : rOptions)
{
@@ -1070,7 +1070,7 @@ void ScHTMLLayoutParser::TableOn( HtmlImportInfo* pInfo )
nTableWidth = nLastWidth / static_cast<sal_uInt16>((nMaxCol - nColCntStart));
}
nLastWidth = nTableWidth;
- if ( pInfo->nToken == HTML_TABLE_ON )
+ if ( pInfo->nToken == HtmlTokenId::TABLE_ON )
{ // It can still be TD or TH, if we didn't have a TABLE earlier
const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
for (const auto & rOption : rOptions)
@@ -1129,7 +1129,7 @@ void ScHTMLLayoutParser::TableOn( HtmlImportInfo* pInfo )
if (nMaxTable > 0)
nOffsetTolerance = SC_HTML_OFFSET_TOLERANCE_LARGE;
nTableWidth = 0;
- if ( pInfo->nToken == HTML_TABLE_ON )
+ if ( pInfo->nToken == HtmlTokenId::TABLE_ON )
{
// It can still be TD or TH, if we didn't have a TABLE earlier
const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions();
@@ -1524,7 +1524,7 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
bool bSetLastToken = true;
switch ( pInfo->nToken )
{
- case HTML_META:
+ case HtmlTokenId::META:
{
HTMLParser* pParser = static_cast<HTMLParser*>(pInfo->pParser);
uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
@@ -1534,13 +1534,13 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
mpDoc->GetDocumentShell()->GetHeaderAttributes() );
}
break;
- case HTML_TITLE_ON:
+ case HtmlTokenId::TITLE_ON:
{
bInTitle = true;
aString.clear();
}
break;
- case HTML_TITLE_OFF:
+ case HtmlTokenId::TITLE_OFF:
{
if ( bInTitle && !aString.isEmpty() )
{
@@ -1554,17 +1554,17 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
bInTitle = false;
}
break;
- case HTML_TABLE_ON:
+ case HtmlTokenId::TABLE_ON:
{
TableOn( pInfo );
}
break;
- case HTML_COL_ON:
+ case HtmlTokenId::COL_ON:
{
ColOn( pInfo );
}
break;
- case HTML_TABLEHEADER_ON: // Opens row
+ case HtmlTokenId::TABLEHEADER_ON: // Opens row
{
if ( bInCell )
CloseEntry( pInfo );
@@ -1573,54 +1573,54 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
SvxWeightItem( WEIGHT_BOLD, ATTR_FONT_WEIGHT) );
SAL_FALLTHROUGH;
}
- case HTML_TABLEDATA_ON: // Opens cell
+ case HtmlTokenId::TABLEDATA_ON: // Opens cell
{
TableDataOn( pInfo );
}
break;
- case HTML_TABLEHEADER_OFF:
- case HTML_TABLEDATA_OFF: // Closes cell
+ case HtmlTokenId::TABLEHEADER_OFF:
+ case HtmlTokenId::TABLEDATA_OFF: // Closes cell
{
TableDataOff( pInfo );
}
break;
- case HTML_TABLEROW_ON: // Before first cell in row
+ case HtmlTokenId::TABLEROW_ON: // Before first cell in row
{
TableRowOn( pInfo );
}
break;
- case HTML_TABLEROW_OFF: // After last cell in row
+ case HtmlTokenId::TABLEROW_OFF: // After last cell in row
{
TableRowOff( pInfo );
}
break;
- case HTML_TABLE_OFF:
+ case HtmlTokenId::TABLE_OFF:
{
TableOff( pInfo );
}
break;
- case HTML_IMAGE:
+ case HtmlTokenId::IMAGE:
{
Image( pInfo );
}
break;
- case HTML_PARABREAK_OFF:
+ case HtmlTokenId::PARABREAK_OFF:
{ // We continue vertically after an image
if ( pActEntry->maImageList.size() > 0 )
pActEntry->maImageList.back()->nDir = nVertical;
}
break;
- case HTML_ANCHOR_ON:
+ case HtmlTokenId::ANCHOR_ON:
{
AnchorOn( pInfo );
}
break;
- case HTML_FONT_ON :
+ case HtmlTokenId::FONT_ON :
{
FontOn( pInfo );
}
break;
- case HTML_BIGPRINT_ON :
+ case HtmlTokenId::BIGPRINT_ON :
{
// TODO: Remember current font size and increase by 1
if ( IsAtBeginningOfText( pInfo ) )
@@ -1628,7 +1628,7 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
maFontHeights[3], 100, ATTR_FONT_HEIGHT ) );
}
break;
- case HTML_SMALLPRINT_ON :
+ case HtmlTokenId::SMALLPRINT_ON :
{
// TODO: Remember current font size and decrease by 1
if ( IsAtBeginningOfText( pInfo ) )
@@ -1636,28 +1636,28 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
maFontHeights[0], 100, ATTR_FONT_HEIGHT ) );
}
break;
- case HTML_BOLD_ON :
- case HTML_STRONG_ON :
+ case HtmlTokenId::BOLD_ON :
+ case HtmlTokenId::STRONG_ON :
{
if ( IsAtBeginningOfText( pInfo ) )
pActEntry->aItemSet.Put( SvxWeightItem( WEIGHT_BOLD,
ATTR_FONT_WEIGHT ) );
}
break;
- case HTML_ITALIC_ON :
- case HTML_EMPHASIS_ON :
- case HTML_ADDRESS_ON :
- case HTML_BLOCKQUOTE_ON :
- case HTML_BLOCKQUOTE30_ON :
- case HTML_CITIATION_ON :
- case HTML_VARIABLE_ON :
+ case HtmlTokenId::ITALIC_ON :
+ case HtmlTokenId::EMPHASIS_ON :
+ case HtmlTokenId::ADDRESS_ON :
+ case HtmlTokenId::BLOCKQUOTE_ON :
+ case HtmlTokenId::BLOCKQUOTE30_ON :
+ case HtmlTokenId::CITIATION_ON :
+ case HtmlTokenId::VARIABLE_ON :
{
if ( IsAtBeginningOfText( pInfo ) )
pActEntry->aItemSet.Put( SvxPostureItem( ITALIC_NORMAL,
ATTR_FONT_POSTURE ) );
}
break;
- case HTML_DEFINSTANCE_ON :
+ case HtmlTokenId::DEFINSTANCE_ON :
{
if ( IsAtBeginningOfText( pInfo ) )
{
@@ -1668,26 +1668,26 @@ void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo )
}
}
break;
- case HTML_UNDERLINE_ON :
+ case HtmlTokenId::UNDERLINE_ON :
{
if ( IsAtBeginningOfText( pInfo ) )
pActEntry->aItemSet.Put( SvxUnderlineItem( LINESTYLE_SINGLE,
ATTR_FONT_UNDERLINE ) );
}
break;
- case HTML_TEXTTOKEN:
+ case HtmlTokenId::TEXTTOKEN:
{
if ( bInTitle )
aString += pInfo->aText;
}
break;
default:
- { // Don't set nLastToken!
+ { // Don't set nHtmlLastToken!
bSetLastToken = false;
}
}
if ( bSetLastToken )
- nLastToken = pInfo->nToken;
+ nHtmlLastToken = pInfo->nToken;
}
// HTML DATA QUERY PARSER
@@ -2335,7 +2335,7 @@ bool ScHTMLTable::IsEmptyCell() const
bool ScHTMLTable::IsSpaceCharInfo( const HtmlImportInfo& rInfo )
{
- return (rInfo.nToken == HTML_TEXTTOKEN) && (rInfo.aText.getLength() == 1) && (rInfo.aText[ 0 ] == ' ');
+ return (rInfo.nToken == HtmlTokenId::TEXTTOKEN) && (rInfo.aText.getLength() == 1) && (rInfo.aText[ 0 ] == ' ');
}
ScHTMLTable::ScHTMLEntryPtr ScHTMLTable::CreateEntry() const
@@ -2531,7 +2531,7 @@ void ScHTMLTable::ImplDataOff()
void ScHTMLTable::ProcessFormatOptions( SfxItemSet& rItemSet, const HtmlImportInfo& rInfo )
{
// special handling for table header cells
- if( rInfo.nToken == HTML_TABLEHEADER_ON )
+ if( rInfo.nToken == HtmlTokenId::TABLEHEADER_ON )
{
rItemSet.Put( SvxWeightItem( WEIGHT_BOLD, ATTR_FONT_WEIGHT ) );
rItemSet.Put( SvxHorJustifyItem( SvxCellHorJustify::Center, ATTR_HOR_JUSTIFY ) );
@@ -2876,80 +2876,81 @@ void ScHTMLQueryParser::ProcessToken( const HtmlImportInfo& rInfo )
switch( rInfo.nToken )
{
// --- meta data ---
- case HTML_META: MetaOn( rInfo ); break; // <meta>
+ case HtmlTokenId::META: MetaOn( rInfo ); break; // <meta>
// --- title handling ---
- case HTML_TITLE_ON: TitleOn( rInfo ); break; // <title>
- case HTML_TITLE_OFF: TitleOff( rInfo ); break; // </title>
+ case HtmlTokenId::TITLE_ON: TitleOn( rInfo ); break; // <title>
+ case HtmlTokenId::TITLE_OFF: TitleOff( rInfo ); break; // </title>
- case HTML_STYLE_ON: break;
- case HTML_STYLE_OFF: ParseStyle(rInfo.aText); break;
+ case HtmlTokenId::STYLE_ON: break;
+ case HtmlTokenId::STYLE_OFF: ParseStyle(rInfo.aText); break;
// --- body handling ---
- case HTML_BODY_ON: mpCurrTable->BodyOn( rInfo ); break; // <body>
- case HTML_BODY_OFF: mpCurrTable->BodyOff( rInfo ); break; // </body>
+ case HtmlTokenId::BODY_ON: mpCurrTable->BodyOn( rInfo ); break; // <body>
+ case HtmlTokenId::BODY_OFF: mpCurrTable->BodyOff( rInfo ); break; // </body>
// --- insert text ---
- case HTML_TEXTTOKEN: InsertText( rInfo ); break; // any text
- case HTML_LINEBREAK: mpCurrTable->BreakOn(); break; // <br>
- case HTML_HEAD1_ON: // <h1>
- case HTML_HEAD2_ON: // <h2>
- case HTML_HEAD3_ON: // <h3>
- case HTML_HEAD4_ON: // <h4>
- case HTML_HEAD5_ON: // <h5>
- case HTML_HEAD6_ON: // <h6>
- case HTML_PARABREAK_ON: mpCurrTable->HeadingOn(); break; // <p>
+ case HtmlTokenId::TEXTTOKEN: InsertText( rInfo ); break; // any text
+ case HtmlTokenId::LINEBREAK: mpCurrTable->BreakOn(); break; // <br>
+ case HtmlTokenId::HEAD1_ON: // <h1>
+ case HtmlTokenId::HEAD2_ON: // <h2>
+ case HtmlTokenId::HEAD3_ON: // <h3>
+ case HtmlTokenId::HEAD4_ON: // <h4>
+ case HtmlTokenId::HEAD5_ON: // <h5>
+ case HtmlTokenId::HEAD6_ON: // <h6>
+ case HtmlTokenId::PARABREAK_ON: mpCurrTable->HeadingOn(); break; // <p>
// --- misc. contents ---
- case HTML_ANCHOR_ON: mpCurrTable->AnchorOn(); break; // <a>
+ case HtmlTokenId::ANCHOR_ON: mpCurrTable->AnchorOn(); break; // <a>
// --- table handling ---
- case HTML_TABLE_ON: TableOn( rInfo ); break; // <table>
- case HTML_TABLE_OFF: TableOff( rInfo ); break; // </table>
- case HTML_TABLEROW_ON: mpCurrTable->RowOn( rInfo ); break; // <tr>
- case HTML_TABLEROW_OFF: mpCurrTable->RowOff( rInfo ); break; // </tr>
- case HTML_TABLEHEADER_ON: // <th>
- case HTML_TABLEDATA_ON: mpCurrTable->DataOn( rInfo ); break; // <td>
- case HTML_TABLEHEADER_OFF: // </th>
- case HTML_TABLEDATA_OFF: mpCurrTable->DataOff( rInfo ); break; // </td>
- case HTML_PREFORMTXT_ON: PreOn( rInfo ); break; // <pre>
- case HTML_PREFORMTXT_OFF: PreOff( rInfo ); break; // </pre>
+ case HtmlTokenId::TABLE_ON: TableOn( rInfo ); break; // <table>
+ case HtmlTokenId::TABLE_OFF: TableOff( rInfo ); break; // </table>
+ case HtmlTokenId::TABLEROW_ON: mpCurrTable->RowOn( rInfo ); break; // <tr>
+ case HtmlTokenId::TABLEROW_OFF: mpCurrTable->RowOff( rInfo ); break; // </tr>
+ case HtmlTokenId::TABLEHEADER_ON: // <th>
+ case HtmlTokenId::TABLEDATA_ON: mpCurrTable->DataOn( rInfo ); break; // <td>
+ case HtmlTokenId::TABLEHEADER_OFF: // </th>
+ case HtmlTokenId::TABLEDATA_OFF: mpCurrTable->DataOff( rInfo ); break; // </td>
+ case HtmlTokenId::PREFORMTXT_ON: PreOn( rInfo ); break; // <pre>
+ case HtmlTokenId::PREFORMTXT_OFF: PreOff( rInfo ); break; // </pre>
// --- formatting ---
- case HTML_FONT_ON: FontOn( rInfo ); break; // <font>
+ case HtmlTokenId::FONT_ON: FontOn( rInfo ); break; // <font>
- case HTML_BIGPRINT_ON: // <big>
+ case HtmlTokenId::BIGPRINT_ON: // <big>
//! TODO: store current font size, use following size
mpCurrTable->PutItem( SvxFontHeightItem( maFontHeights[ 3 ], 100, ATTR_FONT_HEIGHT ) );
break;
- case HTML_SMALLPRINT_ON: // <small>
+ case HtmlTokenId::SMALLPRINT_ON: // <small>
//! TODO: store current font size, use preceding size
mpCurrTable->PutItem( SvxFontHeightItem( maFontHeights[ 0 ], 100, ATTR_FONT_HEIGHT ) );
break;
- case HTML_BOLD_ON: // <b>
- case HTML_STRONG_ON: // <strong>
+ case HtmlTokenId::BOLD_ON: // <b>
+ case HtmlTokenId::STRONG_ON: // <strong>
mpCurrTable->PutItem( SvxWeightItem( WEIGHT_BOLD, ATTR_FONT_WEIGHT ) );
break;
- case HTML_ITALIC_ON: // <i>
- case HTML_EMPHASIS_ON: // <em>
- case HTML_ADDRESS_ON: // <address>
- case HTML_BLOCKQUOTE_ON: // <blockquote>
- case HTML_BLOCKQUOTE30_ON: // <bq>
- case HTML_CITIATION_ON: // <cite>
- case HTML_VARIABLE_ON: // <var>
+ case HtmlTokenId::ITALIC_ON: // <i>
+ case HtmlTokenId::EMPHASIS_ON: // <em>
+ case HtmlTokenId::ADDRESS_ON: // <address>
+ case HtmlTokenId::BLOCKQUOTE_ON: // <blockquote>
+ case HtmlTokenId::BLOCKQUOTE30_ON: // <bq>
+ case HtmlTokenId::CITIATION_ON: // <cite>
+ case HtmlTokenId::VARIABLE_ON: // <var>
mpCurrTable->PutItem( SvxPostureItem( ITALIC_NORMAL, ATTR_FONT_POSTURE ) );
break;
- case HTML_DEFINSTANCE_ON: // <dfn>
+ case HtmlTokenId::DEFINSTANCE_ON: // <dfn>
mpCurrTable->PutItem( SvxWeightItem( WEIGHT_BOLD, ATTR_FONT_WEIGHT ) );
mpCurrTable->PutItem( SvxPostureItem( ITALIC_NORMAL, ATTR_FONT_POSTURE ) );
break;
- case HTML_UNDERLINE_ON: // <u>
+ case HtmlTokenId::UNDERLINE_ON: // <u>
mpCurrTable->PutItem( SvxUnderlineItem( LINESTYLE_SINGLE, ATTR_FONT_UNDERLINE ) );
break;
+ default: break;
}
}
diff --git a/sc/source/filter/inc/eeparser.hxx b/sc/source/filter/inc/eeparser.hxx
index 88105a159f9f..b60e633fd9ba 100644
--- a/sc/source/filter/inc/eeparser.hxx
+++ b/sc/source/filter/inc/eeparser.hxx
@@ -105,7 +105,8 @@ protected:
::std::vector< ScEEParseEntry* > maList;
ScEEParseEntry* pActEntry;
ColWidthsMap maColWidths;
- int nLastToken;
+ int nRtfLastToken;
+ HtmlTokenId nHtmlLastToken;
SCCOL nColCnt;
SCROW nRowCnt;
SCCOL nColMax;
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index 28bb57bde052..0e6eab3bc56c 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -31,6 +31,7 @@
#include <svtools/htmlcfg.hxx>
#include <sfx2/sfxhtml.hxx>
#include <svtools/parhtml.hxx>
+#include <svtools/htmltokn.h>
#include <svl/zforlist.hxx>
#include <vcl/virdev.hxx>
#include <vcl/svapp.hxx>
@@ -610,7 +611,8 @@ ScEEParser::ScEEParser( EditEngine* pEditP ) :
pEdit( pEditP ),
pPool( EditEngine::CreatePool() ),
pDocPool( new ScDocumentPool ),
- nLastToken(0),
+ nRtfLastToken(0),
+ nHtmlLastToken(HtmlTokenId::NONE),
nColCnt(0),
nRowCnt(0),
nColMax(0),
diff --git a/sc/source/filter/rtf/rtfparse.cxx b/sc/source/filter/rtf/rtfparse.cxx
index 321bf8ec728b..d5262fd13a16 100644
--- a/sc/source/filter/rtf/rtfparse.cxx
+++ b/sc/source/filter/rtf/rtfparse.cxx
@@ -60,7 +60,7 @@ sal_uLong ScRTFParser::Read( SvStream& rStream, const OUString& rBaseURL )
Link<RtfImportInfo&,void> aOldLink = pEdit->GetRtfImportHdl();
pEdit->SetRtfImportHdl( LINK( this, ScRTFParser, RTFImportHdl ) );
sal_uLong nErr = pEdit->Read( rStream, rBaseURL, EE_FORMAT_RTF );
- if ( nLastToken == RTF_PAR )
+ if ( nRtfLastToken == RTF_PAR )
{
if ( !maList.empty() )
{
@@ -274,14 +274,14 @@ void ScRTFParser::ProcToken( RtfImportInfo* pInfo )
nColCnt = 0;
maDefaultList.clear();
pDefMerge = nullptr;
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
mnCurPos = 0;
}
break;
case RTF_CLMGF: // The first cell of cells to be merged
{
pDefMerge = pInsDefault;
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
break;
case RTF_CLMRG: // A cell to be merged with the preceding cell
@@ -295,7 +295,7 @@ void ScRTFParser::ProcToken( RtfImportInfo* pInfo )
if ( pDefMerge ) // Else broken RTF
pDefMerge->nColOverlap++; // multiple successive ones possible
pInsDefault->nColOverlap = 0; // Flag: ignore these
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
break;
case RTF_CELLX: // closes cell default
@@ -308,17 +308,17 @@ void ScRTFParser::ProcToken( RtfImportInfo* pInfo )
pInsDefault = new ScRTFCellDefault( pPool );
if ( ++nColCnt > nColMax )
nColMax = nColCnt;
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
break;
case RTF_INTBL: // before the first RTF_CELL
{
// Once over NextToken and once over UnknownAttrToken
// or e.g. \intbl ... \cell \pard \intbl ... \cell
- if ( nLastToken != RTF_INTBL && nLastToken != RTF_CELL && nLastToken != RTF_PAR )
+ if ( nRtfLastToken != RTF_INTBL && nRtfLastToken != RTF_CELL && nRtfLastToken != RTF_PAR )
{
NewCellRow( pInfo );
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
}
break;
@@ -360,13 +360,13 @@ void ScRTFParser::ProcToken( RtfImportInfo* pInfo )
if (!maDefaultList.empty() && (mnCurPos+1) < maDefaultList.size())
pActDefault = maDefaultList[++mnCurPos].get();
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
break;
case RTF_ROW: // denotes the end of a row
{
NextRow();
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
break;
case RTF_PAR: // Paragraph
@@ -381,11 +381,11 @@ void ScRTFParser::ProcToken( RtfImportInfo* pInfo )
NewActEntry( pActEntry ); // new pActEntry
NextRow();
}
- nLastToken = pInfo->nToken;
+ nRtfLastToken = pInfo->nToken;
}
break;
default:
- { // do not set nLastToken
+ { // do not set nRtfLastToken
switch ( pInfo->nToken & ~(0xff | RTF_TABLEDEF) )
{
case RTF_SHADINGDEF:
diff --git a/svtools/source/svhtml/htmlkywd.cxx b/svtools/source/svhtml/htmlkywd.cxx
index 599a3c205586..339cb36c0737 100644
--- a/svtools/source/svhtml/htmlkywd.cxx
+++ b/svtools/source/svhtml/htmlkywd.cxx
@@ -34,128 +34,128 @@ struct HTML_TokenEntry
const sal_Char *sToken;
const OUString *pUToken;
};
- int nToken;
+ HtmlTokenId nToken;
};
// Flag: RTF token table has already been sorted
static bool bSortKeyWords = false;
static HTML_TokenEntry aHTMLTokenTab[] = {
- {{OOO_STRING_SVTOOLS_HTML_area}, HTML_AREA}, // Netscape 2.0
- {{OOO_STRING_SVTOOLS_HTML_base}, HTML_BASE}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_comment}, HTML_COMMENT},
- {{OOO_STRING_SVTOOLS_HTML_doctype}, HTML_DOCTYPE},
- {{OOO_STRING_SVTOOLS_HTML_embed}, HTML_EMBED}, // Netscape 2.0
- {{OOO_STRING_SVTOOLS_HTML_horzrule}, HTML_HORZRULE},
- {{OOO_STRING_SVTOOLS_HTML_image}, HTML_IMAGE},
- {{OOO_STRING_SVTOOLS_HTML_input}, HTML_INPUT},
- {{OOO_STRING_SVTOOLS_HTML_linebreak}, HTML_LINEBREAK},
- {{OOO_STRING_SVTOOLS_HTML_link}, HTML_LINK}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_meta}, HTML_META}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_option}, HTML_OPTION},
- {{OOO_STRING_SVTOOLS_HTML_param}, HTML_PARAM}, // HotJava
- {{OOO_STRING_SVTOOLS_HTML_spacer}, HTML_SPACER}, // Netscape 3.0b5
-
- {{OOO_STRING_SVTOOLS_HTML_abbreviation}, HTML_ABBREVIATION_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_acronym}, HTML_ACRONYM_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_address}, HTML_ADDRESS_ON},
- {{OOO_STRING_SVTOOLS_HTML_anchor}, HTML_ANCHOR_ON},
- {{OOO_STRING_SVTOOLS_HTML_applet}, HTML_APPLET_ON}, // HotJava
- {{OOO_STRING_SVTOOLS_HTML_author}, HTML_AUTHOR_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_banner}, HTML_BANNER_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_basefont}, HTML_BASEFONT_ON}, // Netscape
- {{OOO_STRING_SVTOOLS_HTML_bigprint}, HTML_BIGPRINT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_blink}, HTML_BLINK_ON}, // Netscape
- {{OOO_STRING_SVTOOLS_HTML_blockquote}, HTML_BLOCKQUOTE_ON},
- {{OOO_STRING_SVTOOLS_HTML_blockquote30}, HTML_BLOCKQUOTE30_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_body}, HTML_BODY_ON},
- {{OOO_STRING_SVTOOLS_HTML_bold}, HTML_BOLD_ON},
- {{OOO_STRING_SVTOOLS_HTML_caption}, HTML_CAPTION_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_center}, HTML_CENTER_ON}, // Netscape
- {{OOO_STRING_SVTOOLS_HTML_citiation}, HTML_CITIATION_ON},
- {{OOO_STRING_SVTOOLS_HTML_col}, HTML_COL_ON}, // HTML 3 Table Model Draft
- {{OOO_STRING_SVTOOLS_HTML_colgroup}, HTML_COLGROUP_ON}, // HTML 3 Table Model Draft
- {{OOO_STRING_SVTOOLS_HTML_code}, HTML_CODE_ON},
- {{OOO_STRING_SVTOOLS_HTML_credit}, HTML_CREDIT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_dd}, HTML_DD_ON},
- {{OOO_STRING_SVTOOLS_HTML_deflist}, HTML_DEFLIST_ON},
- {{OOO_STRING_SVTOOLS_HTML_deletedtext}, HTML_DELETEDTEXT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_dirlist}, HTML_DIRLIST_ON},
- {{OOO_STRING_SVTOOLS_HTML_division}, HTML_DIVISION_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_dt}, HTML_DT_ON},
- {{OOO_STRING_SVTOOLS_HTML_emphasis}, HTML_EMPHASIS_ON},
- {{OOO_STRING_SVTOOLS_HTML_figure}, HTML_FIGURE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_font}, HTML_FONT_ON}, // Netscape
- {{OOO_STRING_SVTOOLS_HTML_footnote}, HTML_FOOTNOTE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_form}, HTML_FORM_ON},
- {{OOO_STRING_SVTOOLS_HTML_frame}, HTML_FRAME_ON}, // Netscape 2.0
- {{OOO_STRING_SVTOOLS_HTML_frameset}, HTML_FRAMESET_ON}, // Netscape 2.0
- {{OOO_STRING_SVTOOLS_HTML_head}, HTML_HEAD_ON},
- {{OOO_STRING_SVTOOLS_HTML_head1}, HTML_HEAD1_ON},
- {{OOO_STRING_SVTOOLS_HTML_head2}, HTML_HEAD2_ON},
- {{OOO_STRING_SVTOOLS_HTML_head3}, HTML_HEAD3_ON},
- {{OOO_STRING_SVTOOLS_HTML_head4}, HTML_HEAD4_ON},
- {{OOO_STRING_SVTOOLS_HTML_head5}, HTML_HEAD5_ON},
- {{OOO_STRING_SVTOOLS_HTML_head6}, HTML_HEAD6_ON},
- {{OOO_STRING_SVTOOLS_HTML_html}, HTML_HTML_ON},
- {{OOO_STRING_SVTOOLS_HTML_iframe}, HTML_IFRAME_ON}, // IE 3.0b2
- {{OOO_STRING_SVTOOLS_HTML_insertedtext}, HTML_INSERTEDTEXT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_italic}, HTML_ITALIC_ON},
- {{OOO_STRING_SVTOOLS_HTML_keyboard}, HTML_KEYBOARD_ON},
- {{OOO_STRING_SVTOOLS_HTML_language}, HTML_LANGUAGE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_li}, HTML_LI_ON},
- {{OOO_STRING_SVTOOLS_HTML_listheader}, HTML_LISTHEADER_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_map}, HTML_MAP_ON}, // Netscape 2.0
- {{OOO_STRING_SVTOOLS_HTML_menulist}, HTML_MENULIST_ON},
- {{OOO_STRING_SVTOOLS_HTML_multicol}, HTML_MULTICOL_ON}, // Netscape 3.0b5
- {{OOO_STRING_SVTOOLS_HTML_nobr}, HTML_NOBR_ON}, // Netscape
- {{OOO_STRING_SVTOOLS_HTML_noembed}, HTML_NOEMBED_ON}, // Netscape 2.0 ???
- {{OOO_STRING_SVTOOLS_HTML_noframe}, HTML_NOFRAMES_ON}, // Netscape 2.0 ???
- {{OOO_STRING_SVTOOLS_HTML_noframes}, HTML_NOFRAMES_ON}, // Netscape 2.0
- {{OOO_STRING_SVTOOLS_HTML_noscript}, HTML_NOSCRIPT_ON}, // Netscape 3.0
- {{OOO_STRING_SVTOOLS_HTML_note}, HTML_NOTE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_object}, HTML_OBJECT_ON},
- {{OOO_STRING_SVTOOLS_HTML_orderlist}, HTML_ORDERLIST_ON},
- {{OOO_STRING_SVTOOLS_HTML_parabreak}, HTML_PARABREAK_ON},
- {{OOO_STRING_SVTOOLS_HTML_person}, HTML_PERSON_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_plaintext}, HTML_PLAINTEXT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_preformtxt}, HTML_PREFORMTXT_ON},
- {{OOO_STRING_SVTOOLS_HTML_sample}, HTML_SAMPLE_ON},
- {{OOO_STRING_SVTOOLS_HTML_script}, HTML_SCRIPT_ON}, // HTML 3.2
- {{OOO_STRING_SVTOOLS_HTML_select}, HTML_SELECT_ON},
- {{OOO_STRING_SVTOOLS_HTML_shortquote}, HTML_SHORTQUOTE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_smallprint}, HTML_SMALLPRINT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_span}, HTML_SPAN_ON}, // Style Sheets
- {{OOO_STRING_SVTOOLS_HTML_strikethrough},HTML_STRIKETHROUGH_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_strong}, HTML_STRONG_ON},
- {{OOO_STRING_SVTOOLS_HTML_style}, HTML_STYLE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_subscript}, HTML_SUBSCRIPT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_superscript}, HTML_SUPERSCRIPT_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_table}, HTML_TABLE_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_tabledata}, HTML_TABLEDATA_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_tableheader}, HTML_TABLEHEADER_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_tablerow}, HTML_TABLEROW_ON}, // HTML 3.0
- {{OOO_STRING_SVTOOLS_HTML_tbody}, HTML_TBODY_ON}, // HTML 3 Table Model Draft
- {{OOO_STRING_SVTOOLS_HTML_teletype}, HTML_TELETYPE_ON},
- {{OOO_STRING_SVTOOLS_HTML_textarea}, HTML_TEXTAREA_ON},
- {{OOO_STRING_SVTOOLS_HTML_tfoot}, HTML_TFOOT_ON}, // HTML 3 Table Model Draft
- {{OOO_STRING_SVTOOLS_HTML_thead}, HTML_THEAD_ON}, // HTML 3 Table Model Draft
- {{OOO_STRING_SVTOOLS_HTML_title}, HTML_TITLE_ON},
- {{OOO_STRING_SVTOOLS_HTML_underline}, HTML_UNDERLINE_ON},
- {{OOO_STRING_SVTOOLS_HTML_unorderlist}, HTML_UNORDERLIST_ON},
- {{OOO_STRING_SVTOOLS_HTML_variable}, HTML_VARIABLE_ON},
-
- {{OOO_STRING_SVTOOLS_HTML_xmp}, HTML_XMP_ON},
- {{OOO_STRING_SVTOOLS_HTML_listing}, HTML_LISTING_ON},
-
- {{OOO_STRING_SVTOOLS_HTML_definstance}, HTML_DEFINSTANCE_ON},
- {{OOO_STRING_SVTOOLS_HTML_strike}, HTML_STRIKE_ON},
-
- {{OOO_STRING_SVTOOLS_HTML_comment2}, HTML_COMMENT2_ON},
- {{OOO_STRING_SVTOOLS_HTML_marquee}, HTML_MARQUEE_ON},
- {{OOO_STRING_SVTOOLS_HTML_plaintext2}, HTML_PLAINTEXT2_ON},
-
- {{OOO_STRING_SVTOOLS_HTML_sdfield}, HTML_SDFIELD_ON}
+ {{OOO_STRING_SVTOOLS_HTML_area}, HtmlTokenId::AREA}, // Netscape 2.0
+ {{OOO_STRING_SVTOOLS_HTML_base}, HtmlTokenId::BASE}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_comment}, HtmlTokenId::COMMENT},
+ {{OOO_STRING_SVTOOLS_HTML_doctype}, HtmlTokenId::DOCTYPE},
+ {{OOO_STRING_SVTOOLS_HTML_embed}, HtmlTokenId::EMBED}, // Netscape 2.0
+ {{OOO_STRING_SVTOOLS_HTML_horzrule}, HtmlTokenId::HORZRULE},
+ {{OOO_STRING_SVTOOLS_HTML_image}, HtmlTokenId::IMAGE},
+ {{OOO_STRING_SVTOOLS_HTML_input}, HtmlTokenId::INPUT},
+ {{OOO_STRING_SVTOOLS_HTML_linebreak}, HtmlTokenId::LINEBREAK},
+ {{OOO_STRING_SVTOOLS_HTML_link}, HtmlTokenId::LINK}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_meta}, HtmlTokenId::META}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_option}, HtmlTokenId::OPTION},
+ {{OOO_STRING_SVTOOLS_HTML_param}, HtmlTokenId::PARAM}, // HotJava
+ {{OOO_STRING_SVTOOLS_HTML_spacer}, HtmlTokenId::SPACER}, // Netscape 3.0b5
+
+ {{OOO_STRING_SVTOOLS_HTML_abbreviation}, HtmlTokenId::ABBREVIATION_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_acronym}, HtmlTokenId::ACRONYM_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_address}, HtmlTokenId::ADDRESS_ON},
+ {{OOO_STRING_SVTOOLS_HTML_anchor}, HtmlTokenId::ANCHOR_ON},
+ {{OOO_STRING_SVTOOLS_HTML_applet}, HtmlTokenId::APPLET_ON}, // HotJava
+ {{OOO_STRING_SVTOOLS_HTML_author}, HtmlTokenId::AUTHOR_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_banner}, HtmlTokenId::BANNER_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_basefont}, HtmlTokenId::BASEFONT_ON}, // Netscape
+ {{OOO_STRING_SVTOOLS_HTML_bigprint}, HtmlTokenId::BIGPRINT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_blink}, HtmlTokenId::BLINK_ON}, // Netscape
+ {{OOO_STRING_SVTOOLS_HTML_blockquote}, HtmlTokenId::BLOCKQUOTE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_blockquote30}, HtmlTokenId::BLOCKQUOTE30_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_body}, HtmlTokenId::BODY_ON},
+ {{OOO_STRING_SVTOOLS_HTML_bold}, HtmlTokenId::BOLD_ON},
+ {{OOO_STRING_SVTOOLS_HTML_caption}, HtmlTokenId::CAPTION_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_center}, HtmlTokenId::CENTER_ON}, // Netscape
+ {{OOO_STRING_SVTOOLS_HTML_citiation}, HtmlTokenId::CITIATION_ON},
+ {{OOO_STRING_SVTOOLS_HTML_col}, HtmlTokenId::COL_ON}, // HTML 3 Table Model Draft
+ {{OOO_STRING_SVTOOLS_HTML_colgroup}, HtmlTokenId::COLGROUP_ON}, // HTML 3 Table Model Draft
+ {{OOO_STRING_SVTOOLS_HTML_code}, HtmlTokenId::CODE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_credit}, HtmlTokenId::CREDIT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_dd}, HtmlTokenId::DD_ON},
+ {{OOO_STRING_SVTOOLS_HTML_deflist}, HtmlTokenId::DEFLIST_ON},
+ {{OOO_STRING_SVTOOLS_HTML_deletedtext}, HtmlTokenId::DELETEDTEXT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_dirlist}, HtmlTokenId::DIRLIST_ON},
+ {{OOO_STRING_SVTOOLS_HTML_division}, HtmlTokenId::DIVISION_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_dt}, HtmlTokenId::DT_ON},
+ {{OOO_STRING_SVTOOLS_HTML_emphasis}, HtmlTokenId::EMPHASIS_ON},
+ {{OOO_STRING_SVTOOLS_HTML_figure}, HtmlTokenId::FIGURE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_font}, HtmlTokenId::FONT_ON}, // Netscape
+ {{OOO_STRING_SVTOOLS_HTML_footnote}, HtmlTokenId::FOOTNOTE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_form}, HtmlTokenId::FORM_ON},
+ {{OOO_STRING_SVTOOLS_HTML_frame}, HtmlTokenId::FRAME_ON}, // Netscape 2.0
+ {{OOO_STRING_SVTOOLS_HTML_frameset}, HtmlTokenId::FRAMESET_ON}, // Netscape 2.0
+ {{OOO_STRING_SVTOOLS_HTML_head}, HtmlTokenId::HEAD_ON},
+ {{OOO_STRING_SVTOOLS_HTML_head1}, HtmlTokenId::HEAD1_ON},
+ {{OOO_STRING_SVTOOLS_HTML_head2}, HtmlTokenId::HEAD2_ON},
+ {{OOO_STRING_SVTOOLS_HTML_head3}, HtmlTokenId::HEAD3_ON},
+ {{OOO_STRING_SVTOOLS_HTML_head4}, HtmlTokenId::HEAD4_ON},
+ {{OOO_STRING_SVTOOLS_HTML_head5}, HtmlTokenId::HEAD5_ON},
+ {{OOO_STRING_SVTOOLS_HTML_head6}, HtmlTokenId::HEAD6_ON},
+ {{OOO_STRING_SVTOOLS_HTML_html}, HtmlTokenId::HTML_ON},
+ {{OOO_STRING_SVTOOLS_HTML_iframe}, HtmlTokenId::IFRAME_ON}, // IE 3.0b2
+ {{OOO_STRING_SVTOOLS_HTML_insertedtext}, HtmlTokenId::INSERTEDTEXT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_italic}, HtmlTokenId::ITALIC_ON},
+ {{OOO_STRING_SVTOOLS_HTML_keyboard}, HtmlTokenId::KEYBOARD_ON},
+ {{OOO_STRING_SVTOOLS_HTML_language}, HtmlTokenId::LANGUAGE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_li}, HtmlTokenId::LI_ON},
+ {{OOO_STRING_SVTOOLS_HTML_listheader}, HtmlTokenId::LISTHEADER_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_map}, HtmlTokenId::MAP_ON}, // Netscape 2.0
+ {{OOO_STRING_SVTOOLS_HTML_menulist}, HtmlTokenId::MENULIST_ON},
+ {{OOO_STRING_SVTOOLS_HTML_multicol}, HtmlTokenId::MULTICOL_ON}, // Netscape 3.0b5
+ {{OOO_STRING_SVTOOLS_HTML_nobr}, HtmlTokenId::NOBR_ON}, // Netscape
+ {{OOO_STRING_SVTOOLS_HTML_noembed}, HtmlTokenId::NOEMBED_ON}, // Netscape 2.0 ???
+ {{OOO_STRING_SVTOOLS_HTML_noframe}, HtmlTokenId::NOFRAMES_ON}, // Netscape 2.0 ???
+ {{OOO_STRING_SVTOOLS_HTML_noframes}, HtmlTokenId::NOFRAMES_ON}, // Netscape 2.0
+ {{OOO_STRING_SVTOOLS_HTML_noscript}, HtmlTokenId::NOSCRIPT_ON}, // Netscape 3.0
+ {{OOO_STRING_SVTOOLS_HTML_note}, HtmlTokenId::NOTE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_object}, HtmlTokenId::OBJECT_ON},
+ {{OOO_STRING_SVTOOLS_HTML_orderlist}, HtmlTokenId::ORDERLIST_ON},
+ {{OOO_STRING_SVTOOLS_HTML_parabreak}, HtmlTokenId::PARABREAK_ON},
+ {{OOO_STRING_SVTOOLS_HTML_person}, HtmlTokenId::PERSON_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_plaintext}, HtmlTokenId::PLAINTEXT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_preformtxt}, HtmlTokenId::PREFORMTXT_ON},
+ {{OOO_STRING_SVTOOLS_HTML_sample}, HtmlTokenId::SAMPLE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_script}, HtmlTokenId::SCRIPT_ON}, // HTML 3.2
+ {{OOO_STRING_SVTOOLS_HTML_select}, HtmlTokenId::SELECT_ON},
+ {{OOO_STRING_SVTOOLS_HTML_shortquote}, HtmlTokenId::SHORTQUOTE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_smallprint}, HtmlTokenId::SMALLPRINT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_span}, HtmlTokenId::SPAN_ON}, // Style Sheets
+ {{OOO_STRING_SVTOOLS_HTML_strikethrough}, HtmlTokenId::STRIKETHROUGH_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_strong}, HtmlTokenId::STRONG_ON},
+ {{OOO_STRING_SVTOOLS_HTML_style}, HtmlTokenId::STYLE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_subscript}, HtmlTokenId::SUBSCRIPT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_superscript}, HtmlTokenId::SUPERSCRIPT_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_table}, HtmlTokenId::TABLE_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_tabledata}, HtmlTokenId::TABLEDATA_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_tableheader}, HtmlTokenId::TABLEHEADER_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_tablerow}, HtmlTokenId::TABLEROW_ON}, // HTML 3.0
+ {{OOO_STRING_SVTOOLS_HTML_tbody}, HtmlTokenId::TBODY_ON}, // HTML 3 Table Model Draft
+ {{OOO_STRING_SVTOOLS_HTML_teletype}, HtmlTokenId::TELETYPE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_textarea}, HtmlTokenId::TEXTAREA_ON},
+ {{OOO_STRING_SVTOOLS_HTML_tfoot}, HtmlTokenId::TFOOT_ON}, // HTML 3 Table Model Draft
+ {{OOO_STRING_SVTOOLS_HTML_thead}, HtmlTokenId::THEAD_ON}, // HTML 3 Table Model Draft
+ {{OOO_STRING_SVTOOLS_HTML_title}, HtmlTokenId::TITLE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_underline}, HtmlTokenId::UNDERLINE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_unorderlist}, HtmlTokenId::UNORDERLIST_ON},
+ {{OOO_STRING_SVTOOLS_HTML_variable}, HtmlTokenId::VARIABLE_ON},
+
+ {{OOO_STRING_SVTOOLS_HTML_xmp}, HtmlTokenId::XMP_ON},
+ {{OOO_STRING_SVTOOLS_HTML_listing}, HtmlTokenId::LISTING_ON},
+
+ {{OOO_STRING_SVTOOLS_HTML_definstance}, HtmlTokenId::DEFINSTANCE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_strike}, HtmlTokenId::STRIKE_ON},
+
+ {{OOO_STRING_SVTOOLS_HTML_comment2}, HtmlTokenId::COMMENT2_ON},
+ {{OOO_STRING_SVTOOLS_HTML_marquee}, HtmlTokenId::MARQUEE_ON},
+ {{OOO_STRING_SVTOOLS_HTML_plaintext2}, HtmlTokenId::PLAINTEXT2_ON},
+
+ {{OOO_STRING_SVTOOLS_HTML_sdfield}, HtmlTokenId::SDFIELD_ON}
};
@@ -167,16 +167,16 @@ static int SAL_CALL HTMLKeyCompare( const void *pFirst, const void *pSecond)
HTML_TokenEntry const * pFirstEntry = static_cast<HTML_TokenEntry const *>(pFirst);
HTML_TokenEntry const * pSecondEntry = static_cast<HTML_TokenEntry const *>(pSecond);
int nRet = 0;
- if( -1 == pFirstEntry->nToken )
+ if( HtmlTokenId::INVALID == pFirstEntry->nToken )
{
- if( -1 == pSecondEntry->nToken )
+ if( HtmlTokenId::INVALID == pSecondEntry->nToken )
nRet = pFirstEntry->pUToken->compareTo( *pSecondEntry->pUToken );
else
nRet = pFirstEntry->pUToken->compareToAscii( pSecondEntry->sToken );
}
else
{
- if( -1 == pSecondEntry->nToken )
+ if( HtmlTokenId::INVALID == pSecondEntry->nToken )
nRet = -1 * pSecondEntry->pUToken->compareToAscii( pFirstEntry->sToken );
else
nRet = strcmp( pFirstEntry->sToken, pSecondEntry->sToken );
@@ -187,7 +187,7 @@ static int SAL_CALL HTMLKeyCompare( const void *pFirst, const void *pSecond)
}
-int GetHTMLToken( const OUString& rName )
+HtmlTokenId GetHTMLToken( const OUString& rName )
{
if( !bSortKeyWords )
{
@@ -198,15 +198,15 @@ int GetHTMLToken( const OUString& rName )
bSortKeyWords = true;
}
- int nRet = 0;
+ HtmlTokenId nRet = HtmlTokenId::NONE;
if( !rName.compareTo( OOO_STRING_SVTOOLS_HTML_comment, 3 ) )
- return HTML_COMMENT;
+ return HtmlTokenId::COMMENT;
void* pFound;
HTML_TokenEntry aSrch;
aSrch.pUToken = &rName;
- aSrch.nToken = -1;
+ aSrch.nToken = HtmlTokenId::INVALID;
pFound = bsearch( &aSrch,
static_cast<void*>(aHTMLTokenTab),
@@ -732,7 +732,7 @@ HtmlOptionId GetHTMLOption( const OUString& rName )
void* pFound;
HTML_TokenEntry aSrch;
aSrch.pUToken = &rName;
- aSrch.nToken = -1;
+ aSrch.nToken = HtmlTokenId::INVALID;
if( nullptr != ( pFound = bsearch( &aSrch,
static_cast<void*>(aHTMLOptionTab),
diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx
index f0826f8acdde..c35856b9ba88 100644
--- a/svtools/source/svhtml/parhtml.cxx
+++ b/svtools/source/svhtml/parhtml.cxx
@@ -212,7 +212,7 @@ HTMLTableRules HTMLOption::GetTableRules() const
}
HTMLParser::HTMLParser( SvStream& rIn, bool bReadNewDoc ) :
- SvParser( rIn ),
+ SvParser<HtmlTokenId>( rIn ),
bNewDoc(bReadNewDoc),
bIsInHeader(true),
bIsInBody(false),
@@ -227,7 +227,7 @@ HTMLParser::HTMLParser( SvStream& rIn, bool bReadNewDoc ) :
bReadNextChar(false),
bReadComment(false),
nPre_LinePos(0),
- mnPendingOffToken(0)
+ mnPendingOffToken(HtmlTokenId::NONE)
{
//#i76649, default to UTF-8 for HTML unless we know differently
SetSrcEncoding(RTL_TEXTENCODING_UTF8);
@@ -241,22 +241,22 @@ SvParserState HTMLParser::CallParser()
{
eState = SvParserState::Working;
nNextCh = GetNextChar();
- SaveState( 0 );
+ SaveState( HtmlTokenId::NONE );
nPre_LinePos = 0;
bPre_IgnoreNewPara = false;
AddFirstRef();
- Continue( 0 );
+ Continue( HtmlTokenId::NONE );
if( SvParserState::Pending != eState )
ReleaseRef(); // Parser not needed anymore
return eState;
}
-void HTMLParser::Continue( int nToken )
+void HTMLParser::Continue( HtmlTokenId nToken )
{
- if( !nToken )
+ if( nToken == HtmlTokenId::NONE )
nToken = GetNextToken();
while( IsParserWorking() )
@@ -264,73 +264,73 @@ void HTMLParser::Continue( int nToken )
SaveState( nToken );
nToken = FilterToken( nToken );
- if( nToken )
+ if( nToken != HtmlTokenId::NONE )
NextToken( nToken );
if( IsParserWorking() )
- SaveState( 0 ); // continue with new token
+ SaveState( HtmlTokenId::NONE ); // continue with new token
nToken = GetNextToken();
}
}
-int HTMLParser::FilterToken( int nToken )
+HtmlTokenId HTMLParser::FilterToken( HtmlTokenId nToken )
{
switch( nToken )
{
- case sal_Unicode(EOF):
- nToken = 0;
+ case HtmlTokenId(EOF):
+ nToken = HtmlTokenId::NONE;
break; // don't pass
- case HTML_HEAD_OFF:
+ case HtmlTokenId::HEAD_OFF:
bIsInBody = true;
bIsInHeader = false;
break;
- case HTML_HEAD_ON:
+ case HtmlTokenId::HEAD_ON:
bIsInHeader = true;
break;
- case HTML_BODY_ON:
+ case HtmlTokenId::BODY_ON:
bIsInHeader = false;
bIsInBody = true;
break;
- case HTML_FRAMESET_ON:
+ case HtmlTokenId::FRAMESET_ON:
bIsInHeader = false;
bIsInBody = false;
break;
- case HTML_BODY_OFF:
+ case HtmlTokenId::BODY_OFF:
bIsInBody = bReadPRE = bReadListing = bReadXMP = false;
break;
- case HTML_HTML_OFF:
- nToken = 0;
+ case HtmlTokenId::HTML_OFF:
+ nToken = HtmlTokenId::NONE;
bReadPRE = bReadListing = bReadXMP = false;
- break; // HTML_ON hasn't been passed either !
+ break; // HtmlTokenId::ON hasn't been passed either !
- case HTML_PREFORMTXT_ON:
+ case HtmlTokenId::PREFORMTXT_ON:
StartPRE();
break;
- case HTML_PREFORMTXT_OFF:
+ case HtmlTokenId::PREFORMTXT_OFF:
FinishPRE();
break;
- case HTML_LISTING_ON:
+ case HtmlTokenId::LISTING_ON:
StartListing();
break;
- case HTML_LISTING_OFF:
+ case HtmlTokenId::LISTING_OFF:
FinishListing();
break;
- case HTML_XMP_ON:
+ case HtmlTokenId::XMP_ON:
StartXMP();
break;
- case HTML_XMP_OFF:
+ case HtmlTokenId::XMP_OFF:
FinishXMP();
break;
@@ -355,7 +355,7 @@ int HTMLParser::FilterToken( int nToken )
#define HTML_ISPRINTABLE( c ) ( c >= 32 && c != 127)
#define HTML_ISHEXDIGIT( c ) rtl::isAsciiHexDigit(c)
-int HTMLParser::ScanText( const sal_Unicode cBreak )
+HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
{
OUStringBuffer sTmpBuffer( MAX_LEN );
bool bContinue = true;
@@ -530,7 +530,7 @@ int HTMLParser::ScanText( const sal_Unicode cBreak )
rInput.Seek( nStreamPos );
nlLinePos = nLinePos;
ClearTxtConvContext();
- return HTML_TEXTTOKEN;
+ return HtmlTokenId::TEXTTOKEN;
}
// Hack: _GetNextChar shall not read the
@@ -538,9 +538,9 @@ int HTMLParser::ScanText( const sal_Unicode cBreak )
if( ';' != nNextCh )
aToken += " ";
if( 1U == cChar )
- return HTML_NONBREAKSPACE;
+ return HtmlTokenId::NONBREAKSPACE;
else //2U
- return HTML_SOFTHYPH;
+ return HtmlTokenId::SOFTHYPH;
}
}
}
@@ -700,12 +700,12 @@ int HTMLParser::ScanText( const sal_Unicode cBreak )
{
// Have seen s.th. aside from blanks?
aToken += sTmpBuffer.makeStringAndClear();
- return HTML_TEXTTOKEN;
+ return HtmlTokenId::TEXTTOKEN;
}
else
// Only read blanks: no text must be returned
// and GetNextToken_ has to read until EOF
- return 0;
+ return HtmlTokenId::NONE;
}
} while ( ' ' == nNextCh || '\t' == nNextCh ||
'\r' == nNextCh || '\n' == nNextCh ||
@@ -733,7 +733,7 @@ int HTMLParser::ScanText( const sal_Unicode cBreak )
{
if( !sTmpBuffer.isEmpty() )
aToken += sTmpBuffer.makeStringAndClear();
- return HTML_TEXTTOKEN;
+ return HtmlTokenId::TEXTTOKEN;
}
} while( HTML_ISALPHA( nNextCh ) || HTML_ISDIGIT( nNextCh ) );
bNextCh = false;
@@ -750,10 +750,10 @@ int HTMLParser::ScanText( const sal_Unicode cBreak )
if( !sTmpBuffer.isEmpty() )
aToken += sTmpBuffer.makeStringAndClear();
- return HTML_TEXTTOKEN;
+ return HtmlTokenId::TEXTTOKEN;
}
-int HTMLParser::GetNextRawToken()
+HtmlTokenId HTMLParser::GetNextRawToken()
{
OUStringBuffer sTmpBuffer( MAX_LEN );
@@ -766,13 +766,13 @@ int HTMLParser::GetNextRawToken()
aEndToken.clear();
bEndTokenFound = false;
- return 0;
+ return HtmlTokenId::NONE;
}
- // Default return value: HTML_RAWDATA
+ // Default return value: HtmlTokenId::RAWDATA
bool bContinue = true;
- int nToken = HTML_RAWDATA;
- SaveState( 0 );
+ HtmlTokenId nToken = HtmlTokenId::RAWDATA;
+ SaveState( HtmlTokenId::NONE );
while( bContinue && IsParserWorking() )
{
bool bNextCh = true;
@@ -863,7 +863,7 @@ int HTMLParser::GetNextRawToken()
bReadScript = false;
bReadStyle = false;
aEndToken.clear();
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
}
else
{
@@ -943,7 +943,7 @@ int HTMLParser::GetNextRawToken()
bReadScript = false;
bReadStyle = false;
aEndToken.clear();
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
}
break;
}
@@ -963,24 +963,24 @@ int HTMLParser::GetNextRawToken()
}
if( IsParserWorking() )
- SaveState( 0 );
+ SaveState( HtmlTokenId::NONE );
else
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
return nToken;
}
// Scan next token
-int HTMLParser::GetNextToken_()
+HtmlTokenId HTMLParser::GetNextToken_()
{
- int nRet = 0;
+ HtmlTokenId nRet = HtmlTokenId::NONE;
sSaveToken.clear();
- if (mnPendingOffToken)
+ if (mnPendingOffToken != HtmlTokenId::NONE)
{
- // HTML_<TOKEN>_OFF generated for HTML_<TOKEN>_ON
+ // HtmlTokenId::<TOKEN>_OFF generated for HtmlTokenId::<TOKEN>_ON
nRet = mnPendingOffToken;
- mnPendingOffToken = 0;
+ mnPendingOffToken = HtmlTokenId::NONE;
aToken.clear();
return nRet;
}
@@ -990,7 +990,7 @@ int HTMLParser::GetNextToken_()
maOptions.clear();
if( !IsParserWorking() ) // Don't continue if already an error occurred
- return 0;
+ return HtmlTokenId::NONE;
bool bReadNextCharSave = bReadNextChar;
if( bReadNextChar )
@@ -999,14 +999,14 @@ int HTMLParser::GetNextToken_()
"Read a character despite </SCRIPT> was read?" );
nNextCh = GetNextChar();
if( !IsParserWorking() ) // Don't continue if already an error occurred
- return 0;
+ return HtmlTokenId::NONE;
bReadNextChar = false;
}
if( bReadScript || bReadStyle || !aEndToken.isEmpty() )
{
nRet = GetNextRawToken();
- if( nRet || !IsParserWorking() )
+ if( nRet != HtmlTokenId::NONE || !IsParserWorking() )
return nRet;
}
@@ -1054,27 +1054,27 @@ int HTMLParser::GetNextToken_()
// Search token in table:
sSaveToken = aToken;
aToken = aToken.toAsciiLowerCase();
- if( 0 == (nRet = GetHTMLToken( aToken )) )
+ if( HtmlTokenId::NONE == (nRet = GetHTMLToken( aToken )) )
// Unknown control
- nRet = HTML_UNKNOWNCONTROL_ON;
+ nRet = HtmlTokenId::UNKNOWNCONTROL_ON;
// If it's a token which can be switched off...
if( bOffState )
{
- if( HTML_TOKEN_ONOFF & nRet )
+ if( nRet >= HtmlTokenId::ONOFF_START )
{
// and there is an off token, return off token instead
- ++nRet;
+ nRet = (HtmlTokenId)((int)nRet + 1);
}
- else if( HTML_LINEBREAK!=nRet )
+ else if( HtmlTokenId::LINEBREAK!=nRet )
{
// and there is no off token, return unknown token.
// (except for </BR>, that is treated like <BR>)
- nRet = HTML_UNKNOWNCONTROL_OFF;
+ nRet = HtmlTokenId::UNKNOWNCONTROL_OFF;
}
}
- if( nRet == HTML_COMMENT )
+ if( nRet == HtmlTokenId::COMMENT )
{
// fix: due to being case sensitive use sSaveToken as start of comment
// and append a blank.
@@ -1130,12 +1130,12 @@ int HTMLParser::GetNextToken_()
ScanText( '>' );
// fdo#34666 fdo#36080 fdo#36390: closing "/>"?:
- // generate pending HTML_<TOKEN>_OFF for HTML_<TOKEN>_ON
- // Do not convert this to a single HTML_<TOKEN>_OFF
+ // generate pending HtmlTokenId::<TOKEN>_OFF for HtmlTokenId::<TOKEN>_ON
+ // Do not convert this to a single HtmlTokenId::<TOKEN>_OFF
// which lead to fdo#56772.
- if ((HTML_TOKEN_ONOFF & nRet) && aToken.endsWith("/"))
+ if ((nRet >= HtmlTokenId::ONOFF_START) && aToken.endsWith("/"))
{
- mnPendingOffToken = nRet + 1; // HTML_<TOKEN>_ON -> HTML_<TOKEN>_OFF
+ mnPendingOffToken = (HtmlTokenId)((int)nRet + 1); // HtmlTokenId::<TOKEN>_ON -> HtmlTokenId::<TOKEN>_OFF
aToken = aToken.replaceAt( aToken.getLength()-1, 1, ""); // remove trailing '/'
}
if( sal_Unicode(EOF) == nNextCh && rInput.IsEof() )
@@ -1148,7 +1148,7 @@ int HTMLParser::GetNextToken_()
ClearTxtConvContext();
aToken = "<";
- nRet = HTML_TEXTTOKEN;
+ nRet = HtmlTokenId::TEXTTOKEN;
nNextCh = GetNextChar();
bNextCh = false;
break;
@@ -1173,7 +1173,7 @@ int HTMLParser::GetNextToken_()
ClearTxtConvContext();
aToken = "<";
- nRet = HTML_TEXTTOKEN;
+ nRet = HtmlTokenId::TEXTTOKEN;
nNextCh = GetNextChar();
bNextCh = false;
break;
@@ -1184,7 +1184,7 @@ int HTMLParser::GetNextToken_()
}
else if( '%' == nNextCh )
{
- nRet = HTML_UNKNOWNCONTROL_ON;
+ nRet = HtmlTokenId::UNKNOWNCONTROL_ON;
sal_uLong nCStreamPos = rInput.Tell();
sal_uLong nCLineNr = GetLineNr(), nCLinePos = GetLinePos();
@@ -1207,7 +1207,7 @@ int HTMLParser::GetNextToken_()
SetLinePos( nCLinePos );
ClearTxtConvContext();
aToken = "<%";
- nRet = HTML_TEXTTOKEN;
+ nRet = HtmlTokenId::TEXTTOKEN;
break;
}
if( IsParserWorking() )
@@ -1219,7 +1219,7 @@ int HTMLParser::GetNextToken_()
else
{
aToken = "<";
- nRet = HTML_TEXTTOKEN;
+ nRet = HtmlTokenId::TEXTTOKEN;
bNextCh = false;
break;
}
@@ -1230,17 +1230,17 @@ int HTMLParser::GetNextToken_()
bNextCh = '>' == nNextCh;
switch( nRet )
{
- case HTML_TEXTAREA_ON:
+ case HtmlTokenId::TEXTAREA_ON:
bReadTextArea = true;
break;
- case HTML_TEXTAREA_OFF:
+ case HtmlTokenId::TEXTAREA_OFF:
bReadTextArea = false;
break;
- case HTML_SCRIPT_ON:
+ case HtmlTokenId::SCRIPT_ON:
if( !bReadTextArea )
bReadScript = true;
break;
- case HTML_SCRIPT_OFF:
+ case HtmlTokenId::SCRIPT_OFF:
if( !bReadTextArea )
{
bReadScript = false;
@@ -1251,12 +1251,13 @@ int HTMLParser::GetNextToken_()
}
break;
- case HTML_STYLE_ON:
+ case HtmlTokenId::STYLE_ON:
bReadStyle = true;
break;
- case HTML_STYLE_OFF:
+ case HtmlTokenId::STYLE_OFF:
bReadStyle = false;
break;
+ default: break;
}
}
}
@@ -1266,7 +1267,7 @@ int HTMLParser::GetNextToken_()
if( rInput.IsEof() )
{
eState = SvParserState::Accepted;
- nRet = nNextCh;
+ nRet = HtmlTokenId(nNextCh);
}
else
{
@@ -1277,7 +1278,7 @@ int HTMLParser::GetNextToken_()
case '\f':
// form feeds are passed upwards separately
- nRet = HTML_LINEFEEDCHAR; // !!! should be FORMFEEDCHAR
+ nRet = HtmlTokenId::LINEFEEDCHAR; // !!! should be FORMFEEDCHAR
break;
case '\n':
@@ -1291,14 +1292,14 @@ int HTMLParser::GetNextToken_()
bNextCh = false;
nNextCh = c;
}
- nRet = HTML_NEWPARA;
+ nRet = HtmlTokenId::NEWPARA;
break;
}
SAL_FALLTHROUGH;
case '\t':
if( bReadPRE )
{
- nRet = HTML_TABCHAR;
+ nRet = HtmlTokenId::TABCHAR;
break;
}
SAL_FALLTHROUGH;
@@ -1324,17 +1325,17 @@ scan_text:
if( bNextCh && SvParserState::Working == eState )
{
nNextCh = GetNextChar();
- if( SvParserState::Pending == eState && nRet && HTML_TEXTTOKEN != nRet )
+ if( SvParserState::Pending == eState && nRet != HtmlTokenId::NONE && HtmlTokenId::TEXTTOKEN != nRet )
{
bReadNextChar = true;
eState = SvParserState::Working;
}
}
- } while( !nRet && SvParserState::Working == eState );
+ } while( nRet == HtmlTokenId::NONE && SvParserState::Working == eState );
if( SvParserState::Pending == eState )
- nRet = -1; // s.th. invalid
+ nRet = HtmlTokenId::INVALID; // s.th. invalid
return nRet;
}
@@ -1537,22 +1538,22 @@ const HTMLOptions& HTMLParser::GetOptions( HtmlOptionId *pNoConvertToken )
return maOptions;
}
-int HTMLParser::FilterPRE( int nToken )
+HtmlTokenId HTMLParser::FilterPRE( HtmlTokenId nToken )
{
switch( nToken )
{
// in Netscape they only have impact in not empty paragraphs
- case HTML_PARABREAK_ON:
- nToken = HTML_LINEBREAK;
+ case HtmlTokenId::PARABREAK_ON:
+ nToken = HtmlTokenId::LINEBREAK;
SAL_FALLTHROUGH;
- case HTML_LINEBREAK:
- case HTML_NEWPARA:
+ case HtmlTokenId::LINEBREAK:
+ case HtmlTokenId::NEWPARA:
nPre_LinePos = 0;
if( bPre_IgnoreNewPara )
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
break;
- case HTML_TABCHAR:
+ case HtmlTokenId::TABCHAR:
{
sal_Int32 nSpaces = (8 - (nPre_LinePos % 8));
DBG_ASSERT( aToken.isEmpty(), "Why is the token not empty?" );
@@ -1563,152 +1564,152 @@ int HTMLParser::FilterPRE( int nToken )
aToken = padToLength(aBuf, nSpaces, ' ').makeStringAndClear();
}
nPre_LinePos += nSpaces;
- nToken = HTML_TEXTTOKEN;
+ nToken = HtmlTokenId::TEXTTOKEN;
}
break;
// Keep those
- case HTML_TEXTTOKEN:
+ case HtmlTokenId::TEXTTOKEN:
nPre_LinePos += aToken.getLength();
break;
- case HTML_SELECT_ON:
- case HTML_SELECT_OFF:
- case HTML_BODY_ON:
- case HTML_FORM_ON:
- case HTML_FORM_OFF:
- case HTML_INPUT:
- case HTML_OPTION:
- case HTML_TEXTAREA_ON:
- case HTML_TEXTAREA_OFF:
-
- case HTML_IMAGE:
- case HTML_APPLET_ON:
- case HTML_APPLET_OFF:
- case HTML_PARAM:
- case HTML_EMBED:
-
- case HTML_HEAD1_ON:
- case HTML_HEAD1_OFF:
- case HTML_HEAD2_ON:
- case HTML_HEAD2_OFF:
- case HTML_HEAD3_ON:
- case HTML_HEAD3_OFF:
- case HTML_HEAD4_ON:
- case HTML_HEAD4_OFF:
- case HTML_HEAD5_ON:
- case HTML_HEAD5_OFF:
- case HTML_HEAD6_ON:
- case HTML_HEAD6_OFF:
- case HTML_BLOCKQUOTE_ON:
- case HTML_BLOCKQUOTE_OFF:
- case HTML_ADDRESS_ON:
- case HTML_ADDRESS_OFF:
- case HTML_HORZRULE:
-
- case HTML_CENTER_ON:
- case HTML_CENTER_OFF:
- case HTML_DIVISION_ON:
- case HTML_DIVISION_OFF:
-
- case HTML_SCRIPT_ON:
- case HTML_SCRIPT_OFF:
- case HTML_RAWDATA:
-
- case HTML_TABLE_ON:
- case HTML_TABLE_OFF:
- case HTML_CAPTION_ON:
- case HTML_CAPTION_OFF:
- case HTML_COLGROUP_ON:
- case HTML_COLGROUP_OFF:
- case HTML_COL_ON:
- case HTML_COL_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_TABLEROW_ON:
- case HTML_TABLEROW_OFF:
- case HTML_TABLEDATA_ON:
- case HTML_TABLEDATA_OFF:
- case HTML_TABLEHEADER_ON:
- case HTML_TABLEHEADER_OFF:
-
- case HTML_ANCHOR_ON:
- case HTML_ANCHOR_OFF:
- case HTML_BOLD_ON:
- case HTML_BOLD_OFF:
- case HTML_ITALIC_ON:
- case HTML_ITALIC_OFF:
- case HTML_STRIKE_ON:
- case HTML_STRIKE_OFF:
- case HTML_STRIKETHROUGH_ON:
- case HTML_STRIKETHROUGH_OFF:
- case HTML_UNDERLINE_ON:
- case HTML_UNDERLINE_OFF:
- case HTML_BASEFONT_ON:
- case HTML_BASEFONT_OFF:
- case HTML_FONT_ON:
- case HTML_FONT_OFF:
- case HTML_BLINK_ON:
- case HTML_BLINK_OFF:
- case HTML_SPAN_ON:
- case HTML_SPAN_OFF:
- case HTML_SUBSCRIPT_ON:
- case HTML_SUBSCRIPT_OFF:
- case HTML_SUPERSCRIPT_ON:
- case HTML_SUPERSCRIPT_OFF:
- case HTML_BIGPRINT_ON:
- case HTML_BIGPRINT_OFF:
- case HTML_SMALLPRINT_OFF:
- case HTML_SMALLPRINT_ON:
-
- case HTML_EMPHASIS_ON:
- case HTML_EMPHASIS_OFF:
- case HTML_CITIATION_ON:
- case HTML_CITIATION_OFF:
- case HTML_STRONG_ON:
- case HTML_STRONG_OFF:
- case HTML_CODE_ON:
- case HTML_CODE_OFF:
- case HTML_SAMPLE_ON:
- case HTML_SAMPLE_OFF:
- case HTML_KEYBOARD_ON:
- case HTML_KEYBOARD_OFF:
- case HTML_VARIABLE_ON:
- case HTML_VARIABLE_OFF:
- case HTML_DEFINSTANCE_ON:
- case HTML_DEFINSTANCE_OFF:
- case HTML_SHORTQUOTE_ON:
- case HTML_SHORTQUOTE_OFF:
- case HTML_LANGUAGE_ON:
- case HTML_LANGUAGE_OFF:
- case HTML_AUTHOR_ON:
- case HTML_AUTHOR_OFF:
- case HTML_PERSON_ON:
- case HTML_PERSON_OFF:
- case HTML_ACRONYM_ON:
- case HTML_ACRONYM_OFF:
- case HTML_ABBREVIATION_ON:
- case HTML_ABBREVIATION_OFF:
- case HTML_INSERTEDTEXT_ON:
- case HTML_INSERTEDTEXT_OFF:
- case HTML_DELETEDTEXT_ON:
- case HTML_DELETEDTEXT_OFF:
- case HTML_TELETYPE_ON:
- case HTML_TELETYPE_OFF:
+ case HtmlTokenId::SELECT_ON:
+ case HtmlTokenId::SELECT_OFF:
+ case HtmlTokenId::BODY_ON:
+ case HtmlTokenId::FORM_ON:
+ case HtmlTokenId::FORM_OFF:
+ case HtmlTokenId::INPUT:
+ case HtmlTokenId::OPTION:
+ case HtmlTokenId::TEXTAREA_ON:
+ case HtmlTokenId::TEXTAREA_OFF:
+
+ case HtmlTokenId::IMAGE:
+ case HtmlTokenId::APPLET_ON:
+ case HtmlTokenId::APPLET_OFF:
+ case HtmlTokenId::PARAM:
+ case HtmlTokenId::EMBED:
+
+ case HtmlTokenId::HEAD1_ON:
+ case HtmlTokenId::HEAD1_OFF:
+ case HtmlTokenId::HEAD2_ON:
+ case HtmlTokenId::HEAD2_OFF:
+ case HtmlTokenId::HEAD3_ON:
+ case HtmlTokenId::HEAD3_OFF:
+ case HtmlTokenId::HEAD4_ON:
+ case HtmlTokenId::HEAD4_OFF:
+ case HtmlTokenId::HEAD5_ON:
+ case HtmlTokenId::HEAD5_OFF:
+ case HtmlTokenId::HEAD6_ON:
+ case HtmlTokenId::HEAD6_OFF:
+ case HtmlTokenId::BLOCKQUOTE_ON:
+ case HtmlTokenId::BLOCKQUOTE_OFF:
+ case HtmlTokenId::ADDRESS_ON:
+ case HtmlTokenId::ADDRESS_OFF:
+ case HtmlTokenId::HORZRULE:
+
+ case HtmlTokenId::CENTER_ON:
+ case HtmlTokenId::CENTER_OFF:
+ case HtmlTokenId::DIVISION_ON:
+ case HtmlTokenId::DIVISION_OFF:
+
+ case HtmlTokenId::SCRIPT_ON:
+ case HtmlTokenId::SCRIPT_OFF:
+ case HtmlTokenId::RAWDATA:
+
+ case HtmlTokenId::TABLE_ON:
+ case HtmlTokenId::TABLE_OFF:
+ case HtmlTokenId::CAPTION_ON:
+ case HtmlTokenId::CAPTION_OFF:
+ case HtmlTokenId::COLGROUP_ON:
+ case HtmlTokenId::COLGROUP_OFF:
+ case HtmlTokenId::COL_ON:
+ case HtmlTokenId::COL_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::TABLEROW_ON:
+ case HtmlTokenId::TABLEROW_OFF:
+ case HtmlTokenId::TABLEDATA_ON:
+ case HtmlTokenId::TABLEDATA_OFF:
+ case HtmlTokenId::TABLEHEADER_ON:
+ case HtmlTokenId::TABLEHEADER_OFF:
+
+ case HtmlTokenId::ANCHOR_ON:
+ case HtmlTokenId::ANCHOR_OFF:
+ case HtmlTokenId::BOLD_ON:
+ case HtmlTokenId::BOLD_OFF:
+ case HtmlTokenId::ITALIC_ON:
+ case HtmlTokenId::ITALIC_OFF:
+ case HtmlTokenId::STRIKE_ON:
+ case HtmlTokenId::STRIKE_OFF:
+ case HtmlTokenId::STRIKETHROUGH_ON:
+ case HtmlTokenId::STRIKETHROUGH_OFF:
+ case HtmlTokenId::UNDERLINE_ON:
+ case HtmlTokenId::UNDERLINE_OFF:
+ case HtmlTokenId::BASEFONT_ON:
+ case HtmlTokenId::BASEFONT_OFF:
+ case HtmlTokenId::FONT_ON:
+ case HtmlTokenId::FONT_OFF:
+ case HtmlTokenId::BLINK_ON:
+ case HtmlTokenId::BLINK_OFF:
+ case HtmlTokenId::SPAN_ON:
+ case HtmlTokenId::SPAN_OFF:
+ case HtmlTokenId::SUBSCRIPT_ON:
+ case HtmlTokenId::SUBSCRIPT_OFF:
+ case HtmlTokenId::SUPERSCRIPT_ON:
+ case HtmlTokenId::SUPERSCRIPT_OFF:
+ case HtmlTokenId::BIGPRINT_ON:
+ case HtmlTokenId::BIGPRINT_OFF:
+ case HtmlTokenId::SMALLPRINT_OFF:
+ case HtmlTokenId::SMALLPRINT_ON:
+
+ case HtmlTokenId::EMPHASIS_ON:
+ case HtmlTokenId::EMPHASIS_OFF:
+ case HtmlTokenId::CITIATION_ON:
+ case HtmlTokenId::CITIATION_OFF:
+ case HtmlTokenId::STRONG_ON:
+ case HtmlTokenId::STRONG_OFF:
+ case HtmlTokenId::CODE_ON:
+ case HtmlTokenId::CODE_OFF:
+ case HtmlTokenId::SAMPLE_ON:
+ case HtmlTokenId::SAMPLE_OFF:
+ case HtmlTokenId::KEYBOARD_ON:
+ case HtmlTokenId::KEYBOARD_OFF:
+ case HtmlTokenId::VARIABLE_ON:
+ case HtmlTokenId::VARIABLE_OFF:
+ case HtmlTokenId::DEFINSTANCE_ON:
+ case HtmlTokenId::DEFINSTANCE_OFF:
+ case HtmlTokenId::SHORTQUOTE_ON:
+ case HtmlTokenId::SHORTQUOTE_OFF:
+ case HtmlTokenId::LANGUAGE_ON:
+ case HtmlTokenId::LANGUAGE_OFF:
+ case HtmlTokenId::AUTHOR_ON:
+ case HtmlTokenId::AUTHOR_OFF:
+ case HtmlTokenId::PERSON_ON:
+ case HtmlTokenId::PERSON_OFF:
+ case HtmlTokenId::ACRONYM_ON:
+ case HtmlTokenId::ACRONYM_OFF:
+ case HtmlTokenId::ABBREVIATION_ON:
+ case HtmlTokenId::ABBREVIATION_OFF:
+ case HtmlTokenId::INSERTEDTEXT_ON:
+ case HtmlTokenId::INSERTEDTEXT_OFF:
+ case HtmlTokenId::DELETEDTEXT_ON:
+ case HtmlTokenId::DELETEDTEXT_OFF:
+ case HtmlTokenId::TELETYPE_ON:
+ case HtmlTokenId::TELETYPE_OFF:
break;
// The remainder is treated as an unknown token.
default:
- if( nToken )
+ if( nToken != HtmlTokenId::NONE )
{
nToken =
- ( ((HTML_TOKEN_ONOFF & nToken) && (1 & nToken))
- ? HTML_UNKNOWNCONTROL_OFF
- : HTML_UNKNOWNCONTROL_ON );
+ ( ((nToken >= HtmlTokenId::ONOFF_START) && isOffToken(nToken))
+ ? HtmlTokenId::UNKNOWNCONTROL_OFF
+ : HtmlTokenId::UNKNOWNCONTROL_ON );
}
break;
}
@@ -1718,23 +1719,23 @@ int HTMLParser::FilterPRE( int nToken )
return nToken;
}
-int HTMLParser::FilterXMP( int nToken )
+HtmlTokenId HTMLParser::FilterXMP( HtmlTokenId nToken )
{
switch( nToken )
{
- case HTML_NEWPARA:
+ case HtmlTokenId::NEWPARA:
if( bPre_IgnoreNewPara )
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
SAL_FALLTHROUGH;
- case HTML_TEXTTOKEN:
- case HTML_NONBREAKSPACE:
- case HTML_SOFTHYPH:
+ case HtmlTokenId::TEXTTOKEN:
+ case HtmlTokenId::NONBREAKSPACE:
+ case HtmlTokenId::SOFTHYPH:
break; // kept
default:
- if( nToken )
+ if( nToken != HtmlTokenId::NONE )
{
- if( (HTML_TOKEN_ONOFF & nToken) && (1 & nToken) )
+ if( (nToken >= HtmlTokenId::ONOFF_START) && isOffToken(nToken) )
{
sSaveToken = "</" + sSaveToken;
}
@@ -1749,7 +1750,7 @@ int HTMLParser::FilterXMP( int nToken )
else
aToken = sSaveToken;
aToken += ">";
- nToken = HTML_TEXTTOKEN;
+ nToken = HtmlTokenId::TEXTTOKEN;
}
break;
}
@@ -1759,26 +1760,26 @@ int HTMLParser::FilterXMP( int nToken )
return nToken;
}
-int HTMLParser::FilterListing( int nToken )
+HtmlTokenId HTMLParser::FilterListing( HtmlTokenId nToken )
{
switch( nToken )
{
- case HTML_NEWPARA:
+ case HtmlTokenId::NEWPARA:
if( bPre_IgnoreNewPara )
- nToken = 0;
+ nToken = HtmlTokenId::NONE;
SAL_FALLTHROUGH;
- case HTML_TEXTTOKEN:
- case HTML_NONBREAKSPACE:
- case HTML_SOFTHYPH:
+ case HtmlTokenId::TEXTTOKEN:
+ case HtmlTokenId::NONBREAKSPACE:
+ case HtmlTokenId::SOFTHYPH:
break; // kept
default:
- if( nToken )
+ if( nToken != HtmlTokenId::NONE )
{
nToken =
- ( ((HTML_TOKEN_ONOFF & nToken) && (1 & nToken))
- ? HTML_UNKNOWNCONTROL_OFF
- : HTML_UNKNOWNCONTROL_ON );
+ ( ((nToken >= HtmlTokenId::ONOFF_START) && isOffToken(nToken))
+ ? HtmlTokenId::UNKNOWNCONTROL_OFF
+ : HtmlTokenId::UNKNOWNCONTROL_ON );
}
break;
}
diff --git a/svtools/source/svrtf/parrtf.cxx b/svtools/source/svrtf/parrtf.cxx
index 625288c1277e..17921cdaf718 100644
--- a/svtools/source/svrtf/parrtf.cxx
+++ b/svtools/source/svrtf/parrtf.cxx
@@ -36,7 +36,7 @@ const int MAX_TOKEN_LEN = 128;
#define RTF_ISALPHA( c ) rtl::isAsciiAlpha(c)
SvRTFParser::SvRTFParser( SvStream& rIn, sal_uInt8 nStackSize )
- : SvParser( rIn, nStackSize )
+ : SvParser<int>( rIn, nStackSize )
, nOpenBrakets(0)
, eCodeSet(RTL_TEXTENCODING_MS_1252)
, nUCharOverread(1)
diff --git a/svtools/source/svrtf/svparser.cxx b/svtools/source/svrtf/svparser.cxx
index c2de091f1f0d..789464ddbdf5 100644
--- a/svtools/source/svrtf/svparser.cxx
+++ b/svtools/source/svrtf/svparser.cxx
@@ -28,6 +28,7 @@
#include <climits>
// structure to store the actuel data
+template<typename T>
struct SvParser_Impl
{
OUString aToken; // gescanntes Token
@@ -35,10 +36,10 @@ struct SvParser_Impl
sal_uLong nlLineNr; // actual line number
sal_uLong nlLinePos; // actual column number
long nTokenValue; // extra value (RTF)
- bool bTokenHasValue; // indicates whether nTokenValue is valid
- int nToken; // actual Token
+ bool bTokenHasValue; // indicates whether nTokenValue is valid
+ T nToken; // actual Token
sal_uInt32 nNextCh; // actual character
- int nSaveToken; // the token from Continue
+ T nSaveToken; // the token from Continue
rtl_TextToUnicodeConverter hConv;
rtl_TextToUnicodeContext hContext;
@@ -49,9 +50,9 @@ struct SvParser_Impl
, nlLinePos(0)
, nTokenValue(0)
, bTokenHasValue(false)
- , nToken(0)
+ , nToken(static_cast<T>(0))
, nNextCh(0)
- , nSaveToken(0)
+ , nSaveToken(static_cast<T>(0))
, hConv( nullptr )
, hContext( reinterpret_cast<rtl_TextToUnicodeContext>(1) )
{
@@ -60,8 +61,17 @@ struct SvParser_Impl
};
-// Construktor
-SvParser::SvParser( SvStream& rIn, sal_uInt8 nStackSize )
+template<typename T>
+SvParser<T>::TokenStackType::TokenStackType()
+ : nTokenValue(0)
+ , bTokenHasValue(false)
+ , nTokenId(static_cast<T>(0))
+{
+}
+
+// Constructor
+template<typename T>
+SvParser<T>::SvParser( SvStream& rIn, sal_uInt8 nStackSize )
: rInput( rIn )
, nlLineNr( 1 )
, nlLinePos( 1 )
@@ -85,7 +95,8 @@ SvParser::SvParser( SvStream& rIn, sal_uInt8 nStackSize )
pTokenStackPos = pTokenStack;
}
-SvParser::~SvParser()
+template<typename T>
+SvParser<T>::~SvParser()
{
if( pImplData && pImplData->hConv )
{
@@ -97,13 +108,32 @@ SvParser::~SvParser()
delete [] pTokenStack;
}
-void SvParser::ClearTxtConvContext()
+template<typename T> SvParserState SvParser<T>::GetStatus() const { return eState; }
+template<typename T> sal_uLong SvParser<T>::GetLineNr() const { return nlLineNr; }
+template<typename T> sal_uLong SvParser<T>::GetLinePos() const { return nlLinePos; }
+template<typename T> void SvParser<T>::IncLineNr() { ++nlLineNr; }
+template<typename T> sal_uLong SvParser<T>::IncLinePos() { return ++nlLinePos; }
+template<typename T> void SvParser<T>::SetLineNr( sal_uLong nlNum ) { nlLineNr = nlNum; }
+template<typename T> void SvParser<T>::SetLinePos( sal_uLong nlPos ) { nlLinePos = nlPos; }
+template<typename T> bool SvParser<T>::IsParserWorking() const { return SvParserState::Working == eState; }
+template<typename T> rtl_TextEncoding SvParser<T>::GetSrcEncoding() const { return eSrcEnc; }
+template<typename T> void SvParser<T>::SetSwitchToUCS2( bool bSet ) { bSwitchToUCS2 = bSet; }
+template<typename T> bool SvParser<T>::IsSwitchToUCS2() const { return bSwitchToUCS2; }
+template<typename T> sal_uInt16 SvParser<T>::GetCharSize() const { return (RTL_TEXTENCODING_UCS2 == eSrcEnc) ? 2 : 1; }
+template<typename T> Link<LinkParamNone*,void> SvParser<T>::GetAsynchCallLink() const
+{
+ return LINK( const_cast<SvParser*>(this), SvParser, NewDataRead );
+}
+
+template<typename T>
+void SvParser<T>::ClearTxtConvContext()
{
if( pImplData && pImplData->hConv )
rtl_resetTextToUnicodeContext( pImplData->hConv, pImplData->hContext );
}
-void SvParser::SetSrcEncoding( rtl_TextEncoding eEnc )
+template<typename T>
+void SvParser<T>::SetSrcEncoding( rtl_TextEncoding eEnc )
{
if( eEnc != eSrcEnc )
{
@@ -121,7 +151,7 @@ void SvParser::SetSrcEncoding( rtl_TextEncoding eEnc )
{
eSrcEnc = eEnc;
if( !pImplData )
- pImplData.reset(new SvParser_Impl);
+ pImplData.reset(new SvParser_Impl<T>);
pImplData->hConv = rtl_createTextToUnicodeConverter( eSrcEnc );
DBG_ASSERT( pImplData->hConv,
"SvParser::SetSrcEncoding: no converter for source encoding" );
@@ -140,13 +170,15 @@ void SvParser::SetSrcEncoding( rtl_TextEncoding eEnc )
}
}
-void SvParser::RereadLookahead()
+template<typename T>
+void SvParser<T>::RereadLookahead()
{
rInput.Seek(nNextChPos);
nNextCh = GetNextChar();
}
-sal_uInt32 SvParser::GetNextChar()
+template<typename T>
+sal_uInt32 SvParser<T>::GetNextChar()
{
sal_uInt32 c = 0U;
@@ -416,9 +448,10 @@ sal_uInt32 SvParser::GetNextChar()
return c;
}
-int SvParser::GetNextToken()
+template<typename T>
+T SvParser<T>::GetNextToken()
{
- int nRet = 0;
+ T nRet = static_cast<T>(0);
if( !nTokenStackPos )
{
@@ -458,7 +491,8 @@ int SvParser::GetNextToken()
return nRet;
}
-int SvParser::SkipToken( short nCnt ) // "skip" n Tokens backward
+template<typename T>
+T SvParser<T>::SkipToken( short nCnt ) // "skip" n Tokens backward
{
pTokenStackPos = GetStackPtr( nCnt );
short nTmp = nTokenStackPos - nCnt;
@@ -476,7 +510,8 @@ int SvParser::SkipToken( short nCnt ) // "skip" n Tokens backward
return pTokenStackPos->nTokenId;
}
-SvParser::TokenStackType* SvParser::GetStackPtr( short nCnt )
+template<typename T>
+typename SvParser<T>::TokenStackType* SvParser<T>::GetStackPtr( short nCnt )
{
sal_uInt8 nAktPos = sal_uInt8(pTokenStackPos - pTokenStack );
if( nCnt > 0 )
@@ -503,25 +538,28 @@ SvParser::TokenStackType* SvParser::GetStackPtr( short nCnt )
}
// is called for each token which is recognised by CallParser
-void SvParser::NextToken( int )
+template<typename T>
+void SvParser<T>::NextToken( T )
{
}
// to read asynchronous from SvStream
-int SvParser::GetSaveToken() const
+template<typename T>
+T SvParser<T>::GetSaveToken() const
{
- return pImplData ? pImplData->nSaveToken : 0;
+ return pImplData ? pImplData->nSaveToken : static_cast<T>(0);
}
-void SvParser::SaveState( int nToken )
+template<typename T>
+void SvParser<T>::SaveState( T nToken )
{
// save actual status
if( !pImplData )
{
- pImplData.reset(new SvParser_Impl);
- pImplData->nSaveToken = 0;
+ pImplData.reset(new SvParser_Impl<T>);
+ pImplData->nSaveToken = static_cast<T>(0);
}
pImplData->nFilePos = rInput.Tell();
@@ -535,7 +573,8 @@ void SvParser::SaveState( int nToken )
pImplData->nNextCh = nNextCh;
}
-void SvParser::RestoreState()
+template<typename T>
+void SvParser<T>::RestoreState()
{
// restore old status
if( pImplData )
@@ -555,13 +594,14 @@ void SvParser::RestoreState()
}
}
-void SvParser::Continue( int )
+template<typename T>
+void SvParser<T>::Continue( T )
{
}
-void SvParser::BuildWhichTable( std::vector<sal_uInt16> &rWhichMap,
- sal_uInt16 *pWhichIds,
- sal_uInt16 nWhichIds )
+void BuildWhichTable( std::vector<sal_uInt16> &rWhichMap,
+ sal_uInt16 *pWhichIds,
+ sal_uInt16 nWhichIds )
{
sal_uInt16 aNewRange[2];
@@ -615,7 +655,15 @@ void SvParser::BuildWhichTable( std::vector<sal_uInt16> &rWhichMap,
}
-IMPL_LINK_NOARG( SvParser, NewDataRead, LinkParamNone*, void )
+// expanded out version of
+// IMPL_LINK_NOARG( SvParser, NewDataRead, LinkParamNone*, void )
+// since it can't cope with template methods
+template<typename T>
+void SvParser<T>::LinkStubNewDataRead(void * instance, LinkParamNone* data) {
+ return static_cast<SvParser<T> *>(instance)->NewDataRead(data);
+}
+template<typename T>
+void SvParser<T>::NewDataRead(SAL_UNUSED_PARAMETER LinkParamNone*)
{
switch( eState )
{
@@ -642,6 +690,9 @@ IMPL_LINK_NOARG( SvParser, NewDataRead, LinkParamNone*, void )
}
}
+template class SVT_DLLPUBLIC SvParser<int>;
+template class SVT_DLLPUBLIC SvParser<HtmlTokenId>;
+
/*========================================================================
*
* SvKeyValueIterator.
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;