summaryrefslogtreecommitdiff
path: root/svx/source/svdraw
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2013-05-08 18:12:32 +0200
committerEike Rathke <erack@redhat.com>2013-05-10 14:01:38 +0000
commit2af1f5691e8d64afd5246d245d7876b5a2cd5cd8 (patch)
treee8a51d852010730d4af4a14d445664cf8ee6475c /svx/source/svdraw
parentebef182253e7d49c5439ab5053a7243ad24207a7 (diff)
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 <gerrit@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r--svx/source/svdraw/svdedxv.cxx17
-rw-r--r--svx/source/svdraw/svdomeas.cxx2
-rw-r--r--svx/source/svdraw/svdotext.cxx4
-rw-r--r--svx/source/svdraw/svdotextpathdecomposition.cxx8
-rw-r--r--svx/source/svdraw/svdotxat.cxx12
-rw-r--r--svx/source/svdraw/svdotxed.cxx2
-rw-r--r--svx/source/svdraw/svdotxfl.cxx2
-rw-r--r--svx/source/svdraw/svdoutl.cxx2
-rw-r--r--svx/source/svdraw/svdview.cxx4
9 files changed, 26 insertions, 27 deletions
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<sal_uInt32>(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<sal_uInt32>(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<sal_uInt16>&
pOutliner->SetText(*pOutlinerParaObject);
}
- ESelection aSelAll( 0, 0, 0xffff, 0xffff );
+ ESelection aSelAll( 0, 0, EE_PARA_ALL, EE_TEXTPOS_ALL );
std::vector<sal_uInt16>::const_iterator aIter( rCharWhichIds.begin() );
while( aIter != rCharWhichIds.end() )
{
@@ -344,8 +344,8 @@ void SdrTextObj::RemoveOutlinerCharacterAttribs( const std::vector<sal_uInt16>&
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; nParaNum<aSel.nEndPara; nParaNum++) {
+ for (sal_Int32 nParaNum=0; nParaNum<aSel.nEndPara; nParaNum++) {
nLin+=pTextEditOutliner->GetLineCount(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