summaryrefslogtreecommitdiff
path: root/sc/inc/pivot.hxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2010-01-28 19:03:55 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2010-01-28 19:03:55 +0000
commit25d44e2d80584ecf435d91232049e371c960be2a (patch)
tree73cf5b499c01298716a0190f5ba6b92bca4a8d52 /sc/inc/pivot.hxx
parent87435fda334e9ac833968193524b9bb0ff276c97 (diff)
parentbce8c1c3ae219d2b2a6c76e0599c33eec90d8d57 (diff)
koheidatapilot03: merge with DEV300_m57
Diffstat (limited to 'sc/inc/pivot.hxx')
-rw-r--r--sc/inc/pivot.hxx232
1 files changed, 1 insertions, 231 deletions
diff --git a/sc/inc/pivot.hxx b/sc/inc/pivot.hxx
index eb70f50e70f2..100463cb5542 100644
--- a/sc/inc/pivot.hxx
+++ b/sc/inc/pivot.hxx
@@ -66,20 +66,9 @@ class SubTotal;
#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp>
#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp>
-#if OLD_PIVOT_IMPLEMENTATION
-#define PIVOT_STYLE_INNER 0
-#define PIVOT_STYLE_RESULT 1
-#define PIVOT_STYLE_CATEGORY 2
-#define PIVOT_STYLE_TITLE 3
-#define PIVOT_STYLE_FIELDNAME 4
-#define PIVOT_STYLE_TOP 5
-#endif
-
class SvStream;
class ScDocument;
class ScUserListData;
-class ScMultipleReadHeader;
-class ScMultipleWriteHeader;
class ScProgress;
struct ScDPLabelData;
@@ -127,7 +116,7 @@ struct ScPivotParam
ScPivotParam& operator= ( const ScPivotParam& r );
BOOL operator== ( const ScPivotParam& r ) const;
- void Clear ();
+//UNUSED2009-05 void Clear ();
void ClearPivotArrays();
void SetLabelData (const ::std::vector<ScDPLabelDataRef>& r);
void SetPivotArrays ( const PivotField* pPageArr,
@@ -142,228 +131,9 @@ struct ScPivotParam
// -----------------------------------------------------------------------
-#if OLD_PIVOT_IMPLEMENTATION
-struct PivotColRef
-{
- SCSIZE nDataIndex;
- SCSIZE nRecCount;
- USHORT nFuncMask;
- SCSIZE nIndex;
-
- PivotColRef()
- {
- nDataIndex = nRecCount = nIndex = 0;
- nFuncMask = PIVOT_FUNC_NONE;
- }
-};
-#endif
-
typedef PivotField PivotFieldArr[PIVOT_MAXFIELD];
typedef PivotField PivotPageFieldArr[PIVOT_MAXPAGEFIELD];
-#if OLD_PIVOT_IMPLEMENTATION
-class PivotScStrCollection : public ScStrCollection
-{
- ScUserListData* pUserData;
-public:
- PivotScStrCollection(USHORT nLim = 4, USHORT nDel = 4, BOOL bDup = FALSE) :
- ScStrCollection ( nLim, nDel, bDup ),
- pUserData (NULL) { }
- PivotScStrCollection(const PivotScStrCollection& rPivotScStrCollection) :
- ScStrCollection ( rPivotScStrCollection ),
- pUserData ( rPivotScStrCollection.pUserData) {}
-
- virtual ScDataObject* Clone() const;
- virtual short Compare(ScDataObject* pKey1, ScDataObject* pKey2) const;
-
- TypedStrData* operator[]( const USHORT nIndex) const
- { return (TypedStrData*)At(nIndex); }
- void SetUserData(ScUserListData* pData)
- { pUserData = pData; }
- const String& GetString(USHORT nIndex)
- { return ((TypedStrData*)At(nIndex))->GetString(); }
- USHORT GetIndex(TypedStrData* pData) const;
-};
-
-class ScPivot : public ScDataObject
-{
- ScDocument* pDoc;
- ScQueryParam aQuery;
- BOOL bHasHeader;
-
- BOOL bIgnoreEmpty; // Flags aus Dialog
- BOOL bDetectCat;
- BOOL bMakeTotalCol;
- BOOL bMakeTotalRow;
-
- String aName;
- String aTag;
- SCSIZE nColNameCount;
- String* pColNames; // Array
-
- SCCOL nSrcCol1;
- SCROW nSrcRow1;
- SCCOL nSrcCol2;
- SCROW nSrcRow2;
- SCTAB nSrcTab;
-
- SCCOL nDestCol1;
- SCROW nDestRow1;
- SCCOL nDestCol2;
- SCROW nDestRow2;
- SCTAB nDestTab;
-
- SCCOL nDataStartCol;
- SCROW nDataStartRow;
-
- SCSIZE nColCount;
- SCSIZE nRowCount;
- SCSIZE nDataCount;
-
- PivotFieldArr aColArr;
- PivotFieldArr aRowArr;
- PivotFieldArr aDataArr;
-
- PivotScStrCollection* pColList[PIVOT_MAXFIELD]; // pro Zeile alle Eintraege
- PivotScStrCollection* pRowList[PIVOT_MAXFIELD];
- PivotScStrCollection* pDataList; // Shortcut auf Col/RowList mit Daten
-
- SubTotal** ppDataArr;
- SCSIZE nDataColCount;
- SCSIZE nDataRowCount;
- SCSIZE nRowIndex;
- SCSIZE nColIndex;
- SCSIZE nDataIndex;
- SCSIZE nRecCount;
-
- PivotColRef* pColRef;
-
- BOOL bValidArea;
- BOOL bDataAtCol;
-
-public:
- ScPivot(ScDocument* pDocument);
- ScPivot(const ScPivot& rPivot);
- ~ScPivot();
-
- virtual ScDataObject* Clone() const;
-
- ScPivot* CreateNew() const;
-
- BOOL Load(SvStream& rStream, ScMultipleReadHeader& rHdr );
- BOOL Store(SvStream& rStream, ScMultipleWriteHeader& rHdr ) const;
-
- void SetQuery(const ScQueryParam& rQuery);
- void GetQuery(ScQueryParam& rQuery) const;
-
- void SetHeader(BOOL bHeader);
- BOOL GetHeader() const;
- void SetIgnoreEmpty(BOOL bIgnore);
- BOOL GetIgnoreEmpty() const;
- void SetDetectCat(BOOL bDetect);
- BOOL GetDetectCat() const;
- void SetMakeTotalCol(BOOL bSet);
- BOOL GetMakeTotalCol() const;
- void SetMakeTotalRow(BOOL bSet);
- BOOL GetMakeTotalRow() const;
-
- void SetName(const String& rNew);
- const String& GetName() const;
- void SetTag(const String& rNew);
- const String& GetTag() const;
-
- void SetSrcArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab);
- void GetSrcArea(SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2, SCTAB& rTab) const;
- ScRange GetSrcArea() const;
-
- void SetDestPos(SCCOL nCol, SCROW nRow, SCTAB nTab);
- void GetDestArea(SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2, SCTAB& rTab) const;
- ScRange GetDestArea() const;
-
- void SetColFields(const PivotField* pFieldArr, SCSIZE nCount);
- void GetColFields(PivotField* pFieldArr, SCSIZE& rCount) const;
- SCSIZE GetColFieldCount() const { return nColCount; }
-
- void SetRowFields(const PivotField* pFieldArr, SCSIZE nCount);
- void GetRowFields(PivotField* pFieldArr, SCSIZE& rCount) const;
- SCSIZE GetRowFieldCount() const { return nRowCount; }
-
- void SetDataFields(const PivotField* pFieldArr, SCSIZE nCount);
- void GetDataFields(PivotField* pFieldArr, SCSIZE& rCount) const;
-
- void GetParam( ScPivotParam& rParam, ScQueryParam& rQuery, ScArea& rSrcArea ) const;
- void SetParam( const ScPivotParam& rParam, const ScQueryParam& rQuery,
- const ScArea& rSrcArea );
-
- BOOL CreateData(BOOL bKeepDest = FALSE);
- void DrawData();
- void ReleaseData();
-
- BOOL IsPivotAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const;
- BOOL IsFilterAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const;
- BOOL GetColFieldAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, SCCOL& rField) const;
- BOOL GetRowFieldAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, SCCOL& rField) const;
-
- // Referenz-Anpassung:
-
- void MoveSrcArea( SCCOL nNewCol, SCROW nNewRow, SCTAB nNewTab );
- void MoveDestArea( SCCOL nNewCol, SCROW nNewRow, SCTAB nNewTab );
- void ExtendSrcArea( SCCOL nNewEndCol, SCROW nNewEndRow );
-
-private:
- BOOL CreateFields();
- void CreateFieldData();
- void CalcArea();
-
- void SetDataLine(SCCOL nCol, SCROW nRow, SCTAB nTab, SCSIZE nRIndex);
- void SetFuncLine(SCCOL nCol, SCROW nRow, SCTAB nTab, USHORT nFunc, SCSIZE nIndex, SCSIZE nStartRIndex, SCSIZE nEndRIndex);
- void ColToTable(SCSIZE nField, SCROW& nRow, ScProgress& rProgress);
- void RowToTable(SCSIZE nField, SCCOL& nCol);
- void SetFrame(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, USHORT nWidth = 20);
- void SetFrameHor(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
- void SetFrameVer(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
- void SetFontBold(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
- void SetJustifyLeft(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
- void SetJustifyRight(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
- void SetStyle(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, USHORT nId);
- void SetButton(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
- void SetValue(SCCOL nCol, SCROW nRow, const SubTotal& rTotal, USHORT nFunc);
- SCROW GetCategoryRow( SCCOL nCol, SCROW nRow );
-};
-
-//------------------------------------------------------------------------
-class ScPivotCollection : public ScCollection
-{
-
-private:
- ScDocument* pDoc;
-public:
- ScPivotCollection(USHORT nLim = 4, USHORT nDel = 4, ScDocument* pDocument = NULL) :
- ScCollection ( nLim, nDel),
- pDoc ( pDocument ) {}
- ScPivotCollection(const ScPivotCollection& rScPivotCollection) :
- ScCollection ( rScPivotCollection ),
- pDoc ( rScPivotCollection.pDoc ) {}
-
- virtual ScDataObject* Clone() const;
- ScPivot* operator[]( const USHORT nIndex) const {return (ScPivot*)At(nIndex);}
- ScPivot* GetPivotAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const;
-
- BOOL Load( SvStream& rStream );
- BOOL Store( SvStream& rStream ) const;
-
- void UpdateReference(UpdateRefMode eUpdateRefMode,
- SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
- SCCOL nCol2, SCROW nRow2, SCTAB nTab2,
- SCsCOL nDx, SCsROW nDy, SCsTAB nDz );
- void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY );
-
- BOOL operator==(const ScPivotCollection& rCmp) const;
-
- String CreateNewName( USHORT nMin = 1 ) const;
-};
-#endif
-
//------------------------------------------------------------------------
struct ScDPLabelData