[Libreoffice-commits] .: 3 commits - svtools/source unusedcode.easy

Ivan Timofeev ivantimofeev at kemper.freedesktop.org
Mon Mar 5 05:19:57 PST 2012


 svtools/source/edit/textdat2.hxx |    8 +--
 svtools/source/edit/textdata.cxx |    5 --
 svtools/source/edit/texteng.cxx  |   84 +++++++++++++++++++--------------------
 unusedcode.easy                  |   12 -----
 4 files changed, 47 insertions(+), 62 deletions(-)

New commits:
commit b5bc28fbb20d7432f243ce2808d8a535f02b0b5f
Author: Maciej Rumianowski <maciej.rumianowski at gmail.com>
Date:   Sat Feb 25 16:07:42 2012 +0100

    Remove unused code TESortedPositions and TEWritingDirectionInfos

diff --git a/unusedcode.easy b/unusedcode.easy
index 6aa0aaf..52a52e8 100755
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -360,18 +360,6 @@ SwpHtStart::Insert(SwTxtAttr const**, unsigned short)
 SwpHtStart::Insert(SwpHtStart const*, unsigned short, unsigned short)
 SwpHtStart::Remove(SwTxtAttr const*&, unsigned short)
 SystemChildWindow::SystemChildWindow(Window*, ResId const&)
-TESortedPositions::Insert(TESortedPositions const*, unsigned short, unsigned short)
-TESortedPositions::Insert(unsigned long const&, unsigned short&)
-TESortedPositions::Insert(unsigned long const*, unsigned short)
-TESortedPositions::Remove(unsigned long const&, unsigned short)
-TESortedPositions::Remove(unsigned short, unsigned short)
-TESortedPositions_SAR::Replace(unsigned long const&, unsigned short)
-TESortedPositions_SAR::Replace(unsigned long const*, unsigned short, unsigned short)
-TESortedPositions_SAR::_ForEach(unsigned short, unsigned short, unsigned char (*)(unsigned long const&, void*), void*)
-TEWritingDirectionInfos::Insert(TEWritingDirectionInfos const*, unsigned short, unsigned short, unsigned short)
-TEWritingDirectionInfos::Replace(TEWritingDirectionInfo const&, unsigned short)
-TEWritingDirectionInfos::Replace(TEWritingDirectionInfo const*, unsigned short, unsigned short)
-TEWritingDirectionInfos::_ForEach(unsigned short, unsigned short, unsigned char (*)(TEWritingDirectionInfo const&, void*), void*)
 TaskBar::TaskBar(Window*, long)
 TaskStatusFieldItem::TaskStatusFieldItem()
 TempFile::IsValid() const
commit bf12ddb08f60aa261f83e1688c5d589a69eea0dd
Author: Maciej Rumianowski <maciej.rumianowski at gmail.com>
Date:   Sat Feb 25 15:34:30 2012 +0100

    Replace VARARR TEWritingDirectionInfos with std::vector

diff --git a/svtools/source/edit/textdat2.hxx b/svtools/source/edit/textdat2.hxx
index 945fd23..c34f5ec 100644
--- a/svtools/source/edit/textdat2.hxx
+++ b/svtools/source/edit/textdat2.hxx
@@ -35,6 +35,8 @@
 #include <vcl/virdev.hxx>
 #include <vcl/cursor.hxx>
 
+#include <vector>
+
 class TextNode;
 class TextView;
 
@@ -117,8 +119,6 @@ struct TEWritingDirectionInfo
     }
 };
 
-SV_DECL_VARARR( TEWritingDirectionInfos, TEWritingDirectionInfo, 0 )
-
 class TextLine
 {
 private:
@@ -202,7 +202,7 @@ private:
 
     TextLines               maLines;
     TETextPortionList       maTextPortions;
-    TEWritingDirectionInfos maWritingDirectionInfos;
+    std::vector<TEWritingDirectionInfo> maWritingDirectionInfos;
 
 
     sal_uInt16              mnInvalidPosStart;
@@ -233,7 +233,7 @@ public:
     TextNode*           GetNode() const             { return mpNode; }
     TextLines&          GetLines()                  { return maLines; }
     TETextPortionList&  GetTextPortions()           { return maTextPortions; }
-    TEWritingDirectionInfos& GetWritingDirectionInfos() { return maWritingDirectionInfos; }
+    std::vector<TEWritingDirectionInfo>& GetWritingDirectionInfos() { return maWritingDirectionInfos; }
 
 
     sal_uInt16              GetLineNumber( sal_uInt16 nIndex, sal_Bool bInclEnd );
diff --git a/svtools/source/edit/textdata.cxx b/svtools/source/edit/textdata.cxx
index 4023c86..894887d 100644
--- a/svtools/source/edit/textdata.cxx
+++ b/svtools/source/edit/textdata.cxx
@@ -33,7 +33,6 @@
 #include <tools/debug.hxx>
 
 SV_IMPL_PTRARR( TextLines, TextLinePtr );
-SV_IMPL_VARARR( TEWritingDirectionInfos, TEWritingDirectionInfo );
 
 
 // -------------------------------------------------------------------------
@@ -173,7 +172,7 @@ void TEParaPortion::MarkInvalid( sal_uInt16 nStart, short nDiff )
         }
     }
 
-    maWritingDirectionInfos.Remove( 0, maWritingDirectionInfos.Count() );
+    maWritingDirectionInfos.clear();
 
     mbInvalid = sal_True;
 }
@@ -191,7 +190,7 @@ void TEParaPortion::MarkSelectionInvalid( sal_uInt16 nStart, sal_uInt16 /*nEnd*/
 //      nInvalidPosEnd = pNode->Len();
     }
 
-    maWritingDirectionInfos.Remove( 0, maWritingDirectionInfos.Count() );
+    maWritingDirectionInfos.clear();
 
     mnInvalidDiff = 0;
     mbInvalid = sal_True;
diff --git a/svtools/source/edit/texteng.cxx b/svtools/source/edit/texteng.cxx
index f727de2..6baf8a9 100644
--- a/svtools/source/edit/texteng.cxx
+++ b/svtools/source/edit/texteng.cxx
@@ -65,6 +65,7 @@
 #include <unicode/ubidi.h>
 
 #include <set>
+#include <vector>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -1835,9 +1836,9 @@ void TextEngine::CreateTextPortions( sal_uLong nPara, sal_uInt16 nStartPos )
     }
     aPositions.insert( pNode->GetText().Len() );
 
-    const TEWritingDirectionInfos& rWritingDirections = pTEParaPortion->GetWritingDirectionInfos();
-    for ( sal_uInt16 nD = 0; nD < rWritingDirections.Count(); nD++ )
-        aPositions.insert( rWritingDirections[nD].nStartPos );
+    const std::vector<TEWritingDirectionInfo>& rWritingDirections = pTEParaPortion->GetWritingDirectionInfos();
+    for ( std::vector<TEWritingDirectionInfo>::const_iterator it = rWritingDirections.begin(); it != rWritingDirections.end(); ++it )
+        aPositions.insert( (*it).nStartPos );
 
     if ( mpIMEInfos && mpIMEInfos->pAttribs && ( mpIMEInfos->aPos.GetPara() == nPara ) )
     {
@@ -2252,10 +2253,10 @@ sal_Bool TextEngine::CreateLines( sal_uLong nPara )
     const sal_uInt16 nInvalidEnd =  nInvalidStart + Abs( nInvalidDiff );
     sal_Bool bQuickFormat = sal_False;
 
-    if ( !pTEParaPortion->GetWritingDirectionInfos().Count() )
+    if ( pTEParaPortion->GetWritingDirectionInfos().empty() )
         ImpInitWritingDirections( nPara );
 
-    if ( pTEParaPortion->GetWritingDirectionInfos().Count() == 1 )
+    if ( pTEParaPortion->GetWritingDirectionInfos().size() == 1 )
     {
         if ( pTEParaPortion->IsSimpleInvalid() && ( nInvalidDiff > 0 ) )
         {
@@ -3015,8 +3016,8 @@ void TextEngine::SetRightToLeft( sal_Bool bR2L )
 void TextEngine::ImpInitWritingDirections( sal_uLong nPara )
 {
     TEParaPortion* pParaPortion = mpTEParaPortions->GetObject( nPara );
-    TEWritingDirectionInfos& rInfos = pParaPortion->GetWritingDirectionInfos();
-    rInfos.Remove( 0, rInfos.Count() );
+    std::vector<TEWritingDirectionInfo>& rInfos = pParaPortion->GetWritingDirectionInfos();
+    rInfos.clear();
 
     if ( pParaPortion->GetNode()->GetText().Len() )
     {
@@ -3042,7 +3043,7 @@ void TextEngine::ImpInitWritingDirections( sal_uLong nPara )
         for ( sal_uInt16 nIdx = 0; nIdx < nCount; ++nIdx )
         {
             ubidi_getLogicalRun( pBidi, nStart, &nEnd, &nCurrDir );
-            rInfos.Insert( TEWritingDirectionInfo( nCurrDir, (sal_uInt16)nStart, (sal_uInt16)nEnd ), rInfos.Count() );
+            rInfos.push_back( TEWritingDirectionInfo( nCurrDir, (sal_uInt16)nStart, (sal_uInt16)nEnd ) );
             nStart = nEnd;
         }
 
@@ -3050,8 +3051,8 @@ void TextEngine::ImpInitWritingDirections( sal_uLong nPara )
     }
 
     // No infos mean no CTL and default dir is L2R...
-    if ( !rInfos.Count() )
-        rInfos.Insert( TEWritingDirectionInfo( 0, 0, (sal_uInt16)pParaPortion->GetNode()->GetText().Len() ), rInfos.Count() );
+    if ( rInfos.empty() )
+        rInfos.push_back( TEWritingDirectionInfo( 0, 0, (sal_uInt16)pParaPortion->GetNode()->GetText().Len() ) );
 
 }
 
@@ -3063,19 +3064,19 @@ sal_uInt8 TextEngine::ImpGetRightToLeft( sal_uLong nPara, sal_uInt16 nPos, sal_u
     if ( pNode && pNode->GetText().Len() )
     {
         TEParaPortion* pParaPortion = mpTEParaPortions->GetObject( nPara );
-        if ( !pParaPortion->GetWritingDirectionInfos().Count() )
+        if ( pParaPortion->GetWritingDirectionInfos().empty() )
             ImpInitWritingDirections( nPara );
 
-        TEWritingDirectionInfos& rDirInfos = pParaPortion->GetWritingDirectionInfos();
-        for ( sal_uInt16 n = 0; n < rDirInfos.Count(); n++ )
+        std::vector<TEWritingDirectionInfo>& rDirInfos = pParaPortion->GetWritingDirectionInfos();
+        for ( std::vector<TEWritingDirectionInfo>::const_iterator rDirInfosIt = rDirInfos.begin(); rDirInfosIt != rDirInfos.end(); ++rDirInfosIt )
         {
-            if ( ( rDirInfos[n].nStartPos <= nPos ) && ( rDirInfos[n].nEndPos >= nPos ) )
+            if ( ( (*rDirInfosIt).nStartPos <= nPos ) && ( (*rDirInfosIt).nEndPos >= nPos ) )
                {
-                nRightToLeft = rDirInfos[n].nType;
+                nRightToLeft = (*rDirInfosIt).nType;
                 if ( pStart )
-                    *pStart = rDirInfos[n].nStartPos;
+                    *pStart = (*rDirInfosIt).nStartPos;
                 if ( pEnd )
-                    *pEnd = rDirInfos[n].nEndPos;
+                    *pEnd = (*rDirInfosIt).nEndPos;
                 break;
             }
         }
commit cf2fbadf90c1cb255e39529b856df3eaef1e0226
Author: Maciej Rumianowski <maciej.rumianowski at gmail.com>
Date:   Sat Feb 25 14:58:16 2012 +0100

    Replace VARARR_SORT TESortedPositions with std::set

diff --git a/svtools/source/edit/texteng.cxx b/svtools/source/edit/texteng.cxx
index 8b13fcd..f727de2 100644
--- a/svtools/source/edit/texteng.cxx
+++ b/svtools/source/edit/texteng.cxx
@@ -64,6 +64,8 @@
 
 #include <unicode/ubidi.h>
 
+#include <set>
+
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::rtl;
@@ -72,9 +74,6 @@ typedef TextView* TextViewPtr;
 SV_DECL_PTRARR( TextViews, TextViewPtr, 0 )
 // SV_IMPL_PTRARR( TextViews, TextViewPtr );
 
-SV_DECL_VARARR_SORT( TESortedPositions, sal_uLong, 16 )
-SV_IMPL_VARARR_SORT( TESortedPositions, sal_uLong )
-
 #define RESDIFF     10
 #define SCRLRANGE   20      // 1/20 der Breite/Hoehe scrollen, wenn im QueryDrop
 
@@ -1822,25 +1821,23 @@ void TextEngine::CreateTextPortions( sal_uLong nPara, sal_uInt16 nStartPos )
     TextNode* pNode = pTEParaPortion->GetNode();
     DBG_ASSERT( pNode->GetText().Len(), "CreateTextPortions sollte nicht fuer leere Absaetze verwendet werden!" );
 
-    TESortedPositions aPositions;
-    sal_uLong nZero = 0;
-    aPositions.Insert( nZero );
+    std::set<sal_uInt16> aPositions;
+    std::set<sal_uInt16>::iterator aPositionsIt;
+    aPositions.insert(0);
 
     sal_uInt16 nAttribs = pNode->GetCharAttribs().Count();
     for ( sal_uInt16 nAttr = 0; nAttr < nAttribs; nAttr++ )
     {
         TextCharAttrib* pAttrib = pNode->GetCharAttribs().GetAttrib( nAttr );
 
-        // Start und Ende in das Array eintragen...
-        // Die InsertMethode laesst keine doppelten Werte zu....
-        aPositions.Insert( pAttrib->GetStart() );
-        aPositions.Insert( pAttrib->GetEnd() );
+        aPositions.insert( pAttrib->GetStart() );
+        aPositions.insert( pAttrib->GetEnd() );
     }
-    aPositions.Insert( pNode->GetText().Len() );
+    aPositions.insert( pNode->GetText().Len() );
 
     const TEWritingDirectionInfos& rWritingDirections = pTEParaPortion->GetWritingDirectionInfos();
     for ( sal_uInt16 nD = 0; nD < rWritingDirections.Count(); nD++ )
-        aPositions.Insert( rWritingDirections[nD].nStartPos );
+        aPositions.insert( rWritingDirections[nD].nStartPos );
 
     if ( mpIMEInfos && mpIMEInfos->pAttribs && ( mpIMEInfos->aPos.GetPara() == nPara ) )
     {
@@ -1849,7 +1846,7 @@ void TextEngine::CreateTextPortions( sal_uLong nPara, sal_uInt16 nStartPos )
         {
             if ( mpIMEInfos->pAttribs[n] != nLastAttr )
             {
-                aPositions.Insert( mpIMEInfos->aPos.GetIndex() + n );
+                aPositions.insert( mpIMEInfos->aPos.GetIndex() + n );
                 nLastAttr = mpIMEInfos->pAttribs[n];
             }
         }
@@ -1858,8 +1855,8 @@ void TextEngine::CreateTextPortions( sal_uLong nPara, sal_uInt16 nStartPos )
     sal_uInt16 nTabPos = pNode->GetText().Search( '\t', 0 );
     while ( nTabPos != STRING_NOTFOUND )
     {
-        aPositions.Insert( nTabPos );
-        aPositions.Insert( nTabPos + 1 );
+        aPositions.insert( nTabPos );
+        aPositions.insert( nTabPos + 1 );
         nTabPos = pNode->GetText().Search( '\t', nTabPos+1 );
     }
 
@@ -1892,21 +1889,21 @@ void TextEngine::CreateTextPortions( sal_uLong nPara, sal_uInt16 nStartPos )
     pTEParaPortion->GetTextPortions().DeleteFromPortion( nInvPortion );
 
     // Eine Portion kann auch durch einen Zeilenumbruch entstanden sein:
-    aPositions.Insert( nPortionStart );
+    aPositions.insert( nPortionStart );
 
-    sal_uInt16 nInvPos;
-    #ifdef DBG_UTIL
-    sal_Bool bFound =
-    #endif
-        aPositions.Seek_Entry( nPortionStart, &nInvPos );
-    DBG_ASSERT( bFound && ( nInvPos < (aPositions.Count()-1) ), "InvPos ?!" );
-    for ( sal_uInt16 i = nInvPos+1; i < aPositions.Count(); i++ )
+    aPositionsIt = aPositions.find( nPortionStart );
+    DBG_ASSERT( aPositionsIt != aPositions.end(), "nPortionStart not found" );
+
+    if ( aPositionsIt != aPositions.end() )
     {
-        TETextPortion* pNew = new TETextPortion( (sal_uInt16)aPositions[i] - (sal_uInt16)aPositions[i-1] );
-        pTEParaPortion->GetTextPortions().Insert( pNew, pTEParaPortion->GetTextPortions().Count());
+        std::set<sal_uInt16>::iterator nextIt = aPositionsIt;
+        for ( ++nextIt; nextIt != aPositions.end(); ++aPositionsIt, ++nextIt )
+        {
+            TETextPortion* pNew = new TETextPortion( *nextIt - *aPositionsIt );
+            pTEParaPortion->GetTextPortions().Insert( pNew, pTEParaPortion->GetTextPortions().Count());
+        }
     }
-
-    DBG_ASSERT( pTEParaPortion->GetTextPortions().Count(), "Keine Portions?!" );
+    DBG_ASSERT( pTEParaPortion->GetTextPortions().Count(), "No Portions?!" );
 }
 
 void TextEngine::RecalcTextPortion( sal_uLong nPara, sal_uInt16 nStartPos, short nNewChars )


More information about the Libreoffice-commits mailing list