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

Kohei Yoshida kohei at kemper.freedesktop.org
Wed Feb 8 18:45:18 PST 2012


 sc/Library_sc.mk                      |    2 
 sc/Library_scfilt.mk                  |    1 
 sc/inc/autoform.hxx                   |    1 
 sc/inc/callform.hxx                   |    2 
 sc/inc/collect.hxx                    |  138 ---------------
 sc/inc/column.hxx                     |    6 
 sc/inc/document.hxx                   |    8 
 sc/inc/dpglobal.hxx                   |    2 
 sc/inc/table.hxx                      |    6 
 sc/inc/typedstrdata.hxx               |  100 +++++++++++
 sc/inc/validat.hxx                    |    6 
 sc/source/core/data/column3.cxx       |   16 -
 sc/source/core/data/documen3.cxx      |   28 +--
 sc/source/core/data/dpobject.cxx      |    1 
 sc/source/core/data/table3.cxx        |    6 
 sc/source/core/data/validat.cxx       |   16 -
 sc/source/core/tool/collect.cxx       |  309 ----------------------------------
 sc/source/core/tool/typedstrdata.cxx  |  144 +++++++++++++++
 sc/source/filter/starcalc/collect.cxx |  196 +++++++++++++++++++++
 sc/source/filter/starcalc/collect.hxx |   73 ++++++++
 sc/source/ui/app/inputhdl.cxx         |   21 +-
 sc/source/ui/dbgui/filtdlg.cxx        |   14 -
 sc/source/ui/dbgui/pfiltdlg.cxx       |    8 
 sc/source/ui/inc/filtdlg.hxx          |    4 
 sc/source/ui/inc/inputhdl.hxx         |    2 
 sc/source/ui/inc/pfiltdlg.hxx         |    4 
 sc/source/ui/view/gridwin.cxx         |   26 +-
 27 files changed, 601 insertions(+), 539 deletions(-)

New commits:
commit c919c1279dc35e8a05bada83d0b33a8b830e6867
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date:   Wed Feb 8 21:43:45 2012 -0500

    Moved ScCollection under filter/starcalc.
    
    That's the only place where this class is still used.

diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk
index fbd6a17..cf4bb6b 100644
--- a/sc/Library_sc.mk
+++ b/sc/Library_sc.mk
@@ -166,7 +166,6 @@ $(eval $(call gb_Library_add_exception_objects,sc,\
 	sc/source/core/tool/chartpos \
 	sc/source/core/tool/chgtrack \
 	sc/source/core/tool/chgviset \
-	sc/source/core/tool/collect  \
 	sc/source/core/tool/compiler \
 	sc/source/core/tool/consoli  \
 	sc/source/core/tool/dbdata \
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 1e56527..97fb999 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -154,6 +154,7 @@ $(eval $(call gb_Library_add_exception_objects,scfilt,\
         sc/source/filter/rtf/rtfexp \
         sc/source/filter/rtf/rtfimp \
         sc/source/filter/rtf/rtfparse \
+        sc/source/filter/starcalc/collect \
         sc/source/filter/starcalc/scflt \
         sc/source/filter/starcalc/scfobj \
         sc/source/filter/xcl97/XclExpChangeTrack \
diff --git a/sc/inc/collect.hxx b/sc/inc/collect.hxx
deleted file mode 100644
index 608b22a..0000000
--- a/sc/inc/collect.hxx
+++ /dev/null
@@ -1,73 +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.
- *
- ************************************************************************/
-
-#ifndef SC_COLLECT_HXX
-#define SC_COLLECT_HXX
-
-#include "scdllapi.h"
-
-class SC_DLLPUBLIC ScDataObject
-{
-public:
-                            ScDataObject() {}
-    virtual    ~ScDataObject();
-    virtual    ScDataObject*       Clone() const = 0;
-};
-
-class SC_DLLPUBLIC ScCollection : public ScDataObject
-{
-protected:
-    sal_uInt16          nCount;
-    sal_uInt16          nLimit;
-    sal_uInt16          nDelta;
-    ScDataObject**  pItems;
-public:
-    ScCollection(sal_uInt16 nLim = 4, sal_uInt16 nDel = 4);
-    ScCollection(const ScCollection& rCollection);
-    virtual             ~ScCollection();
-
-    virtual ScDataObject*   Clone() const;
-
-    void        AtFree(sal_uInt16 nIndex);
-    void        Free(ScDataObject* pScDataObject);
-    void        FreeAll();
-
-    sal_Bool        AtInsert(sal_uInt16 nIndex, ScDataObject* pScDataObject);
-    virtual sal_Bool        Insert(ScDataObject* pScDataObject);
-
-    ScDataObject*   At(sal_uInt16 nIndex) const;
-    virtual sal_uInt16      IndexOf(ScDataObject* pScDataObject) const;
-    sal_uInt16 GetCount() const;
-
-            ScDataObject* operator[]( const sal_uInt16 nIndex) const {return At(nIndex);}
-            ScCollection&   operator=( const ScCollection& rCol );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/collect.cxx b/sc/source/core/tool/collect.cxx
deleted file mode 100644
index 090ebfa..0000000
--- a/sc/source/core/tool/collect.cxx
+++ /dev/null
@@ -1,196 +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.
- *
- ************************************************************************/
-
-#include "collect.hxx"
-
-#include <string.h>
-
-#define MAXCOLLECTIONSIZE       16384
-#define MAXDELTA                1024
-
-// -----------------------------------------------------------------------
-
-ScDataObject::~ScDataObject()
-{
-}
-
-//------------------------------------------------------------------------
-// Collection
-//------------------------------------------------------------------------
-
-void lcl_DeleteScDataObjects( ScDataObject** p, sal_uInt16 nCount )
-{
-    if ( p )
-    {
-        for (sal_uInt16 i = 0; i < nCount; i++) delete p[i];
-        delete[] p;
-        p = NULL;
-    }
-}
-
-ScCollection::ScCollection(sal_uInt16 nLim, sal_uInt16 nDel) :
-    nCount ( 0 ),
-    nLimit ( nLim ),
-    nDelta ( nDel ),
-    pItems ( NULL )
-{
-    if (nDelta > MAXDELTA)
-        nDelta = MAXDELTA;
-    else if (nDelta == 0)
-        nDelta = 1;
-    if (nLimit > MAXCOLLECTIONSIZE)
-        nLimit = MAXCOLLECTIONSIZE;
-    else if (nLimit < nDelta)
-        nLimit = nDelta;
-    pItems = new ScDataObject*[nLimit];
-}
-
-ScCollection::ScCollection(const ScCollection& rCollection)
-    :   ScDataObject(),
-        nCount ( 0 ),
-        nLimit ( 0 ),
-        nDelta ( 0 ),
-        pItems ( NULL )
-{
-    *this = rCollection;
-}
-
-//------------------------------------------------------------------------
-
-ScCollection::~ScCollection()
-{
-    lcl_DeleteScDataObjects( pItems, nCount );
-}
-
-//------------------------------------------------------------------------
-sal_uInt16 ScCollection::GetCount() const { return nCount; }
-void ScCollection::AtFree(sal_uInt16 nIndex)
-{
-    if ((pItems) && (nIndex < nCount))
-    {
-        delete pItems[nIndex];
-        --nCount;               // before memmove
-        memmove ( &pItems[nIndex], &pItems[nIndex + 1], (nCount - nIndex) * sizeof(ScDataObject*));
-        pItems[nCount] = NULL;
-    }
-}
-
-//------------------------------------------------------------------------
-
-void ScCollection::Free(ScDataObject* pScDataObject)
-{
-    AtFree(IndexOf(pScDataObject));
-}
-
-//------------------------------------------------------------------------
-
-void ScCollection::FreeAll()
-{
-    lcl_DeleteScDataObjects( pItems, nCount );
-    nCount = 0;
-    pItems = new ScDataObject*[nLimit];
-}
-
-//------------------------------------------------------------------------
-
-sal_Bool ScCollection::AtInsert(sal_uInt16 nIndex, ScDataObject* pScDataObject)
-{
-    if ((nCount < MAXCOLLECTIONSIZE) && (nIndex <= nCount) && pItems)
-    {
-        if (nCount == nLimit)
-        {
-            ScDataObject** pNewItems = new ScDataObject*[nLimit + nDelta];
-            if (!pNewItems)
-                return false;
-            nLimit = sal::static_int_cast<sal_uInt16>( nLimit + nDelta );
-            memmove(pNewItems, pItems, nCount * sizeof(ScDataObject*));
-            delete[] pItems;
-            pItems = pNewItems;
-        }
-        if (nCount > nIndex)
-            memmove(&pItems[nIndex + 1], &pItems[nIndex], (nCount - nIndex) * sizeof(ScDataObject*));
-        pItems[nIndex] = pScDataObject;
-        nCount++;
-        return sal_True;
-    }
-    return false;
-}
-
-//------------------------------------------------------------------------
-
-sal_Bool ScCollection::Insert(ScDataObject* pScDataObject)
-{
-    return AtInsert(nCount, pScDataObject);
-}
-
-//------------------------------------------------------------------------
-
-ScDataObject* ScCollection::At(sal_uInt16 nIndex) const
-{
-    if (nIndex < nCount)
-        return pItems[nIndex];
-    else
-        return NULL;
-}
-
-//------------------------------------------------------------------------
-
-sal_uInt16 ScCollection::IndexOf(ScDataObject* pScDataObject) const
-{
-    sal_uInt16 nIndex = 0xffff;
-    for (sal_uInt16 i = 0; ((i < nCount) && (nIndex == 0xffff)); i++)
-    {
-        if (pItems[i] == pScDataObject) nIndex = i;
-    }
-    return nIndex;
-}
-
-//------------------------------------------------------------------------
-
-ScCollection& ScCollection::operator=( const ScCollection& r )
-{
-    lcl_DeleteScDataObjects( pItems, nCount );
-
-    nCount = r.nCount;
-    nLimit = r.nLimit;
-    nDelta = r.nDelta;
-    pItems = new ScDataObject*[nLimit];
-    for ( sal_uInt16 i=0; i<nCount; i++ )
-        pItems[i] = r.pItems[i]->Clone();
-
-    return *this;
-}
-
-//------------------------------------------------------------------------
-
-ScDataObject*   ScCollection::Clone() const
-{
-    return new ScCollection(*this);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/starcalc/collect.cxx b/sc/source/filter/starcalc/collect.cxx
new file mode 100644
index 0000000..090ebfa
--- /dev/null
+++ b/sc/source/filter/starcalc/collect.cxx
@@ -0,0 +1,196 @@
+/* -*- 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.
+ *
+ ************************************************************************/
+
+#include "collect.hxx"
+
+#include <string.h>
+
+#define MAXCOLLECTIONSIZE       16384
+#define MAXDELTA                1024
+
+// -----------------------------------------------------------------------
+
+ScDataObject::~ScDataObject()
+{
+}
+
+//------------------------------------------------------------------------
+// Collection
+//------------------------------------------------------------------------
+
+void lcl_DeleteScDataObjects( ScDataObject** p, sal_uInt16 nCount )
+{
+    if ( p )
+    {
+        for (sal_uInt16 i = 0; i < nCount; i++) delete p[i];
+        delete[] p;
+        p = NULL;
+    }
+}
+
+ScCollection::ScCollection(sal_uInt16 nLim, sal_uInt16 nDel) :
+    nCount ( 0 ),
+    nLimit ( nLim ),
+    nDelta ( nDel ),
+    pItems ( NULL )
+{
+    if (nDelta > MAXDELTA)
+        nDelta = MAXDELTA;
+    else if (nDelta == 0)
+        nDelta = 1;
+    if (nLimit > MAXCOLLECTIONSIZE)
+        nLimit = MAXCOLLECTIONSIZE;
+    else if (nLimit < nDelta)
+        nLimit = nDelta;
+    pItems = new ScDataObject*[nLimit];
+}
+
+ScCollection::ScCollection(const ScCollection& rCollection)
+    :   ScDataObject(),
+        nCount ( 0 ),
+        nLimit ( 0 ),
+        nDelta ( 0 ),
+        pItems ( NULL )
+{
+    *this = rCollection;
+}
+
+//------------------------------------------------------------------------
+
+ScCollection::~ScCollection()
+{
+    lcl_DeleteScDataObjects( pItems, nCount );
+}
+
+//------------------------------------------------------------------------
+sal_uInt16 ScCollection::GetCount() const { return nCount; }
+void ScCollection::AtFree(sal_uInt16 nIndex)
+{
+    if ((pItems) && (nIndex < nCount))
+    {
+        delete pItems[nIndex];
+        --nCount;               // before memmove
+        memmove ( &pItems[nIndex], &pItems[nIndex + 1], (nCount - nIndex) * sizeof(ScDataObject*));
+        pItems[nCount] = NULL;
+    }
+}
+
+//------------------------------------------------------------------------
+
+void ScCollection::Free(ScDataObject* pScDataObject)
+{
+    AtFree(IndexOf(pScDataObject));
+}
+
+//------------------------------------------------------------------------
+
+void ScCollection::FreeAll()
+{
+    lcl_DeleteScDataObjects( pItems, nCount );
+    nCount = 0;
+    pItems = new ScDataObject*[nLimit];
+}
+
+//------------------------------------------------------------------------
+
+sal_Bool ScCollection::AtInsert(sal_uInt16 nIndex, ScDataObject* pScDataObject)
+{
+    if ((nCount < MAXCOLLECTIONSIZE) && (nIndex <= nCount) && pItems)
+    {
+        if (nCount == nLimit)
+        {
+            ScDataObject** pNewItems = new ScDataObject*[nLimit + nDelta];
+            if (!pNewItems)
+                return false;
+            nLimit = sal::static_int_cast<sal_uInt16>( nLimit + nDelta );
+            memmove(pNewItems, pItems, nCount * sizeof(ScDataObject*));
+            delete[] pItems;
+            pItems = pNewItems;
+        }
+        if (nCount > nIndex)
+            memmove(&pItems[nIndex + 1], &pItems[nIndex], (nCount - nIndex) * sizeof(ScDataObject*));
+        pItems[nIndex] = pScDataObject;
+        nCount++;
+        return sal_True;
+    }
+    return false;
+}
+
+//------------------------------------------------------------------------
+
+sal_Bool ScCollection::Insert(ScDataObject* pScDataObject)
+{
+    return AtInsert(nCount, pScDataObject);
+}
+
+//------------------------------------------------------------------------
+
+ScDataObject* ScCollection::At(sal_uInt16 nIndex) const
+{
+    if (nIndex < nCount)
+        return pItems[nIndex];
+    else
+        return NULL;
+}
+
+//------------------------------------------------------------------------
+
+sal_uInt16 ScCollection::IndexOf(ScDataObject* pScDataObject) const
+{
+    sal_uInt16 nIndex = 0xffff;
+    for (sal_uInt16 i = 0; ((i < nCount) && (nIndex == 0xffff)); i++)
+    {
+        if (pItems[i] == pScDataObject) nIndex = i;
+    }
+    return nIndex;
+}
+
+//------------------------------------------------------------------------
+
+ScCollection& ScCollection::operator=( const ScCollection& r )
+{
+    lcl_DeleteScDataObjects( pItems, nCount );
+
+    nCount = r.nCount;
+    nLimit = r.nLimit;
+    nDelta = r.nDelta;
+    pItems = new ScDataObject*[nLimit];
+    for ( sal_uInt16 i=0; i<nCount; i++ )
+        pItems[i] = r.pItems[i]->Clone();
+
+    return *this;
+}
+
+//------------------------------------------------------------------------
+
+ScDataObject*   ScCollection::Clone() const
+{
+    return new ScCollection(*this);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/starcalc/collect.hxx b/sc/source/filter/starcalc/collect.hxx
new file mode 100644
index 0000000..6444efd
--- /dev/null
+++ b/sc/source/filter/starcalc/collect.hxx
@@ -0,0 +1,73 @@
+/* -*- 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.
+ *
+ ************************************************************************/
+
+#ifndef SC_COLLECT_HXX
+#define SC_COLLECT_HXX
+
+#include "sal/types.h"
+
+class ScDataObject
+{
+public:
+                            ScDataObject() {}
+    virtual    ~ScDataObject();
+    virtual    ScDataObject*       Clone() const = 0;
+};
+
+class ScCollection : public ScDataObject
+{
+protected:
+    sal_uInt16          nCount;
+    sal_uInt16          nLimit;
+    sal_uInt16          nDelta;
+    ScDataObject**  pItems;
+public:
+    ScCollection(sal_uInt16 nLim = 4, sal_uInt16 nDel = 4);
+    ScCollection(const ScCollection& rCollection);
+    virtual             ~ScCollection();
+
+    virtual ScDataObject*   Clone() const;
+
+    void        AtFree(sal_uInt16 nIndex);
+    void        Free(ScDataObject* pScDataObject);
+    void        FreeAll();
+
+    sal_Bool        AtInsert(sal_uInt16 nIndex, ScDataObject* pScDataObject);
+    virtual sal_Bool        Insert(ScDataObject* pScDataObject);
+
+    ScDataObject*   At(sal_uInt16 nIndex) const;
+    virtual sal_uInt16      IndexOf(ScDataObject* pScDataObject) const;
+    sal_uInt16 GetCount() const;
+
+            ScDataObject* operator[]( const sal_uInt16 nIndex) const {return At(nIndex);}
+            ScCollection&   operator=( const ScCollection& rCol );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 2d4d52e0fbad81a960b81a94694ba4449cb71433
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date:   Wed Feb 8 21:38:15 2012 -0500

    Rename TypedStrData to ScTypedStrData, just to be consistent.

diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index e5e78f3..da5e168 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -62,7 +62,7 @@ class ScMarkData;
 class ScPatternAttr;
 class ScStyleSheet;
 class SvtBroadcaster;
-class TypedStrData;
+class ScTypedStrData;
 class ScProgress;
 class ScPostIt;
 struct ScFunctionData;
@@ -379,8 +379,8 @@ public:
                 /// Including current, may return -1
     SCsROW      GetNextUnprotected( SCROW nRow, bool bUp ) const;
 
-    void GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<TypedStrData>& rStrings, bool& rHasDates);
-    bool GetDataEntries(SCROW nRow, std::set<TypedStrData>& rStrings, bool bLimit);
+    void GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<ScTypedStrData>& rStrings, bool& rHasDates);
+    bool GetDataEntries(SCROW nRow, std::set<ScTypedStrData>& rStrings, bool bLimit);
 
     void        UpdateInsertTabAbs(SCTAB nNewPos);
     bool    TestTabRefAbs(SCTAB nTable);
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index a796c32..343a62d 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -1486,15 +1486,15 @@ public:
      * database range that contains the specified cell position.
      */
     bool GetFilterEntries(
-        SCCOL nCol, SCROW nRow, SCTAB nTab, bool bFilter, std::vector<TypedStrData>& rStrings, bool& rHasDates);
+        SCCOL nCol, SCROW nRow, SCTAB nTab, bool bFilter, std::vector<ScTypedStrData>& rStrings, bool& rHasDates);
 
     SC_DLLPUBLIC bool GetFilterEntriesArea(
         SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bCaseSens,
-        std::vector<TypedStrData>& rStrings, bool& rHasDates);
+        std::vector<ScTypedStrData>& rStrings, bool& rHasDates);
 
     bool GetDataEntries(
         SCCOL nCol, SCROW nRow, SCTAB nTab, bool bCaseSens,
-        std::vector<TypedStrData>& rStrings, bool bLimit = false );
+        std::vector<ScTypedStrData>& rStrings, bool bLimit = false );
     bool GetFormulaEntries( ScTypedCaseStrSet& rStrings );
 
     bool HasAutoFilter( SCCOL nCol, SCROW nRow, SCTAB nTab );
diff --git a/sc/inc/dpglobal.hxx b/sc/inc/dpglobal.hxx
index 55a6aea..3619f03 100644
--- a/sc/inc/dpglobal.hxx
+++ b/sc/inc/dpglobal.hxx
@@ -92,7 +92,7 @@
 #define DP_PROP_FILTER              "Filter"
 #define DP_PROP_POSITION            "Position"
 
-class TypedStrData;
+class ScTypedStrData;
 class ScDPObject;
 class ScDPInfoWnd;
 class ScDocShell;
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 2bae993..bb11dd5 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -761,9 +761,9 @@ public:
     SCSIZE      Query(ScQueryParam& rQueryParam, bool bKeepSub);
     bool        CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
 
-    void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, std::vector<TypedStrData>& rStrings, bool& rHasDates);
-    void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, std::vector<TypedStrData>& rStrings, bool& rHasDates );
-    bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set<TypedStrData>& rStrings, bool bLimit);
+    void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, std::vector<ScTypedStrData>& rStrings, bool& rHasDates);
+    void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, std::vector<ScTypedStrData>& rStrings, bool& rHasDates );
+    bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set<ScTypedStrData>& rStrings, bool bLimit);
 
     bool        HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow );
     bool        HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow );
diff --git a/sc/inc/typedstrdata.hxx b/sc/inc/typedstrdata.hxx
index 2e7d28a..e33d16a 100644
--- a/sc/inc/typedstrdata.hxx
+++ b/sc/inc/typedstrdata.hxx
@@ -34,7 +34,7 @@
 
 #include <set>
 
-class TypedStrData
+class ScTypedStrData
 {
 public:
     enum StringType {
@@ -45,39 +45,38 @@ public:
         Header   = 4
     };
 
-    TypedStrData( const rtl::OUString& rStr, double nVal = 0.0,
-                  StringType eType = Standard );
+    ScTypedStrData( const rtl::OUString& rStr, double nVal = 0.0,
+                    StringType eType = Standard );
 
-    TypedStrData( const TypedStrData& rCpy );
+    ScTypedStrData( const ScTypedStrData& rCpy );
 
     bool IsStrData() const;
     SC_DLLPUBLIC const rtl::OUString& GetString() const;
     double GetValue() const;
     StringType GetStringType() const;
 
-    struct LessCaseSensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    struct LessCaseSensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
     {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+        bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
     };
 
-    struct LessCaseInsensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    struct LessCaseInsensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
     {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+        bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
     };
 
-    struct EqualCaseSensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    struct EqualCaseSensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
     {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+        bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
     };
 
-    struct EqualCaseInsensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    struct EqualCaseInsensitive : std::binary_function<ScTypedStrData, ScTypedStrData, bool>
     {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+        bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const;
     };
 
-    bool operator== (const TypedStrData& r) const;
-    bool operator< (const TypedStrData& r) const;
-
+    bool operator== (const ScTypedStrData& r) const;
+    bool operator< (const ScTypedStrData& r) const;
 
 private:
     rtl::OUString maStrValue;
@@ -85,16 +84,16 @@ private:
     StringType meStrType;
 };
 
-class FindTypedStrData : std::unary_function<TypedStrData, bool>
+class FindTypedStrData : std::unary_function<ScTypedStrData, bool>
 {
-    TypedStrData maVal;
+    ScTypedStrData maVal;
     bool mbCaseSens;
 public:
-    FindTypedStrData(const TypedStrData& rVal, bool bCaseSens);
-    bool operator() (const TypedStrData& r) const;
+    FindTypedStrData(const ScTypedStrData& rVal, bool bCaseSens);
+    bool operator() (const ScTypedStrData& r) const;
 };
 
-typedef std::set<TypedStrData, TypedStrData::LessCaseSensitive> ScTypedCaseStrSet;
+typedef std::set<ScTypedStrData, ScTypedStrData::LessCaseSensitive> ScTypedCaseStrSet;
 
 #endif
 
diff --git a/sc/inc/validat.hxx b/sc/inc/validat.hxx
index 44bc37a..b8a661f 100644
--- a/sc/inc/validat.hxx
+++ b/sc/inc/validat.hxx
@@ -37,7 +37,7 @@ namespace ValidListType = ::com::sun::star::sheet::TableValidationVisibility;
 
 class ScPatternAttr;
 class ScTokenArray;
-class TypedStrData;
+class ScTypedStrData;
 
 enum ScValidationMode
 {
@@ -131,7 +131,7 @@ public:
         @descr  Fills the list only, if this is a list validation and IsShowList() is enabled.
         @param rStrings  (out-param) The string list to fill with list validation entires.
         @return  true = rStrings has been filled with at least one entry. */
-    bool FillSelectionList(std::vector<TypedStrData>& rStrings, const ScAddress& rPos) const;
+    bool FillSelectionList(std::vector<ScTypedStrData>& rStrings, const ScAddress& rPos) const;
 
                     //  with string: during input, with cell: for detective / RC_FORCED
     sal_Bool            IsDataValid( const String& rTest, const ScPatternAttr& rPattern,
@@ -166,7 +166,7 @@ private:
         @param rMatch    (out-param) the index of the first item that matched, -1 if nothing matched.
         @return  true = Cell range found, rRange is valid, or an error entry stuffed into the list if pCell==NULL. */
     bool GetSelectionFromFormula(
-        std::vector<TypedStrData>* pStrings, ScBaseCell* pCell, const ScAddress& rPos,
+        std::vector<ScTypedStrData>* pStrings, ScBaseCell* pCell, const ScAddress& rPos,
         const ScTokenArray& rTokArr, int& rMatch) const;
 
     /** Tests, if pCell is equal to what the passed token array represents. */
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index f94eacd..c6d16b5 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -1516,7 +1516,7 @@ bool ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString,
 }
 
 
-void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<TypedStrData>& rStrings, bool& rHasDates)
+void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<ScTypedStrData>& rStrings, bool& rHasDates)
 {
     bool bHasDates = false;
     SvNumberFormatter* pFormatter = pDocument->GetFormatTable();
@@ -1538,7 +1538,7 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<Type
 
         if ( pDocument->HasStringData( nCol, nRow, nTab ) )
         {
-            rStrings.push_back(TypedStrData(aString));
+            rStrings.push_back(ScTypedStrData(aString));
             continue;
         }
 
@@ -1560,7 +1560,7 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<Type
                     String aErr = ScGlobal::GetErrorString(nErr);
                     if (aErr.Len())
                     {
-                        rStrings.push_back(TypedStrData(aErr));
+                        rStrings.push_back(ScTypedStrData(aErr));
                         continue;
                     }
                 }
@@ -1585,7 +1585,7 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<Type
             }
         }
 
-        rStrings.push_back(TypedStrData(aString, nValue, TypedStrData::Value));
+        rStrings.push_back(ScTypedStrData(aString, nValue, ScTypedStrData::Value));
     }
 
     rHasDates = bHasDates;
@@ -1601,7 +1601,7 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, std::vector<Type
 #define DATENT_SEARCH   2000
 
 
-bool ScColumn::GetDataEntries(SCROW nStartRow, std::set<TypedStrData>& rStrings, bool bLimit)
+bool ScColumn::GetDataEntries(SCROW nStartRow, std::set<ScTypedStrData>& rStrings, bool bLimit)
 {
     sal_Bool bFound = false;
     SCSIZE nThisIndex;
@@ -1632,7 +1632,7 @@ bool ScColumn::GetDataEntries(SCROW nStartRow, std::set<TypedStrData>& rStrings,
                 else
                     ((ScEditCell*)pCell)->GetString(aString);
 
-                bool bInserted = rStrings.insert(TypedStrData(aString)).second;
+                bool bInserted = rStrings.insert(ScTypedStrData(aString)).second;
                 if (bInserted && bLimit && rStrings.size() >= DATENT_MAX)
                     break;                                                  // Maximum erreicht
                 bFound = true;
@@ -1655,7 +1655,7 @@ bool ScColumn::GetDataEntries(SCROW nStartRow, std::set<TypedStrData>& rStrings,
                 else
                     ((ScEditCell*)pCell)->GetString(aString);
 
-                bool bInserted = rStrings.insert(TypedStrData(aString)).second;
+                bool bInserted = rStrings.insert(ScTypedStrData(aString)).second;
                 if (bInserted && bLimit && rStrings.size() >= DATENT_MAX)
                     break;                                                  // Maximum erreicht
                 bFound = true;
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index ba618a0..9d7d564 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -90,20 +90,20 @@ using namespace com::sun::star;
 
 namespace {
 
-void sortAndRemoveDuplicates(std::vector<TypedStrData>& rStrings, bool bCaseSens)
+void sortAndRemoveDuplicates(std::vector<ScTypedStrData>& rStrings, bool bCaseSens)
 {
     if (bCaseSens)
     {
-        std::sort(rStrings.begin(), rStrings.end(), TypedStrData::LessCaseSensitive());
-        std::vector<TypedStrData>::iterator it =
-            std::unique(rStrings.begin(), rStrings.end(), TypedStrData::EqualCaseSensitive());
+        std::sort(rStrings.begin(), rStrings.end(), ScTypedStrData::LessCaseSensitive());
+        std::vector<ScTypedStrData>::iterator it =
+            std::unique(rStrings.begin(), rStrings.end(), ScTypedStrData::EqualCaseSensitive());
         rStrings.erase(it, rStrings.end());
     }
     else
     {
-        std::sort(rStrings.begin(), rStrings.end(), TypedStrData::LessCaseInsensitive());
-        std::vector<TypedStrData>::iterator it =
-            std::unique(rStrings.begin(), rStrings.end(), TypedStrData::EqualCaseInsensitive());
+        std::sort(rStrings.begin(), rStrings.end(), ScTypedStrData::LessCaseInsensitive());
+        std::vector<ScTypedStrData>::iterator it =
+            std::unique(rStrings.begin(), rStrings.end(), ScTypedStrData::EqualCaseInsensitive());
         rStrings.erase(it, rStrings.end());
     }
 }
@@ -1447,7 +1447,7 @@ bool ScDocument::HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol,
 //
 
 bool ScDocument::GetFilterEntries(
-    SCCOL nCol, SCROW nRow, SCTAB nTab, bool bFilter, std::vector<TypedStrData>& rStrings, bool& rHasDates)
+    SCCOL nCol, SCROW nRow, SCTAB nTab, bool bFilter, std::vector<ScTypedStrData>& rStrings, bool& rHasDates)
 {
     if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] && pDBCollection )
     {
@@ -1506,7 +1506,7 @@ bool ScDocument::GetFilterEntries(
 
 bool ScDocument::GetFilterEntriesArea(
     SCCOL nCol, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bCaseSens,
-    std::vector<TypedStrData>& rStrings, bool& rHasDates)
+    std::vector<ScTypedStrData>& rStrings, bool& rHasDates)
 {
     if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] )
     {
@@ -1524,7 +1524,7 @@ bool ScDocument::GetFilterEntriesArea(
 
 bool ScDocument::GetDataEntries(
     SCCOL nCol, SCROW nRow, SCTAB nTab, bool bCaseSens,
-    std::vector<TypedStrData>& rStrings, bool bLimit )
+    std::vector<ScTypedStrData>& rStrings, bool bLimit )
 {
     if( !bLimit )
     {
@@ -1551,7 +1551,7 @@ bool ScDocument::GetDataEntries(
     if (!maTabs[nTab])
         return false;
 
-    std::set<TypedStrData> aStrings;
+    std::set<ScTypedStrData> aStrings;
     bool bRet = maTabs[nTab]->GetDataEntries(nCol, nRow, aStrings, bLimit);
     rStrings.insert(rStrings.end(), aStrings.begin(), aStrings.end());
     sortAndRemoveDuplicates(rStrings, bCaseSens);
@@ -1573,7 +1573,7 @@ bool ScDocument::GetFormulaEntries( ScTypedCaseStrSet& rStrings )
     {
         ScRangeName::const_iterator itr = pRangeName->begin(), itrEnd = pRangeName->end();
         for (; itr != itrEnd; ++itr)
-            rStrings.insert(TypedStrData(itr->second->GetName(), 0.0, TypedStrData::Name));
+            rStrings.insert(ScTypedStrData(itr->second->GetName(), 0.0, ScTypedStrData::Name));
     }
 
     //
@@ -1585,7 +1585,7 @@ bool ScDocument::GetFormulaEntries( ScTypedCaseStrSet& rStrings )
         const ScDBCollection::NamedDBs& rDBs = pDBCollection->getNamedDBs();
         ScDBCollection::NamedDBs::const_iterator itr = rDBs.begin(), itrEnd = rDBs.end();
         for (; itr != itrEnd; ++itr)
-            rStrings.insert(TypedStrData(itr->GetName(), 0.0, TypedStrData::DbName));
+            rStrings.insert(ScTypedStrData(itr->GetName(), 0.0, ScTypedStrData::DbName));
     }
 
     //
@@ -1608,7 +1608,7 @@ bool ScDocument::GetFormulaEntries( ScTypedCaseStrSet& rStrings )
                     if ( pCell->HasStringData() )
                     {
                         rtl::OUString aStr = pCell->GetStringData();
-                        rStrings.insert(TypedStrData(aStr, 0.0, TypedStrData::Header));
+                        rStrings.insert(ScTypedStrData(aStr, 0.0, ScTypedStrData::Header));
                     }
             }
     }
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 11aed0c..36078ad 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -2108,13 +2108,13 @@ bool ScTable::HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL /* nEndCol *
     return true;
 }
 
-void ScTable::GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, std::vector<TypedStrData>& rStrings, bool& rHasDates)
+void ScTable::GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, std::vector<ScTypedStrData>& rStrings, bool& rHasDates)
 {
     aCol[nCol].GetFilterEntries( nRow1, nRow2, rStrings, rHasDates );
 }
 
 void ScTable::GetFilteredFilterEntries(
-    SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, std::vector<TypedStrData>& rStrings, bool& rHasDates)
+    SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, std::vector<ScTypedStrData>& rStrings, bool& rHasDates)
 {
     // remove the entry for this column from the query parameter
     ScQueryParam aParam( rParam );
@@ -2135,7 +2135,7 @@ void ScTable::GetFilteredFilterEntries(
     rHasDates = bHasDates;
 }
 
-bool ScTable::GetDataEntries(SCCOL nCol, SCROW nRow, std::set<TypedStrData>& rStrings, bool bLimit)
+bool ScTable::GetDataEntries(SCCOL nCol, SCROW nRow, std::set<ScTypedStrData>& rStrings, bool bLimit)
 {
     return aCol[nCol].GetDataEntries( nRow, rStrings, bLimit );
 }
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index d8cc5dc..277ab98 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -611,7 +611,7 @@ bool ScValidationData::HasSelectionList() const
 }
 
 bool ScValidationData::GetSelectionFromFormula(
-    std::vector<TypedStrData>* pStrings, ScBaseCell* pCell, const ScAddress& rPos,
+    std::vector<ScTypedStrData>* pStrings, ScBaseCell* pCell, const ScAddress& rPos,
     const ScTokenArray& rTokArr, int& rMatch) const
 {
     bool bOk = true;
@@ -715,7 +715,7 @@ bool ScValidationData::GetSelectionFromFormula(
         for( nCol = 0; nCol < nCols ; nCol++ )
         {
             ScTokenArray         aCondTokArr;
-            TypedStrData*        pEntry = NULL;
+            ScTypedStrData*        pEntry = NULL;
             String               aValStr;
             ScMatrixValue nMatVal = pValues->Get( nCol, nRow);
 
@@ -725,7 +725,7 @@ bool ScValidationData::GetSelectionFromFormula(
                 aValStr = nMatVal.GetString();
 
                 if( NULL != pStrings )
-                    pEntry = new TypedStrData( aValStr, 0.0, TypedStrData::Standard);
+                    pEntry = new ScTypedStrData( aValStr, 0.0, ScTypedStrData::Standard);
 
                 if( pCell && rMatch < 0 )
                     aCondTokArr.AddString( aValStr );
@@ -760,7 +760,7 @@ bool ScValidationData::GetSelectionFromFormula(
                     aCondTokArr.AddDouble( nMatVal.fVal );
                 }
                 if( NULL != pStrings )
-                    pEntry = new TypedStrData( aValStr, nMatVal.fVal, TypedStrData::Value);
+                    pEntry = new ScTypedStrData( aValStr, nMatVal.fVal, ScTypedStrData::Value);
             }
 
             if( rMatch < 0 && NULL != pCell && IsEqualToTokenArray( pCell, rPos, aCondTokArr ) )
@@ -785,7 +785,7 @@ bool ScValidationData::GetSelectionFromFormula(
     return bOk || NULL == pCell;
 }
 
-bool ScValidationData::FillSelectionList(std::vector<TypedStrData>& rStrColl, const ScAddress& rPos) const
+bool ScValidationData::FillSelectionList(std::vector<ScTypedStrData>& rStrColl, const ScAddress& rPos) const
 {
     bool bOk = false;
 
@@ -802,8 +802,8 @@ bool ScValidationData::FillSelectionList(std::vector<TypedStrData>& rStrColl, co
             double fValue;
             bool bIsValue = GetDocument()->GetFormatTable()->IsNumberFormat( *pString, nFormat, fValue );
             rStrColl.push_back(
-                TypedStrData(
-                    *pString, fValue, bIsValue ? TypedStrData::Value : TypedStrData::Standard));
+                ScTypedStrData(
+                    *pString, fValue, bIsValue ? ScTypedStrData::Value : ScTypedStrData::Standard));
         }
         bOk = aIt.Ok();
 
diff --git a/sc/source/core/tool/typedstrdata.cxx b/sc/source/core/tool/typedstrdata.cxx
index b991b15..8faaace 100644
--- a/sc/source/core/tool/typedstrdata.cxx
+++ b/sc/source/core/tool/typedstrdata.cxx
@@ -31,7 +31,7 @@
 
 #include "unotools/transliterationwrapper.hxx"
 
-bool TypedStrData::LessCaseSensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+bool ScTypedStrData::LessCaseSensitive::operator() (const ScTypedStrData& left, const ScTypedStrData& right) const
 {
     if (left.meStrType != right.meStrType)
         return left.meStrType < right.meStrType;
@@ -43,7 +43,7 @@ bool TypedStrData::LessCaseSensitive::operator() (const TypedStrData& left, cons
         left.maStrValue, right.maStrValue) < 0;
 }
 
-bool TypedStrData::LessCaseInsensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+bool ScTypedStrData::LessCaseInsensitive::operator() (const ScTypedStrData& left, const ScTypedStrData& right) const
 {
     if (left.meStrType != right.meStrType)
         return left.meStrType < right.meStrType;
@@ -55,7 +55,7 @@ bool TypedStrData::LessCaseInsensitive::operator() (const TypedStrData& left, co
         left.maStrValue, right.maStrValue) < 0;
 }
 
-bool TypedStrData::EqualCaseSensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+bool ScTypedStrData::EqualCaseSensitive::operator() (const ScTypedStrData& left, const ScTypedStrData& right) const
 {
     if (left.meStrType != right.meStrType)
         return false;
@@ -67,7 +67,7 @@ bool TypedStrData::EqualCaseSensitive::operator() (const TypedStrData& left, con
         left.maStrValue, right.maStrValue) == 0;
 }
 
-bool TypedStrData::EqualCaseInsensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+bool ScTypedStrData::EqualCaseInsensitive::operator() (const ScTypedStrData& left, const ScTypedStrData& right) const
 {
     if (left.meStrType != right.meStrType)
         return false;
@@ -79,64 +79,64 @@ bool TypedStrData::EqualCaseInsensitive::operator() (const TypedStrData& left, c
         left.maStrValue, right.maStrValue) == 0;
 }
 
-bool TypedStrData::operator== (const TypedStrData& r) const
+bool ScTypedStrData::operator== (const ScTypedStrData& r) const
 {
     // Case insensitive comparison by default.
     EqualCaseInsensitive aHdl;
     return aHdl(*this, r);
 }
 
-bool TypedStrData::operator< (const TypedStrData& r) const
+bool ScTypedStrData::operator< (const ScTypedStrData& r) const
 {
     // Case insensitive comparison by default.
     LessCaseInsensitive aHdl;
     return aHdl(*this, r);
 }
 
-TypedStrData::TypedStrData(
+ScTypedStrData::ScTypedStrData(
     const rtl::OUString& rStr, double nVal, StringType nType ) :
     maStrValue(rStr),
     mfValue(nVal),
     meStrType(nType) {}
 
-TypedStrData::TypedStrData( const TypedStrData& rCpy ) :
+ScTypedStrData::ScTypedStrData( const ScTypedStrData& rCpy ) :
     maStrValue(rCpy.maStrValue),
     mfValue(rCpy.mfValue),
     meStrType(rCpy.meStrType) {}
 
-bool TypedStrData::IsStrData() const
+bool ScTypedStrData::IsStrData() const
 {
     return meStrType != Value;
 }
 
-const rtl::OUString& TypedStrData::GetString() const
+const rtl::OUString& ScTypedStrData::GetString() const
 {
     return maStrValue;
 }
 
-double TypedStrData::GetValue() const
+double ScTypedStrData::GetValue() const
 {
     return mfValue;
 }
 
-TypedStrData::StringType TypedStrData::GetStringType() const
+ScTypedStrData::StringType ScTypedStrData::GetStringType() const
 {
     return meStrType;
 }
 
-FindTypedStrData::FindTypedStrData(const TypedStrData& rVal, bool bCaseSens) :
+FindTypedStrData::FindTypedStrData(const ScTypedStrData& rVal, bool bCaseSens) :
     maVal(rVal), mbCaseSens(bCaseSens) {}
 
-bool FindTypedStrData::operator() (const TypedStrData& r) const
+bool FindTypedStrData::operator() (const ScTypedStrData& r) const
 {
     if (mbCaseSens)
     {
-        TypedStrData::EqualCaseSensitive aHdl;
+        ScTypedStrData::EqualCaseSensitive aHdl;
         return aHdl(maVal, r);
     }
     else
     {
-        TypedStrData::EqualCaseInsensitive aHdl;
+        ScTypedStrData::EqualCaseInsensitive aHdl;
         return aHdl(maVal, r);
     }
 }
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 9891180..b1329e2 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -133,8 +133,8 @@ ScTypedCaseStrSet::const_iterator findText(
 
         for (; it != itEnd; ++it)
         {
-            const TypedStrData& rData = *it;
-            if (rData.GetStringType() == TypedStrData::Value)
+            const ScTypedStrData& rData = *it;
+            if (rData.GetStringType() == ScTypedStrData::Value)
                 // skip values.
                 continue;
 
@@ -154,8 +154,8 @@ ScTypedCaseStrSet::const_iterator findText(
 
         for (; it != itEnd; ++it)
         {
-            const TypedStrData& rData = *it;
-            if (rData.GetStringType() == TypedStrData::Value)
+            const ScTypedStrData& rData = *it;
+            if (rData.GetStringType() == ScTypedStrData::Value)
                 // skip values.
                 continue;
 
@@ -176,8 +176,8 @@ rtl::OUString getExactMatch(const ScTypedCaseStrSet& rDataSet, const rtl::OUStri
     ScTypedCaseStrSet::const_iterator it = rDataSet.begin(), itEnd = rDataSet.end();
     for (; it != itEnd; ++it)
     {
-        const TypedStrData& rData = *it;
-        if (rData.GetStringType() == TypedStrData::Value)
+        const ScTypedStrData& rData = *it;
+        if (rData.GetStringType() == ScTypedStrData::Value)
             continue;
 
         if (!ScGlobal::GetpTransliteration()->isEqual(rData.GetString(), rString))
@@ -749,7 +749,7 @@ void ScInputHandler::GetFormulaData()
                     {
                         String aEntry = *pDesc->pFuncName;
                         aEntry.AppendAscii(RTL_CONSTASCII_STRINGPARAM( "()" ));
-                        pFormulaData->insert(TypedStrData(aEntry, 0.0, TypedStrData::Standard));
+                        pFormulaData->insert(ScTypedStrData(aEntry, 0.0, ScTypedStrData::Standard));
                         break;                  // nicht weitersuchen
                     }
                 }
@@ -762,7 +762,7 @@ void ScInputHandler::GetFormulaData()
             {
                 pDesc->initArgumentInfo();
                 String aEntry = pDesc->getSignature();
-                pFormulaDataPara->insert(TypedStrData(aEntry, 0.0, TypedStrData::Standard));
+                pFormulaDataPara->insert(ScTypedStrData(aEntry, 0.0, ScTypedStrData::Standard));
             }
         }
         pDoc->GetFormulaEntries( *pFormulaData );
@@ -1278,7 +1278,7 @@ void ScInputHandler::PasteFunctionData()
 {
     if (pFormulaData && miAutoPos != pFormulaData->end())
     {
-        const TypedStrData& rData = *miAutoPos;
+        const ScTypedStrData& rData = *miAutoPos;
         const rtl::OUString& aInsert = rData.GetString();
         bool bParInserted = false;
 
@@ -1528,7 +1528,7 @@ void ScInputHandler::GetColData()
             pColumnData = new ScTypedCaseStrSet;
         }
 
-        std::vector<TypedStrData> aEntries;
+        std::vector<ScTypedStrData> aEntries;
         pDoc->GetDataEntries(
             aCursorPos.Col(), aCursorPos.Row(), aCursorPos.Tab(), true, aEntries, true);
         if (!aEntries.empty())
diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx
index 8cfa898..94e23f8 100644
--- a/sc/source/ui/dbgui/filtdlg.cxx
+++ b/sc/source/ui/dbgui/filtdlg.cxx
@@ -547,24 +547,24 @@ void ScFilterDlg::UpdateValueList( size_t nList )
                 //! Entry (pHdrEntry) doesn't generate collection?
 
                 pList->mnHeaderPos = INVALID_HEADER_POS;
-                std::vector<TypedStrData> aHdrColl;
+                std::vector<ScTypedStrData> aHdrColl;
                 bool bDummy = false;
                 pDoc->GetFilterEntriesArea(
                     nColumn, nFirstRow, nFirstRow, nTab, true, aHdrColl, bDummy );
                 if (!aHdrColl.empty())
                 {
                     // See if the header value is already in the list.
-                    std::vector<TypedStrData>::iterator itBeg = pList->maList.begin(), itEnd = pList->maList.end();
-                    std::vector<TypedStrData>::iterator it = std::find_if(
+                    std::vector<ScTypedStrData>::iterator itBeg = pList->maList.begin(), itEnd = pList->maList.end();
+                    std::vector<ScTypedStrData>::iterator it = std::find_if(
                         itBeg, itEnd, FindTypedStrData(aHdrColl.front(), bCaseSens));
                     if (it == itEnd)
                     {
                         // Not in the list. Insert it.
                         pList->maList.push_back(aHdrColl.front());
                         if (bCaseSens)
-                            std::sort(pList->maList.begin(), pList->maList.end(), TypedStrData::LessCaseSensitive());
+                            std::sort(pList->maList.begin(), pList->maList.end(), ScTypedStrData::LessCaseSensitive());
                         else
-                            std::sort(pList->maList.begin(), pList->maList.end(), TypedStrData::LessCaseInsensitive());
+                            std::sort(pList->maList.begin(), pList->maList.end(), ScTypedStrData::LessCaseInsensitive());
 
                         // Record its position.
                         itBeg = pList->maList.begin();
@@ -579,7 +579,7 @@ void ScFilterDlg::UpdateValueList( size_t nList )
 
             OSL_ASSERT(pList);
 
-            std::vector<TypedStrData>::const_iterator it = pList->maList.begin(), itEnd = pList->maList.end();
+            std::vector<ScTypedStrData>::const_iterator it = pList->maList.begin(), itEnd = pList->maList.end();
             for (; it != itEnd; ++it)
             {
                 pValList->InsertEntry(it->GetString(), nListPos);
@@ -621,7 +621,7 @@ void ScFilterDlg::UpdateHdrInValueList( size_t nList )
     ComboBox* pValList = maValueEdArr[nList-1];
     size_t nListPos = nPos + 2;                 // for "empty" and "non-empty"
 
-    const TypedStrData& rHdrEntry = maEntryLists[nColumn].maList[nPos];
+    const ScTypedStrData& rHdrEntry = maEntryLists[nColumn].maList[nPos];
 
     const rtl::OUString& aHdrStr = rHdrEntry.GetString();
     bool bWasThere = aHdrStr.equals(pValList->GetEntry(nListPos));
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index a3b6298..4b2198e 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -347,13 +347,13 @@ void ScPivotFilterDlg::UpdateValueList( sal_uInt16 nList )
                 nFirstRow++;
                 bool bHasDates = false;
                 bool bCaseSens = aBtnCase.IsChecked();
-                pEntryLists[nColumn] = new std::vector<TypedStrData>;
+                pEntryLists[nColumn] = new std::vector<ScTypedStrData>;
                 pDoc->GetFilterEntriesArea(
                     nColumn, nFirstRow, nLastRow, nTab, bCaseSens, *pEntryLists[nColumn], bHasDates);
             }
 
-            std::vector<TypedStrData>* pColl = pEntryLists[nColumn];
-            std::vector<TypedStrData>::const_iterator it = pColl->begin(), itEnd = pColl->end();
+            std::vector<ScTypedStrData>* pColl = pEntryLists[nColumn];
+            std::vector<ScTypedStrData>::const_iterator it = pColl->begin(), itEnd = pColl->end();
             for (; it != itEnd; ++it)
             {
                 pValList->InsertEntry(it->GetString(), nListPos);
diff --git a/sc/source/ui/inc/filtdlg.hxx b/sc/source/ui/inc/filtdlg.hxx
index ba147c9..d473b23 100644
--- a/sc/source/ui/inc/filtdlg.hxx
+++ b/sc/source/ui/inc/filtdlg.hxx
@@ -58,7 +58,7 @@ class ScFilterDlg : public ScAnyRefDlg
 {
     struct EntryList : boost::noncopyable
     {
-        std::vector<TypedStrData> maList;
+        std::vector<ScTypedStrData> maList;
         size_t mnHeaderPos;
         EntryList();
     };
diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx
index b9cd841..e8e44da 100644
--- a/sc/source/ui/inc/pfiltdlg.hxx
+++ b/sc/source/ui/inc/pfiltdlg.hxx
@@ -44,7 +44,7 @@
 class ScViewData;
 class ScDocument;
 class ScQueryItem;
-class TypedStrData;
+class ScTypedStrData;
 
 //==================================================================
 
@@ -108,7 +108,7 @@ private:
     ListBox*            aFieldLbArr[3];
     ListBox*            aCondLbArr[3];
 
-    std::vector<TypedStrData>* pEntryLists[MAXCOLCOUNT];
+    std::vector<ScTypedStrData>* pEntryLists[MAXCOLCOUNT];
 
 #ifdef _PFILTDLG_CXX
 private:
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index e5405b9..4c852db 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -690,11 +690,11 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow)
 
     // Populate the check box list.
     bool bHasDates = false;
-    std::vector<TypedStrData> aStrings;
+    std::vector<ScTypedStrData> aStrings;
     pDoc->GetFilterEntries(nCol, nRow, nTab, true, aStrings, bHasDates);
 
     mpAutoFilterPopup->setMemberSize(aStrings.size());
-    std::vector<TypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end();
+    std::vector<ScTypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end();
     for (; it != itEnd; ++it)
     {
         const rtl::OUString& aVal = it->GetString();
@@ -1165,7 +1165,7 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelec
     //  SetSize spaeter
 
     bool bEmpty = false;
-    std::vector<TypedStrData> aStrings; // case sensitive
+    std::vector<ScTypedStrData> aStrings; // case sensitive
     if ( bDataSelect )                                  // Auswahl-Liste
     {
         //  Liste fuellen
@@ -1202,7 +1202,7 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelec
 
         //  check widths of numerical entries (string entries are not included)
         //  so all numbers are completely visible
-        std::vector<TypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end();
+        std::vector<ScTypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end();
         for (; it != itEnd; ++it)
         {
             if (!it->IsStrData())              // only numerical entries
@@ -1250,7 +1250,7 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelec
         if (bWait)
             EnterWait();
 
-        std::vector<TypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end();
+        std::vector<ScTypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end();
         for (; it != itEnd; ++it)
             pFilterBox->InsertEntry(it->GetString());
 
@@ -1312,22 +1312,22 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelec
             const ScValidationData* pData = pDoc->GetValidationEntry( nIndex );
             if (pData)
             {
-                TypedStrData* pNew = NULL;
+                ScTypedStrData* pNew = NULL;
                 rtl::OUString aDocStr;
                 pDoc->GetString( nCol, nRow, nTab, aDocStr );
                 if ( pDoc->HasValueData( nCol, nRow, nTab ) )
                 {
                     double fVal = pDoc->GetValue(ScAddress(nCol, nRow, nTab));
-                    pNew = new TypedStrData(aDocStr, fVal, TypedStrData::Value);
+                    pNew = new ScTypedStrData(aDocStr, fVal, ScTypedStrData::Value);
                 }
                 else
-                    pNew = new TypedStrData(aDocStr, 0.0, TypedStrData::Standard);
+                    pNew = new ScTypedStrData(aDocStr, 0.0, ScTypedStrData::Standard);
 
                 bool bSortList = ( pData->GetListType() == ValidListType::SORTEDASCENDING);
                 if ( bSortList )
                 {
-                    std::vector<TypedStrData>::const_iterator itBeg = aStrings.begin(), itEnd = aStrings.end();
-                    std::vector<TypedStrData>::const_iterator it =
+                    std::vector<ScTypedStrData>::const_iterator itBeg = aStrings.begin(), itEnd = aStrings.end();
+                    std::vector<ScTypedStrData>::const_iterator it =
                         std::find_if(itBeg, itEnd, FindTypedStrData(*pNew, true));
                     if (it != itEnd)
                         // Found!
@@ -1335,9 +1335,9 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow, bool bDataSelec
                 }
                 else
                 {
-                    TypedStrData::EqualCaseSensitive aHdl;
-                    std::vector<TypedStrData>::const_iterator itBeg = aStrings.begin(), itEnd = aStrings.end();
-                    std::vector<TypedStrData>::const_iterator it = itBeg;
+                    ScTypedStrData::EqualCaseSensitive aHdl;
+                    std::vector<ScTypedStrData>::const_iterator itBeg = aStrings.begin(), itEnd = aStrings.end();
+                    std::vector<ScTypedStrData>::const_iterator it = itBeg;
                     for (; it != itEnd && LISTBOX_ENTRY_NOTFOUND == nSelPos; ++it)
                     {
                         if (aHdl(*it, *pNew))
commit e8e436771c94f6a58a10818b4eeb5861ddeb5f37
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date:   Wed Feb 8 21:25:19 2012 -0500

    Moved TypedStrData into its own files.

diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk
index 93c3c66..fbd6a17 100644
--- a/sc/Library_sc.mk
+++ b/sc/Library_sc.mk
@@ -212,6 +212,7 @@ $(eval $(call gb_Library_add_exception_objects,sc,\
 	sc/source/core/tool/stringutil \
 	sc/source/core/tool/subtotal \
 	sc/source/core/tool/token \
+	sc/source/core/tool/typedstrdata \
 	sc/source/core/tool/unitconv \
 	sc/source/core/tool/userlist \
 	sc/source/core/tool/viewopti \
diff --git a/sc/inc/collect.hxx b/sc/inc/collect.hxx
index 3dc738f..608b22a 100644
--- a/sc/inc/collect.hxx
+++ b/sc/inc/collect.hxx
@@ -30,9 +30,6 @@
 #define SC_COLLECT_HXX
 
 #include "scdllapi.h"
-#include "rtl/ustring.hxx"
-
-#include <set>
 
 class SC_DLLPUBLIC ScDataObject
 {
@@ -71,68 +68,6 @@ public:
             ScCollection&   operator=( const ScCollection& rCol );
 };
 
-class TypedStrData
-{
-public:
-    enum StringType {
-        Value    = 0,
-        Standard = 1,
-        Name     = 2,
-        DbName   = 3,
-        Header   = 4
-    };
-
-    TypedStrData( const rtl::OUString& rStr, double nVal = 0.0,
-                  StringType eType = Standard );
-
-    TypedStrData( const TypedStrData& rCpy );
-
-    bool IsStrData() const;
-    SC_DLLPUBLIC const rtl::OUString& GetString() const;
-    double GetValue() const;
-    StringType GetStringType() const;
-
-    struct LessCaseSensitive : std::binary_function<TypedStrData, TypedStrData, bool>
-    {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
-    };
-
-    struct LessCaseInsensitive : std::binary_function<TypedStrData, TypedStrData, bool>
-    {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
-    };
-
-    struct EqualCaseSensitive : std::binary_function<TypedStrData, TypedStrData, bool>
-    {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
-    };
-
-    struct EqualCaseInsensitive : std::binary_function<TypedStrData, TypedStrData, bool>
-    {
-        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
-    };
-
-    bool operator== (const TypedStrData& r) const;
-    bool operator< (const TypedStrData& r) const;
-
-
-private:
-    rtl::OUString maStrValue;
-    double mfValue;
-    StringType meStrType;
-};
-
-class FindTypedStrData : std::unary_function<TypedStrData, bool>
-{
-    TypedStrData maVal;
-    bool mbCaseSens;
-public:
-    FindTypedStrData(const TypedStrData& rVal, bool bCaseSens);
-    bool operator() (const TypedStrData& r) const;
-};
-
-typedef std::set<TypedStrData, TypedStrData::LessCaseSensitive> ScTypedCaseStrSet;
-
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 2e89c83..a796c32 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -44,7 +44,7 @@
 #include "formula/grammar.hxx"
 #include <com/sun/star/chart2/XChartDocument.hpp>
 #include "scdllapi.h"
-#include "collect.hxx"
+#include "typedstrdata.hxx"
 
 #include <memory>
 #include <map>
diff --git a/sc/inc/typedstrdata.hxx b/sc/inc/typedstrdata.hxx
new file mode 100644
index 0000000..2e7d28a
--- /dev/null
+++ b/sc/inc/typedstrdata.hxx
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ *   Copyright (C) 2012 Kohei Yoshida <kohei.yoshida at suse.com>
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __SC_TYPEDSTRDATA_HXX__
+#define __SC_TYPEDSTRDATA_HXX__
+
+#include "rtl/ustring.hxx"
+#include "scdllapi.h"
+
+#include <set>
+
+class TypedStrData
+{
+public:
+    enum StringType {
+        Value    = 0,
+        Standard = 1,
+        Name     = 2,
+        DbName   = 3,
+        Header   = 4
+    };
+
+    TypedStrData( const rtl::OUString& rStr, double nVal = 0.0,
+                  StringType eType = Standard );
+
+    TypedStrData( const TypedStrData& rCpy );
+
+    bool IsStrData() const;
+    SC_DLLPUBLIC const rtl::OUString& GetString() const;
+    double GetValue() const;
+    StringType GetStringType() const;
+
+    struct LessCaseSensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    {
+        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+    };
+
+    struct LessCaseInsensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    {
+        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+    };
+
+    struct EqualCaseSensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    {
+        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+    };
+
+    struct EqualCaseInsensitive : std::binary_function<TypedStrData, TypedStrData, bool>
+    {
+        bool operator() (const TypedStrData& left, const TypedStrData& right) const;
+    };
+
+    bool operator== (const TypedStrData& r) const;
+    bool operator< (const TypedStrData& r) const;
+
+
+private:
+    rtl::OUString maStrValue;
+    double mfValue;
+    StringType meStrType;
+};
+
+class FindTypedStrData : std::unary_function<TypedStrData, bool>
+{
+    TypedStrData maVal;
+    bool mbCaseSens;
+public:
+    FindTypedStrData(const TypedStrData& rVal, bool bCaseSens);
+    bool operator() (const TypedStrData& r) const;
+};
+
+typedef std::set<TypedStrData, TypedStrData::LessCaseSensitive> ScTypedCaseStrSet;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index c62f9f2..f94eacd 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -44,7 +44,7 @@
 #include "attarray.hxx"
 #include "patattr.hxx"
 #include "cellform.hxx"
-#include "collect.hxx"
+#include "typedstrdata.hxx"
 #include "formula/errorcodes.hxx"
 #include "formula/token.hxx"
 #include "brdcst.hxx"
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index ec1da24..d8cc5dc 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -53,7 +53,7 @@
 #include "globstr.hrc"
 #include "rangenam.hxx"
 #include "dbdata.hxx"
-#include "collect.hxx"
+#include "typedstrdata.hxx"
 
 #include <math.h>
 #include <memory>
diff --git a/sc/source/core/tool/collect.cxx b/sc/source/core/tool/collect.cxx
index e8f3de6..090ebfa 100644
--- a/sc/source/core/tool/collect.cxx
+++ b/sc/source/core/tool/collect.cxx
@@ -26,10 +26,7 @@
  *
  ************************************************************************/
 
-#include <unotools/transliterationwrapper.hxx>
-
 #include "collect.hxx"
-#include "global.hxx"
 
 #include <string.h>
 
@@ -196,114 +193,4 @@ ScDataObject*   ScCollection::Clone() const
     return new ScCollection(*this);
 }
 
-bool TypedStrData::LessCaseSensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
-{
-    if (left.meStrType != right.meStrType)
-        return left.meStrType < right.meStrType;
-
-    if (left.meStrType == Value)
-        return left.mfValue < right.mfValue;
-
-    return ScGlobal::GetCaseTransliteration()->compareString(
-        left.maStrValue, right.maStrValue) < 0;
-}
-
-bool TypedStrData::LessCaseInsensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
-{
-    if (left.meStrType != right.meStrType)
-        return left.meStrType < right.meStrType;
-
-    if (left.meStrType == Value)
-        return left.mfValue < right.mfValue;
-
-    return ScGlobal::GetpTransliteration()->compareString(
-        left.maStrValue, right.maStrValue) < 0;
-}
-
-bool TypedStrData::EqualCaseSensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
-{
-    if (left.meStrType != right.meStrType)
-        return false;
-
-    if (left.meStrType == Value && left.mfValue != right.mfValue)
-        return false;
-
-    return ScGlobal::GetCaseTransliteration()->compareString(
-        left.maStrValue, right.maStrValue) == 0;
-}
-
-bool TypedStrData::EqualCaseInsensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
-{
-    if (left.meStrType != right.meStrType)
-        return false;
-
-    if (left.meStrType == Value && left.mfValue != right.mfValue)
-        return false;
-
-    return ScGlobal::GetpTransliteration()->compareString(
-        left.maStrValue, right.maStrValue) == 0;
-}
-
-bool TypedStrData::operator== (const TypedStrData& r) const
-{
-    // Case insensitive comparison by default.
-    EqualCaseInsensitive aHdl;
-    return aHdl(*this, r);
-}
-
-bool TypedStrData::operator< (const TypedStrData& r) const
-{
-    // Case insensitive comparison by default.
-    LessCaseInsensitive aHdl;
-    return aHdl(*this, r);
-}
-
-TypedStrData::TypedStrData(
-    const rtl::OUString& rStr, double nVal, StringType nType ) :
-    maStrValue(rStr),
-    mfValue(nVal),
-    meStrType(nType) {}
-
-TypedStrData::TypedStrData( const TypedStrData& rCpy ) :
-    maStrValue(rCpy.maStrValue),
-    mfValue(rCpy.mfValue),
-    meStrType(rCpy.meStrType) {}
-
-bool TypedStrData::IsStrData() const
-{
-    return meStrType != Value;
-}
-
-const rtl::OUString& TypedStrData::GetString() const
-{
-    return maStrValue;
-}
-
-double TypedStrData::GetValue() const
-{
-    return mfValue;
-}
-
-TypedStrData::StringType TypedStrData::GetStringType() const
-{
-    return meStrType;
-}
-
-FindTypedStrData::FindTypedStrData(const TypedStrData& rVal, bool bCaseSens) :
-    maVal(rVal), mbCaseSens(bCaseSens) {}
-
-bool FindTypedStrData::operator() (const TypedStrData& r) const
-{
-    if (mbCaseSens)
-    {
-        TypedStrData::EqualCaseSensitive aHdl;
-        return aHdl(maVal, r);
-    }
-    else
-    {
-        TypedStrData::EqualCaseInsensitive aHdl;
-        return aHdl(maVal, r);
-    }
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/typedstrdata.cxx b/sc/source/core/tool/typedstrdata.cxx
new file mode 100644
index 0000000..b991b15
--- /dev/null
+++ b/sc/source/core/tool/typedstrdata.cxx
@@ -0,0 +1,144 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ *   Copyright (C) 2012 Kohei Yoshida <kohei.yoshida at suse.com>
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include "typedstrdata.hxx"
+#include "global.hxx"
+
+#include "unotools/transliterationwrapper.hxx"
+
+bool TypedStrData::LessCaseSensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+{
+    if (left.meStrType != right.meStrType)
+        return left.meStrType < right.meStrType;
+
+    if (left.meStrType == Value)
+        return left.mfValue < right.mfValue;
+
+    return ScGlobal::GetCaseTransliteration()->compareString(
+        left.maStrValue, right.maStrValue) < 0;
+}
+
+bool TypedStrData::LessCaseInsensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+{
+    if (left.meStrType != right.meStrType)
+        return left.meStrType < right.meStrType;
+
+    if (left.meStrType == Value)
+        return left.mfValue < right.mfValue;
+
+    return ScGlobal::GetpTransliteration()->compareString(
+        left.maStrValue, right.maStrValue) < 0;
+}
+
+bool TypedStrData::EqualCaseSensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+{
+    if (left.meStrType != right.meStrType)
+        return false;
+
+    if (left.meStrType == Value && left.mfValue != right.mfValue)
+        return false;
+
+    return ScGlobal::GetCaseTransliteration()->compareString(
+        left.maStrValue, right.maStrValue) == 0;
+}
+
+bool TypedStrData::EqualCaseInsensitive::operator() (const TypedStrData& left, const TypedStrData& right) const
+{
+    if (left.meStrType != right.meStrType)
+        return false;
+
+    if (left.meStrType == Value && left.mfValue != right.mfValue)
+        return false;
+
+    return ScGlobal::GetpTransliteration()->compareString(
+        left.maStrValue, right.maStrValue) == 0;
+}
+
+bool TypedStrData::operator== (const TypedStrData& r) const
+{
+    // Case insensitive comparison by default.
+    EqualCaseInsensitive aHdl;
+    return aHdl(*this, r);
+}
+
+bool TypedStrData::operator< (const TypedStrData& r) const
+{
+    // Case insensitive comparison by default.
+    LessCaseInsensitive aHdl;
+    return aHdl(*this, r);
+}
+
+TypedStrData::TypedStrData(
+    const rtl::OUString& rStr, double nVal, StringType nType ) :
+    maStrValue(rStr),
+    mfValue(nVal),
+    meStrType(nType) {}
+
+TypedStrData::TypedStrData( const TypedStrData& rCpy ) :
+    maStrValue(rCpy.maStrValue),
+    mfValue(rCpy.mfValue),
+    meStrType(rCpy.meStrType) {}
+
+bool TypedStrData::IsStrData() const
+{
+    return meStrType != Value;
+}
+
+const rtl::OUString& TypedStrData::GetString() const
+{
+    return maStrValue;
+}
+
+double TypedStrData::GetValue() const
+{
+    return mfValue;
+}
+
+TypedStrData::StringType TypedStrData::GetStringType() const
+{
+    return meStrType;
+}
+
+FindTypedStrData::FindTypedStrData(const TypedStrData& rVal, bool bCaseSens) :
+    maVal(rVal), mbCaseSens(bCaseSens) {}
+
+bool FindTypedStrData::operator() (const TypedStrData& r) const
+{
+    if (mbCaseSens)
+    {
+        TypedStrData::EqualCaseSensitive aHdl;
+        return aHdl(maVal, r);
+    }
+    else
+    {
+        TypedStrData::EqualCaseInsensitive aHdl;
+        return aHdl(maVal, r);
+    }
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 08459bf..9891180 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -76,7 +76,6 @@
 #include "document.hxx"
 #include "docpool.hxx"
 #include "editutil.hxx"
-#include "collect.hxx"
 #include "appoptio.hxx"
 #include "docoptio.hxx"
 #include "validat.hxx"
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index fdfc7f2..a3b6298 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -43,7 +43,7 @@
 #include "dbdata.hxx"
 #include "scresid.hxx"
 #include "queryentry.hxx"
-#include "collect.hxx"
+#include "typedstrdata.hxx"
 
 #include "sc.hrc"
 #include "filter.hrc"
diff --git a/sc/source/ui/inc/filtdlg.hxx b/sc/source/ui/inc/filtdlg.hxx
index 71dcee4..ba147c9 100644
--- a/sc/source/ui/inc/filtdlg.hxx
+++ b/sc/source/ui/inc/filtdlg.hxx
@@ -37,7 +37,7 @@
 #include "address.hxx"
 #include "anyrefdg.hxx"
 #include "queryparam.hxx"
-#include "collect.hxx"
+#include "typedstrdata.hxx"
 
 #include <deque>
 #include <vector>
diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx
index 1ecb5fa..a0b6e85 100644
--- a/sc/source/ui/inc/inputhdl.hxx
+++ b/sc/source/ui/inc/inputhdl.hxx
@@ -31,7 +31,7 @@
 
 #include "global.hxx"
 #include "address.hxx"
-#include "collect.hxx"
+#include "typedstrdata.hxx"
 
 #include <tools/fract.hxx>
 #include <tools/gen.hxx>
commit cdd5a599be02c1b1cae5344e190aabdb3e7953a7
Author: Kohei Yoshida <kohei.yoshida at suse.com>
Date:   Wed Feb 8 21:08:54 2012 -0500

    Removed unnecessary header includes.

diff --git a/sc/inc/autoform.hxx b/sc/inc/autoform.hxx
index 724d63f..b6d07ee 100644
--- a/sc/inc/autoform.hxx
+++ b/sc/inc/autoform.hxx
@@ -65,7 +65,6 @@
 #include <svl/intitem.hxx>
 #include <editeng/bolnitem.hxx>
 #include "scdllapi.h"
-#include "collect.hxx"
 #include "global.hxx"
 #include "zforauto.hxx"
 
diff --git a/sc/inc/callform.hxx b/sc/inc/callform.hxx
index f72a7f1..46348bd 100644
--- a/sc/inc/callform.hxx
+++ b/sc/inc/callform.hxx
@@ -29,8 +29,6 @@
 #ifndef SC_CALLFORM_HXX
 #define SC_CALLFORM_HXX
 
-#include "collect.hxx"
-
 #include <rtl/ustring.hxx>
 
 #include <boost/ptr_container/ptr_map.hpp>
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index 828f58e..234a2af 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -39,7 +39,6 @@
 #include "dpgroup.hxx"
 #include "document.hxx"
 #include "rechead.hxx"
-#include "collect.hxx"
 #include "pivot.hxx"        // PIVOT_DATA_FIELD
 #include "dapiuno.hxx"      // ScDataPilotConversion
 #include "miscuno.hxx"


More information about the Libreoffice-commits mailing list