diff options
Diffstat (limited to 'sc/inc/pivot.hxx')
-rw-r--r-- | sc/inc/pivot.hxx | 140 |
1 files changed, 59 insertions, 81 deletions
diff --git a/sc/inc/pivot.hxx b/sc/inc/pivot.hxx index 80c189f37..4af05d40b 100644 --- a/sc/inc/pivot.hxx +++ b/sc/inc/pivot.hxx @@ -68,78 +68,15 @@ class SvStream; class ScDocument; class ScUserListData; class ScProgress; -struct ScDPLabelData; -typedef ::boost::shared_ptr<ScDPLabelData> ScDPLabelDataRef; - -// ----------------------------------------------------------------------- - -struct PivotField -{ - SCsCOL nCol; - sal_uInt16 nFuncMask; - sal_uInt16 nFuncCount; - ::com::sun::star::sheet::DataPilotFieldReference maFieldRef; - - explicit PivotField( SCsCOL nNewCol = 0, sal_uInt16 nNewFuncMask = PIVOT_FUNC_NONE ); - - bool operator==( const PivotField& r ) const; -}; - -// ----------------------------------------------------------------------- - -// implementation still in global2.cxx -struct ScPivotParam -{ - SCCOL nCol; // Cursor Position / - 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; - sal_Bool bIgnoreEmptyRows; - sal_Bool bDetectCategories; - sal_Bool bMakeTotalCol; - sal_Bool bMakeTotalRow; - - ScPivotParam(); - ScPivotParam( const ScPivotParam& r ); - ~ScPivotParam(); - - ScPivotParam& operator= ( const ScPivotParam& r ); - sal_Bool operator== ( const ScPivotParam& r ) const; -//UNUSED2009-05 void Clear (); - 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 ); -}; - -// ----------------------------------------------------------------------- - -typedef PivotField PivotFieldArr[PIVOT_MAXFIELD]; -typedef PivotField PivotPageFieldArr[PIVOT_MAXPAGEFIELD]; - -//------------------------------------------------------------------------ +// ============================================================================ struct ScDPLabelData { ::rtl::OUString maName; /// Original name of the dimension. ::rtl::OUString maLayoutName; /// Layout name (display name) - SCsCOL mnCol; - sal_uInt16 mnFuncMask; /// Page/Column/Row subtotal function. + SCCOL mnCol; + sal_uInt16 mnFuncMask; /// Page/Column/Row subtotal function. sal_Int32 mnUsedHier; /// Used hierarchy. sal_Int32 mnFlags; /// Flags from the DataPilotSource dimension bool mbShowAll; /// true = Show all (also empty) results. @@ -154,11 +91,11 @@ struct ScDPLabelData Member(); - /** - * return the name that should be displayed in the dp dialogs i.e. - * when the layout name is present, use it, or else use the original - * name. - */ + /** + * return the name that should be displayed in the dp dialogs i.e. + * when the layout name is present, use it, or else use the original + * name. + */ ::rtl::OUString SC_DLLPUBLIC getDisplayName() const; }; ::std::vector<Member> maMembers; @@ -167,31 +104,72 @@ struct ScDPLabelData ::com::sun::star::sheet::DataPilotFieldLayoutInfo maLayoutInfo; /// Layout info. ::com::sun::star::sheet::DataPilotFieldAutoShowInfo maShowInfo; /// AutoShow info. - explicit ScDPLabelData( const String& rName, short nCol, bool bIsValue ); + explicit ScDPLabelData( const String& rName, SCCOL nCol, bool bIsValue ); - /** - * return the name that should be displayed in the dp dialogs i.e. when + /** + * return the name that should be displayed in the dp dialogs i.e. when * the layout name is present, use it, or else use the original name. - */ + */ ::rtl::OUString SC_DLLPUBLIC getDisplayName() const; }; +typedef std::vector< ScDPLabelData > ScDPLabelDataVector; + +// ============================================================================ + +struct ScPivotField +{ + SCCOL nCol; + sal_uInt16 nFuncMask; + sal_uInt16 nFuncCount; + ::com::sun::star::sheet::DataPilotFieldReference maFieldRef; + + explicit ScPivotField( SCCOL nNewCol = 0, sal_uInt16 nNewFuncMask = PIVOT_FUNC_NONE ); + + bool operator==( const ScPivotField& r ) const; +}; + +typedef ::std::vector< ScPivotField > ScPivotFieldVector; + +// ============================================================================ + +struct ScPivotParam +{ + SCCOL nCol; // Cursor Position / + SCROW nRow; // bzw. Anfang des Zielbereiches + SCTAB nTab; + ScDPLabelDataVector maLabelArray; + ScPivotFieldVector maPageArr; + ScPivotFieldVector maColArr; + ScPivotFieldVector maRowArr; + ScPivotFieldVector maDataArr; + bool bIgnoreEmptyRows; + bool bDetectCategories; + bool bMakeTotalCol; + bool bMakeTotalRow; + + ScPivotParam(); + + bool operator==( const ScPivotParam& r ) const; +}; + // ============================================================================ -struct ScDPFuncData +struct ScPivotFuncData { - short mnCol; - sal_uInt16 mnFuncMask; + SCCOL mnCol; + sal_uInt16 mnFuncMask; ::com::sun::star::sheet::DataPilotFieldReference maFieldRef; - explicit ScDPFuncData( short nNewCol, sal_uInt16 nNewFuncMask ); - explicit ScDPFuncData( short nNewCol, sal_uInt16 nNewFuncMask, + explicit ScPivotFuncData( SCCOL nCol, sal_uInt16 nFuncMask ); + explicit ScPivotFuncData( SCCOL nCol, sal_uInt16 nFuncMask, const ::com::sun::star::sheet::DataPilotFieldReference& rFieldRef ); }; +typedef ::std::vector< ScPivotFuncData > ScPivotFuncDataVector; + // ============================================================================ -typedef std::vector< ScDPLabelData > ScDPLabelDataVec; typedef std::vector< String > ScDPNameVec; // ============================================================================ |