summaryrefslogtreecommitdiff
path: root/sc/inc/dpobject.hxx
diff options
context:
space:
mode:
authorRelease Engineers <releng@openoffice.org>2008-11-27 15:23:33 +0000
committerRelease Engineers <releng@openoffice.org>2008-11-27 15:23:33 +0000
commit5beec3891e1328a30b6c1fa33c2227ce8381855b (patch)
treea228838850e863e7659656b49d6da883f3bc0726 /sc/inc/dpobject.hxx
parent811e7a83cbca79b0779ac2f77fc74b1f99c48439 (diff)
CWS-TOOLING: integrate CWS koheidatapilot02
2008-11-24 15:34:25 +0100 kohei r264231 : modified ScViewData::IsMultiMarked() to treat simple-filtered areas as simple-marked areas, for backword compatibility. Simple-filtered areas are not multi-marked areas. 2008-11-07 20:38:51 +0100 kohei r263485 : more unused methods in the header without definitions. 2008-11-07 20:26:25 +0100 kohei r263484 : removed more unused methods. 2008-11-07 19:40:39 +0100 kohei r263481 : removed unused methods based on Caolan's callcatcher output on m35. 2008-11-06 19:32:22 +0100 kohei r263405 : CWS-TOOLING: rebase CWS koheidatapilot02 to trunk@263288 (milestone: DEV300:m35) 2008-10-06 15:18:57 +0200 kohei r262062 : #i94619# allow XDataPilotTable interface to be queried again. Patch submitted by Noel Power. 2008-10-01 21:49:39 +0200 kohei r262020 : #i90402# don't insert drill-down sheet when the document is in read-only mode. 2008-10-01 03:03:19 +0200 kohei r261982 : #i93918# exclude hidden items and items that are excluded due to ranks (i.e. top X items). #i93998# reduce memory consumption of datapilot cache tables by pooling cache table cell data & use null pointers to represent empty cells. 2008-09-30 23:35:14 +0200 kohei r261981 : #i92378# keep the layout dialog open when the destination range is not empty and the user has decided to cancel data pilot creation. 2008-09-30 23:14:55 +0200 kohei r261980 : #i94281# fixed a regression where the data pilot layout dialog fails to appear on a filtered cell range.
Diffstat (limited to 'sc/inc/dpobject.hxx')
-rw-r--r--sc/inc/dpobject.hxx41
1 files changed, 35 insertions, 6 deletions
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index e04d4a7750ed..3ba1dfab5e98 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: dpobject.hxx,v $
- * $Revision: 1.14.30.5 $
+ * $Revision: 1.15 $
*
* This file is part of OpenOffice.org.
*
@@ -57,10 +57,8 @@ class ScDPSaveData;
class ScDPOutput;
class ScMultipleReadHeader;
class ScMultipleWriteHeader;
-#if OLD_PIVOT_IMPLEMENTATION
class ScPivot;
class ScPivotCollection;
-#endif
struct ScPivotParam;
struct ScImportSourceDesc;
struct ScSheetSourceDesc;
@@ -186,9 +184,8 @@ public:
BOOL FillOldParam(ScPivotParam& rParam, BOOL bForFile) const;
BOOL FillLabelData(ScPivotParam& rParam);
-#if OLD_PIVOT_IMPLEMENTATION
void InitFromOldPivot(const ScPivot& rOld, ScDocument* pDoc, BOOL bSetSource);
-#endif
+
BOOL GetHierarchiesNA( sal_Int32 nDim, com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& xHiers );
BOOL GetHierarchies( sal_Int32 nDim, com::sun::star::uno::Sequence< rtl::OUString >& rHiers );
@@ -242,11 +239,39 @@ public:
PivotField* pRefPageFields = NULL, SCSIZE nRefPageCount = 0 );
};
+// ============================================================================
+
+struct ScDPCacheCell
+{
+ sal_Int32 mnStrId;
+ sal_uInt8 mnType;
+ double mfValue;
+ bool mbNumeric;
+
+ ScDPCacheCell();
+ ScDPCacheCell(const ScDPCacheCell& r);
+ ~ScDPCacheCell();
+};
+
+// ============================================================================
class ScDPCollection : public Collection
{
private:
ScDocument* pDoc;
+ ScSimpleSharedString maSharedString;
+
+ struct CacheCellHash
+ {
+ size_t operator()(const ScDPCacheCell* pCell) const;
+ };
+ struct CacheCellEqual
+ {
+ bool operator()(const ScDPCacheCell* p1, const ScDPCacheCell* p2) const;
+ };
+ typedef ::std::hash_set<ScDPCacheCell*, CacheCellHash, CacheCellEqual> CacheCellPoolType;
+
+ CacheCellPoolType maCacheCellPool;
public:
ScDPCollection(ScDocument* pDocument);
@@ -267,7 +292,11 @@ public:
void WriteRefsTo( ScDPCollection& r ) const;
String CreateNewName( USHORT nMin = 1 ) const;
-//UNUSED2008-05 void EnsureNames();
+
+ ScSimpleSharedString& GetSharedString();
+
+ ScDPCacheCell* getCacheCellFromPool(const ScDPCacheCell& rCell);
+ void clearCacheCellPool();
};