[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