diff options
author | Kohei Yoshida <kyoshida@novell.com> | 2011-05-10 16:28:53 -0400 |
---|---|---|
committer | Kohei Yoshida <kyoshida@novell.com> | 2011-05-10 16:28:53 -0400 |
commit | a906c18d470619143ca699062fd9954a159b872b (patch) | |
tree | 30c820135d48fffd4bdf4e88e8b3637eaa5ffa6e /sc | |
parent | 8f8df657b92005d3212345dbd3d61ae230f44476 (diff) |
Use ScSortParam as data member in ScDBData.
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/dbcolect.hxx | 29 | ||||
-rw-r--r-- | sc/source/core/tool/dbcolect.cxx | 101 |
2 files changed, 23 insertions, 107 deletions
diff --git a/sc/inc/dbcolect.hxx b/sc/inc/dbcolect.hxx index 7dc841abf617..0c7c63a989f1 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 383d371a930c..5d95fc7034eb 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; } |