From 2af1f5691e8d64afd5246d245d7876b5a2cd5cd8 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Wed, 8 May 2013 18:12:32 +0200 Subject: resolved fdo#35756 import more than 64k HTML table cells Enhanced EditEngine to be able to hold more than 64k paragraphs. Used also in RTF import Calc and Writer, so that could benefit as well. * changed all EditEngine,Outliner,... related paragraph index/count variables from sal_uInt16 to sal_Int32 * sal_Int32 instead of sal_uInt32 to match accessibility API * matched some Outliner methods' paragraph parameters from sal_uLong to sal_Int32 * containers capable to hold size_t nevertheless are limited to a maximum of sal_Int32 * changed definition of EE_PARA_NOT_FOUND and EE_PARA_ALL to SAL_MAX_INT32 + added EE_PARA_MAX_COUNT and EE_TEXTPOS_MAX_COUNT to initialize ESelection with what previously were hard coded 0xFFFF all over the place + for similar reason added EE_TEXTPOS_ALL corresponding to EE_PARA_ALL to initialize an ESelection spanning all available text like aSel(0,0,EE_PARA_ALL,EE_TEXTPOS_ALL) Change-Id: I62d1b9c399cd709a4f93dbac31b219a61c46ec00 Reviewed-on: https://gerrit.libreoffice.org/3838 Tested-by: LibreOffice gerrit bot Reviewed-by: Eike Rathke Tested-by: Eike Rathke --- svx/source/svdraw/svdedxv.cxx | 17 ++++++++--------- svx/source/svdraw/svdomeas.cxx | 2 +- svx/source/svdraw/svdotext.cxx | 4 ++-- svx/source/svdraw/svdotextpathdecomposition.cxx | 8 ++++---- svx/source/svdraw/svdotxat.cxx | 12 ++++++------ svx/source/svdraw/svdotxed.cxx | 2 +- svx/source/svdraw/svdotxfl.cxx | 2 +- svx/source/svdraw/svdoutl.cxx | 2 +- svx/source/svdraw/svdview.cxx | 4 ++-- 9 files changed, 26 insertions(+), 27 deletions(-) (limited to 'svx/source/svdraw') diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx index 046531981b78..8e4be83c0ec1 100644 --- a/svx/source/svdraw/svdedxv.cxx +++ b/svx/source/svdraw/svdedxv.cxx @@ -1274,11 +1274,11 @@ sal_Bool SdrObjEditView::ImpIsTextEditAllSelected() const { if(SdrTextObj::HasTextImpl( pTextEditOutliner ) ) { - const sal_uInt32 nParaAnz=pTextEditOutliner->GetParagraphCount(); + const sal_Int32 nParaAnz=pTextEditOutliner->GetParagraphCount(); Paragraph* pLastPara=pTextEditOutliner->GetParagraph( nParaAnz > 1 ? nParaAnz - 1 : 0 ); ESelection aESel(pTextEditOutlinerView->GetSelection()); - if (aESel.nStartPara==0 && aESel.nStartPos==0 && aESel.nEndPara==sal_uInt16(nParaAnz-1)) + if (aESel.nStartPara==0 && aESel.nStartPos==0 && aESel.nEndPara==(nParaAnz-1)) { XubString aStr(pTextEditOutliner->GetText(pLastPara)); @@ -1286,7 +1286,7 @@ sal_Bool SdrObjEditView::ImpIsTextEditAllSelected() const bRet = sal_True; } // in case the selection was done backwards - if (!bRet && aESel.nEndPara==0 && aESel.nEndPos==0 && aESel.nStartPara==sal_uInt16(nParaAnz-1)) + if (!bRet && aESel.nEndPara==0 && aESel.nEndPos==0 && aESel.nStartPara==(nParaAnz-1)) { XubString aStr(pTextEditOutliner->GetText(pLastPara)); @@ -1572,9 +1572,8 @@ sal_Bool SdrObjEditView::SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDon { Outliner* pOutliner = pTextEditOutlinerView->GetOutliner(); - const sal_uIntPtr nParaCount = pOutliner->GetParagraphCount(); - sal_uIntPtr nPara; - for( nPara = 0; nPara < nParaCount; nPara++ ) + const sal_Int32 nParaCount = pOutliner->GetParagraphCount(); + for( sal_Int32 nPara = 0; nPara < nParaCount; nPara++ ) { pOutliner->SetStyleSheet( nPara, pStyleSheet ); } @@ -1938,11 +1937,11 @@ void SdrObjEditView::ApplyFormatPaintBrushToText( SfxItemSet& rFormatSet, SdrTex SdrOutliner& rOutliner = rTextObj.ImpGetDrawOutliner(); rOutliner.SetText(*pParaObj); - sal_uInt32 nParaCount(rOutliner.GetParagraphCount()); + sal_Int32 nParaCount(rOutliner.GetParagraphCount()); if(nParaCount) { - for(sal_uInt16 nPara = 0; nPara < nParaCount; nPara++) + for(sal_Int32 nPara = 0; nPara < nParaCount; nPara++) { if( !bNoCharacterFormats ) rOutliner.QuickRemoveCharAttribs( nPara, /* remove all */0 ); @@ -1952,7 +1951,7 @@ void SdrObjEditView::ApplyFormatPaintBrushToText( SfxItemSet& rFormatSet, SdrTex rOutliner.SetParaAttribs(nPara, aSet); } - OutlinerParaObject* pTemp = rOutliner.CreateParaObject(0, (sal_uInt16)nParaCount); + OutlinerParaObject* pTemp = rOutliner.CreateParaObject(0, nParaCount); rOutliner.Clear(); rTextObj.NbcSetOutlinerParaObjectForText(pTemp,pText); diff --git a/svx/source/svdraw/svdomeas.cxx b/svx/source/svdraw/svdomeas.cxx index dc2868c78c27..02599bb73d41 100644 --- a/svx/source/svdraw/svdomeas.cxx +++ b/svx/source/svdraw/svdomeas.cxx @@ -571,7 +571,7 @@ basegfx::B2DPolyPolygon SdrMeasureObj::ImpCalcXPoly(const ImpMeasurePoly& rPol) return aRetval; } -bool SdrMeasureObj::CalcFieldValue(const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, +bool SdrMeasureObj::CalcFieldValue(const SvxFieldItem& rField, sal_Int32 nPara, sal_uInt16 nPos, bool bEdit, Color*& rpTxtColor, Color*& rpFldColor, XubString& rRet) const { diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index 20551221b7d1..23b04e78cc17 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -465,7 +465,7 @@ bool SdrTextObj::HasTextImpl( SdrOutliner* pOutliner ) if(pOutliner) { Paragraph* p1stPara=pOutliner->GetParagraph( 0 ); - sal_uIntPtr nParaAnz=pOutliner->GetParagraphCount(); + sal_Int32 nParaAnz=pOutliner->GetParagraphCount(); if(p1stPara==NULL) nParaAnz=0; @@ -840,7 +840,7 @@ OutlinerParaObject* SdrTextObj::GetEditOutlinerParaObject() const OutlinerParaObject* pPara=NULL; if( HasTextImpl( pEdtOutl ) ) { - sal_uInt16 nParaAnz = static_cast< sal_uInt16 >( pEdtOutl->GetParagraphCount() ); + sal_Int32 nParaAnz = pEdtOutl->GetParagraphCount(); pPara = pEdtOutl->CreateParaObject(0, nParaAnz); } return pPara; diff --git a/svx/source/svdraw/svdotextpathdecomposition.cxx b/svx/source/svdraw/svdotextpathdecomposition.cxx index 2bb9e7a6193a..097b47639177 100644 --- a/svx/source/svdraw/svdotextpathdecomposition.cxx +++ b/svx/source/svdraw/svdotextpathdecomposition.cxx @@ -74,7 +74,7 @@ namespace String maText; xub_StrLen mnTextStart; xub_StrLen mnTextLength; - sal_uInt16 mnParagraph; + sal_Int32 mnParagraph; xub_StrLen mnIndex; SvxFont maFont; ::std::vector< double > maDblDXArray; // double DXArray, font size independent -> unit coordinate system @@ -127,7 +127,7 @@ namespace const String& getText() const { return maText; } xub_StrLen getTextStart() const { return mnTextStart; } xub_StrLen getTextLength() const { return mnTextLength; } - sal_uInt16 getParagraph() const { return mnParagraph; } + sal_Int32 getParagraph() const { return mnParagraph; } xub_StrLen getIndex() const { return mnIndex; } const SvxFont& getFont() const { return maFont; } bool isRTL() const { return mbRTL; } @@ -705,7 +705,7 @@ void SdrTextObj::impDecomposePathTextPrimitive( // get loop count sal_uInt32 nLoopCount(rPathPolyPolygon.count()); - if(rOutliner.GetParagraphCount() < nLoopCount) + if(static_cast(rOutliner.GetParagraphCount()) < nLoopCount) { nLoopCount = rOutliner.GetParagraphCount(); } @@ -730,7 +730,7 @@ void SdrTextObj::impDecomposePathTextPrimitive( { const impPathTextPortion& rCandidate = rPathTextPortions[b]; - if(rCandidate.getParagraph() == a) + if(static_cast(rCandidate.getParagraph()) == a) { aParagraphTextPortions.push_back(&rCandidate); } diff --git a/svx/source/svdraw/svdotxat.cxx b/svx/source/svdraw/svdotxat.cxx index c2604d2bd49f..f532a3c65e22 100644 --- a/svx/source/svdraw/svdotxat.cxx +++ b/svx/source/svdraw/svdotxat.cxx @@ -234,9 +234,9 @@ void SdrTextObj::ImpSetTextStyleSheetListeners() const EditTextObject& rTextObj=pOutlinerParaObject->GetTextObject(); XubString aStyleName; SfxStyleFamily eStyleFam; - sal_uInt16 nParaAnz=rTextObj.GetParagraphCount(); + sal_Int32 nParaAnz=rTextObj.GetParagraphCount(); - for(sal_uInt16 nParaNum(0); nParaNum < nParaAnz; nParaNum++) + for(sal_Int32 nParaNum(0); nParaNum < nParaAnz; nParaNum++) { rTextObj.GetStyleSheet(nParaNum, aStyleName, eStyleFam); @@ -335,7 +335,7 @@ void SdrTextObj::RemoveOutlinerCharacterAttribs( const std::vector& pOutliner->SetText(*pOutlinerParaObject); } - ESelection aSelAll( 0, 0, 0xffff, 0xffff ); + ESelection aSelAll( 0, 0, EE_PARA_ALL, EE_TEXTPOS_ALL ); std::vector::const_iterator aIter( rCharWhichIds.begin() ); while( aIter != rCharWhichIds.end() ) { @@ -344,8 +344,8 @@ void SdrTextObj::RemoveOutlinerCharacterAttribs( const std::vector& if(!pEdtOutl || (pText != getActiveText()) ) { - const sal_uInt32 nParaCount = pOutliner->GetParagraphCount(); - OutlinerParaObject* pTemp = pOutliner->CreateParaObject(0, (sal_uInt16)nParaCount); + const sal_Int32 nParaCount = pOutliner->GetParagraphCount(); + OutlinerParaObject* pTemp = pOutliner->CreateParaObject(0, nParaCount); pOutliner->Clear(); NbcSetOutlinerParaObjectForText(pTemp, pText); } @@ -364,7 +364,7 @@ bool SdrTextObj::HasText() const if( pOPO ) { const EditTextObject& rETO = pOPO->GetTextObject(); - sal_uInt16 nParaCount = rETO.GetParagraphCount(); + sal_Int32 nParaCount = rETO.GetParagraphCount(); if( nParaCount > 0 ) bHasText = (nParaCount > 1) || (rETO.GetText( 0 ).Len() != 0); diff --git a/svx/source/svdraw/svdotxed.cxx b/svx/source/svdraw/svdotxed.cxx index dc60325662c9..7efe8d1d61d2 100644 --- a/svx/source/svdraw/svdotxed.cxx +++ b/svx/source/svdraw/svdotxed.cxx @@ -234,7 +234,7 @@ void SdrTextObj::EndTextEdit(SdrOutliner& rOutl) // to make the gray field background vanish again rOutl.UpdateFields(); - sal_uInt16 nParaAnz = static_cast< sal_uInt16 >( rOutl.GetParagraphCount() ); + sal_Int32 nParaAnz = rOutl.GetParagraphCount(); pNewText = rOutl.CreateParaObject( 0, nParaAnz ); // need to end edit mode early since SetOutlinerParaObject already diff --git a/svx/source/svdraw/svdotxfl.cxx b/svx/source/svdraw/svdotxfl.cxx index d83419f590d9..264f5e4ac36c 100644 --- a/svx/source/svdraw/svdotxfl.cxx +++ b/svx/source/svdraw/svdotxfl.cxx @@ -40,7 +40,7 @@ void SdrRegisterFieldClasses() ///////////////////////////////////////////////////////////////////////////////////////////////// */ -bool SdrTextObj::CalcFieldValue(const SvxFieldItem& /*rField*/, sal_uInt16 /*nPara*/, sal_uInt16 /*nPos*/, +bool SdrTextObj::CalcFieldValue(const SvxFieldItem& /*rField*/, sal_Int32 /*nPara*/, sal_uInt16 /*nPos*/, bool /*bEdit*/, Color*& /*rpTxtColor*/, Color*& /*rpFldColor*/, XubString& /*rRet*/) const { return false; diff --git a/svx/source/svdraw/svdoutl.cxx b/svx/source/svdraw/svdoutl.cxx index da979b29b67c..9439514608a9 100644 --- a/svx/source/svdraw/svdoutl.cxx +++ b/svx/source/svdraw/svdoutl.cxx @@ -74,7 +74,7 @@ void SdrOutliner::SetTextObjNoInit( const SdrTextObj* pObj ) mpTextObj.reset( const_cast< SdrTextObj* >(pObj) ); } -OUString SdrOutliner::CalcFieldValue(const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, +OUString SdrOutliner::CalcFieldValue(const SvxFieldItem& rField, sal_Int32 nPara, sal_uInt16 nPos, Color*& rpTxtColor, Color*& rpFldColor) { bool bOk = false; diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx index 65616bd8d0c0..ea1c73700395 100644 --- a/svx/source/svdraw/svdview.cxx +++ b/svx/source/svdraw/svdview.cxx @@ -1225,7 +1225,7 @@ XubString SdrView::GetStatusText() ESelection aSel(pTextEditOutlinerView->GetSelection()); long nPar=aSel.nEndPara,nLin=0,nCol=aSel.nEndPos; if (aSel.nEndPara>0) { - for (sal_uInt16 nParaNum=0; nParaNumGetLineCount(nParaNum); } } @@ -1341,7 +1341,7 @@ SdrViewContext SdrView::GetContext() const void SdrView::MarkAll() { if (IsTextEdit()) { - GetTextEditOutlinerView()->SetSelection(ESelection(0,0,0xFFFF,0xFFFF)); + GetTextEditOutlinerView()->SetSelection(ESelection(0,0,EE_PARA_ALL,EE_TEXTPOS_ALL)); #ifdef DBG_UTIL if (pItemBrowser!=NULL) pItemBrowser->SetDirty(); #endif -- cgit 'libreoffice-6-3-0'>libreoffice-6-3-0 LibreOffice 界面翻译代码仓库文档基金会
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndras Timar <timar@fsf.hu>2011-03-23 14:26:24 +0100
committerAndras Timar <timar@fsf.hu>2011-03-23 14:26:24 +0100
commit801f7d9554e3724f6962a3b16b576e155b06c2e8 (patch)
treefd2b09a773834cc84d79ab0b4e0a0e96ac985478 /translations/source/af/officecfg
parentcd96b0497ed1f08e3c7fb57fbdcdc0c8e435559b (diff)
add .gitignore here