LibreOffice Module sc (master) 1
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
XclExpPivotCache Class Reference

#include <xepivot.hxx>

Inheritance diagram for XclExpPivotCache:
[legend]
Collaboration diagram for XclExpPivotCache:
[legend]

Public Member Functions

 XclExpPivotCache (const XclExpRoot &rRoot, const ScDPObject &rDPObj, sal_uInt16 nListIdx)
 
bool IsValid () const
 Returns true, if the cache has been constructed successfully. More...
 
bool HasItemIndexList () const
 Returns true, if the item index list will be written. More...
 
sal_uInt16 GetCacheIndex () const
 Returns the list index of the cache used in pivot table records. More...
 
sal_uInt16 GetFieldCount () const
 Returns the number of pivot cache fields. More...
 
const XclExpPCFieldGetField (sal_uInt16 nFieldIdx) const
 Returns the specified pivot cache field. More...
 
bool HasAddFields () const
 Returns true, if this pivot cache contains non-standard fields (e.g. More...
 
bool HasEqualDataSource (const ScDPObject &rDPObj) const
 Returns true, if the passed DP object has the same data source as this cache. More...
 
void Save (XclExpStream &rStrm)
 Writes related records into Workbook stream and creates the pivot cache storage stream. More...
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Static Public Member Functions

static void SaveXml (XclExpXmlStream &rStrm)
 
- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static void * operator new (std::size_t nSize)
 
static void * operator new (std::size_t nSize, std::nothrow_t const &rNothrow)
 
static void operator delete (void *pPtr)
 
static void operator delete (void *pPtr, std::nothrow_t const &rNothrow)
 

Private Types

typedef XclExpRecordList< XclExpPCFieldXclExpPCFieldList
 
typedef XclExpPCFieldList::RecordRefType XclExpPCFieldRef
 

Private Member Functions

void AddFields (const ScDPObject &rDPObj)
 Adds all pivot cache fields. More...
 
void AddStdFields (const ScDPObject &rDPObj)
 Adds all standard pivot cache fields based on source data. More...
 
void AddGroupFields (const ScDPObject &rDPObj)
 Adds all grouping pivot cache fields. More...
 
void WriteDconref (XclExpStream &rStrm) const
 Writes the DCONREF record containing the source range. More...
 
void WriteDConName (XclExpStream &rStrm) const
 DCONNAME record contains range name source. More...
 
void WriteCacheStream ()
 Creates the pivot cache storage stream and writes the cache. More...
 
void WriteSxdb (XclExpStream &rStrm) const
 Writes the SXDB record. More...
 
void WriteSxindexlistList (XclExpStream &rStrm) const
 Writes the SXINDEXLIST record list containing the item index table. More...
 

Static Private Member Functions

static void WriteSxdbex (XclExpStream &rStrm)
 Writes the SXDBEX record. More...
 

Private Attributes

XclPCInfo maPCInfo
 
XclExpPCFieldList maFieldList
 Pivot cache settings (SXDB record). More...
 
OUString maTabName
 List of all pivot cache fields. More...
 
OUString maSrcRangeName
 Name of source data sheet. More...
 
ScRange maOrigSrcRange
 Range name for source data. More...
 
ScRange maExpSrcRange
 The original sheet source range. More...
 
ScRange maDocSrcRange
 The exported sheet source range. More...
 
sal_uInt16 mnListIdx
 The range used to build the cache fields and items. More...
 
bool mbValid
 List index in pivot cache buffer. More...
 

Additional Inherited Members

- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 
- Protected Member Functions inherited from XclExpRoot
 XclExpRoot (XclExpRootData &rExpRootData)
 
const XclExpRootGetRoot () const
 Returns this root instance - for code readability in derived classes. More...
 
bool IsRelUrl () const
 Returns true, if URLs should be stored relative to the document location. More...
 
sc::CompileFormulaContextGetCompileFormulaContext () const
 
XclExpTabInfoGetTabInfo () const
 Returns the buffer for Calc->Excel sheet index conversion. More...
 
XclExpAddressConverterGetAddressConverter () const
 Returns the address converter. More...
 
XclExpFormulaCompilerGetFormulaCompiler () const
 Returns the formula compiler to produce formula token arrays. More...
 
XclExpProgressBarGetProgressBar () const
 Returns the export progress bar. More...
 
XclExpSstGetSst () const
 Returns the shared string table. More...
 
XclExpPaletteGetPalette () const
 Returns the color buffer. More...
 
XclExpFontBufferGetFontBuffer () const
 Returns the font buffer. More...
 
XclExpNumFmtBufferGetNumFmtBuffer () const
 Returns the number format buffer. More...
 
XclExpXFBufferGetXFBuffer () const
 Returns the cell formatting attributes buffer. More...
 
XclExpLinkManagerGetGlobalLinkManager () const
 Returns the global link manager for defined names. More...
 
XclExpLinkManagerGetLocalLinkManager () const
 Returns the local link manager for the current sheet. More...
 
XclExpNameManagerGetNameManager () const
 Returns the buffer that contains internal defined names. More...
 
XclExpObjectManagerGetObjectManager () const
 Returns the drawing object manager. More...
 
XclExpFilterManagerGetFilterManager () const
 Returns the filter manager. More...
 
XclExpPivotTableManagerGetPivotTableManager () const
 Returns the pivot table manager. More...
 
XclExpDxfsGetDxfs () const
 Returns the differential formatting list. More...
 
OStringBuffer & GetStringBuf () const
 Clean and return the OStringBuffer. More...
 
XclExpXmlPivotTableManagerGetXmlPivotTableManager ()
 
XclExpTablesManagerGetTablesManager ()
 
void InitializeConvert ()
 Is called when export filter starts to create the Excel document (all BIFF versions). More...
 
void InitializeGlobals ()
 Is called when export filter starts to create the workbook global data (>=BIFF5). More...
 
void InitializeTable (SCTAB nScTab)
 Is called when export filter starts to create data for a single sheet (all BIFF versions). More...
 
void InitializeSave ()
 Is called before export filter starts to write the records to the stream. More...
 
XclExpRecordRef CreateRecord (sal_uInt16 nRecId) const
 Returns the reference to a record (or record list) representing a root object. More...
 
bool IsDocumentEncrypted () const
 
css::uno::Sequence< css::beans::NamedValue > GetEncryptionData () const
 
- Protected Member Functions inherited from XclRoot
 XclRoot (XclRootData &rRootData)
 
 XclRoot (const XclRoot &rRoot)
 
virtual ~XclRoot ()
 
XclRootoperator= (const XclRoot &rRoot)
 
RootDataGetOldRoot () const
 Returns old RootData struct. More...
 
XclBiff GetBiff () const
 Returns the current BIFF version of the importer/exporter. More...
 
XclOutput GetOutput () const
 Returns the current output format of the importer/exporter. More...
 
bool IsImport () const
 Returns true, if currently a document is imported. More...
 
rtl_TextEncoding GetTextEncoding () const
 Returns the text encoding to import/export byte strings. More...
 
LanguageType GetSysLanguage () const
 Returns the system language, i.e. More...
 
LanguageType GetDocLanguage () const
 Returns the document language. More...
 
LanguageType GetUILanguage () const
 Returns the UI language. More...
 
sal_Int16 GetDefApiScript () const
 Returns the default script type, e.g. More...
 
tools::Long GetCharWidth () const
 Returns the width of the '0' character (default font) for the current printer (twips). More...
 
tools::Long GetSpaceWidth () const
 
bool IsInGlobals () const
 Returns the current Calc sheet index. More...
 
SCTAB GetCurrScTab () const
 Returns the current Calc sheet index. More...
 
sal_Int32 GetHmmFromPixelX (double fPixelX) const
 Calculates the width of the passed number of pixels in 1/100 mm. More...
 
sal_Int32 GetHmmFromPixelY (double fPixelY) const
 Calculates the height of the passed number of pixels in 1/100 mm. More...
 
SfxMediumGetMedium () const
 Returns the medium to import from. More...
 
const OUString & GetDocUrl () const
 Returns the document URL of the imported/exported file. More...
 
const OUString & GetBasePath () const
 Returns the base path of the imported/exported file. More...
 
const OUString & GetUserName () const
 Returns the current user name. More...
 
css::uno::Sequence< css::beans::NamedValue > RequestEncryptionData (::comphelper::IDocPasswordVerifier &rVerifier) const
 Requests and verifies a password from the medium or the user. More...
 
const tools::SvRef< SotStorage > & GetRootStorage () const
 Returns the OLE2 root storage of the imported/exported file. More...
 
bool HasVbaStorage () const
 Returns true, if the document contains a VBA storage. More...
 
tools::SvRef< SotStorageOpenStorage (tools::SvRef< SotStorage > const &xStrg, const OUString &rStrgName) const
 Tries to open a storage as child of the specified storage for reading or writing. More...
 
tools::SvRef< SotStorageOpenStorage (const OUString &rStrgName) const
 Tries to open a storage as child of the root storage for reading or writing. More...
 
tools::SvRef< SotStorageStreamOpenStream (tools::SvRef< SotStorage > const &xStrg, const OUString &rStrmName) const
 Tries to open a new stream in the specified storage for reading or writing. More...
 
tools::SvRef< SotStorageStreamOpenStream (const OUString &rStrmName) const
 Tries to open a new stream in the root storage for reading or writing. More...
 
ScDocumentGetDoc () const
 Returns reference to the destination document (import) or source document (export). More...
 
SfxObjectShellGetDocShell () const
 Returns the object shell of the Calc document. More...
 
ScModelObjGetDocModelObj () const
 Returns the object model of the Calc document. More...
 
OutputDeviceGetPrinter () const
 Returns pointer to the printer of the Calc document. More...
 
ScStyleSheetPoolGetStyleSheetPool () const
 Returns the style sheet pool of the Calc document. More...
 
ScRangeNameGetNamedRanges () const
 Returns the defined names container of the Calc document. More...
 
SdrPageGetSdrPage (SCTAB nScTab) const
 Returns the drawing layer page of the passed sheet, if present. More...
 
SvNumberFormatterGetFormatter () const
 Returns the number formatter of the Calc document. More...
 
DateTime GetNullDate () const
 Returns the null date of the current number formatter. More...
 
sal_uInt16 GetBaseYear () const
 Returns the base year depending on the current null date (1900 or 1904). More...
 
double GetDoubleFromDateTime (const DateTime &rDateTime) const
 Converts a date/time value to a floating-point value. More...
 
DateTime GetDateTimeFromDouble (double fValue) const
 Converts a floating-point value to a date/time value. More...
 
ScEditEngineDefaulterGetEditEngine () const
 Returns the edit engine for import/export of rich strings etc. More...
 
ScHeaderEditEngineGetHFEditEngine () const
 Returns the edit engine for import/export of headers/footers. More...
 
EditEngineGetDrawEditEngine () const
 Returns the edit engine for import/export of drawing text boxes. More...
 
XclFontPropSetHelperGetFontPropSetHelper () const
 Returns the property set helper for fonts. More...
 
XclChPropSetHelperGetChartPropSetHelper () const
 Returns the property set helper for the chart filters. More...
 
ScExtDocOptionsGetExtDocOptions () const
 Returns the extended document options. More...
 
XclTracerGetTracer () const
 Returns the filter tracer. More...
 
const ScAddressGetScMaxPos () const
 Returns the highest possible cell address in a Calc document. More...
 
const ScAddressGetXclMaxPos () const
 Returns the highest possible cell address in an Excel document (using current BIFF version). More...
 
const ScAddressGetMaxPos () const
 Returns the highest possible cell address valid in Calc and Excel (using current BIFF version). More...
 
void SetDocLanguage (LanguageType eLang)
 Sets the document language. More...
 
void SetUILanguage (LanguageType eLang)
 Sets the UI language, i.e. More...
 
void SetTextEncoding (rtl_TextEncoding eTextEnc)
 Sets the text encoding to import/export byte strings. More...
 
void SetCharWidth (const XclFontData &rFontData)
 Sets the width of the '0' - '9' digit character as well as the ' ' space char (using the default font) for the current printer (twips). More...
 
void SetCurrScTab (SCTAB nScTab)
 Sets the current Calc sheet index. More...
 
void IncCurrScTab ()
 Increases the current Calc sheet index by 1. More...
 
- Static Protected Member Functions inherited from XclExpRoot
static css::uno::Sequence< css::beans::NamedValue > GenerateEncryptionData (std::u16string_view aPass)
 
static css::uno::Sequence< css::beans::NamedValue > GenerateDefaultEncryptionData ()
 
- Static Protected Member Functions inherited from XclRoot
static OUString GetDefaultPassword ()
 Returns the default password used for stream encryption. More...
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

Definition at line 155 of file xepivot.hxx.

Member Typedef Documentation

◆ XclExpPCFieldList

Definition at line 207 of file xepivot.hxx.

◆ XclExpPCFieldRef

Definition at line 208 of file xepivot.hxx.

Constructor & Destructor Documentation

◆ XclExpPivotCache()

XclExpPivotCache::XclExpPivotCache ( const XclExpRoot rRoot,
const ScDPObject rDPObj,
sal_uInt16  nListIdx 
)
explicit

Member Function Documentation

◆ AddFields()

void XclExpPivotCache::AddFields ( const ScDPObject rDPObj)
private

Adds all pivot cache fields.

Definition at line 733 of file xepivot.cxx.

References AddGroupFields(), AddStdFields(), GetFieldCount(), maPCInfo, XclPCInfo::mnStdFields, and XclPCInfo::mnTotalFields.

Referenced by XclExpPivotCache().

◆ AddGroupFields()

void XclExpPivotCache::AddGroupFields ( const ScDPObject rDPObj)
private

◆ AddStdFields()

void XclExpPivotCache::AddStdFields ( const ScDPObject rDPObj)
private

◆ GetCacheIndex()

sal_uInt16 XclExpPivotCache::GetCacheIndex ( ) const
inline

Returns the list index of the cache used in pivot table records.

Definition at line 167 of file xepivot.hxx.

References mnListIdx.

Referenced by XclExpPivotTable::XclExpPivotTable().

◆ GetField()

const XclExpPCField * XclExpPivotCache::GetField ( sal_uInt16  nFieldIdx) const

Returns the specified pivot cache field.

Definition at line 689 of file xepivot.cxx.

References XclExpRecordList< RecType >::GetRecord(), and maFieldList.

Referenced by XclExpPivotTable::GetCacheField().

◆ GetFieldCount()

sal_uInt16 XclExpPivotCache::GetFieldCount ( ) const

Returns the number of pivot cache fields.

Definition at line 684 of file xepivot.cxx.

References XclExpRecordList< RecType >::GetSize(), and maFieldList.

Referenced by AddFields(), AddGroupFields(), AddStdFields(), and XclExpPivotTable::XclExpPivotTable().

◆ HasAddFields()

bool XclExpPivotCache::HasAddFields ( ) const

Returns true, if this pivot cache contains non-standard fields (e.g.

grouping fields).

Definition at line 694 of file xepivot.cxx.

References maPCInfo, XclPCInfo::mnStdFields, and XclPCInfo::mnTotalFields.

Referenced by XclExpPivotTableManager::CreatePivotCache().

◆ HasEqualDataSource()

bool XclExpPivotCache::HasEqualDataSource ( const ScDPObject rDPObj) const

Returns true, if the passed DP object has the same data source as this cache.

Definition at line 700 of file xepivot.cxx.

References ScDPObject::GetSheetDesc(), and maOrigSrcRange.

Referenced by XclExpPivotTableManager::CreatePivotCache().

◆ HasItemIndexList()

bool XclExpPivotCache::HasItemIndexList ( ) const

Returns true, if the item index list will be written.

Definition at line 679 of file xepivot.cxx.

References EXC_SXDB_SAVEDATA, get_flag(), maPCInfo, and XclPCInfo::mnFlags.

Referenced by AddStdFields(), and WriteSxindexlistList().

◆ IsValid()

bool XclExpPivotCache::IsValid ( ) const
inline

Returns true, if the cache has been constructed successfully.

Definition at line 162 of file xepivot.hxx.

References mbValid.

◆ Save()

void XclExpPivotCache::Save ( XclExpStream rStrm)

Writes related records into Workbook stream and creates the pivot cache storage stream.

Definition at line 710 of file xepivot.cxx.

References EXC_ID_SXIDSTM, EXC_ID_SXVS, EXC_SXVS_SHEET, maPCInfo, maSrcRangeName, mbValid, XclPCInfo::mnStrmId, rStrm, WriteCacheStream(), WriteDConName(), and WriteDconref().

◆ SaveXml()

void XclExpPivotCache::SaveXml ( XclExpXmlStream rStrm)
static

Definition at line 729 of file xepivot.cxx.

◆ WriteCacheStream()

void XclExpPivotCache::WriteCacheStream ( )
private

◆ WriteDConName()

void XclExpPivotCache::WriteDConName ( XclExpStream rStrm) const
private

DCONNAME record contains range name source.

Definition at line 803 of file xepivot.cxx.

References aName, EXC_ID_DCONNAME, maSrcRangeName, and rStrm.

Referenced by Save().

◆ WriteDconref()

void XclExpPivotCache::WriteDconref ( XclExpStream rStrm) const
private

Writes the DCONREF record containing the source range.

Definition at line 790 of file xepivot.cxx.

References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), XclExpUrlHelper::EncodeUrl(), EXC_ID_DCONREF, XclExpRoot::GetRoot(), XclExpString::GetSize(), maExpSrcRange, maTabName, ScAddress::Row(), rStrm, and u.

Referenced by Save().

◆ WriteSxdb()

void XclExpPivotCache::WriteSxdb ( XclExpStream rStrm) const
private

Writes the SXDB record.

Definition at line 831 of file xepivot.cxx.

References EXC_ID_SXDB, maPCInfo, and rStrm.

Referenced by WriteCacheStream().

◆ WriteSxdbex()

void XclExpPivotCache::WriteSxdbex ( XclExpStream rStrm)
staticprivate

Writes the SXDBEX record.

Definition at line 838 of file xepivot.cxx.

References EXC_ID_SXDBEX, EXC_SXDBEX_CREATION_DATE, and rStrm.

Referenced by WriteCacheStream().

◆ WriteSxindexlistList()

void XclExpPivotCache::WriteSxindexlistList ( XclExpStream rStrm) const
private

Member Data Documentation

◆ maDocSrcRange

ScRange XclExpPivotCache::maDocSrcRange
private

The exported sheet source range.

Definition at line 216 of file xepivot.hxx.

Referenced by AddStdFields(), and XclExpPivotCache().

◆ maExpSrcRange

ScRange XclExpPivotCache::maExpSrcRange
private

The original sheet source range.

Definition at line 215 of file xepivot.hxx.

Referenced by AddStdFields(), WriteDconref(), and XclExpPivotCache().

◆ maFieldList

XclExpPCFieldList XclExpPivotCache::maFieldList
private

Pivot cache settings (SXDB record).

Definition at line 211 of file xepivot.hxx.

Referenced by AddGroupFields(), AddStdFields(), GetField(), GetFieldCount(), WriteCacheStream(), and WriteSxindexlistList().

◆ maOrigSrcRange

ScRange XclExpPivotCache::maOrigSrcRange
private

Range name for source data.

Definition at line 214 of file xepivot.hxx.

Referenced by HasEqualDataSource(), and XclExpPivotCache().

◆ maPCInfo

XclPCInfo XclExpPivotCache::maPCInfo
private

◆ maSrcRangeName

OUString XclExpPivotCache::maSrcRangeName
private

Name of source data sheet.

Definition at line 213 of file xepivot.hxx.

Referenced by Save(), WriteDConName(), and XclExpPivotCache().

◆ maTabName

OUString XclExpPivotCache::maTabName
private

List of all pivot cache fields.

Definition at line 212 of file xepivot.hxx.

Referenced by WriteDconref(), and XclExpPivotCache().

◆ mbValid

bool XclExpPivotCache::mbValid
private

List index in pivot cache buffer.

Definition at line 218 of file xepivot.hxx.

Referenced by IsValid(), Save(), and XclExpPivotCache().

◆ mnListIdx

sal_uInt16 XclExpPivotCache::mnListIdx
private

The range used to build the cache fields and items.

Definition at line 217 of file xepivot.hxx.

Referenced by GetCacheIndex().


The documentation for this class was generated from the following files: