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

Represents a ROW record and additionally contains all cells records of a row. More...

#include <xetable.hxx>

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

Public Member Functions

 XclExpRow (const XclExpRoot &rRoot, sal_uInt32 nXclRow, XclExpRowOutlineBuffer &rOutlineBfr, bool bAlwaysEmpty, bool bHidden, sal_uInt16 nHeight)
 Constructs the ROW record and converts the Calc row settings. More...
 
sal_uInt32 GetXclRow () const
 Returns the excel row index of this ROW record. More...
 
sal_uInt16 GetHeight () const
 Returns the height of the row in twips. More...
 
bool IsEmpty () const
 Returns true, if this row does not contain at least one valid cell. More...
 
bool IsHidden () const
 Returns true, if this row is hidden. More...
 
bool IsUnsynced () const
 Returns true, if this row contains a manually set height. More...
 
bool IsEnabled () const
 Returns true, if this row is enabled (will be exported). More...
 
void AppendCell (XclExpCellRef const &xCell, bool bIsMergedBase)
 Appends the passed cell object to this row. More...
 
void Finalize (const ScfUInt16Vec &rColXFIndexes, ScfUInt16Vec &aXFIndexes, size_t nStartColAllDefault, bool bUpdateProgress)
 Converts all XF identifiers into the Excel XF indexes. More...
 
sal_uInt16 GetFirstUsedXclCol () const
 Returns the column index of the first used cell in this row. More...
 
sal_uInt16 GetFirstFreeXclCol () const
 Returns the column index of the first unused cell following all used cells in this row. More...
 
bool IsDefaultable () const
 Returns true, if this row may be omitted by using the DEFROWHEIGHT record. More...
 
void DisableIfDefault (const XclExpDefaultRowData &rDefRowData)
 Disables this row, if it is defaultable and has the passed default format. More...
 
void WriteCellList (XclExpStream &rStrm)
 Writes all cell records of this row. More...
 
virtual void Save (XclExpStream &rStrm) override
 Writes the ROW record if the row is not disabled (see DisableIfDefault() function). More...
 
virtual void SaveXml (XclExpXmlStream &rStrm) override
 
sal_uInt32 GetXclRowRpt () const
 
void SetXclRowRpt (sal_uInt32 nRpt)
 
- Public Member Functions inherited from XclExpRecord
 XclExpRecord (sal_uInt16 nRecId=EXC_ID_UNKNOWN, std::size_t nRecSize=0)
 
 XclExpRecord (XclExpRecord const &)=default
 
virtual ~XclExpRecord () override
 
sal_uInt16 GetRecId () const
 Returns the current record ID. More...
 
std::size_t GetRecSize () const
 Returns the current record size prediction. More...
 
void SetRecId (sal_uInt16 nRecId)
 Sets a new record ID. More...
 
void SetRecSize (std::size_t nRecSize)
 Sets a new record size prediction. More...
 
void AddRecSize (std::size_t nRecSize)
 Adds a size value to the record size prediction. More...
 
void SetRecHeader (sal_uInt16 nRecId, std::size_t nRecSize)
 Sets record ID and size with one call. More...
 
virtual void Save (XclExpStream &rStrm) override
 Writes the record header and calls WriteBody(). More...
 
- Public Member Functions inherited from XclExpRecordBase
 XclExpRecordBase ()
 
 XclExpRecordBase (XclExpRecordBase const &)
 
 XclExpRecordBase (XclExpRecordBase &&)
 
XclExpRecordBaseoperator= (XclExpRecordBase const &)
 
XclExpRecordBaseoperator= (XclExpRecordBase &&) noexcept
 
virtual ~XclExpRecordBase ()
 
virtual void Save (XclExpStream &rStrm)
 Overwrite this method to do any operation while saving the record. More...
 
virtual void SaveXml (XclExpXmlStream &rStrm)
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Private Member Functions

void InsertCell (XclExpCellRef xCell, size_t nPos, bool bIsMergedBase)
 Inserts a cell at the specified list position, tries to merge with neighbors. More...
 
virtual void WriteBody (XclExpStream &rStrm) override
 Writes the contents of the ROW record. More...
 

Private Attributes

XclExpRecordList< XclExpCellBasemaCellList
 
sal_uInt32 mnXclRow
 List of cell records for this row. More...
 
sal_uInt16 mnHeight
 Excel row index of this row. More...
 
sal_uInt16 mnFlags
 Row height in twips. More...
 
sal_uInt16 mnXFIndex
 Flags for the ROW record. More...
 
sal_uInt8 mnOutlineLevel
 Default row formatting. More...
 
sal_uInt32 mnXclRowRpt
 Outline Level of row (for OOXML) More...
 
sal_uInt32 mnCurrentRow
 
bool mbAlwaysEmpty
 
bool mbEnabled
 true = Do not add blank cells in Finalize(). More...
 

Additional Inherited Members

- 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)
 
virtual void WriteBody (XclExpStream &rStrm)
 Writes the body of the record (without record header). More...
 
- 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

Represents a ROW record and additionally contains all cells records of a row.

This class contains all cell records of a row in a spreadsheet. There are 2 cell records in Excel that support storing a range of cells in one record (MULBLANK for multiple blank cells, and MULRK for multiple RK values). The insertion functions try to merge a new inserted cell with existing neighbors, if this is supported by the current type of cell record.

The Finalize() function converts the XF identifiers of all cell records to the final Excel XF indexes. Then a default

Definition at line 829 of file xetable.hxx.

Constructor & Destructor Documentation

◆ XclExpRow()

XclExpRow::XclExpRow ( const XclExpRoot rRoot,
sal_uInt32  nXclRow,
XclExpRowOutlineBuffer rOutlineBfr,
bool  bAlwaysEmpty,
bool  bHidden,
sal_uInt16  nHeight 
)
explicit

Member Function Documentation

◆ AppendCell()

void XclExpRow::AppendCell ( XclExpCellRef const &  xCell,
bool  bIsMergedBase 
)

Appends the passed cell object to this row.

Definition at line 1914 of file xetable.cxx.

References XclExpRecordList< RecType >::GetSize(), InsertCell(), maCellList, and mbAlwaysEmpty.

Referenced by XclExpRowBuffer::AppendCell().

◆ DisableIfDefault()

void XclExpRow::DisableIfDefault ( const XclExpDefaultRowData rDefRowData)

Disables this row, if it is defaultable and has the passed default format.

@descr Disabled rows will not be saved. This function can only be called after Finalize().

Definition at line 2119 of file xetable.cxx.

References IsDefaultable(), XclExpDefaultRowData::IsHidden(), IsHidden(), XclExpDefaultRowData::IsUnsynced(), IsUnsynced(), mbEnabled, XclExpDefaultRowData::mnHeight, and mnHeight.

◆ Finalize()

void XclExpRow::Finalize ( const ScfUInt16Vec rColXFIndexes,
ScfUInt16Vec aXFIndexes,
size_t  nStartColAllDefault,
bool  bUpdateProgress 
)

◆ GetFirstFreeXclCol()

sal_uInt16 XclExpRow::GetFirstFreeXclCol ( ) const

Returns the column index of the first unused cell following all used cells in this row.

@descr This function can only be called after Finalize().

Definition at line 2107 of file xetable.cxx.

References XclExpRecordList< RecType >::GetLastRecord(), XclExpCellBase::GetLastXclCol(), XclExpRecordList< RecType >::IsEmpty(), and maCellList.

Referenced by WriteBody().

◆ GetFirstUsedXclCol()

sal_uInt16 XclExpRow::GetFirstUsedXclCol ( ) const

Returns the column index of the first used cell in this row.

@descr This function can only be called after Finalize().

Definition at line 2102 of file xetable.cxx.

References XclExpRecordList< RecType >::GetFirstRecord(), XclExpCellBase::GetXclCol(), XclExpRecordList< RecType >::IsEmpty(), and maCellList.

Referenced by WriteBody().

◆ GetHeight()

sal_uInt16 XclExpRow::GetHeight ( ) const
inline

Returns the height of the row in twips.

Definition at line 841 of file xetable.hxx.

References mnHeight.

◆ GetXclRow()

sal_uInt32 XclExpRow::GetXclRow ( ) const
inline

Returns the excel row index of this ROW record.

Definition at line 839 of file xetable.hxx.

References mnXclRow.

Referenced by XclExpRowBuffer::Finalize().

◆ GetXclRowRpt()

sal_uInt32 XclExpRow::GetXclRowRpt ( ) const
inline

Definition at line 884 of file xetable.hxx.

References mnXclRowRpt.

Referenced by XclExpRowBuffer::Finalize().

◆ InsertCell()

void XclExpRow::InsertCell ( XclExpCellRef  xCell,
size_t  nPos,
bool  bIsMergedBase 
)
private

Inserts a cell at the specified list position, tries to merge with neighbors.

Definition at line 2143 of file xetable.cxx.

References EXC_ROW_UNSYNCED, XclExpRecordList< RecType >::GetRecord(), XclExpRecordList< RecType >::InsertRecord(), maCellList, mnFlags, nPos, XclExpRecordList< RecType >::RemoveRecord(), set_flag(), and XclExpCellBase::TryMerge().

Referenced by AppendCell(), and Finalize().

◆ IsDefaultable()

bool XclExpRow::IsDefaultable ( ) const

Returns true, if this row may be omitted by using the DEFROWHEIGHT record.

@descr A row may be omitted, if it does not contain any cell or explicit default cell formatting, and is not part of an outline. This function can only be called after Finalize().

Definition at line 2112 of file xetable.cxx.

References EXC_ROW_DEFAULTFLAGS, EXC_ROW_HIDDEN, EXC_ROW_UNSYNCED, get_flag(), IsEmpty(), and mnFlags.

Referenced by DisableIfDefault(), and XclExpRowBuffer::Finalize().

◆ IsEmpty()

bool XclExpRow::IsEmpty ( ) const
inline

Returns true, if this row does not contain at least one valid cell.

Definition at line 843 of file xetable.hxx.

References XclExpRecordList< RecType >::IsEmpty(), and maCellList.

Referenced by IsDefaultable().

◆ IsEnabled()

bool XclExpRow::IsEnabled ( ) const
inline

Returns true, if this row is enabled (will be exported).

Definition at line 849 of file xetable.hxx.

References mbEnabled.

◆ IsHidden()

bool XclExpRow::IsHidden ( ) const
inline

Returns true, if this row is hidden.

Definition at line 845 of file xetable.hxx.

References EXC_ROW_HIDDEN, get_flag(), and mnFlags.

Referenced by DisableIfDefault(), and XclExpDefaultRowData::XclExpDefaultRowData().

◆ IsUnsynced()

bool XclExpRow::IsUnsynced ( ) const
inline

Returns true, if this row contains a manually set height.

Definition at line 847 of file xetable.hxx.

References EXC_ROW_UNSYNCED, get_flag(), and mnFlags.

Referenced by DisableIfDefault(), and XclExpDefaultRowData::XclExpDefaultRowData().

◆ Save()

void XclExpRow::Save ( XclExpStream rStrm)
overridevirtual

Writes the ROW record if the row is not disabled (see DisableIfDefault() function).

Reimplemented from XclExpRecord.

Definition at line 2133 of file xetable.cxx.

References i, mbEnabled, mnCurrentRow, mnXclRow, mnXclRowRpt, rStrm, and XclExpRecord::Save().

◆ SaveXml()

void XclExpRow::SaveXml ( XclExpXmlStream rStrm)
overridevirtual

◆ SetXclRowRpt()

void XclExpRow::SetXclRowRpt ( sal_uInt32  nRpt)
inline

Definition at line 885 of file xetable.hxx.

References mnXclRowRpt.

Referenced by XclExpRowBuffer::Finalize().

◆ WriteBody()

void XclExpRow::WriteBody ( XclExpStream rStrm)
overrideprivatevirtual

Writes the contents of the ROW record.

Reimplemented from XclExpRecord.

Definition at line 2167 of file xetable.cxx.

References GetFirstFreeXclCol(), GetFirstUsedXclCol(), mnCurrentRow, mnFlags, mnHeight, and mnXFIndex.

◆ WriteCellList()

void XclExpRow::WriteCellList ( XclExpStream rStrm)

Writes all cell records of this row.

Definition at line 2127 of file xetable.cxx.

References XclExpRecordList< RecType >::IsEmpty(), maCellList, mbEnabled, rStrm, and XclExpRecordList< RecType >::Save().

Member Data Documentation

◆ maCellList

XclExpRecordList< XclExpCellBase > XclExpRow::maCellList
private

◆ mbAlwaysEmpty

bool XclExpRow::mbAlwaysEmpty
private

Definition at line 903 of file xetable.hxx.

Referenced by AppendCell(), and Finalize().

◆ mbEnabled

bool XclExpRow::mbEnabled
private

true = Do not add blank cells in Finalize().

Definition at line 904 of file xetable.hxx.

Referenced by DisableIfDefault(), IsEnabled(), Save(), SaveXml(), and WriteCellList().

◆ mnCurrentRow

sal_uInt32 XclExpRow::mnCurrentRow
private

Definition at line 902 of file xetable.hxx.

Referenced by Save(), SaveXml(), and WriteBody().

◆ mnFlags

sal_uInt16 XclExpRow::mnFlags
private

Row height in twips.

Definition at line 898 of file xetable.hxx.

Referenced by Finalize(), InsertCell(), IsDefaultable(), IsHidden(), IsUnsynced(), SaveXml(), WriteBody(), and XclExpRow().

◆ mnHeight

sal_uInt16 XclExpRow::mnHeight
private

Excel row index of this row.

Definition at line 897 of file xetable.hxx.

Referenced by DisableIfDefault(), GetHeight(), SaveXml(), and WriteBody().

◆ mnOutlineLevel

sal_uInt8 XclExpRow::mnOutlineLevel
private

Default row formatting.

Definition at line 900 of file xetable.hxx.

Referenced by SaveXml(), and XclExpRow().

◆ mnXclRow

sal_uInt32 XclExpRow::mnXclRow
private

List of cell records for this row.

Definition at line 896 of file xetable.hxx.

Referenced by Finalize(), GetXclRow(), Save(), SaveXml(), and XclExpRow().

◆ mnXclRowRpt

sal_uInt32 XclExpRow::mnXclRowRpt
private

Outline Level of row (for OOXML)

Definition at line 901 of file xetable.hxx.

Referenced by GetXclRowRpt(), Save(), SaveXml(), and SetXclRowRpt().

◆ mnXFIndex

sal_uInt16 XclExpRow::mnXFIndex
private

Flags for the ROW record.

Definition at line 899 of file xetable.hxx.

Referenced by Finalize(), SaveXml(), and WriteBody().


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