[Libreoffice-commits] .: sc/inc sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Tue May 10 13:29:52 PDT 2011


 sc/inc/dbcolect.hxx              |   29 +++--------
 sc/source/core/tool/dbcolect.cxx |  101 +++++----------------------------------
 2 files changed, 23 insertions(+), 107 deletions(-)

New commits:
commit cf4be7968b60a1bf43e7f42f3abf16e9124d6e1a
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Tue May 10 16:28:53 2011 -0400

    Use ScSortParam as data member in ScDBData.

diff --git a/sc/inc/dbcolect.hxx b/sc/inc/dbcolect.hxx
index 1c1bcc9..3586ca9 100644
--- a/sc/inc/dbcolect.hxx
+++ b/sc/inc/dbcolect.hxx
@@ -47,6 +47,11 @@ class ScDocument;
 class ScDBData : public ScDataObject, public ScRefreshTimer
 {
 private:
+    ScSortParam maSortParam;
+    ScQueryParam maQueryParam;
+    ScSubTotalParam maSubTotal;
+    ScImportParam maImportParam;
+
     // DBParam
     ::rtl::OUString aName;
     SCTAB           nTable;
@@ -59,32 +64,14 @@ private:
     bool            bDoSize;
     bool            bKeepFmt;
     bool            bStripData;
-    // SortParam
-    bool            bSortCaseSens;
-    bool            bSortNaturalSort;
-    bool            bIncludePattern;
-    bool            bSortInplace;
-    bool            bSortUserDef;
-    sal_uInt16          nSortUserIndex;
-    SCTAB           nSortDestTab;
-    SCCOL           nSortDestCol;
-    SCROW           nSortDestRow;
-    bool            bDoSort[MAXSORT];
-    SCCOLROW        nSortField[MAXSORT];
-    bool            bAscending[MAXSORT];
-    ::com::sun::star::lang::Locale aSortLocale;
-    ::rtl::OUString aSortAlgorithm;
+
     // QueryParam
     bool            bIsAdvanced;        // true if created by advanced filter
     ScRange         aAdvSource;         // source range
 
-    ScQueryParam maQueryParam;
-    ScSubTotalParam maSubTotal;
-    ScImportParam maImportParam;
-
     bool            bDBSelection;       // not in Param: if selection, block update
 
-    sal_uInt16          nIndex;             // unique index formulas
+    sal_uInt16      nIndex;             // unique index formulas
     bool            bAutoFilter;        // AutoFilter? (not saved)
     bool            bModified;          // is set/cleared for/by(?) UpdateReference
 
@@ -146,7 +133,7 @@ public:
 
             bool        HasImportParam() const   { return maImportParam.bImport; }
             SC_DLLPUBLIC bool HasQueryParam() const;
-            bool        HasSortParam() const     { return bDoSort[0]; }
+            bool        HasSortParam() const     { return maSortParam.bDoSort[0]; }
             bool        HasSubTotalParam() const { return maSubTotal.bGroupActive[0]; }
 
             bool        HasImportSelection() const      { return bDBSelection; }
diff --git a/sc/source/core/tool/dbcolect.cxx b/sc/source/core/tool/dbcolect.cxx
index 176e0d4..d0bd047 100644
--- a/sc/source/core/tool/dbcolect.cxx
+++ b/sc/source/core/tool/dbcolect.cxx
@@ -85,6 +85,10 @@ ScDBData::ScDBData( const ::rtl::OUString& rName,
 ScDBData::ScDBData( const ScDBData& rData ) :
     ScDataObject(),
     ScRefreshTimer      ( rData ),
+    maSortParam         (rData.maSortParam),
+    maQueryParam        (rData.maQueryParam),
+    maSubTotal          (rData.maSubTotal),
+    maImportParam       (rData.maImportParam),
     aName               (rData.aName),
     nTable              (rData.nTable),
     nStartCol           (rData.nStartCol),
@@ -96,42 +100,22 @@ ScDBData::ScDBData( const ScDBData& rData ) :
     bDoSize             (rData.bDoSize),
     bKeepFmt            (rData.bKeepFmt),
     bStripData          (rData.bStripData),
-    bSortCaseSens       (rData.bSortCaseSens),
-    bSortNaturalSort    (rData.bSortNaturalSort),
-    bIncludePattern     (rData.bIncludePattern),
-    bSortInplace        (rData.bSortInplace),
-    bSortUserDef        (rData.bSortUserDef),
-    nSortUserIndex      (rData.nSortUserIndex),
-    nSortDestTab        (rData.nSortDestTab),
-    nSortDestCol        (rData.nSortDestCol),
-    nSortDestRow        (rData.nSortDestRow),
-    aSortLocale         (rData.aSortLocale),
-    aSortAlgorithm      (rData.aSortAlgorithm),
     bIsAdvanced         (rData.bIsAdvanced),
     aAdvSource          (rData.aAdvSource),
-    maQueryParam        (rData.maQueryParam),
-    maSubTotal          (rData.maSubTotal),
-    maImportParam       (rData.maImportParam),
     bDBSelection        (rData.bDBSelection),
     nIndex              (rData.nIndex),
     bAutoFilter         (rData.bAutoFilter),
     bModified           (rData.bModified)
 {
-    sal_uInt16 i;
-
-    for (i=0; i<MAXSORT; i++)
-    {
-        bDoSort[i]      = rData.bDoSort[i];
-        nSortField[i]   = rData.nSortField[i];
-        bAscending[i]   = rData.bAscending[i];
-    }
 }
 
 ScDBData& ScDBData::operator= (const ScDBData& rData)
 {
-    sal_uInt16 i;
-
     ScRefreshTimer::operator=( rData );
+    maSortParam         = rData.maSortParam;
+    maQueryParam        = rData.maQueryParam;
+    maSubTotal          = rData.maSubTotal;
+    maImportParam       = rData.maImportParam;
     aName               = rData.aName;
     nTable              = rData.nTable;
     nStartCol           = rData.nStartCol;
@@ -143,33 +127,12 @@ ScDBData& ScDBData::operator= (const ScDBData& rData)
     bDoSize             = rData.bDoSize;
     bKeepFmt            = rData.bKeepFmt;
     bStripData          = rData.bStripData;
-    bSortCaseSens       = rData.bSortCaseSens;
-    bSortNaturalSort    = rData.bSortNaturalSort;
-    bIncludePattern     = rData.bIncludePattern;
-    bSortInplace        = rData.bSortInplace;
-    nSortDestTab        = rData.nSortDestTab;
-    nSortDestCol        = rData.nSortDestCol;
-    nSortDestRow        = rData.nSortDestRow;
-    bSortUserDef        = rData.bSortUserDef;
-    nSortUserIndex      = rData.nSortUserIndex;
-    aSortLocale         = rData.aSortLocale;
-    aSortAlgorithm      = rData.aSortAlgorithm;
     bIsAdvanced         = rData.bIsAdvanced;
-    maQueryParam        = rData.maQueryParam;
-    maSubTotal          = rData.maSubTotal;
-    maImportParam       = rData.maImportParam;
     aAdvSource          = rData.aAdvSource;
     bDBSelection        = rData.bDBSelection;
     nIndex              = rData.nIndex;
     bAutoFilter         = rData.bAutoFilter;
 
-    for (i=0; i<MAXSORT; i++)
-    {
-        bDoSort[i]      = rData.bDoSort[i];
-        nSortField[i]   = rData.nSortField[i];
-        bAscending[i]   = rData.bAscending[i];
-    }
-
     return *this;
 }
 
@@ -251,7 +214,7 @@ ScDBData::~ScDBData()
             aBuf.append(ScGlobal::GetRscString(STR_OPERATION_FILTER));
     }
 
-    if (bDoSort[0])
+    if (maSortParam.bDoSort[0])
     {
         if (aBuf.getLength())
             aBuf.appendAscii(RTL_CONSTASCII_STRINGPARAM(", "));
@@ -306,11 +269,11 @@ void ScDBData::MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW n
 
     for (i=0; i<MAXSORT; i++)
     {
-        nSortField[i] += nSortDif;
-        if (nSortField[i] > nSortEnd)
+        maSortParam.nField[i] += nSortDif;
+        if (maSortParam.nField[i] > nSortEnd)
         {
-            nSortField[i] = 0;
-            bDoSort[i]    = false;
+            maSortParam.nField[i] = 0;
+            maSortParam.bDoSort[i] = false;
         }
     }
 
@@ -341,52 +304,18 @@ void ScDBData::MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW n
 
 void ScDBData::GetSortParam( ScSortParam& rSortParam ) const
 {
+    rSortParam = maSortParam;
     rSortParam.nCol1 = nStartCol;
     rSortParam.nRow1 = nStartRow;
     rSortParam.nCol2 = nEndCol;
     rSortParam.nRow2 = nEndRow;
     rSortParam.bByRow = bByRow;
     rSortParam.bHasHeader = bHasHeader;
-    rSortParam.bCaseSens = bSortCaseSens;
-    rSortParam.bNaturalSort = bSortNaturalSort;
-    rSortParam.bInplace = bSortInplace;
-    rSortParam.nDestTab = nSortDestTab;
-    rSortParam.nDestCol = nSortDestCol;
-    rSortParam.nDestRow = nSortDestRow;
-    rSortParam.bIncludePattern = bIncludePattern;
-    rSortParam.bUserDef = bSortUserDef;
-    rSortParam.nUserIndex = nSortUserIndex;
-    for (sal_uInt16 i=0; i<MAXSORT; i++)
-    {
-        rSortParam.bDoSort[i]    = bDoSort[i];
-        rSortParam.nField[i]     = nSortField[i];
-        rSortParam.bAscending[i] = bAscending[i];
-    }
-    rSortParam.aCollatorLocale = aSortLocale;
-    rSortParam.aCollatorAlgorithm = aSortAlgorithm;
 }
 
 void ScDBData::SetSortParam( const ScSortParam& rSortParam )
 {
-    bSortCaseSens = rSortParam.bCaseSens;
-    bSortNaturalSort = rSortParam.bNaturalSort;
-    bIncludePattern = rSortParam.bIncludePattern;
-    bSortInplace = rSortParam.bInplace;
-    nSortDestTab = rSortParam.nDestTab;
-    nSortDestCol = rSortParam.nDestCol;
-    nSortDestRow = rSortParam.nDestRow;
-    bSortUserDef = rSortParam.bUserDef;
-    nSortUserIndex = rSortParam.nUserIndex;
-    for (sal_uInt16 i=0; i<MAXSORT; i++)
-    {
-        bDoSort[i]    = rSortParam.bDoSort[i];
-        nSortField[i] = rSortParam.nField[i];
-        bAscending[i] = rSortParam.bAscending[i];
-    }
-    aSortLocale = rSortParam.aCollatorLocale;
-    aSortAlgorithm = rSortParam.aCollatorAlgorithm;
-
-    //#98317#; set the orientation
+    maSortParam = rSortParam;
     bByRow = rSortParam.bByRow;
 }
 


More information about the Libreoffice-commits mailing list