diff options
-rw-r--r-- | editeng/source/editeng/editeng.cxx | 36 | ||||
-rw-r--r-- | editeng/source/editeng/eehtml.cxx | 42 | ||||
-rw-r--r-- | editeng/source/editeng/eertfpar.cxx | 60 | ||||
-rw-r--r-- | editeng/source/editeng/impedit.hxx | 7 | ||||
-rw-r--r-- | include/editeng/editdata.hxx | 52 | ||||
-rw-r--r-- | include/editeng/editeng.hxx | 13 | ||||
-rw-r--r-- | sc/source/filter/html/htmlpars.cxx | 144 | ||||
-rw-r--r-- | sc/source/filter/inc/htmlpars.hxx | 102 | ||||
-rw-r--r-- | sc/source/filter/inc/rtfparse.hxx | 8 | ||||
-rw-r--r-- | sc/source/filter/rtf/eeimpars.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/rtf/rtfparse.cxx | 26 | ||||
-rw-r--r-- | svx/source/table/tablertfimporter.cxx | 34 |
12 files changed, 290 insertions, 236 deletions
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index f5956ddee4cf..caad404b50ab 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -1530,14 +1530,24 @@ Link<EditStatus&, void> EditEngine::GetStatusEventHdl() const return pImpEditEngine->GetStatusEventHdl(); } -void EditEngine::SetImportHdl( const Link<ImportInfo&,void>& rLink ) +void EditEngine::SetHtmlImportHdl( const Link<HtmlImportInfo&,void>& rLink ) { - pImpEditEngine->aImportHdl = rLink; + pImpEditEngine->aHtmlImportHdl = rLink; } -const Link<ImportInfo&,void>& EditEngine::GetImportHdl() const +const Link<HtmlImportInfo&,void>& EditEngine::GetHtmlImportHdl() const { - return pImpEditEngine->aImportHdl; + return pImpEditEngine->aHtmlImportHdl; +} + +void EditEngine::SetRtfImportHdl( const Link<RtfImportInfo&,void>& rLink ) +{ + pImpEditEngine->aRtfImportHdl = rLink; +} + +const Link<RtfImportInfo&,void>& EditEngine::GetRtfImportHdl() const +{ + return pImpEditEngine->aRtfImportHdl; } void EditEngine::SetBeginMovingParagraphsHdl( const Link<MoveParagraphsInfo&,void>& rLink ) @@ -2727,9 +2737,14 @@ void EditEngine::SetReplaceLeadingSingleQuotationMark( bool bReplace ) pImpEditEngine->SetReplaceLeadingSingleQuotationMark( bReplace ); } -bool EditEngine::IsImportHandlerSet() const +bool EditEngine::IsHtmlImportHandlerSet() const { - return pImpEditEngine->aImportHdl.IsSet(); + return pImpEditEngine->aHtmlImportHdl.IsSet(); +} + +bool EditEngine::IsRtfImportHandlerSet() const +{ + return pImpEditEngine->aRtfImportHdl.IsSet(); } bool EditEngine::IsImportRTFStyleSheetsSet() const @@ -2737,9 +2752,14 @@ bool EditEngine::IsImportRTFStyleSheetsSet() const return pImpEditEngine->GetStatus().DoImportRTFStyleSheets(); } -void EditEngine::CallImportHandler(ImportInfo& rInfo) +void EditEngine::CallHtmlImportHandler(HtmlImportInfo& rInfo) +{ + pImpEditEngine->aHtmlImportHdl.Call(rInfo); +} + +void EditEngine::CallRtfImportHandler(RtfImportInfo& rInfo) { - pImpEditEngine->aImportHdl.Call(rInfo); + pImpEditEngine->aRtfImportHdl.Call(rInfo); } EditPaM EditEngine::InsertParaBreak(const EditSelection& rEditSelection) diff --git a/editeng/source/editeng/eehtml.cxx b/editeng/source/editeng/eehtml.cxx index 965a18a1902d..1d8c87c59598 100644 --- a/editeng/source/editeng/eehtml.cxx +++ b/editeng/source/editeng/eehtml.cxx @@ -79,19 +79,19 @@ SvParserState EditHTMLParser::CallParser(EditEngine* pEE, const EditPaM& rPaM) // Build in wrap mimic in RTF import? aCurSel = EditSelection( rPaM, rPaM ); - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { - ImportInfo aImportInfo(HTMLIMP_START, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + HtmlImportInfo aImportInfo(HtmlImportState::Start, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } ImpSetStyleSheet( 0 ); _eState = HTMLParser::CallParser(); - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { - ImportInfo aImportInfo(HTMLIMP_END, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + HtmlImportInfo aImportInfo(HtmlImportState::End, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } if ( bFieldsInserted ) @@ -491,26 +491,26 @@ void EditHTMLParser::NextToken( int nToken ) } } // SWITCH - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { - ImportInfo aImportInfo(HTMLIMP_NEXTTOKEN, this, mpEditEngine->CreateESelection(aCurSel)); + HtmlImportInfo aImportInfo(HtmlImportState::NextToken, this, mpEditEngine->CreateESelection(aCurSel)); aImportInfo.nToken = nToken; aImportInfo.nTokenValue = (short)nTokenValue; if ( nToken == HTML_TEXTTOKEN ) aImportInfo.aText = aToken; else if (nToken == HTML_STYLE_OFF) aImportInfo.aText = maStyleSource.makeStringAndClear(); - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } } void EditHTMLParser::ImpInsertParaBreak() { - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { - ImportInfo aImportInfo(HTMLIMP_INSERTPARA, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + HtmlImportInfo aImportInfo(HtmlImportState::InsertPara, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } aCurSel = mpEditEngine->InsertParaBreak(aCurSel); } @@ -527,12 +527,12 @@ void EditHTMLParser::ImpSetAttribs( const SfxItemSet& rItems ) aStartPaM.SetIndex( 0 ); aEndPaM.SetIndex( aEndPaM.GetNode()->Len() ); - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { EditSelection aSel( aStartPaM, aEndPaM ); - ImportInfo aImportInfo(HTMLIMP_SETATTR, this, mpEditEngine->CreateESelection(aSel)); + HtmlImportInfo aImportInfo(HtmlImportState::SetAttr, this, mpEditEngine->CreateESelection(aSel)); aImportInfo.pAttrs = const_cast<SfxItemSet *>(&rItems); - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } ContentNode* pSN = aStartPaM.GetNode(); @@ -659,11 +659,11 @@ void EditHTMLParser::ImpSetStyleSheet( sal_uInt16 nHLevel ) void EditHTMLParser::ImpInsertText( const OUString& rText ) { - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { - ImportInfo aImportInfo(HTMLIMP_INSERTTEXT, this, mpEditEngine->CreateESelection(aCurSel)); + HtmlImportInfo aImportInfo(HtmlImportState::InsertText, this, mpEditEngine->CreateESelection(aCurSel)); aImportInfo.aText = rText; - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } aCurSel = mpEditEngine->InsertText(aCurSel, rText); @@ -795,10 +795,10 @@ void EditHTMLParser::AnchorEnd() bFieldsInserted = true; pCurAnchor.reset(); - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsHtmlImportHandlerSet()) { - ImportInfo aImportInfo(HTMLIMP_INSERTFIELD, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + HtmlImportInfo aImportInfo(HtmlImportState::InsertField, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallHtmlImportHandler(aImportInfo); } } } diff --git a/editeng/source/editeng/eertfpar.cxx b/editeng/source/editeng/eertfpar.cxx index 22ca573a5588..e6c185273fe2 100644 --- a/editeng/source/editeng/eertfpar.cxx +++ b/editeng/source/editeng/eertfpar.cxx @@ -36,7 +36,7 @@ using namespace com::sun::star; -ImportInfo::ImportInfo( ImportState eSt, SvParser* pPrsrs, const ESelection& rSel ) +HtmlImportInfo::HtmlImportInfo( HtmlImportState eSt, SvParser* pPrsrs, const ESelection& rSel ) : aSelection( rSel ) { pParser = pPrsrs; @@ -46,7 +46,21 @@ ImportInfo::ImportInfo( ImportState eSt, SvParser* pPrsrs, const ESelection& rSe pAttrs = nullptr; } -ImportInfo::~ImportInfo() +HtmlImportInfo::~HtmlImportInfo() +{ +} + +RtfImportInfo::RtfImportInfo( RtfImportState eSt, SvParser* pPrsrs, const ESelection& rSel ) + : aSelection( rSel ) +{ + pParser = pPrsrs; + eState = eSt; + nToken = 0; + nTokenValue = 0; + pAttrs = nullptr; +} + +RtfImportInfo::~RtfImportInfo() { } @@ -91,18 +105,18 @@ SvParserState EditRTFParser::CallParser() EditPaM aEnd1PaM = mpEditEngine->InsertParaBreak(aCurSel.Max()); // aCurCel now points to the gap - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { - ImportInfo aImportInfo(RTFIMP_START, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + RtfImportInfo aImportInfo(RtfImportState::Start, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallRtfImportHandler(aImportInfo); } SvParserState _eState = SvxRTFParser::CallParser(); - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { - ImportInfo aImportInfo(RTFIMP_END, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + RtfImportInfo aImportInfo(RtfImportState::End, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallRtfImportHandler(aImportInfo); } if (bLastActionInsertParaBreak) @@ -214,12 +228,12 @@ void EditRTFParser::NextToken( int nToken ) } break; } - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { - ImportInfo aImportInfo(RTFIMP_NEXTTOKEN, this, mpEditEngine->CreateESelection(aCurSel)); + RtfImportInfo aImportInfo(RtfImportState::NextToken, this, mpEditEngine->CreateESelection(aCurSel)); aImportInfo.nToken = nToken; aImportInfo.nTokenValue = short(nTokenValue); - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallRtfImportHandler(aImportInfo); } } @@ -227,23 +241,23 @@ void EditRTFParser::UnknownAttrToken( int nToken, SfxItemSet* ) { // for Tokens which are not evaluated in ReadAttr // Actually, only for Calc (RTFTokenHdl), so that RTF_INTBL - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { - ImportInfo aImportInfo(RTFIMP_UNKNOWNATTR, this, mpEditEngine->CreateESelection(aCurSel)); + RtfImportInfo aImportInfo(RtfImportState::UnknownAttr, this, mpEditEngine->CreateESelection(aCurSel)); aImportInfo.nToken = nToken; aImportInfo.nTokenValue = short(nTokenValue); - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallRtfImportHandler(aImportInfo); } } void EditRTFParser::InsertText() { OUString aText( aToken ); - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { - ImportInfo aImportInfo(RTFIMP_INSERTTEXT, this, mpEditEngine->CreateESelection(aCurSel)); + RtfImportInfo aImportInfo(RtfImportState::InsertText, this, mpEditEngine->CreateESelection(aCurSel)); aImportInfo.aText = aText; - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallRtfImportHandler(aImportInfo); } aCurSel = mpEditEngine->InsertText(aCurSel, aText); bLastActionInsertParaBreak = false; @@ -251,10 +265,10 @@ void EditRTFParser::InsertText() void EditRTFParser::InsertPara() { - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { - ImportInfo aImportInfo(RTFIMP_INSERTPARA, this, mpEditEngine->CreateESelection(aCurSel)); - mpEditEngine->CallImportHandler(aImportInfo); + RtfImportInfo aImportInfo(RtfImportState::InsertPara, this, mpEditEngine->CreateESelection(aCurSel)); + mpEditEngine->CallRtfImportHandler(aImportInfo); } aCurSel = mpEditEngine->InsertParaBreak(aCurSel); bLastActionInsertParaBreak = true; @@ -344,12 +358,12 @@ void EditRTFParser::SetAttrInDoc( SvxRTFItemStackType &rSet ) } } - if (mpEditEngine->IsImportHandlerSet()) + if (mpEditEngine->IsRtfImportHandlerSet()) { EditSelection aSel( aStartPaM, aEndPaM ); - ImportInfo aImportInfo(RTFIMP_SETATTR, this, mpEditEngine->CreateESelection(aSel)); + RtfImportInfo aImportInfo(RtfImportState::SetAttr, this, mpEditEngine->CreateESelection(aSel)); aImportInfo.pAttrs = &rSet; - mpEditEngine->CallImportHandler(aImportInfo); + mpEditEngine->CallRtfImportHandler(aImportInfo); } ContentNode* pSN = aStartPaM.GetNode(); diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index 644f4b2b88e6..e3a0d8046c5e 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -487,9 +487,10 @@ private: // If it is detected at one point that the StatusHdl has to be called, but // this should not happen immediately (critical section): Timer aStatusTimer; - Link<EditStatus&,void> aStatusHdlLink; - Link<EENotify&,void> aNotifyHdl; - Link<ImportInfo&,void> aImportHdl; + Link<EditStatus&,void> aStatusHdlLink; + Link<EENotify&,void> aNotifyHdl; + Link<HtmlImportInfo&,void> aHtmlImportHdl; + Link<RtfImportInfo&,void> aRtfImportHdl; Link<MoveParagraphsInfo&,void> aBeginMovingParagraphsHdl; Link<MoveParagraphsInfo&,void> aEndMovingParagraphsHdl; Link<PasteOrDropInfos&,void> aBeginPasteOrDropHdl; diff --git a/include/editeng/editdata.hxx b/include/editeng/editdata.hxx index fe184d818853..b50cff44c4e3 100644 --- a/include/editeng/editdata.hxx +++ b/include/editeng/editdata.hxx @@ -29,6 +29,7 @@ class SfxItemSet; class SfxPoolItem; class SvParser; class SvxFieldItem; +class SvxRTFItemStackType; 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 }; @@ -201,34 +202,53 @@ struct EDITENG_DLLPUBLIC EFieldInfo EFieldInfo& operator= ( const EFieldInfo& ); }; -enum ImportState { - RTFIMP_START, RTFIMP_END, // only pParser, nPara, nIndex - RTFIMP_NEXTTOKEN, RTFIMP_UNKNOWNATTR, // nToken+nTokenValue - RTFIMP_SETATTR, // pAttrs - RTFIMP_INSERTTEXT, // aText - RTFIMP_INSERTPARA, // - - HTMLIMP_START, HTMLIMP_END, // only pParser, nPara, nIndex - HTMLIMP_NEXTTOKEN, HTMLIMP_UNKNOWNATTR, // nToken - HTMLIMP_SETATTR, // pAttrs - HTMLIMP_INSERTTEXT, // aText - HTMLIMP_INSERTPARA, HTMLIMP_INSERTFIELD // - +enum class RtfImportState { + Start, End, // only pParser, nPara, nIndex + NextToken, UnknownAttr, // nToken+nTokenValue + SetAttr, // pAttrs + InsertText, // aText + InsertPara, // - }; +enum class HtmlImportState { + Start, End, // only pParser, nPara, nIndex + NextToken, // nToken + SetAttr, // pAttrs + InsertText, // aText + InsertPara, InsertField // - + }; + +struct HtmlImportInfo +{ + SvParser* pParser; + ESelection aSelection; + HtmlImportState eState; + + int nToken; + short nTokenValue; + + OUString aText; + + SfxItemSet* pAttrs; + + HtmlImportInfo( HtmlImportState eState, SvParser* pPrsrs, const ESelection& rSel ); + ~HtmlImportInfo(); +}; -struct ImportInfo +struct RtfImportInfo { SvParser* pParser; ESelection aSelection; - ImportState eState; + RtfImportState eState; int nToken; short nTokenValue; OUString aText; - void* pAttrs; // RTF: SvxRTFItemStackType*, HTML: SfxItemSet* + SvxRTFItemStackType* pAttrs; - ImportInfo( ImportState eState, SvParser* pPrsrs, const ESelection& rSel ); - ~ImportInfo(); + RtfImportInfo( RtfImportState eState, SvParser* pPrsrs, const ESelection& rSel ); + ~RtfImportInfo(); }; struct ParagraphInfos diff --git a/include/editeng/editeng.hxx b/include/editeng/editeng.hxx index 342666691a34..69d2d61b5951 100644 --- a/include/editeng/editeng.hxx +++ b/include/editeng/editeng.hxx @@ -380,8 +380,11 @@ public: void SetNotifyHdl( const Link<EENotify&,void>& rLink ); Link<EENotify&,void> GetNotifyHdl() const; - void SetImportHdl( const Link<ImportInfo&,void>& rLink ); - const Link<ImportInfo&,void>& GetImportHdl() const; + void SetRtfImportHdl( const Link<RtfImportInfo&,void>& rLink ); + const Link<RtfImportInfo&,void>& GetRtfImportHdl() const; + + void SetHtmlImportHdl( const Link<HtmlImportInfo&,void>& rLink ); + const Link<HtmlImportInfo&,void>& GetHtmlImportHdl() const; // Do not evaluate font formatting => For Outliner bool IsFlatMode() const; @@ -543,10 +546,12 @@ public: const ParaPortionList& GetParaPortions() const; bool IsFormatted() const; - bool IsImportHandlerSet() const; + bool IsHtmlImportHandlerSet() const; + bool IsRtfImportHandlerSet() const; bool IsImportRTFStyleSheetsSet() const; - void CallImportHandler(ImportInfo& rInfo); + void CallRtfImportHandler(RtfImportInfo& rInfo); + void CallHtmlImportHandler(HtmlImportInfo& rInfo); void ParaAttribsToCharAttribs(ContentNode* pNode); diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index 9675a0676795..777137cb6471 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -258,8 +258,8 @@ ScHTMLLayoutParser::~ScHTMLLayoutParser() sal_uLong ScHTMLLayoutParser::Read( SvStream& rStream, const OUString& rBaseURL ) { - Link<ImportInfo&,void> aOldLink = pEdit->GetImportHdl(); - pEdit->SetImportHdl( LINK( this, ScHTMLLayoutParser, HTMLImportHdl ) ); + Link<HtmlImportInfo&,void> aOldLink = pEdit->GetHtmlImportHdl(); + pEdit->SetHtmlImportHdl( LINK( this, ScHTMLLayoutParser, HTMLImportHdl ) ); SfxObjectShell* pObjSh = mpDoc->GetDocumentShell(); bool bLoading = pObjSh && pObjSh->IsLoading(); @@ -286,7 +286,7 @@ sal_uLong ScHTMLLayoutParser::Read( SvStream& rStream, const OUString& rBaseURL sal_uLong nErr = pEdit->Read( rStream, rBaseURL, EE_FORMAT_HTML, pAttributes ); - pEdit->SetImportHdl( aOldLink ); + pEdit->SetHtmlImportHdl( aOldLink ); // Create column width Adjust(); OutputDevice* pDefaultDev = Application::GetDefaultDevice(); @@ -339,7 +339,7 @@ void ScHTMLLayoutParser::EntryEnd( ScEEParseEntry* pE, const ESelection& rSel ) } } -void ScHTMLLayoutParser::NextRow( ImportInfo* pInfo ) +void ScHTMLLayoutParser::NextRow( HtmlImportInfo* pInfo ) { if ( bInCell ) CloseEntry( pInfo ); @@ -823,7 +823,7 @@ void ScHTMLLayoutParser::Colonize( ScEEParseEntry* pE ) nTableWidth = nColOffset - nColOffsetStart; } -void ScHTMLLayoutParser::CloseEntry( ImportInfo* pInfo ) +void ScHTMLLayoutParser::CloseEntry( HtmlImportInfo* pInfo ) { bInCell = false; if ( bTabInTabCell ) @@ -874,19 +874,16 @@ void ScHTMLLayoutParser::CloseEntry( ImportInfo* pInfo ) NewActEntry( pActEntry ); // New free flying pActEntry } -IMPL_LINK( ScHTMLLayoutParser, HTMLImportHdl, ImportInfo&, rInfo, void ) +IMPL_LINK( ScHTMLLayoutParser, HTMLImportHdl, HtmlImportInfo&, rInfo, void ) { switch ( rInfo.eState ) { - case HTMLIMP_NEXTTOKEN: + case HtmlImportState::NextToken: ProcToken( &rInfo ); break; - case HTMLIMP_UNKNOWNATTR: - ProcToken( &rInfo ); - break; - case HTMLIMP_START: + case HtmlImportState::Start: break; - case HTMLIMP_END: + case HtmlImportState::End: if ( rInfo.aSelection.nEndPos ) { // If text remains: create paragraph, without calling CloseEntry(). @@ -901,18 +898,18 @@ IMPL_LINK( ScHTMLLayoutParser, HTMLImportHdl, ImportInfo&, rInfo, void ) while ( nTableLevel > 0 ) TableOff( &rInfo ); // close tables, if </TABLE> missing break; - case HTMLIMP_SETATTR: + case HtmlImportState::SetAttr: break; - case HTMLIMP_INSERTTEXT: + case HtmlImportState::InsertText: break; - case HTMLIMP_INSERTPARA: + case HtmlImportState::InsertPara: if ( nTableLevel < 1 ) { CloseEntry( &rInfo ); NextRow( &rInfo ); } break; - case HTMLIMP_INSERTFIELD: + case HtmlImportState::InsertField: break; default: OSL_FAIL("HTMLImportHdl: unknown ImportInfo.eState"); @@ -944,7 +941,7 @@ static SCROW lcl_KGV( SCROW a, SCROW b ) return (b / lcl_GGT(a,b)) * a; } -void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo ) +void ScHTMLLayoutParser::TableDataOn( HtmlImportInfo* pInfo ) { if ( bInCell ) CloseEntry( pInfo ); @@ -1036,25 +1033,25 @@ void ScHTMLLayoutParser::TableDataOn( ImportInfo* pInfo ) SvxHorJustifyItem( SvxCellHorJustify::Center, ATTR_HOR_JUSTIFY) ); } -void ScHTMLLayoutParser::TableRowOn( ImportInfo* pInfo ) +void ScHTMLLayoutParser::TableRowOn( HtmlImportInfo* pInfo ) { if ( nColCnt > nColCntStart ) NextRow( pInfo ); // The optional TableRowOff wasn't there nColOffset = nColOffsetStart; } -void ScHTMLLayoutParser::TableRowOff( ImportInfo* pInfo ) +void ScHTMLLayoutParser::TableRowOff( HtmlImportInfo* pInfo ) { NextRow( pInfo ); } -void ScHTMLLayoutParser::TableDataOff( ImportInfo* pInfo ) +void ScHTMLLayoutParser::TableDataOff( HtmlImportInfo* pInfo ) { if ( bInCell ) CloseEntry( pInfo ); // Only if it really was one } -void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo ) +void ScHTMLLayoutParser::TableOn( HtmlImportInfo* pInfo ) { OUString aTabName; @@ -1163,7 +1160,7 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo ) MakeColNoRef( pLocalColOffset, nColOffsetStart, 0, 0, 0 ); } -void ScHTMLLayoutParser::TableOff( ImportInfo* pInfo ) +void ScHTMLLayoutParser::TableOff( HtmlImportInfo* pInfo ) { if ( bInCell ) CloseEntry( pInfo ); @@ -1322,7 +1319,7 @@ void ScHTMLLayoutParser::TableOff( ImportInfo* pInfo ) } } -void ScHTMLLayoutParser::Image( ImportInfo* pInfo ) +void ScHTMLLayoutParser::Image( HtmlImportInfo* pInfo ) { pActEntry->maImageList.push_back( o3tl::make_unique<ScHTMLImage>() ); ScHTMLImage* pImage = pActEntry->maImageList.back().get(); @@ -1414,7 +1411,7 @@ void ScHTMLLayoutParser::Image( ImportInfo* pInfo ) } } -void ScHTMLLayoutParser::ColOn( ImportInfo* pInfo ) +void ScHTMLLayoutParser::ColOn( HtmlImportInfo* pInfo ) { const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions(); for (const auto & rOption : rOptions) @@ -1452,7 +1449,7 @@ sal_uInt16 ScHTMLLayoutParser::GetWidthPixel( const HTMLOption& rOption ) } } -void ScHTMLLayoutParser::AnchorOn( ImportInfo* pInfo ) +void ScHTMLLayoutParser::AnchorOn( HtmlImportInfo* pInfo ) { const HTMLOptions& rOptions = static_cast<HTMLParser*>(pInfo->pParser)->GetOptions(); for (const auto & rOption : rOptions) @@ -1468,7 +1465,7 @@ void ScHTMLLayoutParser::AnchorOn( ImportInfo* pInfo ) } } -bool ScHTMLLayoutParser::IsAtBeginningOfText( ImportInfo* pInfo ) +bool ScHTMLLayoutParser::IsAtBeginningOfText( HtmlImportInfo* pInfo ) { ESelection& rSel = pActEntry->aSel; return rSel.nStartPara == rSel.nEndPara && @@ -1476,7 +1473,7 @@ bool ScHTMLLayoutParser::IsAtBeginningOfText( ImportInfo* pInfo ) pEdit->GetTextLen( rSel.nStartPara ) == 0; } -void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo ) +void ScHTMLLayoutParser::FontOn( HtmlImportInfo* pInfo ) { if ( IsAtBeginningOfText( pInfo ) ) { // Only at the start of the text; applies to whole line @@ -1529,7 +1526,7 @@ void ScHTMLLayoutParser::FontOn( ImportInfo* pInfo ) } } -void ScHTMLLayoutParser::ProcToken( ImportInfo* pInfo ) +void ScHTMLLayoutParser::ProcToken( HtmlImportInfo* pInfo ) { bool bSetLastToken = true; switch ( pInfo->nToken ) @@ -1719,7 +1716,7 @@ bool ScHTMLEntry::HasContents() const return mbImportAlways || aSel.HasRange() || !aAltText.isEmpty() || IsTable(); } -void ScHTMLEntry::AdjustStart( const ImportInfo& rInfo ) +void ScHTMLEntry::AdjustStart( const HtmlImportInfo& rInfo ) { // set start position aSel.nStartPara = rInfo.aSelection.nStartPara; @@ -1732,7 +1729,7 @@ void ScHTMLEntry::AdjustStart( const ImportInfo& rInfo ) } } -void ScHTMLEntry::AdjustEnd( const ImportInfo& rInfo ) +void ScHTMLEntry::AdjustEnd( const HtmlImportInfo& rInfo ) { OSL_ENSURE( (aSel.nEndPara < rInfo.aSelection.nEndPara) || ((aSel.nEndPara == rInfo.aSelection.nEndPara) && (aSel.nEndPos <= rInfo.aSelection.nEndPos)), @@ -1793,7 +1790,7 @@ public: /** Inserts a new table into the container. This container owns the created table. @param bPreFormText true = New table is based on preformatted text (<pre> tag). */ - ScHTMLTable* CreateTable( const ImportInfo& rInfo, bool bPreFormText ); + ScHTMLTable* CreateTable( const HtmlImportInfo& rInfo, bool bPreFormText ); private: /** Sets a working table with its index for search optimization. */ @@ -1828,7 +1825,7 @@ ScHTMLTable* ScHTMLTableMap::FindTable( ScHTMLTableId nTableId, bool bDeep ) con return pResult; } -ScHTMLTable* ScHTMLTableMap::CreateTable( const ImportInfo& rInfo, bool bPreFormText ) +ScHTMLTable* ScHTMLTableMap::CreateTable( const HtmlImportInfo& rInfo, bool bPreFormText ) { ScHTMLTable* pTable = new ScHTMLTable( mrParentTable, rInfo, bPreFormText ); maTables[ pTable->GetTableId() ].reset( pTable ); @@ -1876,7 +1873,7 @@ ScHTMLTableAutoId::ScHTMLTableAutoId( ScHTMLTableId& rnUnusedId ) : ++mrnUnusedId; } -ScHTMLTable::ScHTMLTable( ScHTMLTable& rParentTable, const ImportInfo& rInfo, bool bPreFormText ) : +ScHTMLTable::ScHTMLTable( ScHTMLTable& rParentTable, const HtmlImportInfo& rInfo, bool bPreFormText ) : mpParentTable( &rParentTable ), maTableId( rParentTable.maTableId.mrnUnusedId ), maTableItemSet( rParentTable.GetCurrItemSet() ), @@ -1977,7 +1974,7 @@ void ScHTMLTable::PutItem( const SfxPoolItem& rItem ) mxCurrEntry->GetItemSet().Put( rItem ); } -void ScHTMLTable::PutText( const ImportInfo& rInfo ) +void ScHTMLTable::PutText( const HtmlImportInfo& rInfo ) { OSL_ENSURE( mxCurrEntry.get(), "ScHTMLTable::PutText - no current entry" ); if( mxCurrEntry.get() ) @@ -1989,7 +1986,7 @@ void ScHTMLTable::PutText( const ImportInfo& rInfo ) } } -void ScHTMLTable::InsertPara( const ImportInfo& rInfo ) +void ScHTMLTable::InsertPara( const HtmlImportInfo& rInfo ) { if( mxCurrEntry.get() && mbDataOn && !IsEmptyCell() ) mxCurrEntry->SetImportAlways(); @@ -2024,29 +2021,29 @@ void ScHTMLTable::AnchorOn() mxCurrEntry->SetImportAlways(); } -ScHTMLTable* ScHTMLTable::TableOn( const ImportInfo& rInfo ) +ScHTMLTable* ScHTMLTable::TableOn( const HtmlImportInfo& rInfo ) { PushEntry( rInfo ); return InsertNestedTable( rInfo, false ); } -ScHTMLTable* ScHTMLTable::TableOff( const ImportInfo& rInfo ) +ScHTMLTable* ScHTMLTable::TableOff( const HtmlImportInfo& rInfo ) { return mbPreFormText ? this : CloseTable( rInfo ); } -ScHTMLTable* ScHTMLTable::PreOn( const ImportInfo& rInfo ) +ScHTMLTable* ScHTMLTable::PreOn( const HtmlImportInfo& rInfo ) { PushEntry( rInfo ); return InsertNestedTable( rInfo, true ); } -ScHTMLTable* ScHTMLTable::PreOff( const ImportInfo& rInfo ) +ScHTMLTable* ScHTMLTable::PreOff( const HtmlImportInfo& rInfo ) { return mbPreFormText ? CloseTable( rInfo ) : this; } -void ScHTMLTable::RowOn( const ImportInfo& rInfo ) +void ScHTMLTable::RowOn( const HtmlImportInfo& rInfo ) { PushEntry( rInfo, true ); if( mpParentTable && !mbPreFormText ) // no rows allowed in global and preformatted tables @@ -2057,7 +2054,7 @@ void ScHTMLTable::RowOn( const ImportInfo& rInfo ) CreateNewEntry( rInfo ); } -void ScHTMLTable::RowOff( const ImportInfo& rInfo ) +void ScHTMLTable::RowOff( const HtmlImportInfo& rInfo ) { PushEntry( rInfo, true ); if( mpParentTable && !mbPreFormText ) // no rows allowed in global and preformatted tables @@ -2114,7 +2111,7 @@ OUString decodeNumberFormat(const OUString& rFmt) } -void ScHTMLTable::DataOn( const ImportInfo& rInfo ) +void ScHTMLTable::DataOn( const HtmlImportInfo& rInfo ) { PushEntry( rInfo, true ); if( mpParentTable && !mbPreFormText ) // no cells allowed in global and preformatted tables @@ -2183,7 +2180,7 @@ void ScHTMLTable::DataOn( const ImportInfo& rInfo ) CreateNewEntry( rInfo ); } -void ScHTMLTable::DataOff( const ImportInfo& rInfo ) +void ScHTMLTable::DataOff( const HtmlImportInfo& rInfo ) { PushEntry( rInfo, true ); if( mpParentTable && !mbPreFormText ) // no cells allowed in global and preformatted tables @@ -2191,7 +2188,7 @@ void ScHTMLTable::DataOff( const ImportInfo& rInfo ) CreateNewEntry( rInfo ); } -void ScHTMLTable::BodyOn( const ImportInfo& rInfo ) +void ScHTMLTable::BodyOn( const HtmlImportInfo& rInfo ) { bool bPushed = PushEntry( rInfo ); if( !mpParentTable ) @@ -2206,7 +2203,7 @@ void ScHTMLTable::BodyOn( const ImportInfo& rInfo ) CreateNewEntry( rInfo ); } -void ScHTMLTable::BodyOff( const ImportInfo& rInfo ) +void ScHTMLTable::BodyOff( const HtmlImportInfo& rInfo ) { PushEntry( rInfo ); if( !mpParentTable ) @@ -2217,7 +2214,7 @@ void ScHTMLTable::BodyOff( const ImportInfo& rInfo ) CreateNewEntry( rInfo ); } -ScHTMLTable* ScHTMLTable::CloseTable( const ImportInfo& rInfo ) +ScHTMLTable* ScHTMLTable::CloseTable( const HtmlImportInfo& rInfo ) { if( mpParentTable ) // not allowed to close global table { @@ -2341,7 +2338,7 @@ bool ScHTMLTable::IsEmptyCell() const return mpCurrEntryList && mpCurrEntryList->empty(); } -bool ScHTMLTable::IsSpaceCharInfo( const ImportInfo& rInfo ) +bool ScHTMLTable::IsSpaceCharInfo( const HtmlImportInfo& rInfo ) { return (rInfo.nToken == HTML_TEXTTOKEN) && (rInfo.aText.getLength() == 1) && (rInfo.aText[ 0 ] == ' '); } @@ -2351,7 +2348,7 @@ ScHTMLTable::ScHTMLEntryPtr ScHTMLTable::CreateEntry() const return o3tl::make_unique<ScHTMLEntry>( GetCurrItemSet() ); } -void ScHTMLTable::CreateNewEntry( const ImportInfo& rInfo ) +void ScHTMLTable::CreateNewEntry( const HtmlImportInfo& rInfo ) { OSL_ENSURE( !mxCurrEntry.get(), "ScHTMLTable::CreateNewEntry - old entry still present" ); mxCurrEntry = CreateEntry(); @@ -2394,7 +2391,7 @@ bool ScHTMLTable::PushEntry( ScHTMLEntryPtr& rxEntry ) return bPushed; } -bool ScHTMLTable::PushEntry( const ImportInfo& rInfo, bool bLastInCell ) +bool ScHTMLTable::PushEntry( const HtmlImportInfo& rInfo, bool bLastInCell ) { OSL_ENSURE( mxCurrEntry.get(), "ScHTMLTable::PushEntry - no current entry" ); bool bPushed = false; @@ -2436,7 +2433,7 @@ ScHTMLTable* ScHTMLTable::GetExistingTable( ScHTMLTableId nTableId ) const return pTable; } -ScHTMLTable* ScHTMLTable::InsertNestedTable( const ImportInfo& rInfo, bool bPreFormText ) +ScHTMLTable* ScHTMLTable::InsertNestedTable( const HtmlImportInfo& rInfo, bool bPreFormText ) { if( !mxNestedTables.get() ) mxNestedTables.reset( new ScHTMLTableMap( *this ) ); @@ -2536,7 +2533,7 @@ void ScHTMLTable::ImplDataOff() } } -void ScHTMLTable::ProcessFormatOptions( SfxItemSet& rItemSet, const ImportInfo& rInfo ) +void ScHTMLTable::ProcessFormatOptions( SfxItemSet& rItemSet, const HtmlImportInfo& rInfo ) { // special handling for table header cells if( rInfo.nToken == HTML_TABLEHEADER_ON ) @@ -2861,10 +2858,10 @@ sal_uLong ScHTMLQueryParser::Read( SvStream& rStrm, const OUString& rBaseURL ) } } - Link<ImportInfo&,void> aOldLink = pEdit->GetImportHdl(); - pEdit->SetImportHdl( LINK( this, ScHTMLQueryParser, HTMLImportHdl ) ); + Link<HtmlImportInfo&,void> aOldLink = pEdit->GetHtmlImportHdl(); + pEdit->SetHtmlImportHdl( LINK( this, ScHTMLQueryParser, HTMLImportHdl ) ); sal_uLong nErr = pEdit->Read( rStrm, rBaseURL, EE_FORMAT_HTML, pAttributes ); - pEdit->SetImportHdl( aOldLink ); + pEdit->SetHtmlImportHdl( aOldLink ); mxGlobTable->Recalc(); nColMax = static_cast< SCCOL >( mxGlobTable->GetDocSize( tdCol ) - 1 ); @@ -2878,7 +2875,7 @@ const ScHTMLTable* ScHTMLQueryParser::GetGlobalTable() const return mxGlobTable.get(); } -void ScHTMLQueryParser::ProcessToken( const ImportInfo& rInfo ) +void ScHTMLQueryParser::ProcessToken( const HtmlImportInfo& rInfo ) { switch( rInfo.nToken ) { @@ -2960,14 +2957,14 @@ void ScHTMLQueryParser::ProcessToken( const ImportInfo& rInfo ) } } -void ScHTMLQueryParser::InsertText( const ImportInfo& rInfo ) +void ScHTMLQueryParser::InsertText( const HtmlImportInfo& rInfo ) { mpCurrTable->PutText( rInfo ); if( mbTitleOn ) maTitle.append(rInfo.aText); } -void ScHTMLQueryParser::FontOn( const ImportInfo& rInfo ) +void ScHTMLQueryParser::FontOn( const HtmlImportInfo& rInfo ) { const HTMLOptions& rOptions = static_cast<HTMLParser*>(rInfo.pParser)->GetOptions(); HTMLOptions::const_iterator itr = rOptions.begin(), itrEnd = rOptions.end(); @@ -3009,7 +3006,7 @@ void ScHTMLQueryParser::FontOn( const ImportInfo& rInfo ) } } -void ScHTMLQueryParser::MetaOn( const ImportInfo& rInfo ) +void ScHTMLQueryParser::MetaOn( const HtmlImportInfo& rInfo ) { if( mpDoc->GetDocumentShell() ) { @@ -3023,13 +3020,13 @@ void ScHTMLQueryParser::MetaOn( const ImportInfo& rInfo ) } } -void ScHTMLQueryParser::TitleOn( const ImportInfo& /*rInfo*/ ) +void ScHTMLQueryParser::TitleOn( const HtmlImportInfo& /*rInfo*/ ) { mbTitleOn = true; maTitle.setLength(0); } -void ScHTMLQueryParser::TitleOff( const ImportInfo& rInfo ) +void ScHTMLQueryParser::TitleOff( const HtmlImportInfo& rInfo ) { if( mbTitleOn ) { @@ -3046,27 +3043,27 @@ void ScHTMLQueryParser::TitleOff( const ImportInfo& rInfo ) } } -void ScHTMLQueryParser::TableOn( const ImportInfo& rInfo ) +void ScHTMLQueryParser::TableOn( const HtmlImportInfo& rInfo ) { mpCurrTable = mpCurrTable->TableOn( rInfo ); } -void ScHTMLQueryParser::TableOff( const ImportInfo& rInfo ) +void ScHTMLQueryParser::TableOff( const HtmlImportInfo& rInfo ) { mpCurrTable = mpCurrTable->TableOff( rInfo ); } -void ScHTMLQueryParser::PreOn( const ImportInfo& rInfo ) +void ScHTMLQueryParser::PreOn( const HtmlImportInfo& rInfo ) { mpCurrTable = mpCurrTable->PreOn( rInfo ); } -void ScHTMLQueryParser::PreOff( const ImportInfo& rInfo ) +void ScHTMLQueryParser::PreOff( const HtmlImportInfo& rInfo ) { mpCurrTable = mpCurrTable->PreOff( rInfo ); } -void ScHTMLQueryParser::CloseTable( const ImportInfo& rInfo ) +void ScHTMLQueryParser::CloseTable( const HtmlImportInfo& rInfo ) { mpCurrTable = mpCurrTable->CloseTable( rInfo ); } @@ -3194,28 +3191,27 @@ void ScHTMLQueryParser::ParseStyle(const OUString& rStrm) } } -IMPL_LINK( ScHTMLQueryParser, HTMLImportHdl, ImportInfo&, rInfo, void ) +IMPL_LINK( ScHTMLQueryParser, HTMLImportHdl, HtmlImportInfo&, rInfo, void ) { switch( rInfo.eState ) { - case HTMLIMP_START: + case HtmlImportState::Start: break; - case HTMLIMP_NEXTTOKEN: - case HTMLIMP_UNKNOWNATTR: + case HtmlImportState::NextToken: ProcessToken( rInfo ); break; - case HTMLIMP_INSERTPARA: + case HtmlImportState::InsertPara: mpCurrTable->InsertPara( rInfo ); break; - case HTMLIMP_SETATTR: - case HTMLIMP_INSERTTEXT: - case HTMLIMP_INSERTFIELD: + case HtmlImportState::SetAttr: + case HtmlImportState::InsertText: + case HtmlImportState::InsertField: break; - case HTMLIMP_END: + case HtmlImportState::End: while( mpCurrTable->GetTableId() != SC_HTML_GLOBAL_TABLE ) CloseTable( rInfo ); break; diff --git a/sc/source/filter/inc/htmlpars.hxx b/sc/source/filter/inc/htmlpars.hxx index d36c70caf763..4c7ee1fca80c 100644 --- a/sc/source/filter/inc/htmlpars.hxx +++ b/sc/source/filter/inc/htmlpars.hxx @@ -175,12 +175,12 @@ private: bool bInCell:1; bool bInTitle:1; - DECL_LINK( HTMLImportHdl, ImportInfo&, void ); + DECL_LINK( HTMLImportHdl, HtmlImportInfo&, void ); void NewActEntry( ScEEParseEntry* ); static void EntryEnd( ScEEParseEntry*, const ESelection& ); - void ProcToken( ImportInfo* ); - void CloseEntry( ImportInfo* ); - void NextRow( ImportInfo* ); + void ProcToken( HtmlImportInfo* ); + void CloseEntry( HtmlImportInfo* ); + void NextRow( HtmlImportInfo* ); void SkipLocked( ScEEParseEntry*, bool bJoin = true ); static bool SeekOffset( ScHTMLColOffset*, sal_uInt16 nOffset, SCCOL* pCol, sal_uInt16 nOffsetTol ); @@ -193,23 +193,23 @@ private: static void ModifyOffset( ScHTMLColOffset*, sal_uInt16& nOldOffset, sal_uInt16& nNewOffset, sal_uInt16 nOffsetTol ); void Colonize( ScEEParseEntry* ); - sal_uInt16 GetWidth( ScEEParseEntry* ); + sal_uInt16 GetWidth( ScEEParseEntry* ); void SetWidths(); void Adjust(); - sal_uInt16 GetWidthPixel( const HTMLOption& ); - bool IsAtBeginningOfText( ImportInfo* ); + sal_uInt16 GetWidthPixel( const HTMLOption& ); + bool IsAtBeginningOfText( HtmlImportInfo* ); - void TableOn( ImportInfo* ); - void ColOn( ImportInfo* ); - void TableRowOn( ImportInfo* ); - void TableRowOff( ImportInfo* ); - void TableDataOn( ImportInfo* ); - void TableDataOff( ImportInfo* ); - void TableOff( ImportInfo* ); - void Image( ImportInfo* ); - void AnchorOn( ImportInfo* ); - void FontOn( ImportInfo* ); + void TableOn( HtmlImportInfo* ); + void ColOn( HtmlImportInfo* ); + void TableRowOn( HtmlImportInfo* ); + void TableRowOff( HtmlImportInfo* ); + void TableDataOn( HtmlImportInfo* ); + void TableDataOff( HtmlImportInfo* ); + void TableOff( HtmlImportInfo* ); + void Image( HtmlImportInfo* ); + void AnchorOn( HtmlImportInfo* ); + void FontOn( HtmlImportInfo* ); public: ScHTMLLayoutParser( EditEngine*, const OUString& rBaseURL, const Size& aPageSize, ScDocument* ); @@ -288,9 +288,9 @@ public: /** Sets or cleares the import always state. */ void SetImportAlways() { mbImportAlways = true; } /** Sets start point of the entry selection to the start of the import info object. */ - void AdjustStart( const ImportInfo& rInfo ); + void AdjustStart( const HtmlImportInfo& rInfo ); /** Sets end point of the entry selection to the end of the import info object. */ - void AdjustEnd( const ImportInfo& rInfo ); + void AdjustEnd( const HtmlImportInfo& rInfo ); /** Deletes leading and trailing empty paragraphs from the entry. */ void Strip( const EditEngine& rEditEngine ); @@ -332,7 +332,7 @@ public: @param bPreFormText true = Table is based on preformatted text (<pre> tag). */ explicit ScHTMLTable( ScHTMLTable& rParentTable, - const ImportInfo& rInfo, + const HtmlImportInfo& rInfo, bool bPreFormText ); virtual ~ScHTMLTable(); @@ -351,9 +351,9 @@ public: /** Puts the item into the item set of the current entry. */ void PutItem( const SfxPoolItem& rItem ); /** Inserts a text portion into current entry. */ - void PutText( const ImportInfo& rInfo ); + void PutText( const HtmlImportInfo& rInfo ); /** Inserts a new line, if in preformatted text, else does nothing. */ - void InsertPara( const ImportInfo& rInfo ); + void InsertPara( const HtmlImportInfo& rInfo ); /** Inserts a line break (<br> tag). @descr Inserts the current entry regardless if it is empty. */ @@ -365,38 +365,38 @@ public: /** Starts a *new* table nested in this table (<table> tag). @return Pointer to the new table. */ - ScHTMLTable* TableOn( const ImportInfo& rInfo ); + ScHTMLTable* TableOn( const HtmlImportInfo& rInfo ); /** Closes *this* table (</table> tag). @return Pointer to the parent table. */ - ScHTMLTable* TableOff( const ImportInfo& rInfo ); + ScHTMLTable* TableOff( const HtmlImportInfo& rInfo ); /** Starts a *new* table based on preformatted text (<pre> tag). @return Pointer to the new table. */ - ScHTMLTable* PreOn( const ImportInfo& rInfo ); + ScHTMLTable* PreOn( const HtmlImportInfo& rInfo ); /** Closes *this* table based on preformatted text (</pre> tag). @return Pointer to the parent table. */ - ScHTMLTable* PreOff( const ImportInfo& rInfo ); + ScHTMLTable* PreOff( const HtmlImportInfo& rInfo ); /** Starts next row (<tr> tag). @descr Cell address is invalid until first call of DataOn(). */ - void RowOn( const ImportInfo& rInfo ); + void RowOn( const HtmlImportInfo& rInfo ); /** Closes the current row (<tr> tag). @descr Cell address is invalid until call of RowOn() and DataOn(). */ - void RowOff( const ImportInfo& rInfo ); + void RowOff( const HtmlImportInfo& rInfo ); /** Starts the next cell (<td> or <th> tag). */ - void DataOn( const ImportInfo& rInfo ); + void DataOn( const HtmlImportInfo& rInfo ); /** Closes the current cell (</td> or </th> tag). @descr Cell address is invalid until next call of DataOn(). */ - void DataOff( const ImportInfo& rInfo ); + void DataOff( const HtmlImportInfo& rInfo ); /** Starts the body of the HTML document (<body> tag). */ - void BodyOn( const ImportInfo& rInfo ); + void BodyOn( const HtmlImportInfo& rInfo ); /** Closes the body of the HTML document (</body> tag). */ - void BodyOff( const ImportInfo& rInfo ); + void BodyOff( const HtmlImportInfo& rInfo ); /** Closes *this* table (</table> tag) or preformatted text (</pre> tag). @descr Used to close this table object regardless on opening tag type. @return Pointer to the parent table, or this, if no parent found. */ - ScHTMLTable* CloseTable( const ImportInfo& rInfo ); + ScHTMLTable* CloseTable( const HtmlImportInfo& rInfo ); /** Returns the resulting document row/column count of the specified HTML row/column. */ SCCOLROW GetDocSize( ScHTMLOrient eOrient, SCCOLROW nCellPos ) const; @@ -453,13 +453,13 @@ private: const SfxItemSet& GetCurrItemSet() const; /** Returns true, if import info represents a space character. */ - static bool IsSpaceCharInfo( const ImportInfo& rInfo ); + static bool IsSpaceCharInfo( const HtmlImportInfo& rInfo ); /** Creates and returns a new empty flying entry at position (0,0). */ ScHTMLEntryPtr CreateEntry() const; /** Creates a new flying entry. @param rInfo Contains the initial edit engine selection for the entry. */ - void CreateNewEntry( const ImportInfo& rInfo ); + void CreateNewEntry( const HtmlImportInfo& rInfo ); /** Inserts an empty line in front of the next entry. */ void InsertLeadingEmptyLine(); @@ -475,7 +475,7 @@ private: @param rInfo The import info struct containing the end position of the current entry. @param bLastInCell true = If cell is still empty, put this entry always. @return true = Entry as been pushed into the current cell; false = Entry dropped. */ - bool PushEntry( const ImportInfo& rInfo, bool bLastInCell = false ); + bool PushEntry( const HtmlImportInfo& rInfo, bool bLastInCell = false ); /** Pushes a new entry into current cell which references a nested table.*/ void PushTableEntry( ScHTMLTableId nTableId ); @@ -486,7 +486,7 @@ private: ScHTMLTable* GetExistingTable( ScHTMLTableId nTableId ) const; /** Inserts a nested table in the current cell at the specified position. @param bPreFormText true = New table is based on preformatted text (<pre> tag). */ - ScHTMLTable* InsertNestedTable( const ImportInfo& rInfo, bool bPreFormText ); + ScHTMLTable* InsertNestedTable( const HtmlImportInfo& rInfo, bool bPreFormText ); /** Inserts a new cell in an unused position, starting from current cell position. */ void InsertNewCell( const ScHTMLSize& rSpanSize ); @@ -501,7 +501,7 @@ private: void ImplDataOff(); /** Inserts additional formatting options from import info into the item set. */ - static void ProcessFormatOptions( SfxItemSet& rItemSet, const ImportInfo& rInfo ); + static void ProcessFormatOptions( SfxItemSet& rItemSet, const HtmlImportInfo& rInfo ); /** Updates the document column/row size of the specified column or row. @descr Only increases the present count, never decreases. */ @@ -577,39 +577,39 @@ public: private: /** Handles all possible tags in the HTML document. */ - void ProcessToken( const ImportInfo& rInfo ); + void ProcessToken( const HtmlImportInfo& rInfo ); /** Inserts a text portion into current entry. */ - void InsertText( const ImportInfo& rInfo ); + void InsertText( const HtmlImportInfo& rInfo ); /** Processes the <font> tag. */ - void FontOn( const ImportInfo& rInfo ); + void FontOn( const HtmlImportInfo& rInfo ); /** Processes the <meta> tag. */ - void MetaOn( const ImportInfo& rInfo ); + void MetaOn( const HtmlImportInfo& rInfo ); /** Opens the title of the HTML document (<title> tag). */ - void TitleOn( const ImportInfo& rInfo ); + void TitleOn( const HtmlImportInfo& rInfo ); /** Closes the title of the HTML document (</title> tag). */ - void TitleOff( const ImportInfo& rInfo ); + void TitleOff( const HtmlImportInfo& rInfo ); /** Opens a new table at the current position. */ - void TableOn( const ImportInfo& rInfo ); + void TableOn( const HtmlImportInfo& rInfo ); /** Closes the current table. */ - void TableOff( const ImportInfo& rInfo ); + void TableOff( const HtmlImportInfo& rInfo ); /** Opens a new table based on preformatted text. */ - void PreOn( const ImportInfo& rInfo ); + void PreOn( const HtmlImportInfo& rInfo ); /** Closes the current preformatted text table. */ - void PreOff( const ImportInfo& rInfo ); + void PreOff( const HtmlImportInfo& rInfo ); /** Closes the current table, regardless on opening tag. */ - void CloseTable( const ImportInfo& rInfo ); + void CloseTable( const HtmlImportInfo& rInfo ); void ParseStyle(const OUString& rStrm); - DECL_LINK( HTMLImportHdl, ImportInfo&, void ); + DECL_LINK( HTMLImportHdl, HtmlImportInfo&, void ); private: typedef ::std::unique_ptr< ScHTMLGlobalTable > ScHTMLGlobalTablePtr; - OUStringBuffer maTitle; /// The title of the document. + OUStringBuffer maTitle; /// The title of the document. ScHTMLGlobalTablePtr mxGlobTable; /// Contains the entire imported document. ScHTMLTable* mpCurrTable; /// Pointer to current table (performance). ScHTMLTableId mnUnusedId; /// First unused table identifier. diff --git a/sc/source/filter/inc/rtfparse.hxx b/sc/source/filter/inc/rtfparse.hxx index ccb79086fd39..ed627fcb6239 100644 --- a/sc/source/filter/inc/rtfparse.hxx +++ b/sc/source/filter/inc/rtfparse.hxx @@ -62,18 +62,18 @@ private: sal_uInt16 nLastWidth; bool bNewDef; - DECL_LINK( RTFImportHdl, ImportInfo&, void ); + DECL_LINK( RTFImportHdl, RtfImportInfo&, void ); inline void NextRow(); void EntryEnd( ScEEParseEntry*, const ESelection& ); - void ProcToken( ImportInfo* ); + void ProcToken( RtfImportInfo* ); void ColAdjust(); bool SeekTwips( sal_uInt16 nTwips, SCCOL* pCol ); - void NewCellRow( ImportInfo* ); + void NewCellRow( RtfImportInfo* ); public: ScRTFParser( EditEngine* ); virtual ~ScRTFParser() override; - virtual sal_uLong Read( SvStream&, const OUString& rBaseURL ) override; + virtual sal_uLong Read( SvStream&, const OUString& rBaseURL ) override; }; #endif diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx index 15fce02a13c0..926efdd480c9 100644 --- a/sc/source/filter/rtf/eeimpars.cxx +++ b/sc/source/filter/rtf/eeimpars.cxx @@ -616,7 +616,7 @@ ScEEParser::ScEEParser( EditEngine* pEditP ) : nColMax(0), nRowMax(0) { - // pPool is foisted on SvxRTFParser at RTFIMP_START later on + // pPool is foisted on SvxRTFParser at RtfImportState::Start later on pPool->SetSecondaryPool( pDocPool ); pPool->FreezeIdRanges(); NewActEntry( nullptr ); diff --git a/sc/source/filter/rtf/rtfparse.cxx b/sc/source/filter/rtf/rtfparse.cxx index 5f9dbdfbe86c..87b2b5cac34a 100644 --- a/sc/source/filter/rtf/rtfparse.cxx +++ b/sc/source/filter/rtf/rtfparse.cxx @@ -56,8 +56,8 @@ ScRTFParser::~ScRTFParser() sal_uLong ScRTFParser::Read( SvStream& rStream, const OUString& rBaseURL ) { - Link<ImportInfo&,void> aOldLink = pEdit->GetImportHdl(); - pEdit->SetImportHdl( LINK( this, ScRTFParser, RTFImportHdl ) ); + 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 ) { @@ -81,7 +81,7 @@ sal_uLong ScRTFParser::Read( SvStream& rStream, const OUString& rBaseURL ) } } ColAdjust(); - pEdit->SetImportHdl( aOldLink ); + pEdit->SetRtfImportHdl( aOldLink ); return nErr; } @@ -152,17 +152,17 @@ void ScRTFParser::ColAdjust() } } -IMPL_LINK( ScRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) +IMPL_LINK( ScRTFParser, RTFImportHdl, RtfImportInfo&, rInfo, void ) { switch ( rInfo.eState ) { - case RTFIMP_NEXTTOKEN: + case RtfImportState::NextToken: ProcToken( &rInfo ); break; - case RTFIMP_UNKNOWNATTR: + case RtfImportState::UnknownAttr: ProcToken( &rInfo ); break; - case RTFIMP_START: + case RtfImportState::Start: { SvxRTFParser* pParser = static_cast<SvxRTFParser*>(rInfo.pParser); pParser->SetAttrPool( pPool ); @@ -172,7 +172,7 @@ IMPL_LINK( ScRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) rMap.nShadow = ATTR_SHADOW; } break; - case RTFIMP_END: + case RtfImportState::End: if ( rInfo.aSelection.nEndPos ) { // If still text: create last paragraph pActDefault = nullptr; @@ -183,11 +183,11 @@ IMPL_LINK( ScRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) ProcToken( &rInfo ); } break; - case RTFIMP_SETATTR: + case RtfImportState::SetAttr: break; - case RTFIMP_INSERTTEXT: + case RtfImportState::InsertText: break; - case RTFIMP_INSERTPARA: + case RtfImportState::InsertPara: break; default: OSL_FAIL("unknown ImportInfo.eState"); @@ -197,7 +197,7 @@ IMPL_LINK( ScRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) // Bad behavior: // For RTF_INTBL or respectively at the start of the first RTF_CELL // after RTF_CELLX if there was no RTF_INTBL -void ScRTFParser::NewCellRow( ImportInfo* /*pInfo*/ ) +void ScRTFParser::NewCellRow( RtfImportInfo* /*pInfo*/ ) { if ( bNewDef ) { @@ -261,7 +261,7 @@ void ScRTFParser::NewCellRow( ImportInfo* /*pInfo*/ ) */ -void ScRTFParser::ProcToken( ImportInfo* pInfo ) +void ScRTFParser::ProcToken( RtfImportInfo* pInfo ) { switch ( pInfo->nToken ) { diff --git a/svx/source/table/tablertfimporter.cxx b/svx/source/table/tablertfimporter.cxx index fa6c5e091c8a..5dad05c6104f 100644 --- a/svx/source/table/tablertfimporter.cxx +++ b/svx/source/table/tablertfimporter.cxx @@ -85,18 +85,18 @@ public: void Read( SvStream& rStream ); - void ProcToken( ImportInfo* pInfo ); + void ProcToken( RtfImportInfo* pInfo ); void NextRow(); void NextColumn(); void NewCellRow(); - void InsertCell( ImportInfo* pInfo ); + void InsertCell( RtfImportInfo* pInfo ); void InsertColumnEdge( sal_Int32 nEdge ); void FillTable(); - DECL_LINK( RTFImportHdl, ImportInfo&, void ); + DECL_LINK( RTFImportHdl, RtfImportInfo&, void ); private: SdrTableObj& mrTableObj; @@ -161,25 +161,25 @@ void SdrTableRTFParser::Read( SvStream& rStream ) { EditEngine& rEdit = const_cast< EditEngine& >( mpOutliner->GetEditEngine() ); - Link<ImportInfo&,void> aOldLink( rEdit.GetImportHdl() ); - rEdit.SetImportHdl( LINK( this, SdrTableRTFParser, RTFImportHdl ) ); + Link<RtfImportInfo&,void> aOldLink( rEdit.GetRtfImportHdl() ); + rEdit.SetRtfImportHdl( LINK( this, SdrTableRTFParser, RTFImportHdl ) ); mpOutliner->Read( rStream, OUString(), EE_FORMAT_RTF ); - rEdit.SetImportHdl( aOldLink ); + rEdit.SetRtfImportHdl( aOldLink ); FillTable(); } -IMPL_LINK( SdrTableRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) +IMPL_LINK( SdrTableRTFParser, RTFImportHdl, RtfImportInfo&, rInfo, void ) { switch ( rInfo.eState ) { - case RTFIMP_NEXTTOKEN: + case RtfImportState::NextToken: ProcToken( &rInfo ); break; - case RTFIMP_UNKNOWNATTR: + case RtfImportState::UnknownAttr: ProcToken( &rInfo ); break; - case RTFIMP_START: + case RtfImportState::Start: { SvxRTFParser* pParser = static_cast<SvxRTFParser*>(rInfo.pParser); pParser->SetAttrPool( &mrItemPool ); @@ -187,7 +187,7 @@ IMPL_LINK( SdrTableRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) rMap.nBox = SDRATTR_TABLE_BORDER; } break; - case RTFIMP_END: + case RtfImportState::End: if ( rInfo.aSelection.nEndPos ) { mpActDefault = nullptr; @@ -196,11 +196,9 @@ IMPL_LINK( SdrTableRTFParser, RTFImportHdl, ImportInfo&, rInfo, void ) ProcToken( &rInfo ); } break; - case RTFIMP_SETATTR: - break; - case RTFIMP_INSERTTEXT: - break; - case RTFIMP_INSERTPARA: + case RtfImportState::SetAttr: + case RtfImportState::InsertText: + case RtfImportState::InsertPara: break; default: SAL_WARN( "svx.table","unknown ImportInfo.eState"); @@ -214,7 +212,7 @@ void SdrTableRTFParser::NextRow() ++mnRowCnt; } -void SdrTableRTFParser::InsertCell( ImportInfo* pInfo ) +void SdrTableRTFParser::InsertCell( RtfImportInfo* pInfo ) { RTFCellInfoPtr xCellInfo( new RTFCellInfo(mrItemPool) ); @@ -390,7 +388,7 @@ long TwipsToHundMM( long nIn ) return nRet; } -void SdrTableRTFParser::ProcToken( ImportInfo* pInfo ) +void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo ) { switch ( pInfo->nToken ) { |