[Libreoffice-commits] .: 9 commits - sc/inc sc/Library_sc.mk sc/source

Petr Mladek pmladek at kemper.freedesktop.org
Thu Jun 9 10:58:30 PDT 2011


 sc/Library_sc.mk                    |    1 
 sc/inc/document.hxx                 |    1 
 sc/inc/scabstdlg.hxx                |    2 -
 sc/source/filter/excel/excrecds.cxx |    8 ++---
 sc/source/filter/inc/excrecds.hxx   |   15 +++------
 sc/source/filter/inc/lotrange.hxx   |    4 +-
 sc/source/filter/lotus/tool.cxx     |   30 +++++++------------
 sc/source/ui/app/inputhdl.cxx       |    3 -
 sc/source/ui/app/rfindlst.cxx       |   10 ------
 sc/source/ui/attrdlg/scdlgfact.cxx  |    4 +-
 sc/source/ui/attrdlg/scdlgfact.hxx  |    2 -
 sc/source/ui/docshell/dbdocfun.cxx  |    2 -
 sc/source/ui/docshell/dbdocimp.cxx  |   12 +++----
 sc/source/ui/docshell/docsh4.cxx    |    8 ++---
 sc/source/ui/docshell/hiranges.cxx  |   55 ------------------------------------
 sc/source/ui/inc/dbdocfun.hxx       |   16 +---------
 sc/source/ui/inc/hiranges.hxx       |   15 ---------
 sc/source/ui/inc/lbseldlg.hxx       |    2 -
 sc/source/ui/inc/printfun.hxx       |    2 -
 sc/source/ui/inc/rfindlst.hxx       |   11 +++----
 sc/source/ui/inc/tabview.hxx        |    6 +--
 sc/source/ui/miscdlgs/lbseldlg.cxx  |   11 ++-----
 sc/source/ui/view/cellsh2.cxx       |   11 +------
 sc/source/ui/view/gridwin4.cxx      |   29 +++++++-----------
 sc/source/ui/view/printfun.cxx      |   26 ++++++-----------
 sc/source/ui/view/tabview.cxx       |    1 
 sc/source/ui/view/tabview3.cxx      |   31 ++++++--------------
 sc/source/ui/view/tabview5.cxx      |    1 
 28 files changed, 90 insertions(+), 229 deletions(-)

New commits:
commit 878bdaf62276c1e64f331a8f2c089a019062f4b9
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 22:29:41 2011 -0430

    Replace List for std::vector<ScRangeFindData>.

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index c266f71..3ecdebf 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -204,8 +204,7 @@ handle_r1c1:
                     pRangeFindList = new ScRangeFindList( pDocSh->GetTitle() );
                 }
 
-                ScRangeFindData* pNew = new ScRangeFindData( aRange, nFlags, nStart, nPos );
-                pRangeFindList->Insert( pNew );
+                pRangeFindList->Insert( ScRangeFindData( aRange, nFlags, nStart, nPos ) );
 
                 ESelection aSel( 0, nStart, 0, nPos );
                 SfxItemSet aSet( pEngine->GetEmptyItemSet() );
diff --git a/sc/source/ui/app/rfindlst.cxx b/sc/source/ui/app/rfindlst.cxx
index 3dfbd42..60bbecf 100644
--- a/sc/source/ui/app/rfindlst.cxx
+++ b/sc/source/ui/app/rfindlst.cxx
@@ -49,16 +49,6 @@ ScRangeFindList::ScRangeFindList(const String& rName) :
 {
 }
 
-ScRangeFindList::~ScRangeFindList()
-{
-    void* pEntry = aEntries.First();
-    while ( pEntry )
-    {
-        delete (ScRangeFindData*) aEntries.Remove( pEntry );
-        pEntry = aEntries.Next();
-    }
-}
-
 ColorData ScRangeFindList::GetColorName( size_t nIndex )
 {
     return aColNames[nIndex % SC_RANGECOLORS];
diff --git a/sc/source/ui/inc/rfindlst.hxx b/sc/source/ui/inc/rfindlst.hxx
index 72bb290..93d8adf 100644
--- a/sc/source/ui/inc/rfindlst.hxx
+++ b/sc/source/ui/inc/rfindlst.hxx
@@ -48,18 +48,17 @@ struct ScRangeFindData
 
 class ScRangeFindList
 {
-    List		aEntries;
+    std::vector<ScRangeFindData> maEntries;
     String		aDocName;
     bool		bHidden;
 
 public:
             ScRangeFindList(const String& rName);
-            ~ScRangeFindList();
 
-    sal_uLong	Count() const						{ return aEntries.Count(); }
-    void	Insert( ScRangeFindData* pNew )		{ aEntries.Insert(pNew, LIST_APPEND); }
-    ScRangeFindData* GetObject( sal_uLong nIndex ) const
-                        { return (ScRangeFindData*)aEntries.GetObject(nIndex); }
+    sal_uLong	Count() const						{ return maEntries.size(); }
+    void	Insert( const ScRangeFindData &rNew )		{ maEntries.push_back(rNew); }
+
+    ScRangeFindData* GetObject( sal_uLong nIndex ) { return &(maEntries[nIndex]); }
 
     void	SetHidden( sal_Bool bSet )				{ bHidden = bSet; }
 
commit dbeb664c3549a00306bd26e2f7b2c3c547b33dfa
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 22:10:20 2011 -0430

    Replace List with std::vector<ScAddress>.

diff --git a/sc/source/ui/inc/printfun.hxx b/sc/source/ui/inc/printfun.hxx
index 9a4eedc..6278a61 100644
--- a/sc/source/ui/inc/printfun.hxx
+++ b/sc/source/ui/inc/printfun.hxx
@@ -224,7 +224,7 @@ private:
 
     ScHeaderFieldData	aFieldData;
 
-    List				aNotePosList;		//	Reihenfolge der Notizen
+    std::vector<ScAddress> aNotePosList;		//	Reihenfolge der Notizen
 
     ScPageBreakData*	pPageData;			// zum Eintragen der Umbrueche etc.
 
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index d0eaf91..c90113e 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -410,14 +410,6 @@ void ScPrintFunc::FillPageData()
 
 ScPrintFunc::~ScPrintFunc()
 {
-    ScAddress* pTripel = (ScAddress*) aNotePosList.First();
-    while (pTripel)
-    {
-        delete pTripel;
-        pTripel = (ScAddress*) aNotePosList.Next();
-    }
-    aNotePosList.Clear();
-
     delete[] pPageEndX;
     delete[] pPageEndY;
     delete[] pPageRows;
@@ -1927,14 +1919,16 @@ long ScPrintFunc::DoNotes( long nNoteStart, sal_Bool bDoPrint, ScPreviewLocation
     long nPosY = aPageRect.Top();
 
     long nCount = 0;
+    long nSize = aNotePosList.size();
     sal_Bool bOk;
     do
     {
         bOk = false;
-        ScAddress* pPos = (ScAddress*) aNotePosList.GetObject( nNoteStart+nCount );
-        if (pPos)
+        if ( nNoteStart + nCount < nSize)
         {
-            ScBaseCell* pCell = pDoc->GetCell( *pPos);
+            ScAddress &rPos = aNotePosList[ nNoteStart + nCount ];
+
+            ScBaseCell* pCell = pDoc->GetCell( rPos);
             if( const ScPostIt* pNote = pCell->GetNote() )
             {
                 if(const EditTextObject *pEditText = pNote->GetEditTextObject())
@@ -1947,7 +1941,7 @@ long ScPrintFunc::DoNotes( long nNoteStart, sal_Bool bDoPrint, ScPreviewLocation
                         pEditEngine->Draw( pDev, Point( nPosX, nPosY ), 0 );
 
                         String aMarkStr;
-                        pPos->Format( aMarkStr, SCA_VALID, pDoc, pDoc->GetAddressConvention() );
+                        rPos.Format( aMarkStr, SCA_VALID, pDoc, pDoc->GetAddressConvention() );
                         aMarkStr += ':';
 
                         //	Zellposition auch per EditEngine, damit die Position stimmt
@@ -1958,9 +1952,9 @@ long ScPrintFunc::DoNotes( long nNoteStart, sal_Bool bDoPrint, ScPreviewLocation
                     if ( pLocationData )
                     {
                         Rectangle aTextRect( Point( nPosX, nPosY ), Size( aDataSize.Width(), nTextHeight ) );
-                        pLocationData->AddNoteText( aTextRect, *pPos );
+                        pLocationData->AddNoteText( aTextRect, rPos );
                         Rectangle aMarkRect( Point( aPageRect.Left(), nPosY ), Size( nMarkLen, nTextHeight ) );
-                        pLocationData->AddNoteMark( aMarkRect, *pPos );
+                        pLocationData->AddNoteMark( aMarkRect, rPos );
                     }
 
                     nPosY += nTextHeight;
@@ -1978,7 +1972,7 @@ long ScPrintFunc::DoNotes( long nNoteStart, sal_Bool bDoPrint, ScPreviewLocation
 
 long ScPrintFunc::PrintNotes( long nPageNo, long nNoteStart, sal_Bool bDoPrint, ScPreviewLocationData* pLocationData )
 {
-    if ( nNoteStart >= (long) aNotePosList.Count() || !aTableParam.bNotes )
+    if ( nNoteStart >= (long) aNotePosList.size() || !aTableParam.bNotes )
         return 0;
 
     if ( bDoPrint && bClearWin )
@@ -2577,7 +2571,7 @@ long ScPrintFunc::CountNotePages()
             {
                 if (pCell->HasNote())
                 {
-                    aNotePosList.Insert( new ScAddress( nCol,nRow,nPrintTab ), LIST_APPEND );
+                    aNotePosList.push_back( ScAddress( nCol,nRow,nPrintTab ) );
                     ++nCount;
                 }
 
commit 63be842775f2f25fdc47376e0cbd79e2df60f7bc
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 21:52:10 2011 -0430

    Replace SbaSelectionList with std::vector<sal_Int32>.
    
    Remove SbaSelectionList and SV_DECL_IMPL_REF(SbaSelectionList).

diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 33b6377..39268cf 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -1456,7 +1456,7 @@ void ScDBDocFunc::UpdateImport( const String& rTarget, const String& rDBName,
         const String& rTableName, const String& rStatement, bool bNative,
         sal_uInt8 nType, const ::com::sun::star::uno::Reference<
         ::com::sun::star::sdbc::XResultSet >& xResultSet,
-        const SbaSelectionList* pSelection )
+        const std::vector<sal_Int32> *pSelection )
 {
     //	Target ist jetzt einfach der Bereichsname
 
diff --git a/sc/source/ui/docshell/dbdocimp.cxx b/sc/source/ui/docshell/dbdocimp.cxx
index 21a8e0e..69ae81b 100644
--- a/sc/source/ui/docshell/dbdocimp.cxx
+++ b/sc/source/ui/docshell/dbdocimp.cxx
@@ -170,13 +170,13 @@ bool ScDBDocFunc::DoImportUno( const ScAddress& rPos,
         }
     }
 
-    SbaSelectionList aList;
+    std::vector<sal_Int32> aList;
     long nSelLen = aSelection.getLength();
     for (i = 0; i < nSelLen; i++)
     {
         sal_Int32 nEntry = 0;
         if ( aSelection[i] >>= nEntry )
-            aList.Insert( (void*)(sal_IntPtr)nEntry, LIST_APPEND );
+            aList.push_back( nEntry );
     }
 
     bool bAddrInsert = false;		//!???
@@ -213,7 +213,7 @@ bool ScDBDocFunc::DoImportUno( const ScAddress& rPos,
 
 bool ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
         const uno::Reference< sdbc::XResultSet >& xResultSet,
-        const SbaSelectionList* pSelection, bool bRecord, bool bAddrInsert )
+        const std::vector<sal_Int32> *pSelection, bool bRecord, bool bAddrInsert )
 {
     ScDocument* pDoc = rDocShell.GetDocument();
     ScChangeTrack *pChangeTrack = NULL;
@@ -258,10 +258,10 @@ bool ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
     sal_uLong nListCount = 0;
 
     //	-1 is special
-    if ( pSelection && pSelection->Count() && (long)pSelection->GetObject(0) != -1L )
+    if ( !pSelection->empty() && (*pSelection)[0] != -1 )
     {
         bDoSelection = sal_True;
-        nListCount = pSelection->Count();
+        nListCount = pSelection->size();
     }
 
     // ImportDoc - also used for Redo
@@ -390,7 +390,7 @@ bool ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
                     {
                         if (nListPos < nListCount)
                         {
-                            sal_uLong nNextRow = (sal_uLong) pSelection->GetObject(nListPos);
+                            sal_uInt32 nNextRow = (*pSelection)[nListPos];
                             if ( nRowsRead+1 < nNextRow )
                                 bRealSelection = sal_True;
                             bEnd = !xRowSet->absolute(nRowsRead = nNextRow);
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index dc86080..0660421 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -229,7 +229,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 if ( sTabFlag.EqualsAscii("0") )		// "0" = Query, "1" = Table (Default)
                     nType = ScDbQuery;
 
-                SbaSelectionListRef pSelectionList = new SbaSelectionList;
+                std::vector<sal_Int32> aSelectionList;
                 xub_StrLen nCount = sSbaData.GetTokenCount(cSbaSep);
 
                 for (xub_StrLen i = 4; i < nCount; i++)
@@ -237,8 +237,8 @@ void ScDocShell::Execute( SfxRequest& rReq )
                     String aSelItem = sSbaData.GetToken(i,cSbaSep);
                     if (aSelItem.Len())
                     {
-                        sal_uIntPtr nValue = aSelItem.ToInt32();
-                        pSelectionList->Insert( (void*)nValue, LIST_APPEND );
+                        sal_uInt32 nValue = aSelItem.ToInt32();
+                        aSelectionList.push_back(nValue);
                     }
                 }
 
@@ -283,7 +283,7 @@ void ScDocShell::Execute( SfxRequest& rReq )
                 {
                     ScDBDocFunc(*this).UpdateImport( sTarget, sDBName,
                             sDBTable, sDBSql, true, nType, xResultSet,
-                            pSelectionList );
+                            &aSelectionList );
                     rReq.Done();
 
                     //	UpdateImport aktualisiert auch die internen Operationen
diff --git a/sc/source/ui/inc/dbdocfun.hxx b/sc/source/ui/inc/dbdocfun.hxx
index be99ee5..c29fa8c 100644
--- a/sc/source/ui/inc/dbdocfun.hxx
+++ b/sc/source/ui/inc/dbdocfun.hxx
@@ -57,18 +57,6 @@ namespace com { namespace sun { namespace star {
     }
 } } }
 
-// ---------------------------------------------------------------------------
-// -----------------------------------------------------------------
-class SbaSelectionList: public List , public SvRefBase
-{
-public:
-    SbaSelectionList():
-        List(CONTAINER_MAXBLOCKSIZE,100,100){}
-};
-
-SV_DECL_IMPL_REF(SbaSelectionList)
-
-
 class ScDBDocFunc
 {
 friend class ScDBFunc;
@@ -85,11 +73,11 @@ public:
                         bool bNative, sal_uInt8 nType,
                         const ::com::sun::star::uno::Reference<
                         ::com::sun::star::sdbc::XResultSet >& xResultSet,
-                        const SbaSelectionList* pSelection );
+                        const std::vector<sal_Int32> *pSelection );
 
     bool DoImport( SCTAB nTab, const ScImportParam& rParam,
                    const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >& xResultSet,
-                   const SbaSelectionList* pSelection, bool bRecord,
+                   const std::vector<sal_Int32> *pSelection, bool bRecord,
                    bool bAddrInsert = false );
 
     bool DoImportUno( const ScAddress& rPos,
commit 8c15a40ad09145425089cecb49cea287294867bc
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 20:58:48 2011 -0430

    Remove unneded foward declaration.

diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index bea50b0..b547bc2 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -81,7 +81,6 @@ class SvxSearchItem;
 class SvxShadowItem;
 class Window;
 class XColorTable;
-class List;
 
 struct ScAttrEntry;
 class ScAutoFormatData;
commit bb694eb1405684cb73c36e01c528f16e07ba488a
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 19:37:52 2011 -0430

    Replace List with std::vector<String>.

diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index 2e17107..01d8d31 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -394,7 +394,7 @@ public:
                                                             sal_uInt16	nResId,
                                                         const String& aTitle,
                                                         const String& aLbTitle,
-                                                                List& 	aEntryList,
+                                                        const std::vector<String> &rEntryList,
                                                             int nId ) = 0;
     virtual AbstractScLinkedAreaDlg * CreateScLinkedAreaDlg (  Window* pParent, int nId) = 0; //add for ScLinkedAreaDlg
 
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index faf0f29..8d2e54e 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -1062,14 +1062,14 @@ AbstractScSelEntryDlg * ScAbstractDialogFactory_Impl::CreateScSelEntryDlg ( Wind
                                                             sal_uInt16	nResId,
                                                         const String& aTitle,
                                                         const String& aLbTitle,
-                                                                List& 	aEntryList,
+                                                        const std::vector<String> &rEntryList,
                                                             int nId )
 {
     ScSelEntryDlg * pDlg=NULL;
     switch ( nId )
     {
         case RID_SCDLG_SELECTDB :
-            pDlg = new ScSelEntryDlg( pParent, nResId,aTitle, aLbTitle, aEntryList );
+            pDlg = new ScSelEntryDlg( pParent, nResId,aTitle, aLbTitle, rEntryList );
             break;
         default:
             break;
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index 9ee3575..b8090b4 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -476,7 +476,7 @@ public:
                                                             sal_uInt16	nResId,
                                                         const String& aTitle,
                                                         const String& aLbTitle,
-                                                                List& 	aEntryList,
+                                                        const std::vector<String> &rEntryList,
                                                             int nId );
 
     virtual AbstractScLinkedAreaDlg * CreateScLinkedAreaDlg (  Window* pParent, //add for ScLinkedAreaDlg
diff --git a/sc/source/ui/inc/lbseldlg.hxx b/sc/source/ui/inc/lbseldlg.hxx
index ff07478..58d3f51 100644
--- a/sc/source/ui/inc/lbseldlg.hxx
+++ b/sc/source/ui/inc/lbseldlg.hxx
@@ -56,7 +56,7 @@ public:
                                 sal_uInt16	nResId,
                           const String& aTitle,
                           const String& aLbTitle,
-                                List& 	aEntryList );
+                          const std::vector<String> &rEntryList );
             ~ScSelEntryDlg();
 
     String GetSelectEntry() const;
diff --git a/sc/source/ui/miscdlgs/lbseldlg.cxx b/sc/source/ui/miscdlgs/lbseldlg.cxx
index 291449d..fca6b18 100644
--- a/sc/source/ui/miscdlgs/lbseldlg.cxx
+++ b/sc/source/ui/miscdlgs/lbseldlg.cxx
@@ -48,7 +48,7 @@ ScSelEntryDlg::ScSelEntryDlg(      Window*  pParent,
                                    sal_uInt16	nResId,
                              const String&  aTitle,
                              const String&  aLbTitle,
-                                   List&    aEntryList ) :
+                             const std::vector<String> &rEntryList ) :
     ModalDialog     ( pParent, ScResId( nResId ) ),
     //
     aFlLbTitle      ( this, ScResId( FL_ENTRYLIST ) ),
@@ -62,12 +62,9 @@ ScSelEntryDlg::ScSelEntryDlg(      Window*  pParent,
     aLb.Clear();
     aLb.SetDoubleClickHdl( LINK( this, ScSelEntryDlg, DblClkHdl ) );
 
-    void*   pListEntry = aEntryList.First();
-    while ( pListEntry )
-    {
-        aLb.InsertEntry( *((String*)pListEntry ) );
-        pListEntry = aEntryList.Next();
-    }
+    std::vector<String>::const_iterator pIter;
+    for ( pIter = rEntryList.begin(); pIter != rEntryList.end(); ++pIter )
+        aLb.InsertEntry(*pIter);
 
     if ( aLb.GetEntryCount() > 0 )
         aLb.SelectEntryPos( 0 );
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index baaccaf..dbec2f9 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -723,11 +723,11 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
 
                     if ( pDBCol )
                     {
-                        List aList;
+                        std::vector<String> aList;
                         const ScDBCollection::NamedDBs& rDBs = pDBCol->getNamedDBs();
                         ScDBCollection::NamedDBs::const_iterator itr = rDBs.begin(), itrEnd = rDBs.end();
                         for (; itr != itrEnd; ++itr)
-                            aList.Insert(new String(itr->GetName()));
+                            aList.push_back(itr->GetName());
 
                         ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
                         OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
@@ -748,13 +748,6 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
                         }
 
                         delete pDlg;
-
-                        void* pEntry = aList.First();
-                        while ( pEntry )
-                        {
-                            delete (String*) aList.Remove( pEntry );
-                            pEntry = aList.Next();
-                        }
                     }
                 }
             }
commit 174773e150e9feb88221ce4ccc372bb188cc59b4
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 18:53:10 2011 -0430

    Remove unused hiranges file.

diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk
index 078c94c..5e93753 100644
--- a/sc/Library_sc.mk
+++ b/sc/Library_sc.mk
@@ -338,7 +338,6 @@ $(eval $(call gb_Library_add_exception_objects,sc,\
 	sc/source/ui/docshell/docsh8 \
 	sc/source/ui/docshell/editable \
 	sc/source/ui/docshell/externalrefmgr \
-	sc/source/ui/docshell/hiranges \
 	sc/source/ui/docshell/impex \
 	sc/source/ui/docshell/macromgr \
 	sc/source/ui/docshell/olinefun \
diff --git a/sc/source/ui/docshell/hiranges.cxx b/sc/source/ui/docshell/hiranges.cxx
deleted file mode 100644
index 981de50..0000000
--- a/sc/source/ui/docshell/hiranges.cxx
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sc.hxx"
-
-
-
-#include "hiranges.hxx"
-
-//==================================================================
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 54f6a12ba3ba51d06def8c833b830e61928cabba
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 18:36:33 2011 -0430

    Replace ScHighlightRangeList for std::vector<ScHighlighEntry>.

diff --git a/sc/source/ui/docshell/hiranges.cxx b/sc/source/ui/docshell/hiranges.cxx
index 5716abe..981de50 100644
--- a/sc/source/ui/docshell/hiranges.cxx
+++ b/sc/source/ui/docshell/hiranges.cxx
@@ -35,21 +35,5 @@
 
 //==================================================================
 
-ScHighlightRanges::ScHighlightRanges()
-{
-}
-
-ScHighlightRanges::~ScHighlightRanges()
-{
-    void* pEntry = aEntries.First();
-    while ( pEntry )
-    {
-        delete (ScHighlightEntry*) aEntries.Remove( pEntry );
-        pEntry = aEntries.Next();
-    }
-}
-
-
-
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/hiranges.hxx b/sc/source/ui/inc/hiranges.hxx
index 120e782..b42b659 100644
--- a/sc/source/ui/inc/hiranges.hxx
+++ b/sc/source/ui/inc/hiranges.hxx
@@ -44,21 +44,6 @@ struct ScHighlightEntry
         aRef(rR), aColor(rC) {}
 };
 
-class ScHighlightRanges
-{
-    List		aEntries;
-
-public:
-            ScHighlightRanges();
-            ~ScHighlightRanges();
-
-    sal_uLong	Count() const						{ return aEntries.Count(); }
-    void	Insert( ScHighlightEntry* pNew )	{ aEntries.Insert(pNew, LIST_APPEND); }
-    ScHighlightEntry* GetObject( sal_uLong nIndex ) const
-                        { return (ScHighlightEntry*)aEntries.GetObject(nIndex); }
-};
-
-
 
 #endif
 
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index 23a7aa5..fa0f2ed 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -32,6 +32,7 @@
 
 #include <sfx2/ipclient.hxx>
 
+#include "hiranges.hxx"
 #include "viewutil.hxx"
 #include "select.hxx"
 
@@ -52,7 +53,6 @@ class SdrView;
 class SdrObject;
 class ScHintWindow;
 class ScPageBreakData;
-class ScHighlightRanges;
 struct ChartSelectionInfo;
 class SdrHdlList;
 
@@ -131,7 +131,7 @@ private:
     ScHintWindow*		pInputHintWindow;		// Eingabemeldung bei Gueltigkeit
 
     ScPageBreakData*	pPageBreakData;			// fuer Seitenumbruch-Modus
-    ScHighlightRanges*	pHighlightRanges;
+    std::vector<ScHighlightEntry>	maHighlightRanges;
 
     ScDocument*         pBrushDocument;         // cell formats for format paint brush
     SfxItemSet*         pDrawBrushSet;          // drawing object attributes for paint brush
@@ -269,7 +269,7 @@ public:
     void			UpdateAnchorHandles();
 
     ScPageBreakData* GetPageBreakData()		{ return pPageBreakData; }
-    ScHighlightRanges* GetHighlightRanges()	{ return pHighlightRanges; }
+    const std::vector<ScHighlightEntry>& GetHighlightRanges()	{ return maHighlightRanges; }
 
     void            UpdatePageBreakData( bool bForcePaint = false );
 
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 3213c8f..9441425 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -265,23 +265,19 @@ void lcl_DrawScenarioFrames( OutputDevice* pDev, ScViewData* pViewData, ScSplitP
 //------------------------------------------------------------------------
 
 void lcl_DrawHighlight( ScOutputData& rOutputData, ScViewData* pViewData,
-                        ScHighlightRanges& rHighlightRanges )
+                        const std::vector<ScHighlightEntry>& rHighlightRanges )
 {
     SCTAB nTab = pViewData->GetTabNo();
-    sal_uLong nCount = rHighlightRanges.Count();
-    for (sal_uLong i=0; i<nCount; i++)
+    std::vector<ScHighlightEntry>::const_iterator pIter;
+    for ( pIter = rHighlightRanges.begin(); pIter != rHighlightRanges.end(); ++pIter)
     {
-        ScHighlightEntry* pEntry = rHighlightRanges.GetObject( i );
-        if (pEntry)
+        ScRange aRange = pIter->aRef;
+        if ( nTab >= aRange.aStart.Tab() && nTab <= aRange.aEnd.Tab() )
         {
-            ScRange aRange = pEntry->aRef;
-            if ( nTab >= aRange.aStart.Tab() && nTab <= aRange.aEnd.Tab() )
-            {
-                rOutputData.DrawRefMark(
-                                    aRange.aStart.Col(), aRange.aStart.Row(),
-                                    aRange.aEnd.Col(), aRange.aEnd.Row(),
-                                    pEntry->aColor, false );
-            }
+            rOutputData.DrawRefMark(
+                                aRange.aStart.Col(), aRange.aStart.Row(),
+                                aRange.aEnd.Col(), aRange.aEnd.Row(),
+                                pIter->aColor, false );
         }
     }
 }
@@ -742,11 +738,11 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod
     //! Szenario-Rahmen per View-Optionen abschaltbar?
 
     SCTAB nTabCount = pDoc->GetTableCount();
-    ScHighlightRanges* pHigh = pViewData->GetView()->GetHighlightRanges();
+    const std::vector<ScHighlightEntry> &rHigh = pViewData->GetView()->GetHighlightRanges();
     sal_Bool bHasScenario = ( nTab+1<nTabCount && pDoc->IsScenario(nTab+1) && !pDoc->IsScenario(nTab) );
     sal_Bool bHasChange = ( pDoc->GetChangeTrack() != NULL );
 
-    if ( bHasChange || bHasScenario || pHigh != NULL )
+    if ( bHasChange || bHasScenario || !rHigh.empty() )
     {
 
         //! SetChangedClip() mit DrawMarks() zusammenfassen?? (anderer MapMode!)
@@ -762,8 +758,7 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod
             if ( bHasScenario )
                 lcl_DrawScenarioFrames( pContentDev, pViewData, eWhich, nX1,nY1,nX2,nY2 );
 
-            if ( pHigh )
-                lcl_DrawHighlight( aOutputData, pViewData, *pHigh );
+            lcl_DrawHighlight( aOutputData, pViewData, rHigh );
 
             if (eMode == SC_UPDATE_CHANGED)
                 pContentDev->SetClipRegion();
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 9f04d30..1ade00b 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -311,7 +311,6 @@ ScTabView::ScTabView( Window* pParent, ScDocShell& rDocSh, ScTabViewShell* pView
     aScrollBarBox( pFrameWin, WB_SIZEABLE ),
     pInputHintWindow( NULL ),
     pPageBreakData( NULL ),
-    pHighlightRanges( NULL ),
     pBrushDocument( NULL ),
     pDrawBrushSet( NULL ),
     pTimerWindow( NULL ),
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
index f1934bc..2b28a05 100644
--- a/sc/source/ui/view/tabview3.cxx
+++ b/sc/source/ui/view/tabview3.cxx
@@ -2023,9 +2023,7 @@ void ScTabView::PaintRangeFinder( long nNumber )
 
 void ScTabView::AddHighlightRange( const ScRange& rRange, const Color& rColor )
 {
-    if (!pHighlightRanges)
-        pHighlightRanges = new ScHighlightRanges;
-    pHighlightRanges->Insert( new ScHighlightEntry( rRange, rColor ) );
+    maHighlightRanges.push_back( ScHighlightEntry( rRange, rColor ) );
 
     SCTAB nTab = aViewData.GetTabNo();
     if ( nTab >= rRange.aStart.Tab() && nTab <= rRange.aEnd.Tab() )
@@ -2035,26 +2033,17 @@ void ScTabView::AddHighlightRange( const ScRange& rRange, const Color& rColor )
 
 void ScTabView::ClearHighlightRanges()
 {
-    if (pHighlightRanges)
+    SCTAB nTab = aViewData.GetTabNo();
+    std::vector<ScHighlightEntry>::const_iterator pIter;
+    for ( pIter = maHighlightRanges.begin(); pIter != maHighlightRanges.end(); ++pIter)
     {
-        ScHighlightRanges* pTemp = pHighlightRanges;
-        pHighlightRanges = NULL;	// Repaint ohne Highlight
-
-        SCTAB nTab = aViewData.GetTabNo();
-        sal_uLong nCount = pTemp->Count();
-        for (sal_uLong i=0; i<nCount; i++)
-        {
-            ScHighlightEntry* pEntry = pTemp->GetObject( i );
-            if (pEntry)
-            {
-                ScRange aRange = pEntry->aRef;
-                if ( nTab >= aRange.aStart.Tab() && nTab <= aRange.aEnd.Tab() )
-                    PaintArea( aRange.aStart.Col(), aRange.aStart.Row(),
-                               aRange.aEnd.Col(), aRange.aEnd.Row(), SC_UPDATE_MARKS );
-            }
-        }
-        delete pTemp;
+        ScRange aRange = pIter->aRef;
+        if ( nTab >= aRange.aStart.Tab() && nTab <= aRange.aEnd.Tab() )
+            PaintArea( aRange.aStart.Col(), aRange.aStart.Row(),
+                       aRange.aEnd.Col(), aRange.aEnd.Row(), SC_UPDATE_MARKS );
     }
+
+    maHighlightRanges.clear();
 }
 
 void ScTabView::DoChartSelection(
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx
index 658b6b0..0a7b494 100644
--- a/sc/source/ui/view/tabview5.cxx
+++ b/sc/source/ui/view/tabview5.cxx
@@ -166,7 +166,6 @@ ScTabView::~ScTabView()
     DELETEZ(pDrawBrushSet);
 
     DELETEZ(pPageBreakData);
-    DELETEZ(pHighlightRanges);
 
     DELETEZ(pDrawOld);
     DELETEZ(pDrawActual);
commit aa505f5dc416a4e134e13d506537614202025eea
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Fri Jun 3 18:35:50 2011 -0430

    Replace List for std::vector<ExcRecord*>.

diff --git a/sc/source/filter/excel/excrecds.cxx b/sc/source/filter/excel/excrecds.cxx
index f6cede5..4bff217 100644
--- a/sc/source/filter/excel/excrecds.cxx
+++ b/sc/source/filter/excel/excrecds.cxx
@@ -182,15 +182,15 @@ sal_Size ExcEmptyRec::GetLen() const
 
 ExcRecordList::~ExcRecordList()
 {
-    for( ExcRecord* pRec = First(); pRec; pRec = Next() )
-        delete pRec;
+    for (iterator pIter = maRecords.begin(); pIter != maRecords.end(); ++pIter)
+        delete (*pIter);
 }
 
 
 void ExcRecordList::Save( XclExpStream& rStrm )
 {
-    for( ExcRecord* pRec = First(); pRec; pRec = Next() )
-        pRec->Save( rStrm );
+    for (iterator pIter = maRecords.begin(); pIter != maRecords.end(); ++pIter)
+        (*pIter)->Save( rStrm );
 }
 
 
diff --git a/sc/source/filter/inc/excrecds.hxx b/sc/source/filter/inc/excrecds.hxx
index 18e595f..0a73ea7 100644
--- a/sc/source/filter/inc/excrecds.hxx
+++ b/sc/source/filter/inc/excrecds.hxx
@@ -53,7 +53,6 @@
 
 class SvStream;
 class Font;
-class List;
 class ScPatternAttr;
 class ScTokenArray;
 class ScRangeData;
@@ -101,20 +100,18 @@ public:
 
 //------------------------------------------------------- class ExcRecordList -
 
-class ExcRecordList : protected List, public ExcEmptyRec
+class ExcRecordList : public ExcEmptyRec
 {
 private:
-protected:
+    std::vector<ExcRecord*> maRecords;
+
 public:
-    virtual					~ExcRecordList();
 
-    using                   List::Count;
+    typedef std::vector<ExcRecord*>::iterator iterator;
 
-    inline ExcRecord*		First( void )				{ return ( ExcRecord* ) List::First(); }
-    inline ExcRecord*		Next( void )				{ return ( ExcRecord* ) List::Next(); }
+    virtual					~ExcRecordList();
 
-    inline void				Append( ExcRecord* pNew )	{ if( pNew ) List::Insert( pNew, LIST_APPEND ); }
-    inline const ExcRecord*	Get( sal_uInt32 nNum ) const	{ return ( ExcRecord* ) List::GetObject( nNum ); }
+    inline void				Append( ExcRecord* pNew )	{ if( pNew ) maRecords.push_back( pNew ); }
 
     virtual void			Save( XclExpStream& rStrm );
 };
commit bbb7787cf6829edd7a85a4352fa31534f9c50fca
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Thu Jun 2 22:00:58 2011 -0430

    Replace List for std::vector<LotusRange*>.

diff --git a/sc/source/filter/inc/lotrange.hxx b/sc/source/filter/inc/lotrange.hxx
index edffd5e..479526b 100644
--- a/sc/source/filter/inc/lotrange.hxx
+++ b/sc/source/filter/inc/lotrange.hxx
@@ -110,13 +110,15 @@ inline sal_Bool LotusRange::IsSingle( void ) const
 
 // ----------------------------------------------------- class LotusRangeList -
 
-class LotusRangeList : private List
+class LotusRangeList
 {
 private:
     LR_ID				nIdCnt;
     ScComplexRefData		aComplRef;
     static SCCOL		nEingCol;
     static SCROW		nEingRow;
+    std::vector<LotusRange*> maRanges;
+
 public:
                         LotusRangeList( void );
                         ~LotusRangeList( void );
diff --git a/sc/source/filter/lotus/tool.cxx b/sc/source/filter/lotus/tool.cxx
index c3889a2..a28b2a8 100644
--- a/sc/source/filter/lotus/tool.cxx
+++ b/sc/source/filter/lotus/tool.cxx
@@ -460,28 +460,20 @@ LotusRangeList::LotusRangeList( void )
     pSingRef->SetFlag3D( false );
 }
 
-
-LotusRangeList::~LotusRangeList( void )
-    {
-    LotusRange *pDel = ( LotusRange * ) List::First();
-
-    while( pDel )
-        {
-        delete pDel;
-        pDel = ( LotusRange * ) List::Next();
-        }
-    }
-
+LotusRangeList::~LotusRangeList ()
+{
+    std::vector<LotusRange*>::iterator pIter;
+    for (pIter = maRanges.begin(); pIter != maRanges.end(); ++pIter)
+        delete (*pIter);
+}
 
 LR_ID LotusRangeList::GetIndex( const LotusRange &rRef )
 {
-    LotusRange*		pComp = ( LotusRange* ) List::First();
-
-    while( pComp )
+    std::vector<LotusRange*>::iterator pIter;
+    for (pIter = maRanges.begin(); pIter != maRanges.end(); ++pIter)
     {
-        if( *pComp == rRef )
-            return pComp->nId;
-        pComp = ( LotusRange* ) List::Next();
+        if (rRef == *(*pIter))
+            return (*pIter)->nId;
     }
 
     return ID_FAIL;
@@ -491,7 +483,7 @@ LR_ID LotusRangeList::GetIndex( const LotusRange &rRef )
 void LotusRangeList::Append( LotusRange* pLR, const String& rName )
 {
     OSL_ENSURE( pLR, "*LotusRangeList::Append(): das wird nichts!" );
-    List::Insert( pLR, CONTAINER_APPEND );
+    maRanges.push_back(pLR);
 
     ScTokenArray	aTokArray;
 


More information about the Libreoffice-commits mailing list