summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2010-11-06 02:49:11 -0400
committerKohei Yoshida <kyoshida@novell.com>2010-11-17 16:48:29 -0500
commit10572108edba3342ee5ddc04ae3171afb75c9f1a (patch)
treefe3bd4f94c119fd235a82ccc545a3d478742442f /sc/inc
parent0bb4da6d7d988d98b466db23fae2061e47226d39 (diff)
Ported my previous work into this branch. Not build-tested yet.
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/dpglobal.hxx2
-rw-r--r--sc/inc/dpobject.hxx10
-rw-r--r--sc/inc/pivot.hxx23
3 files changed, 10 insertions, 25 deletions
diff --git a/sc/inc/dpglobal.hxx b/sc/inc/dpglobal.hxx
index 253f478cbf2b..ea9884c93b14 100644
--- a/sc/inc/dpglobal.hxx
+++ b/sc/inc/dpglobal.hxx
@@ -61,8 +61,6 @@
// moved from fieldwnd.hxx, see also SC_DAPI_MAXFIELDS
#define MAX_LABELS 256
-#define MAX_PAGEFIELDS 10 // maximum count of fields for page area
-
#define PIVOT_MAXFUNC 11
#define PIVOT_FUNC_NONE 0x0000
#define PIVOT_FUNC_SUM 0x0001
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index 8fa972f1f01e..b1a44825a49c 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -252,14 +252,12 @@ public:
CreateSource( const ScDPServiceDesc& rDesc );
static void ConvertOrientation( ScDPSaveData& rSaveData,
- PivotField* pFields, SCSIZE nCount, USHORT nOrient,
- ScDocument* pDoc, SCROW nRow, SCTAB nTab,
+ const ::std::vector<PivotField>& rFields, USHORT nOrient,
const com::sun::star::uno::Reference<
com::sun::star::sheet::XDimensionsSupplier>& xSource,
- BOOL bOldDefaults,
- PivotField* pRefColFields = NULL, SCSIZE nRefColCount = 0,
- PivotField* pRefRowFields = NULL, SCSIZE nRefRowCount = 0,
- PivotField* pRefPageFields = NULL, SCSIZE nRefPageCount = 0 );
+ ::std::vector<PivotField>* pRefColFields = NULL,
+ ::std::vector<PivotField>* pRefRowFields = NULL,
+ ::std::vector<PivotField>* pRefPageFields = NULL );
static bool IsOrientationAllowed( USHORT nOrient, sal_Int32 nDimFlags );
};
diff --git a/sc/inc/pivot.hxx b/sc/inc/pivot.hxx
index a844b3d3ecbe..feb913d6e07e 100644
--- a/sc/inc/pivot.hxx
+++ b/sc/inc/pivot.hxx
@@ -77,12 +77,13 @@ typedef ::boost::shared_ptr<ScDPLabelData> ScDPLabelDataRef;
struct PivotField
{
- SCsCOL nCol;
+ SCsCOL nCol;
USHORT nFuncMask;
USHORT nFuncCount;
::com::sun::star::sheet::DataPilotFieldReference maFieldRef;
explicit PivotField( SCsCOL nNewCol = 0, USHORT nNewFuncMask = PIVOT_FUNC_NONE );
+ PivotField( const PivotField& r );
bool operator==( const PivotField& r ) const;
};
@@ -96,14 +97,10 @@ struct ScPivotParam
SCROW nRow; // bzw. Anfang des Zielbereiches
SCTAB nTab;
::std::vector<ScDPLabelDataRef> maLabelArray;
- PivotField aPageArr[PIVOT_MAXPAGEFIELD];
- PivotField aColArr[PIVOT_MAXFIELD];
- PivotField aRowArr[PIVOT_MAXFIELD];
- PivotField aDataArr[PIVOT_MAXFIELD];
- SCSIZE nPageCount;
- SCSIZE nColCount;
- SCSIZE nRowCount;
- SCSIZE nDataCount;
+ ::std::vector<PivotField> maPageFields;
+ ::std::vector<PivotField> maColFields;
+ ::std::vector<PivotField> maRowFields;
+ ::std::vector<PivotField> maDataFields;
BOOL bIgnoreEmptyRows;
BOOL bDetectCategories;
BOOL bMakeTotalCol;
@@ -117,14 +114,6 @@ struct ScPivotParam
BOOL operator== ( const ScPivotParam& r ) const;
void ClearPivotArrays();
void SetLabelData (const ::std::vector<ScDPLabelDataRef>& r);
- void SetPivotArrays ( const PivotField* pPageArr,
- const PivotField* pColArr,
- const PivotField* pRowArr,
- const PivotField* pDataArr,
- SCSIZE nPageCnt,
- SCSIZE nColCnt,
- SCSIZE nRowCnt,
- SCSIZE nDataCnt );
};
// -----------------------------------------------------------------------