summaryrefslogtreecommitdiff
path: root/sc/inc/dpobject.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei@openoffice.org>2009-06-19 02:29:09 +0000
committerKohei Yoshida <kohei@openoffice.org>2009-06-19 02:29:09 +0000
commit621ea5f0e56231a7d5063e6d12cce8aab55af37c (patch)
treeff8c9a18e1c4d4a9a4d79209f37f01e3e3785c1f /sc/inc/dpobject.hxx
parentacd89bd93d510281d1e46ca1617ff8545d0e981b (diff)
#i22029# #i81335# applied & adjusted the patch from ooo-build.
This enables changing the names of fields, field members and grand total names.
Diffstat (limited to 'sc/inc/dpobject.hxx')
-rw-r--r--sc/inc/dpobject.hxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/sc/inc/dpobject.hxx b/sc/inc/dpobject.hxx
index 1c50c773b4df..f90277769cba 100644
--- a/sc/inc/dpobject.hxx
+++ b/sc/inc/dpobject.hxx
@@ -38,6 +38,8 @@
#include "dpoutput.hxx"
#include <com/sun/star/sheet/XDimensionsSupplier.hpp>
+#include <boost/shared_ptr.hpp>
+
//------------------------------------------------------------------
namespace com { namespace sun { namespace star { namespace sheet {
@@ -66,6 +68,7 @@ class ScStrCollection;
class TypedScStrCollection;
struct PivotField;
class ScDPCacheTable;
+class ScDPTableData;
struct ScDPServiceDesc
{
@@ -101,6 +104,7 @@ private:
ScSheetSourceDesc* pSheetDesc; // for sheet data
ScImportSourceDesc* pImpDesc; // for database data
ScDPServiceDesc* pServDesc; // for external service
+ ::boost::shared_ptr<ScDPTableData> mpTableData;
// cached data
com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier> xSource;
ScDPOutput* pOutput;
@@ -112,6 +116,7 @@ private:
bool mbHeaderLayout; // TRUE : grid, FALSE : standard
+ SC_DLLPRIVATE ScDPTableData* GetTableData();
SC_DLLPRIVATE void CreateObjects();
SC_DLLPRIVATE void CreateOutput();
@@ -166,7 +171,14 @@ public:
void SetTag(const String& rNew);
const String& GetTag() const { return aTableTag; }
- BOOL IsDimNameInUse( const String& rName ) const;
+ /**
+ * Data description cell displays the description of a data dimension if
+ * and only if there is only one data dimension. It's usually located at
+ * the upper-left corner of the table output.
+ */
+ bool IsDataDescriptionCell(const ScAddress& rPos);
+
+ bool IsDimNameInUse(const ::rtl::OUString& rName) const;
String GetDimName( long nDim, BOOL& rIsDataLayout );
BOOL IsDuplicated( long nDim );
long GetDimCount();
@@ -230,6 +242,8 @@ public:
// (button attribute must be present)
void RefreshAfterLoad();
+ void BuildAllDimensionMembers();
+
static BOOL HasRegisteredSources();
static com::sun::star::uno::Sequence<rtl::OUString> GetRegisteredSources();
static com::sun::star::uno::Reference<com::sun::star::sheet::XDimensionsSupplier>