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

Represents a field in a pivot cache (a column of data items in the source area). More...

#include <xipivot.hxx>

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

Public Member Functions

 XclImpPCField (const XclImpRoot &rRoot, XclImpPivotCache &rPCache, sal_uInt16 nFieldIdx)
 Creates a pivot cache field by reading an SXFIELD record. More...
 
virtual ~XclImpPCField () override
 
const OUString & GetFieldName (const ScfStringVec &rVisNames) const
 Returns the name of the field, uses the passed visible name if supported. More...
 
const XclImpPCFieldGetGroupBaseField () const
 Returns the base field if this is a grouping field. More...
 
const XclImpPCItemGetItem (sal_uInt16 nItemIdx) const
 Returns the item at the specified position or 0 on error. More...
 
const XclImpPCItemGetLimitItem (sal_uInt16 nItemIdx) const
 Returns the item representing a limit value in numeric/date/time grouping fields. More...
 
void WriteFieldNameToSource (SCCOL nScCol, SCTAB nScTab)
 Inserts the field name into the document. More...
 
void WriteOrigItemToSource (SCROW nScRow, SCTAB nScTab, sal_uInt16 nItemIdx)
 Inserts the specified item data into the document. More...
 
void WriteLastOrigItemToSource (SCROW nScRow, SCTAB nScTab)
 Inserts the data of the last inserted item into the document. More...
 
void ReadSxfield (XclImpStream &rStrm)
 Reads the SXFIELD record describing the field. More...
 
void ReadItem (XclImpStream &rStrm)
 Reads an item data record describing a new item. More...
 
void ReadSxnumgroup (XclImpStream &rStrm)
 Reads the SXNUMGROUP record describing numeric grouping fields. More...
 
void ReadSxgroupinfo (XclImpStream &rStrm)
 Reads the SXGROUPINFO record describing the item order in grouping fields. More...
 
void ConvertGroupField (ScDPSaveData &rSaveData, const ScfStringVec &rVisNames) const
 Inserts grouping information of this field into the passed ScDPSaveData. More...
 
- Public Member Functions inherited from XclPCField
 XclPCField (XclPCFieldType eFieldType, sal_uInt16 nFieldIdx)
 
virtual ~XclPCField ()
 
sal_uInt16 GetFieldIndex () const
 Returns the index of this field in the containing pivot cache. More...
 
bool IsSupportedField () const
 Returns true, if the type of the field is supported by Calc. More...
 
bool IsStandardField () const
 Returns true, if this is a standard field build directly from source data. More...
 
bool IsStdGroupField () const
 Returns true, if this field is a grouping field. More...
 
bool IsNumGroupField () const
 Returns true, if this field is a numeric grouping field. More...
 
bool IsDateGroupField () const
 Returns true, if this field is a date/time grouping field. More...
 
bool IsGroupField () const
 Returns true, if this field is a grouping field of any type. More...
 
bool IsGroupBaseField () const
 Returns true, if this field has a child field in a grouping. More...
 
bool IsGroupChildField () const
 Returns true, if this field is a child field in a grouping (it has a base field). More...
 
bool HasOrigItems () const
 Returns true, if the field is based on a column in the source data area. More...
 
bool HasInlineItems () const
 Returns true, if any items are stored after the SXFIELD record. More...
 
bool HasPostponedItems () const
 Returns true, if the items are stored separately after the last field. More...
 
bool Has16BitIndexes () const
 Returns true, if the item indexes in the SXINDEXLIST record are stored as 16-bit values. More...
 

Private Types

typedef ::std::vector< XclImpPCItemRefXclImpPCItemVec
 

Private Member Functions

void ConvertStdGroupField (ScDPSaveData &rSaveData, const ScfStringVec &rVisNames) const
 Inserts standard grouping information of this field into the passed ScDPSaveData. More...
 
void ConvertNumGroupField (ScDPSaveData &rSaveData, const ScfStringVec &rVisNames) const
 Inserts numeric grouping information of this field into the passed ScDPSaveData. More...
 
void ConvertDateGroupField (ScDPSaveData &rSaveData, const ScfStringVec &rVisNames) const
 Inserts date grouping information of this field into the passed ScDPSaveData. More...
 
ScDPNumGroupInfo GetScNumGroupInfo () const
 Returns a Calc struct with numeric grouping data. More...
 
ScDPNumGroupInfo GetScDateGroupInfo () const
 Returns a Calc struct with date grouping data. More...
 
const double * GetNumGroupLimit (sal_uInt16 nLimitIdx) const
 Returns a limit value for numeric grouping fields. More...
 
const DateTimeGetDateGroupLimit (sal_uInt16 nLimitIdx) const
 Returns a limit value for date grouping fields (minimum/maximum only). More...
 
const sal_Int16 * GetDateGroupStep () const
 Returns the step value for date grouping fields. More...
 

Private Attributes

XclImpPivotCachemrPCache
 
XclImpPCItemVec maItems
 Parent pivot cache containing this field. More...
 
XclImpPCItemVec maOrigItems
 List of all displayed data items. More...
 
XclImpPCItemVec maNumGroupItems
 List of all source data items. More...
 
SCCOL mnSourceScCol
 List of items containing numeric grouping limits. More...
 
bool mbNumGroupInfoRead
 Column index of source data for this field. More...
 

Additional Inherited Members

- Protected Member Functions inherited from XclImpRoot
 XclImpRoot (XclImpRootData &rImpRootData)
 
const XclImpRootGetRoot () const
 Returns this root instance - for code readability in derived classes. More...
 
XclImpRootGetRoot ()
 
void SetCodePage (sal_uInt16 nCodePage)
 Sets a code page read from a CODEPAGE record for byte string import. More...
 
void InitializeTable (SCTAB nScTab)
 Is called when import filter starts importing a single sheet (all BIFF versions). More...
 
void FinalizeTable ()
 Is called when import filter stops importing a single sheet (all BIFF versions). More...
 
XclImpAddressConverterGetAddressConverter () const
 Returns the address converter. More...
 
XclImpFormulaCompilerGetFormulaCompiler () const
 Returns the formula converter. More...
 
ExcelToScGetOldFmlaConverter () const
 Returns the old formula converter. More...
 
XclImpSstGetSst () const
 Returns the shared string table. More...
 
XclImpPaletteGetPalette () const
 Returns the color buffer. More...
 
XclImpFontBufferGetFontBuffer () const
 Returns the font buffer. More...
 
XclImpNumFmtBufferGetNumFmtBuffer () const
 Returns the number format buffer. More...
 
XclImpXFBufferGetXFBuffer () const
 Returns the cell formatting attributes buffer. More...
 
XclImpXFRangeBufferGetXFRangeBuffer () const
 Returns the buffer of XF index ranges for a sheet. More...
 
ScRangeListTabsGetPrintAreaBuffer () const
 Returns the buffer that contains all print areas in the document. More...
 
ScRangeListTabsGetTitleAreaBuffer () const
 Returns the buffer that contains all print titles in the document. More...
 
XclImpTabInfoGetTabInfo () const
 Returns the buffer that contains the sheet creation order. More...
 
XclImpNameManagerGetNameManager () const
 Returns the buffer that contains internal defined names. More...
 
XclImpLinkManagerGetLinkManager () const
 Returns the link manager. More...
 
XclImpObjectManagerGetObjectManager () const
 Returns the drawing object manager. More...
 
XclImpSheetDrawingGetCurrSheetDrawing () const
 Returns the drawing container of the current sheet. More...
 
XclImpCondFormatManagerGetCondFormatManager () const
 Returns the conditional formatting manager. More...
 
XclImpValidationManagerGetValidationManager () const
 
XclImpAutoFilterBufferGetFilterManager () const
 Returns the filter manager. More...
 
XclImpWebQueryBufferGetWebQueryBuffer () const
 Returns the web query buffer. More...
 
XclImpPivotTableManagerGetPivotTableManager () const
 Returns the pivot table manager. More...
 
XclImpSheetProtectBufferGetSheetProtectBuffer () const
 Returns the sheet protection options of the current sheet. More...
 
XclImpDocProtectBufferGetDocProtectBuffer () const
 Returns the document protection options. More...
 
XclImpPageSettingsGetPageSettings () const
 Returns the page settings of the current sheet. More...
 
XclImpDocViewSettingsGetDocViewSettings () const
 Returns the view settings of the entire document. More...
 
XclImpTabViewSettingsGetTabViewSettings () const
 Returns the view settings of the current sheet. More...
 
bool HasBasic () const
 Returns true, if the document contains a VB project. More...
 
void SetHasBasic ()
 Called to indicate that the document contains a VB project. More...
 
void ReadCodeName (XclImpStream &rStrm, bool bGlobals)
 Reads the CODENAME record and inserts the codename into the document. More...
 
ScDocumentImportGetDocImport ()
 
- 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 XclImpRoot
static OUString GetScAddInName (const OUString &rXclName)
 Returns the Calc add-in function name for an Excel function name. More...
 
- Static Protected Member Functions inherited from XclRoot
static OUString GetDefaultPassword ()
 Returns the default password used for stream encryption. More...
 
- Protected Attributes inherited from XclPCField
XclPCFieldInfo maFieldInfo
 
XclPCFieldType meFieldType
 Pivot cache field info (SXFIELD record). More...
 
sal_uInt16 mnFieldIdx
 Type of this pivot cache field. More...
 
ScfUInt16Vec maGroupOrder
 Own field index in pivot cache. More...
 
XclPCNumGroupInfo maNumGroupInfo
 Order of items in a grouping field (SXGROUPINFO record). More...
 

Detailed Description

Represents a field in a pivot cache (a column of data items in the source area).

Definition at line 64 of file xipivot.hxx.

Member Typedef Documentation

◆ XclImpPCItemVec

typedef ::std::vector< XclImpPCItemRef > XclImpPCField::XclImpPCItemVec
private

Definition at line 130 of file xipivot.hxx.

Constructor & Destructor Documentation

◆ XclImpPCField()

XclImpPCField::XclImpPCField ( const XclImpRoot rRoot,
XclImpPivotCache rPCache,
sal_uInt16  nFieldIdx 
)
explicit

Creates a pivot cache field by reading an SXFIELD record.

Definition at line 181 of file xipivot.cxx.

◆ ~XclImpPCField()

XclImpPCField::~XclImpPCField ( )
overridevirtual

Definition at line 190 of file xipivot.cxx.

Member Function Documentation

◆ ConvertDateGroupField()

void XclImpPCField::ConvertDateGroupField ( ScDPSaveData rSaveData,
const ScfStringVec rVisNames 
) const
private

◆ ConvertGroupField()

void XclImpPCField::ConvertGroupField ( ScDPSaveData rSaveData,
const ScfStringVec rVisNames 
) const

◆ ConvertNumGroupField()

void XclImpPCField::ConvertNumGroupField ( ScDPSaveData rSaveData,
const ScfStringVec rVisNames 
) const
private

Inserts numeric grouping information of this field into the passed ScDPSaveData.

Definition at line 441 of file xipivot.cxx.

References ScDPDimensionSaveData::AddNumGroupDimension(), ScDPSaveData::GetDimensionData(), GetFieldName(), and GetScNumGroupInfo().

Referenced by ConvertGroupField().

◆ ConvertStdGroupField()

void XclImpPCField::ConvertStdGroupField ( ScDPSaveData rSaveData,
const ScfStringVec rVisNames 
) const
private

◆ GetDateGroupLimit()

const DateTime * XclImpPCField::GetDateGroupLimit ( sal_uInt16  nLimitIdx) const
private

Returns a limit value for date grouping fields (minimum/maximum only).

Definition at line 555 of file xipivot.cxx.

References GetLimitItem(), and XclPCField::IsDateGroupField().

Referenced by GetScDateGroupInfo().

◆ GetDateGroupStep()

const sal_Int16 * XclImpPCField::GetDateGroupStep ( ) const
private

◆ GetFieldName()

const OUString & XclImpPCField::GetFieldName ( const ScfStringVec rVisNames) const

Returns the name of the field, uses the passed visible name if supported.

Definition at line 196 of file xipivot.cxx.

References XclPCField::IsGroupChildField(), XclPCField::maFieldInfo, XclPCFieldInfo::maName, and XclPCField::mnFieldIdx.

Referenced by ConvertDateGroupField(), ConvertGroupField(), ConvertNumGroupField(), ConvertStdGroupField(), and XclImpPTField::GetFieldName().

◆ GetGroupBaseField()

const XclImpPCField * XclImpPCField::GetGroupBaseField ( ) const

Returns the base field if this is a grouping field.

Definition at line 207 of file xipivot.cxx.

References XclImpPivotCache::GetField(), XclPCField::IsGroupChildField(), XclPCField::maFieldInfo, XclPCFieldInfo::mnGroupBase, and mrPCache.

Referenced by ConvertDateGroupField(), and ConvertStdGroupField().

◆ GetItem()

const XclImpPCItem * XclImpPCField::GetItem ( sal_uInt16  nItemIdx) const

Returns the item at the specified position or 0 on error.

Definition at line 213 of file xipivot.cxx.

References maItems.

Referenced by ConvertStdGroupField(), and XclImpPTItem::GetItemName().

◆ GetLimitItem()

const XclImpPCItem * XclImpPCField::GetLimitItem ( sal_uInt16  nItemIdx) const

Returns the item representing a limit value in numeric/date/time grouping fields.

Parameters
nItemIdxOne of EXC_SXFIELD_INDEX_MIN, EXC_SXFIELD_INDEX_MAX, or EXC_SXFIELD_INDEX_STEP.

Definition at line 218 of file xipivot.cxx.

References maNumGroupItems.

Referenced by GetDateGroupLimit(), GetDateGroupStep(), and GetNumGroupLimit().

◆ GetNumGroupLimit()

const double * XclImpPCField::GetNumGroupLimit ( sal_uInt16  nLimitIdx) const
private

Returns a limit value for numeric grouping fields.

Definition at line 544 of file xipivot.cxx.

References GetLimitItem(), and XclPCField::IsNumGroupField().

Referenced by GetScNumGroupInfo().

◆ GetScDateGroupInfo()

ScDPNumGroupInfo XclImpPCField::GetScDateGroupInfo ( ) const
private

◆ GetScNumGroupInfo()

ScDPNumGroupInfo XclImpPCField::GetScNumGroupInfo ( ) const
private

◆ ReadItem()

void XclImpPCField::ReadItem ( XclImpStream rStrm)

Reads an item data record describing a new item.

Definition at line 344 of file xipivot.cxx.

References XclPCField::HasInlineItems(), XclPCField::HasPostponedItems(), XclPCField::IsStandardField(), maItems, maNumGroupItems, maOrigItems, mbNumGroupInfoRead, and rStrm.

◆ ReadSxfield()

void XclImpPCField::ReadSxfield ( XclImpStream rStrm)

◆ ReadSxgroupinfo()

void XclImpPCField::ReadSxgroupinfo ( XclImpStream rStrm)

Reads the SXGROUPINFO record describing the item order in grouping fields.

Definition at line 378 of file xipivot.cxx.

References XclPCField::IsStdGroupField(), XclPCField::maFieldInfo, XclPCField::maGroupOrder, maItems, XclPCFieldInfo::mnBaseItems, XclPCFieldInfo::mnGroupItems, and rStrm.

◆ ReadSxnumgroup()

void XclImpPCField::ReadSxnumgroup ( XclImpStream rStrm)

Reads the SXNUMGROUP record describing numeric grouping fields.

Definition at line 369 of file xipivot.cxx.

References XclPCField::IsDateGroupField(), XclPCField::IsNumGroupField(), XclPCField::maFieldInfo, maItems, XclPCField::maNumGroupInfo, mbNumGroupInfoRead, XclPCFieldInfo::mnGroupItems, and rStrm.

◆ WriteFieldNameToSource()

void XclImpPCField::WriteFieldNameToSource ( SCCOL  nScCol,
SCTAB  nScTab 
)

◆ WriteLastOrigItemToSource()

void XclImpPCField::WriteLastOrigItemToSource ( SCROW  nScRow,
SCTAB  nScTab 
)

Inserts the data of the last inserted item into the document.

Definition at line 238 of file xipivot.cxx.

References XclImpRoot::GetRoot(), maOrigItems, and mnSourceScCol.

◆ WriteOrigItemToSource()

void XclImpPCField::WriteOrigItemToSource ( SCROW  nScRow,
SCTAB  nScTab,
sal_uInt16  nItemIdx 
)

Inserts the specified item data into the document.

Definition at line 232 of file xipivot.cxx.

References XclImpRoot::GetRoot(), maOrigItems, and mnSourceScCol.

Member Data Documentation

◆ maItems

XclImpPCItemVec XclImpPCField::maItems
private

Parent pivot cache containing this field.

Definition at line 133 of file xipivot.hxx.

Referenced by ConvertStdGroupField(), GetItem(), ReadItem(), ReadSxgroupinfo(), and ReadSxnumgroup().

◆ maNumGroupItems

XclImpPCItemVec XclImpPCField::maNumGroupItems
private

List of all source data items.

Definition at line 135 of file xipivot.hxx.

Referenced by GetLimitItem(), and ReadItem().

◆ maOrigItems

XclImpPCItemVec XclImpPCField::maOrigItems
private

List of all displayed data items.

Definition at line 134 of file xipivot.hxx.

Referenced by ReadItem(), WriteLastOrigItemToSource(), and WriteOrigItemToSource().

◆ mbNumGroupInfoRead

bool XclImpPCField::mbNumGroupInfoRead
private

Column index of source data for this field.

Definition at line 137 of file xipivot.hxx.

Referenced by ReadItem(), and ReadSxnumgroup().

◆ mnSourceScCol

SCCOL XclImpPCField::mnSourceScCol
mutableprivate

List of items containing numeric grouping limits.

Definition at line 136 of file xipivot.hxx.

Referenced by WriteFieldNameToSource(), WriteLastOrigItemToSource(), and WriteOrigItemToSource().

◆ mrPCache

XclImpPivotCache& XclImpPCField::mrPCache
private

Definition at line 132 of file xipivot.hxx.

Referenced by GetGroupBaseField().


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