accessibility/source/extended/textwindowaccessibility.cxx | 40 - basctl/source/basicide/baside2.cxx | 33 - basctl/source/basicide/baside2b.cxx | 24 basctl/source/basicide/linenumberwindow.cxx | 10 cui/source/dialogs/SpellDialog.cxx | 4 desktop/source/deployment/gui/license_dialog.cxx | 4 include/svtools/svmedit2.hxx | 2 include/vcl/textdata.hxx | 15 include/vcl/texteng.hxx | 106 ++-- include/vcl/throbber.hxx | 1 sfx2/source/control/thumbnailviewitem.cxx | 4 svtools/source/edit/editsyntaxhighlighter.cxx | 11 svtools/source/edit/svmedit2.cxx | 2 sw/source/ui/dbui/mmaddressblockpage.cxx | 18 sw/source/uibase/docvw/srcedtw.cxx | 2 sw/source/uibase/uiview/srcview.cxx | 8 vcl/source/control/combobox.cxx | 6 vcl/source/control/field2.cxx | 12 vcl/source/control/ilstbox.cxx | 30 - vcl/source/control/longcurr.cxx | 4 vcl/source/control/throbber.cxx | 10 vcl/source/edit/textdat2.hxx | 125 ++-- vcl/source/edit/textdata.cxx | 33 - vcl/source/edit/textdoc.cxx | 44 - vcl/source/edit/textdoc.hxx | 14 vcl/source/edit/texteng.cxx | 369 ++++++-------- vcl/source/edit/textund2.hxx | 16 vcl/source/edit/textundo.cxx | 10 vcl/source/edit/textview.cxx | 55 -- vcl/source/edit/vclmedit.cxx | 31 - vcl/source/edit/xtextedt.cxx | 16 31 files changed, 517 insertions(+), 542 deletions(-)
New commits: commit 98244c3cb47824babc746ebc14a199977e9768d1 Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 19:35:32 2015 +0200 sal_uLong to sal_Int32/long Change-Id: Ia4ae190da37351b8c2b7ee9fc953508c5b1ab062 diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index 65b6bf4..1aa1aa6 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -743,11 +743,11 @@ void ModulWindow::EditMacro( const OUString& rMacroName ) TextView * pView = GetEditView(); // scroll if applicable so that first line is at the top long nVisHeight = GetOutputSizePixel().Height(); - if ( (long)pView->GetTextEngine()->GetTextHeight() > nVisHeight ) + if ( pView->GetTextEngine()->GetTextHeight() > nVisHeight ) { - long nMaxY = (long)pView->GetTextEngine()->GetTextHeight() - nVisHeight; + long nMaxY = pView->GetTextEngine()->GetTextHeight() - nVisHeight; long nOldStartY = pView->GetStartDocPos().Y(); - long nNewStartY = (long)nStart * (long)pView->GetTextEngine()->GetCharHeight(); + long nNewStartY = (long)nStart * pView->GetTextEngine()->GetCharHeight(); nNewStartY = std::min( nNewStartY, nMaxY ); pView->Scroll( 0, -(nNewStartY-nOldStartY) ); pView->ShowCursor( false ); diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index 106e923..d1a29ae 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -1107,11 +1107,11 @@ void EditorWindow::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint ) { if ( rModulWindow.GetHScrollBar() ) { - sal_uLong nWidth = pEditEngine->CalcTextWidth(); - if ( (long)nWidth != nCurTextWidth ) + const long nWidth = pEditEngine->CalcTextWidth(); + if ( nWidth != nCurTextWidth ) { nCurTextWidth = nWidth; - rModulWindow.GetHScrollBar()->SetRange( Range( 0, (long)nCurTextWidth-1) ); + rModulWindow.GetHScrollBar()->SetRange( Range( 0, nCurTextWidth-1) ); rModulWindow.GetHScrollBar()->SetThumbPos( pEditView->GetStartDocPos().X() ); } } diff --git a/desktop/source/deployment/gui/license_dialog.cxx b/desktop/source/deployment/gui/license_dialog.cxx index f37082e..cc1621a 100644 --- a/desktop/source/deployment/gui/license_dialog.cxx +++ b/desktop/source/deployment/gui/license_dialog.cxx @@ -161,11 +161,11 @@ bool LicenseView::IsEndReached() const ExtTextView* pView = GetTextView(); ExtTextEngine* pEdit = GetTextEngine(); - sal_uLong nHeight = pEdit->GetTextHeight(); + const long nHeight = pEdit->GetTextHeight(); Size aOutSize = pView->GetWindow()->GetOutputSizePixel(); Point aBottom( 0, aOutSize.Height() ); - if ( (sal_uLong) pView->GetDocPos( aBottom ).Y() >= nHeight - 1 ) + if ( pView->GetDocPos( aBottom ).Y() >= nHeight - 1 ) bEndReached = true; else bEndReached = false; diff --git a/include/vcl/texteng.hxx b/include/vcl/texteng.hxx index 9227e4b..8d8e7f7 100644 --- a/include/vcl/texteng.hxx +++ b/include/vcl/texteng.hxx @@ -118,11 +118,11 @@ private: long mnCharHeight; sal_uInt16 mnFixCharWidth100; - sal_uLong mnMaxTextLen; - sal_uLong mnMaxTextWidth; - sal_uLong mnCurTextWidth; - sal_uLong mnCurTextHeight; - sal_uLong mnDefTab; + sal_Int32 mnMaxTextLen; + long mnMaxTextWidth; + long mnCurTextWidth; + long mnCurTextHeight; + long mnDefTab; TxtAlign meAlign; @@ -206,10 +206,10 @@ protected: static void ImpInitLayoutMode( OutputDevice* pOutDev, bool bDrawingR2LPortion = false ); TxtAlign ImpGetAlign() const; - sal_uLong CalcTextHeight(); - sal_uLong CalcParaHeight( sal_uInt32 nParagraph ) const; - sal_uLong CalcTextWidth( sal_uInt32 nPara ); - sal_uLong CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nPortionLen, const vcl::Font* pFont = 0 ); + long CalcTextHeight(); + long CalcParaHeight( sal_uInt32 nParagraph ) const; + long CalcTextWidth( sal_uInt32 nPara ); + long CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nPortionLen, const vcl::Font* pFont = 0 ); Range GetInvalidYOffsets( sal_uInt32 nPortion ); // for Undo/Redo @@ -231,8 +231,8 @@ public: OUString GetTextLines( LineEnd aSeparator = LINEEND_LF ) const; void ReplaceText(const TextSelection& rSel, const OUString& rText); - sal_uLong GetTextLen( LineEnd aSeparator = LINEEND_LF ) const; - sal_uLong GetTextLen( const TextSelection& rSel, LineEnd aSeparator = LINEEND_LF ) const; + sal_Int32 GetTextLen( LineEnd aSeparator = LINEEND_LF ) const; + sal_Int32 GetTextLen( const TextSelection& rSel, LineEnd aSeparator = LINEEND_LF ) const; void SetFont( const vcl::Font& rFont ); const vcl::Font& GetFont() const { return maFont; } @@ -249,20 +249,20 @@ public: TextView* GetActiveView() const { return mpActiveView;} void SetActiveView( TextView* pView ); - void SetMaxTextLen( sal_uLong nLen ); - sal_uLong GetMaxTextLen() const { return mnMaxTextLen; } + void SetMaxTextLen( sal_Int32 nLen ); + sal_Int32 GetMaxTextLen() const { return mnMaxTextLen; } - void SetMaxTextWidth( sal_uLong nWidth ); - sal_uLong GetMaxTextWidth() const { return mnMaxTextWidth; } + void SetMaxTextWidth( long nWidth ); + long GetMaxTextWidth() const { return mnMaxTextWidth; } - sal_uLong GetTextHeight() const; - sal_uLong CalcTextWidth(); + long GetTextHeight() const; + long CalcTextWidth(); long GetCharHeight() const { return mnCharHeight; } sal_uInt32 GetParagraphCount() const; OUString GetText( sal_uInt32 nParagraph ) const; sal_Int32 GetTextLen( sal_uInt32 nParagraph ) const; - sal_uLong GetTextHeight( sal_uInt32 nParagraph ) const; + long GetTextHeight( sal_uInt32 nParagraph ) const; sal_uInt16 GetLineCount( sal_uInt32 nParagraph ) const; sal_Int32 GetLineLen( sal_uInt32 nParagraph, sal_uInt16 nLine ) const; diff --git a/sw/source/uibase/docvw/srcedtw.cxx b/sw/source/uibase/docvw/srcedtw.cxx index b67fb36..4665d84 100644 --- a/sw/source/uibase/docvw/srcedtw.cxx +++ b/sw/source/uibase/docvw/srcedtw.cxx @@ -755,7 +755,7 @@ void SwSrcEditWindow::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint ) } else if( rTextHint.GetId() == TEXT_HINT_TEXTHEIGHTCHANGED ) { - if ( (long)pTextEngine->GetTextHeight() < pOutWin->GetOutputSizePixel().Height() ) + if ( pTextEngine->GetTextHeight() < pOutWin->GetOutputSizePixel().Height() ) pTextView->Scroll( 0, pTextView->GetStartDocPos().Y() ); pVScrollbar->SetThumbPos( pTextView->GetStartDocPos().Y() ); SetScrollBarRanges(); diff --git a/vcl/source/edit/textdoc.cxx b/vcl/source/edit/textdoc.cxx index 10315ef..2398fff 100644 --- a/vcl/source/edit/textdoc.cxx +++ b/vcl/source/edit/textdoc.cxx @@ -453,9 +453,9 @@ OUString TextDoc::GetText( sal_uInt32 nPara ) const return OUString(); } -sal_uLong TextDoc::GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel ) const +sal_Int32 TextDoc::GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel ) const { - sal_uLong nLen = 0; + sal_Int32 nLen = 0; sal_uInt32 nNodes = static_cast<sal_uInt32>(maTextNodes.size()); if ( nNodes ) { diff --git a/vcl/source/edit/textdoc.hxx b/vcl/source/edit/textdoc.hxx index 25095b1..8f19ee5 100644 --- a/vcl/source/edit/textdoc.hxx +++ b/vcl/source/edit/textdoc.hxx @@ -113,7 +113,7 @@ public: TextPaM InsertParaBreak( const TextPaM& rPaM, bool bKeepEndingAttribs ); TextPaM ConnectParagraphs( TextNode* pLeft, TextNode* pRight ); - sal_uLong GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel = NULL ) const; + sal_Int32 GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel = NULL ) const; OUString GetText( const sal_Unicode* pSep ) const; OUString GetText( sal_uInt32 nPara ) const; diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index 90343f1..abacae2 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -84,7 +84,7 @@ TextEngine::TextEngine() mnMaxTextWidth = 0; mnMaxTextLen = 0; - mnCurTextWidth = 0xFFFFFFFF; + mnCurTextWidth = -1; mnCurTextHeight = 0; mpUndoManager = NULL; @@ -199,7 +199,7 @@ void TextEngine::SetFont( const vcl::Font& rFont ) if ( !aTextSize.Width() ) aTextSize.Width() = mpRefDev->GetTextWidth(OUString("XXXX")); - mnDefTab = (sal_uInt16)aTextSize.Width(); + mnDefTab = aTextSize.Width(); if ( !mnDefTab ) mnDefTab = 1; mnCharHeight = aTextSize.Height(); @@ -216,16 +216,16 @@ void TextEngine::SetFont( const vcl::Font& rFont ) } } -void TextEngine::SetMaxTextLen( sal_uLong nLen ) +void TextEngine::SetMaxTextLen( sal_Int32 nLen ) { mnMaxTextLen = nLen; } -void TextEngine::SetMaxTextWidth( sal_uLong nMaxWidth ) +void TextEngine::SetMaxTextWidth( long nMaxWidth ) { if ( nMaxWidth != mnMaxTextWidth ) { - mnMaxTextWidth = std::min( nMaxWidth, (sal_uLong)0x7FFFFFFF ); + mnMaxTextWidth = nMaxWidth; FormatFullDoc(); UpdateViews(); } @@ -284,12 +284,12 @@ OUString TextEngine::GetText( sal_uInt32 nPara ) const return mpDoc->GetText( nPara ); } -sal_uLong TextEngine::GetTextLen( LineEnd aSeparator ) const +sal_Int32 TextEngine::GetTextLen( LineEnd aSeparator ) const { return mpDoc->GetTextLen( static_getLineEndText( aSeparator ) ); } -sal_uLong TextEngine::GetTextLen( const TextSelection& rSel, LineEnd aSeparator ) const +sal_Int32 TextEngine::GetTextLen( const TextSelection& rSel, LineEnd aSeparator ) const { TextSelection aSel( rSel ); aSel.Justify(); @@ -982,7 +982,7 @@ long TextEngine::ImpGetXPos( sal_uInt32 nPara, TextLine* pLine, sal_Int32 nIndex { DBG_ASSERT( nIndex != pLine->GetStart(), "ImpGetXPos: Strange behavior" ); - long nPosInPortion = (long)CalcTextWidth( nPara, nTextPortionStart, nIndex-nTextPortionStart ); + long nPosInPortion = CalcTextWidth( nPara, nTextPortionStart, nIndex-nTextPortionStart ); if ( ( !IsRightToLeft() && !pPortion->IsRightToLeft() ) || ( IsRightToLeft() && pPortion->IsRightToLeft() ) ) @@ -1139,7 +1139,7 @@ sal_Int32 TextEngine::GetCharPos( sal_uInt32 nPortion, sal_uInt16 nLine, long nX return nCurIndex; } -sal_uLong TextEngine::GetTextHeight() const +long TextEngine::GetTextHeight() const { DBG_ASSERT( GetUpdateMode(), "GetTextHeight: GetUpdateMode()" ); @@ -1149,7 +1149,7 @@ sal_uLong TextEngine::GetTextHeight() const return mnCurTextHeight; } -sal_uLong TextEngine::GetTextHeight( sal_uInt32 nParagraph ) const +long TextEngine::GetTextHeight( sal_uInt32 nParagraph ) const { DBG_ASSERT( GetUpdateMode(), "GetTextHeight: GetUpdateMode()" ); @@ -1159,13 +1159,13 @@ sal_uLong TextEngine::GetTextHeight( sal_uInt32 nParagraph ) const return CalcParaHeight( nParagraph ); } -sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara ) +long TextEngine::CalcTextWidth( sal_uInt32 nPara ) { - sal_uLong nParaWidth = 0; + long nParaWidth = 0; TEParaPortion* pPortion = mpTEParaPortions->GetObject( nPara ); for ( auto nLine = pPortion->GetLines().size(); nLine; ) { - sal_uLong nLineWidth = 0; + long nLineWidth = 0; TextLine& pLine = pPortion->GetLines()[ --nLine ]; for ( sal_uInt16 nTP = pLine.GetStartPortion(); nTP <= pLine.GetEndPortion(); nTP++ ) { @@ -1178,17 +1178,17 @@ sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara ) return nParaWidth; } -sal_uLong TextEngine::CalcTextWidth() +long TextEngine::CalcTextWidth() { if ( !IsFormatted() && !IsFormatting() ) FormatAndUpdate(); - if ( mnCurTextWidth == 0xFFFFFFFF ) + if ( mnCurTextWidth < 0 ) { mnCurTextWidth = 0; for ( sal_uInt32 nPara = mpTEParaPortions->Count(); nPara; ) { - sal_uLong nParaWidth = CalcTextWidth( --nPara ); + const long nParaWidth = CalcTextWidth( --nPara ); if ( nParaWidth > mnCurTextWidth ) mnCurTextWidth = nParaWidth; } @@ -1196,17 +1196,17 @@ sal_uLong TextEngine::CalcTextWidth() return mnCurTextWidth+1;// wider by 1, as CreateLines breaks at >= } -sal_uLong TextEngine::CalcTextHeight() +long TextEngine::CalcTextHeight() { DBG_ASSERT( GetUpdateMode(), "CalcTextHeight: GetUpdateMode()" ); - sal_uLong nY = 0; + long nY = 0; for ( auto nPortion = mpTEParaPortions->Count(); nPortion; ) nY += CalcParaHeight( --nPortion ); return nY; } -sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nLen, const vcl::Font* pFont ) +long TextEngine::CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nLen, const vcl::Font* pFont ) { #ifdef DBG_UTIL // within the text there must not be a Portion change (attribute/tab)! @@ -1214,10 +1214,10 @@ sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, DBG_ASSERT( nTabPos == -1 || nTabPos >= (nPortionStart+nLen), "CalcTextWidth: Tab!" ); #endif - sal_uLong nWidth; + long nWidth; if ( mnFixCharWidth100 ) { - nWidth = (sal_uLong)nLen*mnFixCharWidth100/100; + nWidth = static_cast<long>(nLen)*mnFixCharWidth100/100; } else { @@ -1233,7 +1233,7 @@ sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, mpRefDev->SetFont( aFont ); } TextNode* pNode = mpDoc->GetNodes()[ nPara ]; - nWidth = (sal_uLong)mpRefDev->GetTextWidth( pNode->GetText(), nPortionStart, nLen ); + nWidth = mpRefDev->GetTextWidth( pNode->GetText(), nPortionStart, nLen ); } return nWidth; @@ -1263,9 +1263,9 @@ sal_Int32 TextEngine::GetLineLen( sal_uInt32 nParagraph, sal_uInt16 nLine ) cons return 0; } -sal_uLong TextEngine::CalcParaHeight( sal_uInt32 nParagraph ) const +long TextEngine::CalcParaHeight( sal_uInt32 nParagraph ) const { - sal_uLong nHeight = 0; + long nHeight = 0; TEParaPortion* pPPortion = mpTEParaPortions->GetObject( nParagraph ); DBG_ASSERT( pPPortion, "GetParaHeight: paragraph not found" ); @@ -1545,9 +1545,7 @@ void TextEngine::FormatDoc() TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); if ( pTEParaPortion->IsInvalid() ) { - sal_uLong nOldParaWidth = 0xFFFFFFFF; - if ( mnCurTextWidth != 0xFFFFFFFF ) - nOldParaWidth = CalcTextWidth( nPara ); + const long nOldParaWidth = mnCurTextWidth >= 0 ? CalcTextWidth( nPara ) : -1; ImpFormattingParagraph( nPara ); @@ -1558,9 +1556,9 @@ void TextEngine::FormatDoc() if ( maInvalidRect.IsEmpty() ) { // otherwise remains Empty() for Paperwidth 0 (AutoPageSize) - long nWidth = (long)mnMaxTextWidth; - if ( !nWidth ) - nWidth = 0x7FFFFFFF; + const long nWidth = mnMaxTextWidth + ? mnMaxTextWidth + : std::numeric_limits<long>::max(); Range aInvRange( GetInvalidYOffsets( nPara ) ); maInvalidRect = Rectangle( Point( 0, nY+aInvRange.Min() ), Size( nWidth, aInvRange.Len() ) ); @@ -1570,13 +1568,13 @@ void TextEngine::FormatDoc() maInvalidRect.Bottom() = nY + CalcParaHeight( nPara ); } - if ( mnCurTextWidth != 0xFFFFFFFF ) + if ( mnCurTextWidth >= 0 ) { - sal_uLong nNewParaWidth = CalcTextWidth( nPara ); + const long nNewParaWidth = CalcTextWidth( nPara ); if ( nNewParaWidth >= mnCurTextWidth ) mnCurTextWidth = nNewParaWidth; - else if ( ( nOldParaWidth != 0xFFFFFFFF ) && ( nOldParaWidth >= mnCurTextWidth ) ) - mnCurTextWidth = 0xFFFFFFFF; + else if ( nOldParaWidth >= mnCurTextWidth ) + mnCurTextWidth = -1; } } else if ( bGrow ) @@ -1590,11 +1588,11 @@ void TextEngine::FormatDoc() if ( !maInvalidRect.IsEmpty() ) { - sal_uLong nNewHeight = CalcTextHeight(); + const long nNewHeight = CalcTextHeight(); long nDiff = nNewHeight - mnCurTextHeight; if ( nNewHeight < mnCurTextHeight ) { - maInvalidRect.Bottom() = (long)std::max( nNewHeight, mnCurTextHeight ); + maInvalidRect.Bottom() = std::max( nNewHeight, mnCurTextHeight ); if ( maInvalidRect.IsEmpty() ) { maInvalidRect.Top() = 0; @@ -1695,7 +1693,7 @@ void TextEngine::ImpBreakLine( sal_uInt32 nPara, TextLine* pLine, TETextPortion* TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); TETextPortion* pTP = pTEParaPortion->GetTextPortions()[ nEndPortion ]; DBG_ASSERT( nBreakPos > pLine->GetStart(), "ImpBreakLine: SplitTextPortion at beginning of line?" ); - pTP->GetWidth() = (long)CalcTextWidth( nPara, nBreakPos-pTP->GetLen(), pTP->GetLen()-1 ); + pTP->GetWidth() = CalcTextWidth( nPara, nBreakPos-pTP->GetLen(), pTP->GetLen()-1 ); } pLine->SetEndPortion( nEndPortion ); } @@ -1731,7 +1729,7 @@ sal_uInt16 TextEngine::SplitTextPortion( sal_uInt32 nPara, sal_Int32 nPos ) pTextPortion->GetLen() -= nOverlapp; TETextPortion* pNewPortion = new TETextPortion( nOverlapp ); pTEParaPortion->GetTextPortions().insert( pTEParaPortion->GetTextPortions().begin() + nSplitPortion + 1, pNewPortion ); - pTextPortion->GetWidth() = (long)CalcTextWidth( nPara, nPos-pTextPortion->GetLen(), pTextPortion->GetLen() ); + pTextPortion->GetWidth() = CalcTextWidth( nPara, nPos-pTextPortion->GetLen(), pTextPortion->GetLen() ); return nSplitPortion; } @@ -1947,8 +1945,8 @@ void TextEngine::ImpPaint( OutputDevice* pOutDev, const Point& rStartPos, Rectan if ( pPortion->IsInvalid() ) return; - sal_uLong nParaHeight = CalcParaHeight( nPara ); - if ( ( !pPaintArea || ( ( nY + (long)nParaHeight ) > pPaintArea->Top() ) ) + const long nParaHeight = CalcParaHeight( nPara ); + if ( ( !pPaintArea || ( ( nY + nParaHeight ) > pPaintArea->Top() ) ) && ( !pPaintRange || ( ( nPara >= pPaintRange->GetStart().GetPara() ) && ( nPara <= pPaintRange->GetEnd().GetPara() ) ) ) ) { // for all lines of the paragraph @@ -2224,7 +2222,7 @@ bool TextEngine::CreateLines( sal_uInt32 nPara ) sal_uInt16 nTmpPortion = pLine->GetStartPortion(); long nTmpWidth = mpDoc->GetLeftMargin(); // do not subtract margin; it is included in TmpWidth - long nXWidth = mnMaxTextWidth ? mnMaxTextWidth : 0x7FFFFFFF; + long nXWidth = mnMaxTextWidth ? mnMaxTextWidth : std::numeric_limits<long>::max(); if ( nXWidth < nTmpWidth ) nXWidth = nTmpWidth; @@ -2258,7 +2256,7 @@ bool TextEngine::CreateLines( sal_uInt32 nPara ) { if ( bCalcPortion || !pPortion->HasValidSize() ) - pPortion->GetWidth() = (long)CalcTextWidth( nPara, nTmpPos, pPortion->GetLen() ); + pPortion->GetWidth() = CalcTextWidth( nPara, nTmpPos, pPortion->GetLen() ); nTmpWidth += pPortion->GetWidth(); pPortion->SetRightToLeft( ImpGetRightToLeft( nPara, nTmpPos+1 ) ); diff --git a/vcl/source/edit/textview.cxx b/vcl/source/edit/textview.cxx index 8ad8bd5..487ee38 100644 --- a/vcl/source/edit/textview.cxx +++ b/vcl/source/edit/textview.cxx @@ -405,7 +405,7 @@ void TextView::ImpHighlight( const TextSelection& rSel ) const sal_uInt32 nEndPara = aSel.GetEnd().GetPara(); for ( sal_uInt32 nPara = 0; nPara <= nEndPara; ++nPara ) { - long nParaHeight = (long)mpImpl->mpTextEngine->CalcParaHeight( nPara ); + const long nParaHeight = mpImpl->mpTextEngine->CalcParaHeight( nPara ); if ( ( nPara >= nStartPara ) && ( ( nY + nParaHeight ) > aVisArea.Top() ) ) { TEParaPortion* pTEParaPortion = mpImpl->mpTextEngine->mpTEParaPortions->GetObject( nPara ); @@ -1920,20 +1920,20 @@ bool TextView::ImplTruncateNewText( OUString& rNewText ) const { bool bTruncated = false; - sal_uLong nMaxLen = mpImpl->mpTextEngine->GetMaxTextLen(); + const sal_Int32 nMaxLen = mpImpl->mpTextEngine->GetMaxTextLen(); // 0 means unlimited if( nMaxLen != 0 ) { - sal_uLong nCurLen = mpImpl->mpTextEngine->GetTextLen(); + const sal_Int32 nCurLen = mpImpl->mpTextEngine->GetTextLen(); - sal_uInt32 nNewLen = rNewText.getLength(); + const sal_Int32 nNewLen = rNewText.getLength(); if ( nCurLen + nNewLen > nMaxLen ) { // see how much text will be replaced - sal_uLong nSelLen = mpImpl->mpTextEngine->GetTextLen( mpImpl->maSelection ); + const sal_Int32 nSelLen = mpImpl->mpTextEngine->GetTextLen( mpImpl->maSelection ); if ( nCurLen + nNewLen - nSelLen > nMaxLen ) { - sal_uInt32 nTruncatedLen = static_cast<sal_uInt32>(nMaxLen - (nCurLen - nSelLen)); + const sal_Int32 nTruncatedLen = nMaxLen - (nCurLen - nSelLen); rNewText = rNewText.copy( 0, nTruncatedLen ); bTruncated = true; } @@ -1947,8 +1947,7 @@ bool TextView::ImplCheckTextLen( const OUString& rNewText ) bool bOK = true; if ( mpImpl->mpTextEngine->GetMaxTextLen() ) { - sal_uLong n = mpImpl->mpTextEngine->GetTextLen(); - n += rNewText.getLength(); + sal_Int32 n = mpImpl->mpTextEngine->GetTextLen() + rNewText.getLength(); if ( n > mpImpl->mpTextEngine->GetMaxTextLen() ) { // calculate how much text is being deleted diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx index 846ac1f..de1c675 100644 --- a/vcl/source/edit/vclmedit.cxx +++ b/vcl/source/edit/vclmedit.cxx @@ -84,7 +84,7 @@ private: VclPtr<ScrollBarBox> mpScrollBox; Point maTextWindowOffset; - sal_Int32 mnTextWidth; + long mnTextWidth; mutable Selection maSelection; protected: @@ -172,10 +172,10 @@ void ImpVclMEdit::ImpUpdateSrollBarVis( WinBits nWinStyle ) if ( !bNeedVScroll && bAutoVScroll ) { TextEngine& rEngine( *mpTextWindow->GetTextEngine() ); - sal_uLong nOverallTextHeight(0); + long nOverallTextHeight(0); for ( sal_uInt32 i=0; i<rEngine.GetParagraphCount(); ++i ) nOverallTextHeight += rEngine.GetTextHeight( i ); - if ( nOverallTextHeight > (sal_uLong)mpTextWindow->GetOutputSizePixel().Height() ) + if ( nOverallTextHeight > mpTextWindow->GetOutputSizePixel().Height() ) bNeedVScroll = true; } @@ -269,8 +269,8 @@ void ImpVclMEdit::ImpSetScrollBarRanges() { if ( mpVScrollBar ) { - sal_uLong nTextHeight = mpTextWindow->GetTextEngine()->GetTextHeight(); - mpVScrollBar->SetRange( Range( 0, (long)nTextHeight-1 ) ); + const long nTextHeight = mpTextWindow->GetTextEngine()->GetTextHeight(); + mpVScrollBar->SetRange( Range( 0, nTextHeight-1 ) ); } if ( mpHScrollBar ) { @@ -539,7 +539,7 @@ void ImpVclMEdit::Notify( SfxBroadcaster&, const SfxHint& rHint ) { if ( mpHScrollBar ) { - sal_Int32 nWidth = mpTextWindow->GetTextEngine()->CalcTextWidth(); + const long nWidth = mpTextWindow->GetTextEngine()->CalcTextWidth(); if ( nWidth != mnTextWidth ) { mnTextWidth = nWidth; commit caa828da96b120f5a3c979237081c29f8c2f3848 Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 17:26:28 2015 +0200 Avoid unnecessary OUString copies Change-Id: Ic76c9b75bcc72d8ae6a54d6ebba49acb77073bea diff --git a/vcl/source/edit/textdoc.cxx b/vcl/source/edit/textdoc.cxx index d13c5f9..10315ef 100644 --- a/vcl/source/edit/textdoc.cxx +++ b/vcl/source/edit/textdoc.cxx @@ -436,8 +436,7 @@ OUString TextDoc::GetText( const sal_Unicode* pSep ) const for ( sal_uInt32 nNode = 0; nNode < nNodes; ++nNode ) { TextNode* pNode = maTextNodes[ nNode ]; - OUString aTmp( pNode->GetText() ); - aASCIIText += aTmp; + aASCIIText += pNode->GetText(); if ( pSep && ( nNode != nLastNode ) ) aASCIIText += pSep; } @@ -447,13 +446,11 @@ OUString TextDoc::GetText( const sal_Unicode* pSep ) const OUString TextDoc::GetText( sal_uInt32 nPara ) const { - OUString aText; - TextNode* pNode = ( nPara < maTextNodes.size() ) ? maTextNodes[ nPara ] : 0; if ( pNode ) - aText = pNode->GetText(); + return pNode->GetText(); - return aText; + return OUString(); } sal_uLong TextDoc::GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel ) const diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index 9f2d3a7..90343f1 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -699,9 +699,9 @@ TextPaM TextEngine::ImpInsertText( sal_Unicode c, const TextSelection& rCurSel, // the text that needs to be checked is only the one // before the current cursor position OUString aOldText( mpDoc->GetText( aPaM.GetPara() ).copy(0, nTmpPos) ); - OUString aNewText( aOldText ); if (aCTLOptions.IsCTLSequenceCheckingTypeAndReplace()) { + OUString aNewText( aOldText ); xISC->correctInputSequence( aNewText, nTmpPos - 1, c, nCheckMode ); // find position of first character that has changed @@ -2530,7 +2530,7 @@ bool TextEngine::Write( SvStream& rOutput, const TextSelection* pSel, bool bHTML OUStringBuffer aText; if ( !bHTML ) { - aText = OUString( pNode->GetText().copy( nStartPos, nEndPos-nStartPos ) ); + aText = pNode->GetText().copy( nStartPos, nEndPos-nStartPos ); } else { @@ -2551,7 +2551,7 @@ bool TextEngine::Write( SvStream& rOutput, const TextSelection* pSel, bool bHTML nTmpEnd = pAttr ? pAttr->GetStart() : nEndPos; // Text before Attribute - aText.append( OUString( pNode->GetText().copy( nTmpStart, nTmpEnd-nTmpStart ) ) ); + aText.append( pNode->GetText().copy( nTmpStart, nTmpEnd-nTmpStart ) ); if ( pAttr ) { commit 6917ebc39fb1c4f412ae9fea4e2d858a1b351c47 Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 17:15:29 2015 +0200 sal_uLong to sal_uInt32 Change-Id: Ifcde090747127680a9e4b810ff062d024663632c diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx index 4d9e832..657b4fe 100644 --- a/accessibility/source/extended/textwindowaccessibility.cxx +++ b/accessibility/source/extended/textwindowaccessibility.cxx @@ -1757,11 +1757,11 @@ void Document::init() { if (m_xParagraphs.get() == 0) { - ::sal_uLong nCount = m_rEngine.GetParagraphCount(); + const sal_uInt32 nCount = m_rEngine.GetParagraphCount(); m_xParagraphs.reset(new Paragraphs); m_xParagraphs->reserve(static_cast< Paragraphs::size_type >(nCount)); // numeric overflow is harmless here - for (::sal_uLong i = 0; i < nCount; ++i) + for (sal_uInt32 i = 0; i < nCount; ++i) m_xParagraphs->push_back(ParagraphInfo(static_cast< ::sal_Int32 >( m_rEngine.GetTextHeight(i)))); // XXX numeric overflow diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index aa68f51..65b6bf4 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -848,14 +848,14 @@ sal_Int32 ModulWindow::FormatAndPrint( Printer* pPrinter, sal_Int32 nPrintPage ) long nXTextWidth = pPrinter->approximate_char_width(); sal_Int32 nCharspLine = aPaperSz.Width() / (nXTextWidth > 1 ? nXTextWidth : 1); - sal_uLong nParas = GetEditEngine()->GetParagraphCount(); + const sal_uInt32 nParas = GetEditEngine()->GetParagraphCount(); sal_Int32 nPages = nParas/nLinespPage+1; sal_Int32 nCurPage = 1; lcl_PrintHeader( pPrinter, nPages, nCurPage, aTitle, nPrintPage == 0 ); Point aPos( Print::nLeftMargin, Print::nTopMargin ); - for ( sal_uLong nPara = 0; nPara < nParas; nPara++ ) + for ( sal_uInt32 nPara = 0; nPara < nParas; ++nPara ) { OUString aLine( GetEditEngine()->GetText( nPara ) ); lcl_ConvertTabsToSpaces( aLine ); diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index 560d569..106e923 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -767,7 +767,7 @@ void EditorWindow::HandleProcedureCompletion() } else { - for( sal_uLong i = nLine+1; i < pEditEngine->GetParagraphCount(); ++i ) + for( sal_uInt32 i = nLine+1; i < pEditEngine->GetParagraphCount(); ++i ) {//searching forward for end token, or another sub/function definition OUString aCurrLine = pEditEngine->GetText( i ); std::vector<HighlightPortion> aCurrPortions; @@ -1222,8 +1222,8 @@ void EditorWindow::ImpDoHighlight( sal_uLong nLine ) void EditorWindow::UpdateSyntaxHighlighting () { - unsigned nCount = pEditEngine->GetParagraphCount(); - for (unsigned i = 0; i < nCount; ++i) + const sal_uInt32 nCount = pEditEngine->GetParagraphCount(); + for (sal_uInt32 i = 0; i < nCount; ++i) DoDelayedSyntaxHighlight(i); } diff --git a/basctl/source/basicide/linenumberwindow.cxx b/basctl/source/basicide/linenumberwindow.cxx index 2068973..d1b9610 100644 --- a/basctl/source/basicide/linenumberwindow.cxx +++ b/basctl/source/basicide/linenumberwindow.cxx @@ -59,10 +59,10 @@ void LineNumberWindow::Paint( vcl::RenderContext& rRenderContext, const Rectangl } int startY = txtView->GetStartDocPos().Y(); - int nStartLine = startY / nLineHeight + 1; - int nEndLine = (startY + windowHeight) / nLineHeight + 1; + const sal_uInt32 nStartLine = startY / nLineHeight + 1; + sal_uInt32 nEndLine = (startY + windowHeight) / nLineHeight + 1; - if (txtEngine->GetParagraphCount() + 1 < (unsigned int)nEndLine) + if (txtEngine->GetParagraphCount() + 1 < nEndLine) nEndLine = txtEngine->GetParagraphCount() + 1; // FIXME: it would be best if we could get notified of a font change @@ -71,7 +71,7 @@ void LineNumberWindow::Paint( vcl::RenderContext& rRenderContext, const Rectangl // reserve enough for 3 digit minimum, with a bit to spare for confort m_nWidth = m_nBaseWidth * 3 + m_nBaseWidth / 2; - int i = (nEndLine + 1) / 1000; + sal_uInt32 i = (nEndLine + 1) / 1000; while (i) { i /= 10; @@ -79,7 +79,7 @@ void LineNumberWindow::Paint( vcl::RenderContext& rRenderContext, const Rectangl } sal_Int64 y = (nStartLine - 1) * (sal_Int64)nLineHeight; - for (sal_Int32 n = nStartLine; n <= nEndLine; ++n, y += nLineHeight) + for (sal_uInt32 n = nStartLine; n <= nEndLine; ++n, y += nLineHeight) rRenderContext.DrawText(Point(0, y - m_nCurYOffset), OUString::number(n)); } diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index 754cb7b..9dbd044 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -1897,11 +1897,11 @@ svx::SpellPortions SentenceEditWindow_Impl::CreateSpellPortions( bool bSetIgnore // quick partly fix of #i71318. Correct fix needs to patch the TextEngine itself... // this one will only prevent text from disappearing. It may to not have the // correct language and will probably not spell checked... - sal_uLong nPara = pTextEngine->GetParagraphCount(); + const sal_uInt32 nPara = pTextEngine->GetParagraphCount(); if (nPara > 1) { OUString aLeftOverText; - for (sal_uLong i = 1; i < nPara; ++i) + for (sal_uInt32 i = 1; i < nPara; ++i) { aLeftOverText += "\x0a"; // the manual line break... aLeftOverText += pTextEngine->GetText(i); diff --git a/include/svtools/svmedit2.hxx b/include/svtools/svmedit2.hxx index d6c30d2..18471c9 100644 --- a/include/svtools/svmedit2.hxx +++ b/include/svtools/svmedit2.hxx @@ -36,7 +36,7 @@ public: // methods of TextEngine void SetAttrib( const TextAttrib& rAttr, sal_uLong nPara, sal_uInt16 nStart, sal_uInt16 nEnd ); void SetLeftMargin( sal_uInt16 nLeftMargin ); - sal_uLong GetParagraphCount() const; + sal_uInt32 GetParagraphCount() const; }; #endif diff --git a/include/vcl/texteng.hxx b/include/vcl/texteng.hxx index 2b64ccc..9227e4b 100644 --- a/include/vcl/texteng.hxx +++ b/include/vcl/texteng.hxx @@ -259,7 +259,7 @@ public: sal_uLong CalcTextWidth(); long GetCharHeight() const { return mnCharHeight; } - sal_uLong GetParagraphCount() const; + sal_uInt32 GetParagraphCount() const; OUString GetText( sal_uInt32 nParagraph ) const; sal_Int32 GetTextLen( sal_uInt32 nParagraph ) const; sal_uLong GetTextHeight( sal_uInt32 nParagraph ) const; diff --git a/svtools/source/edit/editsyntaxhighlighter.cxx b/svtools/source/edit/editsyntaxhighlighter.cxx index cf734c0..894741f 100644 --- a/svtools/source/edit/editsyntaxhighlighter.cxx +++ b/svtools/source/edit/editsyntaxhighlighter.cxx @@ -161,7 +161,7 @@ void MultiLineEditSyntaxHighlight::UpdateData() // syntax highlighting // this must be possible improved by using notifychange correctly bool bTempModified = GetTextEngine()->IsModified(); - for (sal_uLong nLine=0; nLine < GetTextEngine()->GetParagraphCount(); nLine++) + for (sal_uInt32 nLine=0; nLine < GetTextEngine()->GetParagraphCount(); ++nLine) { OUString aLine( GetTextEngine()->GetText( nLine ) ); GetTextEngine()->RemoveAttribs( nLine ); diff --git a/svtools/source/edit/svmedit2.cxx b/svtools/source/edit/svmedit2.cxx index 9301c0d..65f2c0c 100644 --- a/svtools/source/edit/svmedit2.cxx +++ b/svtools/source/edit/svmedit2.cxx @@ -46,7 +46,7 @@ void ExtMultiLineEdit::SetLeftMargin( sal_uInt16 nLeftMargin ) GetTextEngine()->SetLeftMargin( nLeftMargin ); } -sal_uLong ExtMultiLineEdit::GetParagraphCount() const +sal_uInt32 ExtMultiLineEdit::GetParagraphCount() const { return GetTextEngine()->GetParagraphCount(); } diff --git a/sw/source/ui/dbui/mmaddressblockpage.cxx b/sw/source/ui/dbui/mmaddressblockpage.cxx index 843fbe3..30aec24 100644 --- a/sw/source/ui/dbui/mmaddressblockpage.cxx +++ b/sw/source/ui/dbui/mmaddressblockpage.cxx @@ -1401,8 +1401,8 @@ void AddressMultiLineEdit::SetText( const OUString& rStr ) ExtTextEngine* pTextEngine = GetTextEngine(); TextAttribProtect aProtectAttr; - sal_uLong nParaCount = pTextEngine->GetParagraphCount(); - for(sal_uLong nPara = 0; nPara < nParaCount; ++nPara) + const sal_uInt32 nParaCount = pTextEngine->GetParagraphCount(); + for(sal_uInt32 nPara = 0; nPara < nParaCount; ++nPara) { sal_Int32 nIndex = 0; const OUString sPara = pTextEngine->GetText( nPara ); @@ -1638,8 +1638,8 @@ OUString AddressMultiLineEdit::GetAddress() { OUString sRet; ExtTextEngine* pTextEngine = GetTextEngine(); - sal_uLong nParaCount = pTextEngine->GetParagraphCount(); - for(sal_uLong nPara = nParaCount; nPara; --nPara) + const sal_uInt32 nParaCount = pTextEngine->GetParagraphCount(); + for(sal_uInt32 nPara = nParaCount; nPara; --nPara) { const OUString sPara = comphelper::string::stripEnd(pTextEngine->GetText(nPara - 1), ' '); //don't add empty trailing paragraphs diff --git a/sw/source/uibase/uiview/srcview.cxx b/sw/source/uibase/uiview/srcview.cxx index 61553bf..c928c89 100644 --- a/sw/source/uibase/uiview/srcview.cxx +++ b/sw/source/uibase/uiview/srcview.cxx @@ -725,7 +725,7 @@ sal_Int32 SwSrcView::PrintSource( const long nLinespPage = nLineHeight ? aPaperSz.Height() / nLineHeight : 1; const long nCharWidth = pOutDev->GetTextWidth("X"); const sal_Int32 nCharspLine = nCharWidth ? static_cast<sal_Int32>(aPaperSz.Width() / nCharWidth) : 1; - const sal_uLong nParas = pTextEngine->GetParagraphCount(); + const sal_uInt32 nParas = pTextEngine->GetParagraphCount(); const sal_Int32 nPages = static_cast<sal_Int32>(nParas / nLinespPage + 1 ); sal_Int32 nCurPage = 1; @@ -735,7 +735,7 @@ sal_Int32 SwSrcView::PrintSource( lcl_PrintHeader( *pOutDev, nPages, nCurPage, aTitle ); const Point aStartPos( LMARGPRN, TMARGPRN ); Point aPos( aStartPos ); - for ( sal_uLong nPara = 0; nPara < nParas; ++nPara ) + for ( sal_uInt32 nPara = 0; nPara < nParas; ++nPara ) { const OUString aLine( lcl_ConvertTabsToSpaces(pTextEngine->GetText( nPara )) ); const sal_Int32 nLineLen = aLine.getLength(); diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index e1df6d8..9f2d3a7 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -1304,9 +1304,9 @@ Range TextEngine::GetInvalidYOffsets( sal_uInt32 nPortion ) return Range( nFirstInvalid*mnCharHeight, ((nLastInvalid+1)*mnCharHeight)-1 ); } -sal_uLong TextEngine::GetParagraphCount() const +sal_uInt32 TextEngine::GetParagraphCount() const { - return mpDoc->GetNodes().size(); + return static_cast<sal_uInt32>(mpDoc->GetNodes().size()); } void TextEngine::EnableUndo( bool bEnable ) diff --git a/vcl/source/edit/textview.cxx b/vcl/source/edit/textview.cxx index c526ffe..8ad8bd5 100644 --- a/vcl/source/edit/textview.cxx +++ b/vcl/source/edit/textview.cxx @@ -2026,7 +2026,7 @@ void TextView::drop( const ::com::sun::star::datatransfer::dnd::DropTargetDropEv // Data for deleting after DROP_MOVE: TextSelection aPrevSel( mpImpl->maSelection ); aPrevSel.Justify(); - sal_uLong nPrevParaCount = mpImpl->mpTextEngine->GetParagraphCount(); + const sal_uInt32 nPrevParaCount = mpImpl->mpTextEngine->GetParagraphCount(); const sal_Int32 nPrevStartParaLen = mpImpl->mpTextEngine->GetTextLen( aPrevSel.GetStart().GetPara() ); bool bStarterOfDD = false; @@ -2076,8 +2076,8 @@ void TextView::drop( const ::com::sun::star::datatransfer::dnd::DropTargetDropEv ( ( mpImpl->mpDDInfo->maDropPos.GetPara() == aPrevSel.GetStart().GetPara() ) && ( mpImpl->mpDDInfo->maDropPos.GetIndex() < aPrevSel.GetStart().GetIndex() ) ) ) { - sal_uLong nNewParasBeforeSelection = - mpImpl->mpTextEngine->GetParagraphCount() - nPrevParaCount; + const sal_uInt32 nNewParasBeforeSelection = + mpImpl->mpTextEngine->GetParagraphCount() - nPrevParaCount; aPrevSel.GetStart().GetPara() += nNewParasBeforeSelection; aPrevSel.GetEnd().GetPara() += nNewParasBeforeSelection; diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx index 5a73070..846ac1f 100644 --- a/vcl/source/edit/vclmedit.cxx +++ b/vcl/source/edit/vclmedit.cxx @@ -173,7 +173,7 @@ void ImpVclMEdit::ImpUpdateSrollBarVis( WinBits nWinStyle ) { TextEngine& rEngine( *mpTextWindow->GetTextEngine() ); sal_uLong nOverallTextHeight(0); - for ( sal_uLong i=0; i<rEngine.GetParagraphCount(); ++i ) + for ( sal_uInt32 i=0; i<rEngine.GetParagraphCount(); ++i ) nOverallTextHeight += rEngine.GetTextHeight( i ); if ( nOverallTextHeight > (sal_uLong)mpTextWindow->GetOutputSizePixel().Height() ) bNeedVScroll = true; commit 8353793c94416a9a3a5af074d881624e43e5ec2f Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 15:14:47 2015 +0200 Use constants instead of (possibly wrong) magic numbers Change-Id: I0829d271337b9fe77341c62a1c2ef4d6ae62c727 diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index 339f2d6..aa68f51 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -901,7 +901,7 @@ void ModulWindow::ExecuteCommand (SfxRequest& rReq) } case SID_SELECTALL: { - TextSelection aSel( TextPaM( 0, 0 ), TextPaM( TEXT_PARA_ALL, 0xFFFF ) ); + TextSelection aSel( TextPaM( 0, 0 ), TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ); TextView * pView = GetEditView(); pView->SetSelection( aSel ); pView->GetWindow()->GrabFocus(); @@ -1245,7 +1245,7 @@ sal_uInt16 ModulWindow::StartSearchAndReplace( const SvxSearchItem& rSearchItem, if ( !rSearchItem.GetBackward() ) pView->SetSelection( TextSelection() ); else - pView->SetSelection( TextSelection( TextPaM( 0xFFFFFFFF, 0xFFFF ), TextPaM( 0xFFFFFFFF, 0xFFFF ) ) ); + pView->SetSelection( TextSelection( TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ), TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ) ); } bool const bForward = !rSearchItem.GetBackward(); diff --git a/include/vcl/textdata.hxx b/include/vcl/textdata.hxx index d206da9..b982b1e 100644 --- a/include/vcl/textdata.hxx +++ b/include/vcl/textdata.hxx @@ -25,7 +25,8 @@ #include <vcl/dllapi.h> // for Notify, if all paragraphs were deleted -#define TEXT_PARA_ALL 0xFFFFFFFF +#define TEXT_PARA_ALL SAL_MAX_UINT32 +#define TEXT_INDEX_ALL SAL_MAX_INT32 class TextPaM { diff --git a/sw/source/uibase/uiview/srcview.cxx b/sw/source/uibase/uiview/srcview.cxx index 72b4de7..61553bf 100644 --- a/sw/source/uibase/uiview/srcview.cxx +++ b/sw/source/uibase/uiview/srcview.cxx @@ -414,7 +414,7 @@ void SwSrcView::Execute(SfxRequest& rReq) pTextView->Paste(); break; case SID_SELECTALL: - pTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( 0xFFFFFFFF, 0xFFFF ) ) ); + pTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ) ); break; } aEditWin->Invalidate(); @@ -580,7 +580,7 @@ sal_uInt16 SwSrcView::StartSearchAndReplace(const SvxSearchItem& rSearchItem, bool bAtStart = pTextView->GetSelection() == TextSelection( aPaM, aPaM ); if( !bForward ) - aPaM = TextPaM( TEXT_PARA_ALL, USHRT_MAX ); + aPaM = TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ); if( bFromStart ) { diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index ef5455c..e1df6d8 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -2707,7 +2707,7 @@ void TextEngine::ValidatePaM( TextPaM& rPaM ) const if ( rPaM.GetPara() >= nParas ) { rPaM.GetPara() = nParas ? nParas-1 : 0; - rPaM.GetIndex() = 0xFFFF; + rPaM.GetIndex() = TEXT_INDEX_ALL; } const sal_Int32 nMaxIndex = GetTextLen( rPaM.GetPara() ); diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx index 6e18ae4..5a73070 100644 --- a/vcl/source/edit/vclmedit.cxx +++ b/vcl/source/edit/vclmedit.cxx @@ -773,7 +773,7 @@ void TextWindow::KeyInput( const KeyEvent& rKEvent ) ( (nCode == KEY_A) && rKEvent.GetKeyCode().IsMod1() && !rKEvent.GetKeyCode().IsMod2() ) ) { - mpExtTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( 0xFFFF, 0xFFFF ) ) ); + mpExtTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ) ); bDone = true; } else if ( (nCode == KEY_S) && rKEvent.GetKeyCode().IsShift() && rKEvent.GetKeyCode().IsMod1() ) @@ -879,7 +879,7 @@ void TextWindow::Command( const CommandEvent& rCEvt ) mpExtTextEngine->SetModified( true ); mpExtTextEngine->Broadcast( TextHint( TEXT_HINT_MODIFIED ) ); break; - case SV_MENU_EDIT_SELECTALL: mpExtTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( 0xFFFFFFFF, 0xFFFF ) ) ); + case SV_MENU_EDIT_SELECTALL: mpExtTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ) ); break; case SV_MENU_EDIT_INSERTSYMBOL: { @@ -915,7 +915,7 @@ void TextWindow::GetFocus() // select everything, but do not scroll bool bAutoScroll = mpExtTextView->IsAutoScroll(); mpExtTextView->SetAutoScroll( false ); - mpExtTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( 0xFFFF, 0xFFFF ) ) ); + mpExtTextView->SetSelection( TextSelection( TextPaM( 0, 0 ), TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ) ); mpExtTextView->SetAutoScroll( bAutoScroll ); bGotoCursor = false; } @@ -1516,7 +1516,7 @@ bool VclMultiLineEdit::PreNotify( NotifyEvent& rNEvt ) { if ( rKEvent.GetKeyCode().IsMod1() ) pImpVclMEdit->GetTextWindow()->GetTextView()-> - SetSelection( TextSelection( TextPaM( 0xFFFF, 0xFFFF ) ) ); + SetSelection( TextSelection( TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL ) ) ); } break; default: commit 9d0f86326cbf6b986176c5b5fe7660fa510c8d70 Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 15:03:35 2015 +0200 Rework loops so to have exit condition on correct unsigned value Change-Id: I91e647d6b1aebe8342f95c88fc81bd2c5a43ce71 diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index ee451cf..339f2d6 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -1113,19 +1113,18 @@ void ModulWindow::GetState( SfxItemSet &rSet ) TextView* pView = GetEditView(); if ( pView ) { - OUString sProcName; - bool bFound = false; TextSelection aSel = pView->GetSelection(); - long nLine = aSel.GetStart().GetPara(); - for (long i = nLine; i >= 0 && !bFound; --i) + sal_uInt32 i = aSel.GetStart().GetPara(); + do { OUString aCurrLine = GetEditEngine()->GetText( i ); OUString sProcType; - bFound = GetEditorWindow().GetProcedureName(aCurrLine, sProcType, sProcName); - } + if (GetEditorWindow().GetProcedureName(aCurrLine, sProcType, sProcName)) + break; + } while (i--); OUString aTitle = CreateQualifiedName(); if (!sProcName.isEmpty()) diff --git a/svtools/source/edit/editsyntaxhighlighter.cxx b/svtools/source/edit/editsyntaxhighlighter.cxx index 224017a..cf734c0 100644 --- a/svtools/source/edit/editsyntaxhighlighter.cxx +++ b/svtools/source/edit/editsyntaxhighlighter.cxx @@ -43,7 +43,7 @@ void MultiLineEditSyntaxHighlight::DoBracketHilight(sal_uInt16 nKey) { TextSelection aCurrentPos = GetTextView()->GetSelection(); sal_Int32 nStartPos = aCurrentPos.GetStart().GetIndex(); - sal_Int32 nStartPara = aCurrentPos.GetStart().GetPara(); + const sal_uInt32 nStartPara = aCurrentPos.GetStart().GetPara(); sal_uInt16 nCount = 0; int nChar = -1; @@ -74,7 +74,8 @@ void MultiLineEditSyntaxHighlight::DoBracketHilight(sal_uInt16 nKey) if (nChar != -1) { - for (sal_Int32 nPara = nStartPara; nPara >= 0; --nPara) + sal_uInt32 nPara = nStartPara; + do { if (nPara == nStartPara && nStartPos == 0) continue; @@ -102,7 +103,7 @@ void MultiLineEditSyntaxHighlight::DoBracketHilight(sal_uInt16 nKey) if (aLine[i] == nKey) ++nCount; } - } + } while (nPara--); } } commit 7d5f47aff58fbe57ff24a4e4052bc1149fc5829d Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 14:50:28 2015 +0200 This seems to be the original purpose Change-Id: Ie8c50324fe3d1e836967ba4de24cd740182418a6 diff --git a/svtools/source/edit/editsyntaxhighlighter.cxx b/svtools/source/edit/editsyntaxhighlighter.cxx index 746bbbb..224017a 100644 --- a/svtools/source/edit/editsyntaxhighlighter.cxx +++ b/svtools/source/edit/editsyntaxhighlighter.cxx @@ -76,7 +76,7 @@ void MultiLineEditSyntaxHighlight::DoBracketHilight(sal_uInt16 nKey) { for (sal_Int32 nPara = nStartPara; nPara >= 0; --nPara) { - if (nStartPos == 0) + if (nPara == nStartPara && nStartPos == 0) continue; OUString aLine( GetTextEngine()->GetText( nPara ) ); commit 866e287adee448c1c8b431c6c084d3fe3283649d Author: Matteo Casalin <matteo.casa...@yahoo.com> Date: Sat Aug 15 12:54:57 2015 +0200 sal_uLong to sal_uInt32 as TextPaM paragraph number Applied also to related functions. Also fix a couple of minor issues while at it. Change-Id: I615094d047c87a0f4854054e720492d3ab25c575 diff --git a/accessibility/source/extended/textwindowaccessibility.cxx b/accessibility/source/extended/textwindowaccessibility.cxx index 23b7b1e..4d9e832 100644 --- a/accessibility/source/extended/textwindowaccessibility.cxx +++ b/accessibility/source/extended/textwindowaccessibility.cxx @@ -928,19 +928,15 @@ Document::retrieveCharacterBounds(Paragraph const * pParagraph, if ( nIndex == nLength ) { aBounds = AWTRectangle( - m_rEngine.PaMtoEditCursor(::TextPaM(nNumber, - static_cast< ::sal_uInt16 >(nIndex)))); + m_rEngine.PaMtoEditCursor(::TextPaM(nNumber, nIndex))); } else { ::Rectangle aLeft( - m_rEngine.PaMtoEditCursor(::TextPaM(nNumber, - static_cast< ::sal_uInt16 >(nIndex)))); + m_rEngine.PaMtoEditCursor(::TextPaM(nNumber, nIndex))); // XXX numeric overflow ::Rectangle aRight( - m_rEngine.PaMtoEditCursor(::TextPaM(nNumber, - static_cast< ::sal_uInt16 >(nIndex) - + 1))); + m_rEngine.PaMtoEditCursor(::TextPaM(nNumber, nIndex + 1))); // XXX numeric overflow (2x) // FIXME If the vertical extends of the two cursors do not match, assume // nIndex is the last character on the line; the bounding box will then @@ -1173,7 +1169,7 @@ void Document::retrieveRunAttributesImpl( tPropValMap& rRunAttrSeq) { ::sal_uLong nNumber = static_cast< ::sal_uLong >( pParagraph->getNumber() ); - ::TextPaM aPaM( nNumber, static_cast< ::sal_uInt16 >( Index ) ); + ::TextPaM aPaM( nNumber, Index ); // XXX numeric overflow // FIXME TEXTATTR_HYPERLINK ignored: ::TextAttribFontColor const * pColor @@ -1290,8 +1286,8 @@ void Document::copyParagraphText(Paragraph const * pParagraph, " Document::copyParagraphText", static_cast< css::uno::XWeak * >(this)); m_rView.SetSelection( - ::TextSelection(::TextPaM(nNumber, static_cast< ::sal_uInt16 >(nBegin)), - ::TextPaM(nNumber, static_cast< ::sal_uInt16 >(nEnd)))); + ::TextSelection(::TextPaM(nNumber, nBegin), + ::TextPaM(nNumber, nEnd))); // XXX numeric overflow (2x) m_rView.Copy(); } @@ -1345,8 +1341,8 @@ void Document::changeParagraphSelection(Paragraph * pParagraph, " Document::changeParagraphSelection", static_cast< css::uno::XWeak * >(this)); m_rView.SetSelection( - ::TextSelection(::TextPaM(nNumber, static_cast< ::sal_uInt16 >(nBegin)), - ::TextPaM(nNumber, static_cast< ::sal_uInt16 >(nEnd)))); + ::TextSelection(::TextPaM(nNumber, nBegin), + ::TextPaM(nNumber, nEnd))); // XXX numeric overflow (2x) } } @@ -2111,10 +2107,10 @@ void Document::handleParagraphNotifications() return -1; ::sal_Int32 Osp = m_nSelectionFirstPara, Osl = m_nSelectionFirstPos, Oep = m_nSelectionLastPara, Oel = m_nSelectionLastPos; ::sal_Int32 Nsp = nNewFirstPara, Nsl = nNewFirstPos, Nep = nNewLastPara, Nel = nNewLastPos; - TextPaM Ns(Nsp, sal_uInt16(Nsl)); - TextPaM Ne(Nep, sal_uInt16(Nel)); - TextPaM Os(Osp, sal_uInt16(Osl)); - TextPaM Oe(Oep, sal_uInt16(Oel)); + TextPaM Ns(Nsp, Nsl); + TextPaM Ne(Nep, Nel); + TextPaM Os(Osp, Osl); + TextPaM Oe(Oep, Oel); if (Os == Oe && Ns == Ne) { diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index 88a2d64..ee451cf 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -319,10 +319,10 @@ bool ModulWindow::BasicExecute() { DBG_ASSERT( xModule.Is(), "Kein Modul!" ); AddStatus( BASWIN_RUNNINGBASIC ); - sal_uInt16 nStart, nEnd, nCurMethodStart = 0; + sal_uInt16 nStart, nEnd; TextSelection aSel = GetEditView()->GetSelection(); // Init cursor to top - nCurMethodStart = ( aSel.GetStart().GetPara() + 1 ); + const sal_uInt32 nCurMethodStart = aSel.GetStart().GetPara() + 1; SbMethod* pMethod = 0; // first Macro, else blind "Main" (ExtSearch?) for ( sal_uInt16 nMacro = 0; nMacro < xModule->GetMethods()->Count(); nMacro++ ) @@ -568,7 +568,7 @@ bool ModulWindow::BasicToggleBreakPoint() bool bNewBreakPoint = false; - for ( sal_uLong nLine = aSel.GetStart().GetPara(); nLine <= aSel.GetEnd().GetPara(); nLine++ ) + for ( sal_uInt32 nLine = aSel.GetStart().GetPara(); nLine <= aSel.GetEnd().GetPara(); ++nLine ) { if ( ToggleBreakPoint( nLine ) ) bNewBreakPoint = true; @@ -589,7 +589,7 @@ void ModulWindow::BasicToggleBreakPointEnabled() TextSelection aSel = pView->GetSelection(); BreakPointList& rList = GetBreakPoints(); - for ( sal_uLong nLine = ++aSel.GetStart().GetPara(), nEnd = ++aSel.GetEnd().GetPara(); nLine <= nEnd; ++nLine ) + for ( sal_uInt32 nLine = ++aSel.GetStart().GetPara(), nEnd = ++aSel.GetEnd().GetPara(); nLine <= nEnd; ++nLine ) { BreakPoint* pBrk = rList.FindBreakPoint( nLine ); if ( pBrk ) diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index f19f827..560d569 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -597,7 +597,7 @@ void EditorWindow::KeyInput( const KeyEvent& rKEvt ) void EditorWindow::HandleAutoCorrect() { TextSelection aSel = GetEditView()->GetSelection(); - sal_uLong nLine = aSel.GetStart().GetPara(); + const sal_uInt32 nLine = aSel.GetStart().GetPara(); const sal_Int32 nIndex = aSel.GetStart().GetIndex(); OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified const OUString& sActSubName = GetActualSubName( nLine ); // the actual procedure @@ -674,7 +674,7 @@ void EditorWindow::HandleAutoCorrect() TextSelection EditorWindow::GetLastHighlightPortionTextSelection() {//creates a text selection from the highlight portion on the cursor - sal_uLong nLine = GetEditView()->GetSelection().GetStart().GetPara(); + const sal_uInt32 nLine = GetEditView()->GetSelection().GetStart().GetPara(); const sal_Int32 nIndex = GetEditView()->GetSelection().GetStart().GetIndex(); OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified std::vector<HighlightPortion> aPortions; @@ -707,7 +707,7 @@ TextSelection EditorWindow::GetLastHighlightPortionTextSelection() void EditorWindow::HandleAutoCloseParen() { TextSelection aSel = GetEditView()->GetSelection(); - sal_uLong nLine = aSel.GetStart().GetPara(); + const sal_uInt32 nLine = aSel.GetStart().GetPara(); OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified if( aLine.getLength() > 0 && aLine[aSel.GetEnd().GetIndex()-1] != '(' ) @@ -722,7 +722,7 @@ void EditorWindow::HandleAutoCloseParen() void EditorWindow::HandleAutoCloseDoubleQuotes() { TextSelection aSel = GetEditView()->GetSelection(); - sal_uLong nLine = aSel.GetStart().GetPara(); + const sal_uInt32 nLine = aSel.GetStart().GetPara(); OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified std::vector<HighlightPortion> aPortions; @@ -744,7 +744,7 @@ void EditorWindow::HandleProcedureCompletion() { TextSelection aSel = GetEditView()->GetSelection(); - sal_uLong nLine = aSel.GetStart().GetPara(); + const sal_uInt32 nLine = aSel.GetStart().GetPara(); OUString aLine( pEditEngine->GetText( nLine ) ); OUString sProcType; @@ -836,7 +836,7 @@ void EditorWindow::HandleCodeCompletion() rModulWindow.UpdateModule(); rModulWindow.GetSbModule()->GetCodeCompleteDataFromParse(aCodeCompleteCache); TextSelection aSel = GetEditView()->GetSelection(); - sal_uLong nLine = aSel.GetStart().GetPara(); + const sal_uInt32 nLine = aSel.GetStart().GetPara(); OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified std::vector< OUString > aVect; //vector to hold the base variable+methods for the nested reflection diff --git a/include/vcl/textdata.hxx b/include/vcl/textdata.hxx index 722a94c..d206da9 100644 --- a/include/vcl/textdata.hxx +++ b/include/vcl/textdata.hxx @@ -30,15 +30,15 @@ class TextPaM { private: - sal_uLong mnPara; + sal_uInt32 mnPara; sal_Int32 mnIndex; public: TextPaM() : mnPara(0), mnIndex(0) {} - TextPaM( sal_uLong nPara, sal_Int32 nIndex ) : mnPara(nPara), mnIndex(nIndex) {} + TextPaM( sal_uInt32 nPara, sal_Int32 nIndex ) : mnPara(nPara), mnIndex(nIndex) {} - sal_uLong GetPara() const { return mnPara; } - sal_uLong& GetPara() { return mnPara; } + sal_uInt32 GetPara() const { return mnPara; } + sal_uInt32& GetPara() { return mnPara; } sal_Int32 GetIndex() const { return mnIndex; } sal_Int32& GetIndex() { return mnIndex; } @@ -128,8 +128,8 @@ private: sal_uLong mnValue; public: - TextHint( sal_uLong nId ); - TextHint( sal_uLong nId, sal_uLong nValue ); + TextHint( sal_uInt32 nId ); + TextHint( sal_uInt32 nId, sal_uLong nValue ); sal_uLong GetValue() const { return mnValue; } }; diff --git a/include/vcl/texteng.hxx b/include/vcl/texteng.hxx index 2d8e831..2b64ccc 100644 --- a/include/vcl/texteng.hxx +++ b/include/vcl/texteng.hxx @@ -141,7 +141,7 @@ private: protected: - void CursorMoved( sal_uLong nNode ); + void CursorMoved( sal_uInt32 nNode ); void TextModified(); void ImpInitDoc(); @@ -152,9 +152,9 @@ protected: TextPaM ImpInsertParaBreak( const TextSelection& rTextSelection, bool bKeepEndingAttribs = true ); TextPaM ImpInsertParaBreak( const TextPaM& rPaM, bool bKeepEndingAttribs = true ); void ImpRemoveChars( const TextPaM& rPaM, sal_Int32 nChars, SfxUndoAction* pCurUndo = 0 ); - TextPaM ImpConnectParagraphs( sal_uLong nLeft, sal_uLong nRight ); - void ImpRemoveParagraph( sal_uLong nPara ); - void ImpInitWritingDirections( sal_uLong nPara ); + TextPaM ImpConnectParagraphs( sal_uInt32 nLeft, sal_uInt32 nRight ); + void ImpRemoveParagraph( sal_uInt32 nPara ); + void ImpInitWritingDirections( sal_uInt32 nPara ); LocaleDataWrapper* ImpGetLocaleDataWrapper(); // to remain compatible in the minor release we copy the above ImpInsertText @@ -166,11 +166,11 @@ protected: SAL_DLLPRIVATE bool IsInputSequenceCheckingRequired( sal_Unicode c, const TextSelection& rCurSel ) const; // broadcast or adjust selections - void ImpParagraphInserted( sal_uLong nPara ); - void ImpParagraphRemoved( sal_uLong nPara ); - void ImpCharsRemoved( sal_uLong nPara, sal_Int32 nPos, sal_Int32 nChars ); - void ImpCharsInserted( sal_uLong nPara, sal_Int32 nPos, sal_Int32 nChars ); - void ImpFormattingParagraph( sal_uLong nPara ); + void ImpParagraphInserted( sal_uInt32 nPara ); + void ImpParagraphRemoved( sal_uInt32 nPara ); + void ImpCharsRemoved( sal_uInt32 nPara, sal_Int32 nPos, sal_Int32 nChars ); + void ImpCharsInserted( sal_uInt32 nPara, sal_Int32 nPos, sal_Int32 nChars ); + void ImpFormattingParagraph( sal_uInt32 nPara ); void ImpTextHeightChanged(); void ImpTextFormatted(); @@ -178,13 +178,13 @@ protected: void CheckIdleFormatter(); void IdleFormatAndUpdate( TextView* pCurView = 0, sal_uInt16 nMaxTimerRestarts = 5 ); - bool CreateLines( sal_uLong nPara ); - void CreateAndInsertEmptyLine( sal_uLong nPara ); - void ImpBreakLine( sal_uLong nPara, TextLine* pLine, TETextPortion* pPortion, sal_Int32 nPortionStart, long nRemainingWidth ); - sal_uInt16 SplitTextPortion( sal_uLong nPara, sal_Int32 nPos ); - void CreateTextPortions( sal_uLong nPara, sal_Int32 nStartPos ); - void RecalcTextPortion( sal_uLong nPara, sal_Int32 nStartPos, sal_Int32 nNewChars ); - void SeekCursor( sal_uLong nNode, sal_Int32 nPos, vcl::Font& rFont, OutputDevice* pOutDev ); + bool CreateLines( sal_uInt32 nPara ); + void CreateAndInsertEmptyLine( sal_uInt32 nPara ); + void ImpBreakLine( sal_uInt32 nPara, TextLine* pLine, TETextPortion* pPortion, sal_Int32 nPortionStart, long nRemainingWidth ); + sal_uInt16 SplitTextPortion( sal_uInt32 nPara, sal_Int32 nPos ); + void CreateTextPortions( sal_uInt32 nPara, sal_Int32 nStartPos ); + void RecalcTextPortion( sal_uInt32 nPara, sal_Int32 nStartPos, sal_Int32 nNewChars ); + void SeekCursor( sal_uInt32 nNode, sal_Int32 nPos, vcl::Font& rFont, OutputDevice* pOutDev ); void FormatDoc(); void FormatFullDoc(); @@ -196,26 +196,26 @@ protected: bool IsFormatted() const { return mbFormatted; } - sal_Int32 GetCharPos( sal_uLong nPara, sal_uInt16 nLine, long nDocPosX, bool bSmart = false ); + sal_Int32 GetCharPos( sal_uInt32 nPara, sal_uInt16 nLine, long nDocPosX, bool bSmart = false ); Rectangle GetEditCursor( const TextPaM& rPaM, bool bSpecial, bool bPreferPortionStart = false ); - sal_Int32 ImpFindIndex( sal_uLong nPortion, const Point& rPosInPara, bool bSmart ); - long ImpGetPortionXOffset( sal_uLong nPara, TextLine* pLine, sal_uInt16 nTextPortion ); - long ImpGetXPos( sal_uLong nPara, TextLine* pLine, sal_Int32 nIndex, bool bPreferPortionStart = false ); - long ImpGetOutputOffset( sal_uLong nPara, TextLine* pLine, sal_Int32 nIndex, sal_Int32 nIndex2 ); - sal_uInt8 ImpGetRightToLeft( sal_uLong nPara, sal_Int32 nPos, sal_Int32* pStart = NULL, sal_Int32* pEnd = NULL ); + sal_Int32 ImpFindIndex( sal_uInt32 nPortion, const Point& rPosInPara, bool bSmart ); + long ImpGetPortionXOffset( sal_uInt32 nPara, TextLine* pLine, sal_uInt16 nTextPortion ); + long ImpGetXPos( sal_uInt32 nPara, TextLine* pLine, sal_Int32 nIndex, bool bPreferPortionStart = false ); + long ImpGetOutputOffset( sal_uInt32 nPara, TextLine* pLine, sal_Int32 nIndex, sal_Int32 nIndex2 ); + sal_uInt8 ImpGetRightToLeft( sal_uInt32 nPara, sal_Int32 nPos, sal_Int32* pStart = NULL, sal_Int32* pEnd = NULL ); static void ImpInitLayoutMode( OutputDevice* pOutDev, bool bDrawingR2LPortion = false ); TxtAlign ImpGetAlign() const; sal_uLong CalcTextHeight(); - sal_uLong CalcParaHeight( sal_uLong nParagraph ) const; - sal_uLong CalcTextWidth( sal_uLong nPara ); - sal_uLong CalcTextWidth( sal_uLong nPara, sal_Int32 nPortionStart, sal_Int32 nPortionLen, const vcl::Font* pFont = 0 ); - Range GetInvalidYOffsets( sal_uLong nPortion ); + sal_uLong CalcParaHeight( sal_uInt32 nParagraph ) const; + sal_uLong CalcTextWidth( sal_uInt32 nPara ); + sal_uLong CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nPortionLen, const vcl::Font* pFont = 0 ); + Range GetInvalidYOffsets( sal_uInt32 nPortion ); // for Undo/Redo - void InsertContent( TextNode* pNode, sal_uLong nPara ); - TextPaM SplitContent( sal_uLong nNode, sal_Int32 nSepPos ); - TextPaM ConnectContents( sal_uLong nLeftNode ); + void InsertContent( TextNode* pNode, sal_uInt32 nPara ); + TextPaM SplitContent( sal_uInt32 nNode, sal_Int32 nSepPos ); + TextPaM ConnectContents( sal_uInt32 nLeftNode ); // adjust PaM's and selections that were transferred to the API to a valid range void ValidateSelection( TextSelection& rSel ) const; @@ -260,12 +260,12 @@ public: long GetCharHeight() const { return mnCharHeight; } sal_uLong GetParagraphCount() const; - OUString GetText( sal_uLong nParagraph ) const; - sal_Int32 GetTextLen( sal_uLong nParagraph ) const; - sal_uLong GetTextHeight( sal_uLong nParagraph ) const; + OUString GetText( sal_uInt32 nParagraph ) const; + sal_Int32 GetTextLen( sal_uInt32 nParagraph ) const; + sal_uLong GetTextHeight( sal_uInt32 nParagraph ) const; - sal_uInt16 GetLineCount( sal_uLong nParagraph ) const; - sal_Int32 GetLineLen( sal_uLong nParagraph, sal_uInt16 nLine ) const; + sal_uInt16 GetLineCount( sal_uInt32 nParagraph ) const; + sal_Int32 GetLineLen( sal_uInt32 nParagraph, sal_uInt16 nLine ) const; void SetRightToLeft( bool bR2L ); bool IsRightToLeft() const { return mbRightToLeft; } @@ -298,10 +298,10 @@ public: const TextAttrib* FindAttrib( const TextPaM& rPaM, sal_uInt16 nWhich ) const; const TextCharAttrib* FindCharAttrib( const TextPaM& rPaM, sal_uInt16 nWhich ) const; - void RemoveAttribs( sal_uLong nPara, sal_uInt16 nWhich, bool bIdleFormatAndUpdate ); - void RemoveAttrib( sal_uLong nPara, const TextCharAttrib& rAttrib ); - void RemoveAttribs( sal_uLong nPara, bool bIdleFormatAndUpdate = true ); - void SetAttrib( const TextAttrib& rAttr, sal_uLong nPara, sal_Int32 nStart, sal_Int32 nEnd, bool bIdleFormatAndUpdate = true ); + void RemoveAttribs( sal_uInt32 nPara, sal_uInt16 nWhich, bool bIdleFormatAndUpdate ); + void RemoveAttrib( sal_uInt32 nPara, const TextCharAttrib& rAttrib ); + void RemoveAttribs( sal_uInt32 nPara, bool bIdleFormatAndUpdate = true ); + void SetAttrib( const TextAttrib& rAttr, sal_uInt32 nPara, sal_Int32 nStart, sal_Int32 nEnd, bool bIdleFormatAndUpdate = true ); TxtAlign GetTextAlign() const { return meAlign; } void SetTextAlign( TxtAlign eAlign ); diff --git a/sw/source/ui/dbui/mmaddressblockpage.cxx b/sw/source/ui/dbui/mmaddressblockpage.cxx index 1bb0ec8..843fbe3 100644 --- a/sw/source/ui/dbui/mmaddressblockpage.cxx +++ b/sw/source/ui/dbui/mmaddressblockpage.cxx @@ -1443,7 +1443,7 @@ void AddressMultiLineEdit::InsertNewEntry( const OUString& rStr ) // insert new entry after current selected one. ExtTextView* pTextView = GetTextView(); const TextSelection& rSelection = pTextView->GetSelection(); - sal_uLong nPara = rSelection.GetStart().GetPara(); + const sal_uInt32 nPara = rSelection.GetStart().GetPara(); sal_Int32 nIndex = rSelection.GetEnd().GetIndex(); ExtTextEngine *pTextEngine = GetTextEngine(); const TextCharAttrib *pAttrib; @@ -1486,7 +1486,7 @@ void AddressMultiLineEdit::RemoveCurrentEntry() (pBeginAttrib->GetStart() <= rSelection.GetStart().GetIndex() && pBeginAttrib->GetEnd() >= rSelection.GetEnd().GetIndex())) { - sal_uLong nPara = rSelection.GetStart().GetPara(); + const sal_uInt32 nPara = rSelection.GetStart().GetPara(); TextSelection aEntrySel(TextPaM( nPara, pBeginAttrib->GetStart()), TextPaM(nPara, pBeginAttrib->GetEnd())); pTextEngine->ReplaceText(aEntrySel, OUString()); //restore the attributes @@ -1506,7 +1506,7 @@ void AddressMultiLineEdit::MoveCurrentItem(sal_uInt16 nMove) && pBeginAttrib->GetEnd() >= rSelection.GetEnd().GetIndex())) { //current item has been found - sal_uLong nPara = rSelection.GetStart().GetPara(); + sal_uInt32 nPara = rSelection.GetStart().GetPara(); sal_Int32 nIndex = pBeginAttrib->GetStart(); TextSelection aEntrySel(TextPaM( nPara, pBeginAttrib->GetStart()), TextPaM(nPara, pBeginAttrib->GetEnd())); const OUString sCurrentItem = pTextEngine->GetText(aEntrySel); @@ -1610,7 +1610,7 @@ OUString AddressMultiLineEdit::GetCurrentItem() (pBeginAttrib->GetStart() <= rSelection.GetStart().GetIndex() && pBeginAttrib->GetEnd() >= rSelection.GetEnd().GetIndex())) { - sal_uLong nPara = rSelection.GetStart().GetPara(); + const sal_uInt32 nPara = rSelection.GetStart().GetPara(); TextSelection aEntrySel(TextPaM( nPara, pBeginAttrib->GetStart()), TextPaM(nPara, pBeginAttrib->GetEnd())); return pTextEngine->GetText( aEntrySel ); } @@ -1627,7 +1627,7 @@ void AddressMultiLineEdit::SelectCurrentItem() (pBeginAttrib->GetStart() <= rSelection.GetStart().GetIndex() && pBeginAttrib->GetEnd() >= rSelection.GetEnd().GetIndex())) { - sal_uLong nPara = rSelection.GetStart().GetPara(); + const sal_uInt32 nPara = rSelection.GetStart().GetPara(); TextSelection aEntrySel(TextPaM( nPara, pBeginAttrib->GetStart()), TextPaM(nPara, pBeginAttrib->GetEnd())); pTextView->SetSelection(aEntrySel); Invalidate(); diff --git a/sw/source/uibase/uiview/srcview.cxx b/sw/source/uibase/uiview/srcview.cxx index 69df7cb..72b4de7 100644 --- a/sw/source/uibase/uiview/srcview.cxx +++ b/sw/source/uibase/uiview/srcview.cxx @@ -580,7 +580,7 @@ sal_uInt16 SwSrcView::StartSearchAndReplace(const SvxSearchItem& rSearchItem, bool bAtStart = pTextView->GetSelection() == TextSelection( aPaM, aPaM ); if( !bForward ) - aPaM = TextPaM( (sal_uLong)-1, USHRT_MAX ); + aPaM = TextPaM( TEXT_PARA_ALL, USHRT_MAX ); if( bFromStart ) { diff --git a/vcl/source/edit/textdat2.hxx b/vcl/source/edit/textdat2.hxx index 6e57f90..f7d4fce 100644 --- a/vcl/source/edit/textdat2.hxx +++ b/vcl/source/edit/textdat2.hxx @@ -216,10 +216,10 @@ public: TEParaPortions() : mvData() {} ~TEParaPortions(); - size_t Count() const { return mvData.size(); } - TEParaPortion* GetObject( size_t nIndex ) { return mvData[nIndex]; } - void Insert( TEParaPortion* pObject, size_t nPos ) { mvData.insert( mvData.begin()+nPos, pObject ); } - void Remove( size_t nPos ) { mvData.erase( mvData.begin()+nPos ); } + sal_uInt32 Count() const { return static_cast<sal_uInt32>(mvData.size()); } + TEParaPortion* GetObject( sal_uInt32 nIndex ) { return mvData[nIndex]; } + void Insert( TEParaPortion* pObject, sal_uInt32 nPos ) { mvData.insert( mvData.begin()+nPos, pObject ); } + void Remove( sal_uInt32 nPos ) { mvData.erase( mvData.begin()+nPos ); } }; class TextSelFunctionSet: public FunctionSet diff --git a/vcl/source/edit/textdata.cxx b/vcl/source/edit/textdata.cxx index fe95af5..19adc7d 100644 --- a/vcl/source/edit/textdata.cxx +++ b/vcl/source/edit/textdata.cxx @@ -260,14 +260,12 @@ void IdleFormatter::ForceTimeout() } } -TextHint::TextHint( sal_uLong Id ) : SfxSimpleHint( Id ) +TextHint::TextHint( sal_uInt32 Id ) : SfxSimpleHint( Id ), mnValue(0) { - mnValue = 0; } -TextHint::TextHint( sal_uLong Id, sal_uLong nValue ) : SfxSimpleHint( Id ) +TextHint::TextHint( sal_uInt32 Id, sal_uLong nValue ) : SfxSimpleHint( Id ), mnValue(nValue) { - mnValue = nValue; } TEIMEInfos::TEIMEInfos( const TextPaM& rPos, const OUString& rOldTextAfterStartPos ) diff --git a/vcl/source/edit/textdoc.cxx b/vcl/source/edit/textdoc.cxx index f3d2cd1..d13c5f9 100644 --- a/vcl/source/edit/textdoc.cxx +++ b/vcl/source/edit/textdoc.cxx @@ -422,18 +422,18 @@ void TextDoc::Clear() void TextDoc::DestroyTextNodes() { - for ( sal_uLong nNode = 0; nNode < maTextNodes.size(); nNode++ ) - delete maTextNodes[ nNode ]; + for ( auto pNode : maTextNodes ) + delete pNode; maTextNodes.clear(); } OUString TextDoc::GetText( const sal_Unicode* pSep ) const { - sal_uLong nNodes = maTextNodes.size(); + sal_uInt32 nNodes = static_cast<sal_uInt32>(maTextNodes.size()); OUString aASCIIText; - sal_uLong nLastNode = nNodes-1; - for ( sal_uLong nNode = 0; nNode < nNodes; nNode++ ) + const sal_uInt32 nLastNode = nNodes-1; + for ( sal_uInt32 nNode = 0; nNode < nNodes; ++nNode ) { TextNode* pNode = maTextNodes[ nNode ]; OUString aTmp( pNode->GetText() ); @@ -445,7 +445,7 @@ OUString TextDoc::GetText( const sal_Unicode* pSep ) const return aASCIIText; } -OUString TextDoc::GetText( sal_uLong nPara ) const +OUString TextDoc::GetText( sal_uInt32 nPara ) const { OUString aText; @@ -459,18 +459,18 @@ OUString TextDoc::GetText( sal_uLong nPara ) const sal_uLong TextDoc::GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel ) const { sal_uLong nLen = 0; - sal_uLong nNodes = maTextNodes.size(); + sal_uInt32 nNodes = static_cast<sal_uInt32>(maTextNodes.size()); if ( nNodes ) { - sal_uLong nStartNode = 0; - sal_uLong nEndNode = nNodes-1; + sal_uInt32 nStartNode = 0; + sal_uInt32 nEndNode = nNodes-1; if ( pSel ) { nStartNode = pSel->GetStart().GetPara(); nEndNode = pSel->GetEnd().GetPara(); } - for ( sal_uLong nNode = nStartNode; nNode <= nEndNode; nNode++ ) + for ( sal_uInt32 nNode = nStartNode; nNode <= nEndNode; ++nNode ) { TextNode* pNode = maTextNodes[ nNode ]; @@ -520,6 +520,7 @@ TextPaM TextDoc::InsertParaBreak( const TextPaM& rPaM, bool bKeepEndingAttribs ) TextNode* pNode = maTextNodes[ rPaM.GetPara() ]; TextNode* pNew = pNode->Split( rPaM.GetIndex(), bKeepEndingAttribs ); + DBG_ASSERT( maTextNodes.size()<SAL_MAX_UINT32, "InsertParaBreak: more than 4Gi paragraphs!" ); maTextNodes.insert( maTextNodes.begin() + rPaM.GetPara() + 1, pNew ); TextPaM aPaM( rPaM.GetPara()+1, 0 ); diff --git a/vcl/source/edit/textdoc.hxx b/vcl/source/edit/textdoc.hxx index 1efecf9..25095b1 100644 --- a/vcl/source/edit/textdoc.hxx +++ b/vcl/source/edit/textdoc.hxx @@ -115,7 +115,7 @@ public: sal_uLong GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel = NULL ) const; OUString GetText( const sal_Unicode* pSep ) const; - OUString GetText( sal_uLong nPara ) const; + OUString GetText( sal_uInt32 nPara ) const; void SetLeftMargin( sal_uInt16 n ) { mnLeftMargin = n; } sal_uInt16 GetLeftMargin() const { return mnLeftMargin; } diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index f964d16..ef5455c 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -261,9 +261,9 @@ OUString TextEngine::GetText( LineEnd aSeparator ) const OUString TextEngine::GetTextLines( LineEnd aSeparator ) const { OUString aText; - sal_uLong nParas = mpTEParaPortions->Count(); + const sal_uInt32 nParas = mpTEParaPortions->Count(); const sal_Unicode* pSep = static_getLineEndText( aSeparator ); - for ( sal_uLong nP = 0; nP < nParas; nP++ ) + for ( sal_uInt32 nP = 0; nP < nParas; ++nP ) { TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nP ); @@ -279,7 +279,7 @@ OUString TextEngine::GetTextLines( LineEnd aSeparator ) const return aText; } -OUString TextEngine::GetText( sal_uLong nPara ) const +OUString TextEngine::GetText( sal_uInt32 nPara ) const { return mpDoc->GetText( nPara ); } @@ -297,7 +297,7 @@ sal_uLong TextEngine::GetTextLen( const TextSelection& rSel, LineEnd aSeparator return mpDoc->GetTextLen( static_getLineEndText( aSeparator ), &aSel ); } -sal_Int32 TextEngine::GetTextLen( sal_uLong nPara ) const +sal_Int32 TextEngine::GetTextLen( const sal_uInt32 nPara ) const { return mpDoc->GetNodes()[ nPara ]->GetText().getLength(); } @@ -386,7 +386,7 @@ void TextEngine::ImpInitDoc() mpDoc->GetNodes().insert( mpDoc->GetNodes().begin(), pNode ); TEParaPortion* pIniPortion = new TEParaPortion( pNode ); - mpTEParaPortions->Insert( pIniPortion, (sal_uLong)0 ); + mpTEParaPortions->Insert( pIniPortion, 0 ); mbFormatted = false; @@ -404,10 +404,10 @@ OUString TextEngine::GetText( const TextSelection& rSel, LineEnd aSeparator ) co TextSelection aSel( rSel ); aSel.Justify(); - sal_uLong nStartPara = aSel.GetStart().GetPara(); - sal_uLong nEndPara = aSel.GetEnd().GetPara(); + const sal_uInt32 nStartPara = aSel.GetStart().GetPara(); + const sal_uInt32 nEndPara = aSel.GetEnd().GetPara(); const sal_Unicode* pSep = static_getLineEndText( aSeparator ); - for ( sal_uLong nNode = aSel.GetStart().GetPara(); nNode <= nEndPara; nNode++ ) + for ( sal_uInt32 nNode = aSel.GetStart().GetPara(); nNode <= nEndPara; ++nNode ) { TextNode* pNode = mpDoc->GetNodes()[ nNode ]; @@ -429,8 +429,7 @@ void TextEngine::ImpRemoveText() { ImpInitDoc(); - TextPaM aStartPaM( 0, 0 ); - TextSelection aEmptySel( aStartPaM, aStartPaM ); + const TextSelection aEmptySel; for ( size_t nView = 0; nView < mpViews->size(); nView++ ) { TextView* pView = (*mpViews)[ nView ]; @@ -447,10 +446,9 @@ void TextEngine::SetText( const OUString& rText ) // the manually inserted text cannot be reversed by the user EnableUndo( false ); - TextPaM aStartPaM( 0, 0 ); - TextSelection aEmptySel( aStartPaM, aStartPaM ); + const TextSelection aEmptySel; - TextPaM aPaM = aStartPaM; + TextPaM aPaM; if ( !rText.isEmpty() ) aPaM = ImpInsertText( aEmptySel, rText ); @@ -473,7 +471,7 @@ void TextEngine::SetText( const OUString& rText ) DBG_ASSERT( !HasUndoManager() || !GetUndoManager().GetUndoActionCount(), "SetText: Undo!" ); } -void TextEngine::CursorMoved( sal_uLong nNode ) +void TextEngine::CursorMoved( sal_uInt32 nNode ) { // delete empty attribute; but only if paragraph is not empty! TextNode* pNode = mpDoc->GetNodes()[ nNode ]; @@ -508,7 +506,7 @@ void TextEngine::ImpRemoveChars( const TextPaM& rPaM, sal_Int32 nChars, SfxUndoA ImpCharsRemoved( rPaM.GetPara(), rPaM.GetIndex(), nChars ); } -TextPaM TextEngine::ImpConnectParagraphs( sal_uLong nLeft, sal_uLong nRight ) +TextPaM TextEngine::ImpConnectParagraphs( sal_uInt32 nLeft, sal_uInt32 nRight ) { DBG_ASSERT( nLeft != nRight, "ImpConnectParagraphs: connect the very same paragraph ?" ); @@ -552,11 +550,11 @@ TextPaM TextEngine::ImpDeleteText( const TextSelection& rSel ) DBG_ASSERT( mpDoc->IsValidPaM( aStartPaM ), "ImpDeleteText(1): bad Index" ); DBG_ASSERT( mpDoc->IsValidPaM( aEndPaM ), "ImpDeleteText(2): bad Index" ); - sal_uLong nStartNode = aStartPaM.GetPara(); - sal_uLong nEndNode = aEndPaM.GetPara(); + const sal_uInt32 nStartNode = aStartPaM.GetPara(); + sal_uInt32 nEndNode = aEndPaM.GetPara(); // remove all Nodes inbetween - for ( sal_uLong z = nStartNode+1; z < nEndNode; z++ ) + for ( sal_uInt32 z = nStartNode+1; z < nEndNode; ++z ) { // always nStartNode+1, because of Remove()! ImpRemoveParagraph( nStartNode+1 ); @@ -605,7 +603,7 @@ TextPaM TextEngine::ImpDeleteText( const TextSelection& rSel ) return aStartPaM; } -void TextEngine::ImpRemoveParagraph( sal_uLong nPara ) +void TextEngine::ImpRemoveParagraph( sal_uInt32 nPara ) { TextNode* pNode = mpDoc->GetNodes()[ nPara ]; std::unique_ptr<TEParaPortion> xPortion(mpTEParaPortions->GetObject( nPara )); @@ -863,7 +861,7 @@ Rectangle TextEngine::PaMtoEditCursor( const TextPaM& rPaM, bool bSpecial ) } else { - for ( sal_uLong nPortion = 0; nPortion < rPaM.GetPara(); nPortion++ ) + for ( sal_uInt32 nPortion = 0; nPortion < rPaM.GetPara(); ++nPortion ) { TEParaPortion* pPortion = mpTEParaPortions->GetObject(nPortion); nY += pPortion->GetLines().size() * mnCharHeight; @@ -929,7 +927,7 @@ Rectangle TextEngine::GetEditCursor( const TextPaM& rPaM, bool bSpecial, bool bP return aEditCursor; } -long TextEngine::ImpGetXPos( sal_uLong nPara, TextLine* pLine, sal_Int32 nIndex, bool bPreferPortionStart ) +long TextEngine::ImpGetXPos( sal_uInt32 nPara, TextLine* pLine, sal_Int32 nIndex, bool bPreferPortionStart ) { DBG_ASSERT( ( nIndex >= pLine->GetStart() ) && ( nIndex <= pLine->GetEnd() ) , "ImpGetXPos: Bad parameters!" ); @@ -1031,7 +1029,7 @@ const TextCharAttrib* TextEngine::FindCharAttrib( const TextPaM& rPaM, sal_uInt1 bool TextEngine::HasAttrib( sal_uInt16 nWhich ) const { bool bAttr = false; - for ( sal_uLong n = mpDoc->GetNodes().size(); --n && !bAttr; ) + for ( auto n = mpDoc->GetNodes().size(); --n && !bAttr; ) { TextNode* pNode = mpDoc->GetNodes()[ n ]; bAttr = pNode->GetCharAttribs().HasAttrib( nWhich ); @@ -1044,7 +1042,7 @@ TextPaM TextEngine::GetPaM( const Point& rDocPos, bool bSmart ) DBG_ASSERT( GetUpdateMode(), "GetPaM: GetUpdateMode()" ); long nY = 0; - for ( sal_uLong nPortion = 0; nPortion < mpTEParaPortions->Count(); nPortion++ ) + for ( sal_uInt32 nPortion = 0; nPortion < mpTEParaPortions->Count(); ++nPortion ) { TEParaPortion* pPortion = mpTEParaPortions->GetObject( nPortion ); long nTmpHeight = pPortion->GetLines().size() * mnCharHeight; @@ -1062,12 +1060,12 @@ TextPaM TextEngine::GetPaM( const Point& rDocPos, bool bSmart ) } // not found - go to last visible - sal_uLong nLastNode = mpDoc->GetNodes().size() - 1; + const sal_uInt32 nLastNode = static_cast<sal_uInt32>(mpDoc->GetNodes().size() - 1); TextNode* pLast = mpDoc->GetNodes()[ nLastNode ]; return TextPaM( nLastNode, pLast->GetText().getLength() ); } -sal_Int32 TextEngine::ImpFindIndex( sal_uLong nPortion, const Point& rPosInPara, bool bSmart ) +sal_Int32 TextEngine::ImpFindIndex( sal_uInt32 nPortion, const Point& rPosInPara, bool bSmart ) { DBG_ASSERT( IsFormatted(), "GetPaM: Not formatted" ); TEParaPortion* pPortion = mpTEParaPortions->GetObject( nPortion ); @@ -1102,7 +1100,7 @@ sal_Int32 TextEngine::ImpFindIndex( sal_uLong nPortion, const Point& rPosInPara, return nCurIndex; } -sal_Int32 TextEngine::GetCharPos( sal_uLong nPortion, sal_uInt16 nLine, long nXPos, bool ) +sal_Int32 TextEngine::GetCharPos( sal_uInt32 nPortion, sal_uInt16 nLine, long nXPos, bool ) { TEParaPortion* pPortion = mpTEParaPortions->GetObject( nPortion ); @@ -1151,7 +1149,7 @@ sal_uLong TextEngine::GetTextHeight() const return mnCurTextHeight; } -sal_uLong TextEngine::GetTextHeight( sal_uLong nParagraph ) const +sal_uLong TextEngine::GetTextHeight( sal_uInt32 nParagraph ) const { DBG_ASSERT( GetUpdateMode(), "GetTextHeight: GetUpdateMode()" ); @@ -1161,7 +1159,7 @@ sal_uLong TextEngine::GetTextHeight( sal_uLong nParagraph ) const return CalcParaHeight( nParagraph ); } -sal_uLong TextEngine::CalcTextWidth( sal_uLong nPara ) +sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara ) { sal_uLong nParaWidth = 0; TEParaPortion* pPortion = mpTEParaPortions->GetObject( nPara ); @@ -1188,7 +1186,7 @@ sal_uLong TextEngine::CalcTextWidth() if ( mnCurTextWidth == 0xFFFFFFFF ) { mnCurTextWidth = 0; - for ( sal_uLong nPara = mpTEParaPortions->Count(); nPara; ) + for ( sal_uInt32 nPara = mpTEParaPortions->Count(); nPara; ) { sal_uLong nParaWidth = CalcTextWidth( --nPara ); if ( nParaWidth > mnCurTextWidth ) @@ -1203,12 +1201,12 @@ sal_uLong TextEngine::CalcTextHeight() DBG_ASSERT( GetUpdateMode(), "CalcTextHeight: GetUpdateMode()" ); sal_uLong nY = 0; - for ( sal_uLong nPortion = mpTEParaPortions->Count(); nPortion; ) + for ( auto nPortion = mpTEParaPortions->Count(); nPortion; ) nY += CalcParaHeight( --nPortion ); return nY; } -sal_uLong TextEngine::CalcTextWidth( sal_uLong nPara, sal_Int32 nPortionStart, sal_Int32 nLen, const vcl::Font* pFont ) +sal_uLong TextEngine::CalcTextWidth( sal_uInt32 nPara, sal_Int32 nPortionStart, sal_Int32 nLen, const vcl::Font* pFont ) { #ifdef DBG_UTIL // within the text there must not be a Portion change (attribute/tab)! @@ -1241,7 +1239,7 @@ sal_uLong TextEngine::CalcTextWidth( sal_uLong nPara, sal_Int32 nPortionStart, s return nWidth; } -sal_uInt16 TextEngine::GetLineCount( sal_uLong nParagraph ) const +sal_uInt16 TextEngine::GetLineCount( sal_uInt32 nParagraph ) const { DBG_ASSERT( nParagraph < mpTEParaPortions->Count(), "GetLineCount: Out of range" ); @@ -1252,7 +1250,7 @@ sal_uInt16 TextEngine::GetLineCount( sal_uLong nParagraph ) const return 0; } -sal_Int32 TextEngine::GetLineLen( sal_uLong nParagraph, sal_uInt16 nLine ) const +sal_Int32 TextEngine::GetLineLen( sal_uInt32 nParagraph, sal_uInt16 nLine ) const { DBG_ASSERT( nParagraph < mpTEParaPortions->Count(), "GetLineCount: Out of range" ); @@ -1265,7 +1263,7 @@ sal_Int32 TextEngine::GetLineLen( sal_uLong nParagraph, sal_uInt16 nLine ) const return 0; } -sal_uLong TextEngine::CalcParaHeight( sal_uLong nParagraph ) const +sal_uLong TextEngine::CalcParaHeight( sal_uInt32 nParagraph ) const { sal_uLong nHeight = 0; @@ -1277,7 +1275,7 @@ sal_uLong TextEngine::CalcParaHeight( sal_uLong nParagraph ) const return nHeight; } -Range TextEngine::GetInvalidYOffsets( sal_uLong nPortion ) +Range TextEngine::GetInvalidYOffsets( sal_uInt32 nPortion ) { TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPortion ); sal_uInt16 nLines = pTEParaPortion->GetLines().size(); @@ -1354,7 +1352,7 @@ void TextEngine::ResetUndo() mpUndoManager->Clear(); } -void TextEngine::InsertContent( TextNode* pNode, sal_uLong nPara ) +void TextEngine::InsertContent( TextNode* pNode, sal_uInt32 nPara ) { DBG_ASSERT( pNode, "InsertContent: NULL-Pointer!" ); DBG_ASSERT( IsInUndo(), "InsertContent: only in Undo()!" ); @@ -1364,7 +1362,7 @@ void TextEngine::InsertContent( TextNode* pNode, sal_uLong nPara ) ImpParagraphInserted( nPara ); } -TextPaM TextEngine::SplitContent( sal_uLong nNode, sal_Int32 nSepPos ) +TextPaM TextEngine::SplitContent( sal_uInt32 nNode, sal_Int32 nSepPos ) { #ifdef DBG_UTIL TextNode* pNode = mpDoc->GetNodes()[ nNode ]; @@ -1376,13 +1374,13 @@ TextPaM TextEngine::SplitContent( sal_uLong nNode, sal_Int32 nSepPos ) return ImpInsertParaBreak( aPaM ); } -TextPaM TextEngine::ConnectContents( sal_uLong nLeftNode ) +TextPaM TextEngine::ConnectContents( sal_uInt32 nLeftNode ) { DBG_ASSERT( IsInUndo(), "ConnectContent: only in Undo()!" ); return ImpConnectParagraphs( nLeftNode, nLeftNode+1 ); } -void TextEngine::SeekCursor( sal_uLong nPara, sal_Int32 nPos, vcl::Font& rFont, OutputDevice* pOutDev ) +void TextEngine::SeekCursor( sal_uInt32 nPara, sal_Int32 nPos, vcl::Font& rFont, OutputDevice* pOutDev ) { rFont = maFont; if ( pOutDev ) @@ -1520,7 +1518,7 @@ void TextEngine::CheckIdleFormatter() void TextEngine::FormatFullDoc() { - for ( sal_uLong nPortion = 0; nPortion < mpTEParaPortions->Count(); nPortion++ ) + for ( sal_uInt32 nPortion = 0; nPortion < mpTEParaPortions->Count(); ++nPortion ) { TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPortion ); sal_Int32 nLen = pTEParaPortion->GetNode()->GetText().getLength(); @@ -1542,7 +1540,7 @@ void TextEngine::FormatDoc() bool bGrow = false; maInvalidRect = Rectangle(); // clear - for ( sal_uLong nPara = 0; nPara < mpTEParaPortions->Count(); nPara++ ) + for ( sal_uInt32 nPara = 0; nPara < mpTEParaPortions->Count(); ++nPara ) { TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); if ( pTEParaPortion->IsInvalid() ) @@ -1620,7 +1618,7 @@ void TextEngine::FormatDoc() ImpTextFormatted(); } -void TextEngine::CreateAndInsertEmptyLine( sal_uLong nPara ) +void TextEngine::CreateAndInsertEmptyLine( sal_uInt32 nPara ) { TextNode* pNode = mpDoc->GetNodes()[ nPara ]; TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); @@ -1652,7 +1650,7 @@ void TextEngine::CreateAndInsertEmptyLine( sal_uLong nPara ) } } -void TextEngine::ImpBreakLine( sal_uLong nPara, TextLine* pLine, TETextPortion*, sal_Int32 nPortionStart, long nRemainingWidth ) +void TextEngine::ImpBreakLine( sal_uInt32 nPara, TextLine* pLine, TETextPortion*, sal_Int32 nPortionStart, long nRemainingWidth ) { TextNode* pNode = mpDoc->GetNodes()[ nPara ]; @@ -1702,7 +1700,7 @@ void TextEngine::ImpBreakLine( sal_uLong nPara, TextLine* pLine, TETextPortion*, pLine->SetEndPortion( nEndPortion ); } -sal_uInt16 TextEngine::SplitTextPortion( sal_uLong nPara, sal_Int32 nPos ) +sal_uInt16 TextEngine::SplitTextPortion( sal_uInt32 nPara, sal_Int32 nPos ) { // the Portion at nPos is being split, unless there is already a switch at nPos @@ -1738,7 +1736,7 @@ sal_uInt16 TextEngine::SplitTextPortion( sal_uLong nPara, sal_Int32 nPos ) return nSplitPortion; } -void TextEngine::CreateTextPortions( sal_uLong nPara, sal_Int32 nStartPos ) +void TextEngine::CreateTextPortions( sal_uInt32 nPara, sal_Int32 nStartPos ) { TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); TextNode* pNode = pTEParaPortion->GetNode(); @@ -1831,7 +1829,7 @@ void TextEngine::CreateTextPortions( sal_uLong nPara, sal_Int32 nStartPos ) OSL_ENSURE(pTEParaPortion->GetTextPortions().size(), "CreateTextPortions: No Portions?!"); } -void TextEngine::RecalcTextPortion( sal_uLong nPara, sal_Int32 nStartPos, sal_Int32 nNewChars ) +void TextEngine::RecalcTextPortion( sal_uInt32 nPara, sal_Int32 nStartPos, sal_Int32 nNewChars ) { TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); OSL_ENSURE(pTEParaPortion->GetTextPortions().size(), "RecalcTextPortion: no Portions!"); @@ -1942,7 +1940,7 @@ void TextEngine::ImpPaint( OutputDevice* pOutDev, const Point& rStartPos, Rectan const StyleSettings& rStyleSettings = pOutDev->GetSettings().GetStyleSettings(); // for all paragraphs - for ( sal_uLong nPara = 0; nPara < mpTEParaPortions->Count(); nPara++ ) + for ( sal_uInt32 nPara = 0; nPara < mpTEParaPortions->Count(); ++nPara ) { TEParaPortion* pPortion = mpTEParaPortions->GetObject( nPara ); // in case while typing Idle-Formatting, asynchronous Paint @@ -2120,7 +2118,7 @@ void TextEngine::ImpPaint( OutputDevice* pOutDev, const Point& rStartPos, Rectan } } -bool TextEngine::CreateLines( sal_uLong nPara ) +bool TextEngine::CreateLines( sal_uInt32 nPara ) { // bool: changing Height of Paragraph Yes/No - true/false @@ -2467,7 +2465,7 @@ bool TextEngine::Read( SvStream& rInput, const TextSelection* pSel ) aSel = *pSel; else { - sal_uLong nParas = mpDoc->GetNodes().size(); + sal_uInt32 nParas = static_cast<sal_uInt32>(mpDoc->GetNodes().size()); TextNode* pNode = mpDoc->GetNodes()[ nParas - 1 ]; aSel = TextPaM( nParas-1 , pNode->GetText().getLength() ); } @@ -2508,7 +2506,7 @@ bool TextEngine::Write( SvStream& rOutput, const TextSelection* pSel, bool bHTML aSel = *pSel; else { - sal_uLong nParas = mpDoc->GetNodes().size(); + sal_uInt32 nParas = static_cast<sal_uInt32>(mpDoc->GetNodes().size()); TextNode* pNode = mpDoc->GetNodes()[ nParas - 1 ]; aSel.GetStart() = TextPaM( 0, 0 ); aSel.GetEnd() = TextPaM( nParas-1, pNode->GetText().getLength() ); @@ -2520,7 +2518,7 @@ bool TextEngine::Write( SvStream& rOutput, const TextSelection* pSel, bool bHTML rOutput.WriteLine( "<BODY>" ); } - for ( sal_uLong nPara = aSel.GetStart().GetPara(); nPara <= aSel.GetEnd().GetPara(); nPara++ ) + for ( sal_uInt32 nPara = aSel.GetStart().GetPara(); nPara <= aSel.GetEnd().GetPara(); ++nPara ) { TextNode* pNode = mpDoc->GetNodes()[ nPara ]; @@ -2587,7 +2585,7 @@ bool TextEngine::Write( SvStream& rOutput, const TextSelection* pSel, bool bHTML return rOutput.GetError() == 0; } -void TextEngine::RemoveAttribs( sal_uLong nPara, bool bIdleFormatAndUpdate ) +void TextEngine::RemoveAttribs( sal_uInt32 nPara, bool bIdleFormatAndUpdate ) { if ( nPara < mpDoc->GetNodes().size() ) { @@ -2608,7 +2606,7 @@ void TextEngine::RemoveAttribs( sal_uLong nPara, bool bIdleFormatAndUpdate ) } } } -void TextEngine::RemoveAttribs( sal_uLong nPara, sal_uInt16 nWhich, bool bIdleFormatAndUpdate ) +void TextEngine::RemoveAttribs( sal_uInt32 nPara, sal_uInt16 nWhich, bool bIdleFormatAndUpdate ) { if ( nPara < mpDoc->GetNodes().size() ) { @@ -2632,7 +2630,7 @@ void TextEngine::RemoveAttribs( sal_uLong nPara, sal_uInt16 nWhich, bool bIdleFo } } } -void TextEngine::RemoveAttrib( sal_uLong nPara, const TextCharAttrib& rAttrib ) +void TextEngine::RemoveAttrib( sal_uInt32 nPara, const TextCharAttrib& rAttrib ) { if ( nPara < mpDoc->GetNodes().size() ) { @@ -2657,7 +2655,7 @@ void TextEngine::RemoveAttrib( sal_uLong nPara, const TextCharAttrib& rAttrib ) } } -void TextEngine::SetAttrib( const TextAttrib& rAttr, sal_uLong nPara, sal_Int32 nStart, sal_Int32 nEnd, bool bIdleFormatAndUpdate ) +void TextEngine::SetAttrib( const TextAttrib& rAttr, sal_uInt32 nPara, sal_Int32 nStart, sal_Int32 nEnd, bool bIdleFormatAndUpdate ) { // For now do not check if Attributes overlap! @@ -2705,10 +2703,10 @@ void TextEngine::ValidateSelection( TextSelection& rSel ) const void TextEngine::ValidatePaM( TextPaM& rPaM ) const { - sal_uLong nMaxPara = mpDoc->GetNodes().size() - 1; - if ( rPaM.GetPara() > nMaxPara ) + const sal_uInt32 nParas = static_cast<sal_uInt32>(mpDoc->GetNodes().size()); + if ( rPaM.GetPara() >= nParas ) { - rPaM.GetPara() = nMaxPara; + rPaM.GetPara() = nParas ? nParas-1 : 0; rPaM.GetIndex() = 0xFFFF; } @@ -2719,7 +2717,7 @@ void TextEngine::ValidatePaM( TextPaM& rPaM ) const // adjust State & Selection -void TextEngine::ImpParagraphInserted( sal_uLong nPara ) +void TextEngine::ImpParagraphInserted( sal_uInt32 nPara ) { // No adjustment needed for the active View; // but for all passive Views the Selection needs adjusting. @@ -2742,7 +2740,7 @@ void TextEngine::ImpParagraphInserted( sal_uLong nPara ) Broadcast( TextHint( TEXT_HINT_PARAINSERTED, nPara ) ); } -void TextEngine::ImpParagraphRemoved( sal_uLong nPara ) +void TextEngine::ImpParagraphRemoved( sal_uInt32 nPara ) { if ( mpViews->size() > 1 ) { @@ -2751,7 +2749,7 @@ void TextEngine::ImpParagraphRemoved( sal_uLong nPara ) TextView* pView = (*mpViews)[ --nView ]; if ( pView != GetActiveView() ) { - sal_uLong nParas = mpDoc->GetNodes().size(); + const sal_uInt32 nParas = static_cast<sal_uInt32>(mpDoc->GetNodes().size()); for ( int n = 0; n <= 1; n++ ) { TextPaM& rPaM = n ? pView->GetSelection().GetStart(): pView->GetSelection().GetEnd(); @@ -2770,7 +2768,7 @@ void TextEngine::ImpParagraphRemoved( sal_uLong nPara ) Broadcast( TextHint( TEXT_HINT_PARAREMOVED, nPara ) ); } -void TextEngine::ImpCharsRemoved( sal_uLong nPara, sal_Int32 nPos, sal_Int32 nChars ) +void TextEngine::ImpCharsRemoved( sal_uInt32 nPara, sal_Int32 nPos, sal_Int32 nChars ) { if ( mpViews->size() > 1 ) { ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits