LibreOffice Module sc (master) 1
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
oox::xls::HeaderFooterParser Class Reference
Inheritance diagram for oox::xls::HeaderFooterParser:
[legend]
Collaboration diagram for oox::xls::HeaderFooterParser:
[legend]

Public Member Functions

 HeaderFooterParser (const WorkbookHelper &rHelper)
 
double parse (const Reference< sheet::XHeaderFooterContent > &rxContext, const OUString &rData)
 Parses the passed string and creates the header/footer contents. More...
 
- Public Member Functions inherited from oox::xls::WorkbookHelper
 WorkbookHelper (WorkbookGlobals &rBookGlob)
 
virtual ~WorkbookHelper ()
 
 WorkbookHelper (WorkbookHelper const &)=default
 
 WorkbookHelper (WorkbookHelper &&)=default
 
WorkbookHelperoperator= (WorkbookHelper const &)=delete
 
WorkbookHelperoperator= (WorkbookHelper &&)=delete
 
::oox::core::FilterBasegetBaseFilter () const
 Returns the base filter object (base class of all filters). More...
 
SegmentProgressBargetProgressBar () const
 Returns the filter progress bar. More...
 
sal_Int16 getCurrentSheetIndex () const
 Returns the index of the current Calc sheet, if filter currently processes a sheet. More...
 
bool isGeneratorKnownGood () const
 Returns true when reading a file generated by a known good generator. More...
 
bool hasCalculatedFormulaCells () const
 Returns true if any formula cell is calculated. More...
 
void setCalculatedFormulaCells ()
 Set if any formula cell is calculated. More...
 
void setVbaProjectStorage (const StorageRef &rxVbaPrjStrg)
 Sets the VBA project storage used to import VBA source code and forms. More...
 
void setCurrentSheetIndex (SCTAB nSheet)
 Sets the index of the current Calc sheet, if filter currently processes a sheet. More...
 
void finalizeWorkbookImport ()
 Final conversion after importing the workbook. More...
 
void useInternalChartDataTable (bool bInternal)
 
ScDocumentgetScDocument ()
 
const ScDocumentgetScDocument () const
 
ScDocumentImportgetDocImport ()
 
const ScDocumentImportgetDocImport () const
 
ScEditEngineDefaultergetEditEngine () const
 
const css::uno::Reference< css::sheet::XSpreadsheetDocument > & getDocument () const
 Returns a reference to the source/target spreadsheet document model. More...
 
css::uno::Reference< css::sheet::XSpreadsheet > getSheetFromDoc (sal_Int32 nSheet) const
 Returns a reference to the specified spreadsheet in the document model. More...
 
css::uno::Reference< css::sheet::XSpreadsheet > getSheetFromDoc (const OUString &rSheet) const
 Returns a reference to the specified spreadsheet in the document model. More...
 
css::uno::Reference< css::table::XCellRange > getCellRangeFromDoc (const ScRange &rRange) const
 Returns the XCellRange interface for the passed cell range address. More...
 
css::uno::Reference< css::container::XNameContainer > getCellStyleFamily () const
 Returns the cell styles container from the Calc document. More...
 
css::uno::Reference< css::style::XStyle > getStyleObject (const OUString &rStyleName, bool bPageStyle) const
 Returns the specified cell or page style from the Calc document. More...
 
RangeDataRet createNamedRangeObject (OUString &orName, sal_Int32 nIndex, sal_Int32 nNameFlags, bool bHidden) const
 Creates and returns a defined name on-the-fly in the Calc document. More...
 
RangeDataRet createLocalNamedRangeObject (OUString &orName, sal_Int32 nIndex, sal_Int32 nNameFlags, sal_Int32 nTab, bool bHidden) const
 Creates and returns a defined name on-the-fly in the sheet. More...
 
css::uno::Reference< css::sheet::XDatabaseRange > createDatabaseRangeObject (OUString &orName, const ScRange &rRangeAddr) const
 Creates and returns a database range on-the-fly in the Calc document. More...
 
css::uno::Reference< css::sheet::XDatabaseRange > createUnnamedDatabaseRangeObject (const ScRange &rRangeAddr) const
 Creates and returns an unnamed database range on-the-fly in the Calc document. More...
 
ScDBDatafindDatabaseRangeByIndex (sal_uInt16 nIndex) const
 Finds the (already existing) database range of the given formula token index. More...
 
css::uno::Reference< css::style::XStyle > createStyleObject (OUString &orStyleName, bool bPageStyle) const
 Creates and returns a com.sun.star.style.Style object for cells or pages. More...
 
FormulaBuffergetFormulaBuffer () const
 
WorkbookSettingsgetWorkbookSettings () const
 Returns the global workbook settings object. More...
 
ViewSettingsgetViewSettings () const
 Returns the workbook and sheet view settings object. More...
 
WorksheetBuffergetWorksheets () const
 Returns the worksheet buffer containing sheet names and properties. More...
 
ThemeBuffergetTheme () const
 Returns the office theme object read from the theme substorage. More...
 
StylesBuffergetStyles () const
 Returns all cell formatting objects read from the styles substream. More...
 
SharedStringsBuffergetSharedStrings () const
 Returns the shared strings read from the shared strings substream. More...
 
ExternalLinkBuffergetExternalLinks () const
 Returns the external links read from the external links substream. More...
 
DefinedNamesBuffergetDefinedNames () const
 Returns the defined names read from the workbook globals. More...
 
TableBuffergetTables () const
 Returns the tables collection (equivalent to Calc's database ranges). More...
 
ScenarioBuffergetScenarios () const
 Returns the scenarios collection. More...
 
ConnectionsBuffergetConnections () const
 Returns the collection of external data connections. More...
 
PivotCacheBuffergetPivotCaches () const
 Returns the collection of pivot caches. More...
 
PivotTableBuffergetPivotTables () const
 Returns the collection of pivot tables. More...
 
FormulaParsergetFormulaParser () const
 Returns a shared import formula parser (import filter only!). More...
 
FormulaParsercreateFormulaParser () const
 Returns an unshared import formula parser (import filter only!). More...
 
UnitConvertergetUnitConverter () const
 Returns the measurement unit converter. More...
 
AddressConvertergetAddressConverter () const
 Returns the converter for string to cell address/range conversion. More...
 
oox::drawingml::chart::ChartConvertergetChartConverter () const
 Returns the chart object converter. More...
 
PageSettingsConvertergetPageSettingsConverter () const
 Returns the page and print settings converter. More...
 
::oox::core::XmlFilterBasegetOoxFilter () const
 Returns the base OOXML/BIFF12 filter object. More...
 
bool importOoxFragment (const rtl::Reference< oox::core::FragmentHandler > &rxHandler)
 Imports a fragment using the passed fragment handler, which contains the full path to the fragment stream. More...
 
bool importOoxFragment (const rtl::Reference< oox::core::FragmentHandler > &rxHandler, oox::core::FastParser &rParser)
 
rtl_TextEncoding getTextEncoding () const
 Returns the text encoding used to import/export byte strings. More...
 

Private Types

typedef ::std::vector< HFPortionInfo > HFPortionInfoVec
 

Private Member Functions

HFPortionInfo & getPortion ()
 Returns the current edit engine text object. More...
 
const Reference< text::XTextCursor > & getStartPos ()
 Returns the start cursor of the current text range. More...
 
const Reference< text::XTextCursor > & getEndPos ()
 Returns the end cursor of the current text range. More...
 
double getCurrHeight (HFPortionId ePortion) const
 Returns the current line height of the specified portion. More...
 
void updateCurrHeight (HFPortionId ePortion)
 Updates the current line height of the specified portion, using the current font size. More...
 
void updateCurrHeight ()
 Updates the current line height, using the current font size. More...
 
void setAttributes ()
 Sets the font attributes at the current selection. More...
 
void appendText ()
 Appends and clears internal string buffer. More...
 
void appendLineBreak ()
 Appends a line break and adjusts internal text height data. More...
 
Reference< text::XTextContent > createField (const OUString &rServiceName) const
 Creates a text field from the passed service name. More...
 
void appendField (const Reference< text::XTextContent > &rxContent)
 Appends the passed text field. More...
 
void convertFontName (const OUString &rStyle)
 Sets the passed font name if it is valid. More...
 
void convertFontStyle (std::u16string_view aStyle)
 Converts a font style given as string. More...
 
void convertFontColor (std::u16string_view aColor)
 Converts a font color given as string. More...
 
void finalizePortion ()
 Finalizes current portion: sets font attributes and updates text height data. More...
 
void setNewPortion (HFPortionId ePortion)
 Changes current header/footer portion. More...
 

Private Attributes

const std::set< OString > maBoldNames
 
const std::set< OString > maItalicNames
 All names for bold font style in lowercase UTF-8. More...
 
HFPortionInfoVec maPortions
 All names for italic font style in lowercase UTF-8. More...
 
HFPortionId meCurrPortion
 
OUStringBuffer maBuffer
 Identifier of current H/F portion. More...
 
FontModel maFontModel
 Text data to append to current text range. More...
 

Additional Inherited Members

- Public Types inherited from oox::xls::WorkbookHelper
typedef std::pair< ScRangeData *, bool > RangeDataRet
 
- Static Public Member Functions inherited from oox::xls::WorkbookHelper
static WorkbookGlobalsRef constructGlobals (ExcelFilter &rFilter)
 

Detailed Description

Definition at line 384 of file pagesettings.cxx.

Member Typedef Documentation

◆ HFPortionInfoVec

typedef ::std::vector< HFPortionInfo > oox::xls::HeaderFooterParser::HFPortionInfoVec
private

Definition at line 436 of file pagesettings.cxx.

Constructor & Destructor Documentation

◆ HeaderFooterParser()

oox::xls::HeaderFooterParser::HeaderFooterParser ( const WorkbookHelper rHelper)
explicit

Definition at line 479 of file pagesettings.cxx.

References SAL_N_ELEMENTS.

Member Function Documentation

◆ appendField()

void oox::xls::HeaderFooterParser::appendField ( const Reference< text::XTextContent > &  rxContent)
private

Appends the passed text field.

Definition at line 805 of file pagesettings.cxx.

References Exception, getEndPos(), getPortion(), and updateCurrHeight().

Referenced by parse().

◆ appendLineBreak()

void oox::xls::HeaderFooterParser::appendLineBreak ( )
private

Appends a line break and adjusts internal text height data.

Definition at line 781 of file pagesettings.cxx.

References getCurrHeight(), getEndPos(), getPortion(), and meCurrPortion.

Referenced by parse().

◆ appendText()

void oox::xls::HeaderFooterParser::appendText ( )
private

Appends and clears internal string buffer.

Definition at line 771 of file pagesettings.cxx.

References getEndPos(), maBuffer, and updateCurrHeight().

Referenced by finalizePortion(), and parse().

◆ convertFontColor()

void oox::xls::HeaderFooterParser::convertFontColor ( std::u16string_view  aColor)
private

Converts a font color given as string.

Definition at line 849 of file pagesettings.cxx.

References ColorTransparency, oox::xls::FontModel::maColor, maFontModel, oox::xls::Color::setRgb(), oox::xls::Color::setTheme(), o3tl::toInt32(), and o3tl::toUInt32().

Referenced by parse().

◆ convertFontName()

void oox::xls::HeaderFooterParser::convertFontName ( const OUString &  rStyle)
private

Sets the passed font name if it is valid.

Definition at line 819 of file pagesettings.cxx.

References oox::xls::StylesBuffer::getDefaultFontModel(), oox::xls::WorkbookHelper::getStyles(), maFontModel, and oox::xls::FontModel::maName.

Referenced by parse().

◆ convertFontStyle()

void oox::xls::HeaderFooterParser::convertFontStyle ( std::u16string_view  aStyle)
private

Converts a font style given as string.

Definition at line 831 of file pagesettings.cxx.

References o3tl::getToken(), maBoldNames, maFontModel, maItalicNames, oox::xls::FontModel::mbBold, oox::xls::FontModel::mbItalic, nPos, and OUStringToOString().

Referenced by parse().

◆ createField()

Reference< text::XTextContent > oox::xls::HeaderFooterParser::createField ( const OUString &  rServiceName) const
private

Creates a text field from the passed service name.

Definition at line 789 of file pagesettings.cxx.

References createInstance(), Exception, oox::xls::WorkbookHelper::getBaseFilter(), and OUStringToOString().

Referenced by parse().

◆ finalizePortion()

void oox::xls::HeaderFooterParser::finalizePortion ( )
private

Finalizes current portion: sets font attributes and updates text height data.

Definition at line 862 of file pagesettings.cxx.

References appendText(), and setAttributes().

Referenced by parse(), and setNewPortion().

◆ getCurrHeight()

double oox::xls::HeaderFooterParser::getCurrHeight ( HFPortionId  ePortion) const
private

Returns the current line height of the specified portion.

Definition at line 738 of file pagesettings.cxx.

References maFontModel, maPortions, and oox::xls::FontModel::mfHeight.

Referenced by appendLineBreak(), and parse().

◆ getEndPos()

const Reference< text::XTextCursor > & oox::xls::HeaderFooterParser::getEndPos ( )
inlineprivate

Returns the end cursor of the current text range.

Definition at line 401 of file pagesettings.cxx.

References getPortion().

Referenced by appendField(), appendLineBreak(), appendText(), and setAttributes().

◆ getPortion()

HFPortionInfo & oox::xls::HeaderFooterParser::getPortion ( )
inlineprivate

Returns the current edit engine text object.

Definition at line 397 of file pagesettings.cxx.

References maPortions, and meCurrPortion.

Referenced by appendField(), appendLineBreak(), getEndPos(), and getStartPos().

◆ getStartPos()

const Reference< text::XTextCursor > & oox::xls::HeaderFooterParser::getStartPos ( )
inlineprivate

Returns the start cursor of the current text range.

Definition at line 399 of file pagesettings.cxx.

References getPortion().

Referenced by setAttributes().

◆ parse()

double oox::xls::HeaderFooterParser::parse ( const Reference< sheet::XHeaderFooterContent > &  rxContext,
const OUString &  rData 
)

◆ setAttributes()

void oox::xls::HeaderFooterParser::setAttributes ( )
private

Sets the font attributes at the current selection.

Definition at line 755 of file pagesettings.cxx.

References oox::xls::Font::finalizeImport(), getEndPos(), getStartPos(), maFontModel, and oox::xls::Font::writeToPropertySet().

Referenced by finalizePortion(), and parse().

◆ setNewPortion()

void oox::xls::HeaderFooterParser::setNewPortion ( HFPortionId  ePortion)
private

Changes current header/footer portion.

Definition at line 868 of file pagesettings.cxx.

References finalizePortion(), oox::xls::StylesBuffer::getDefaultFontModel(), oox::xls::WorkbookHelper::getStyles(), maFontModel, and meCurrPortion.

Referenced by parse().

◆ updateCurrHeight() [1/2]

void oox::xls::HeaderFooterParser::updateCurrHeight ( )
private

Updates the current line height, using the current font size.

Definition at line 750 of file pagesettings.cxx.

References meCurrPortion, and updateCurrHeight().

Referenced by appendField(), appendText(), and updateCurrHeight().

◆ updateCurrHeight() [2/2]

void oox::xls::HeaderFooterParser::updateCurrHeight ( HFPortionId  ePortion)
private

Updates the current line height of the specified portion, using the current font size.

Definition at line 744 of file pagesettings.cxx.

References maFontModel, maPortions, and oox::xls::FontModel::mfHeight.

Member Data Documentation

◆ maBoldNames

const std::set< OString > oox::xls::HeaderFooterParser::maBoldNames
private

Definition at line 438 of file pagesettings.cxx.

Referenced by convertFontStyle().

◆ maBuffer

OUStringBuffer oox::xls::HeaderFooterParser::maBuffer
private

Identifier of current H/F portion.

Definition at line 442 of file pagesettings.cxx.

Referenced by appendText(), and parse().

◆ maFontModel

FontModel oox::xls::HeaderFooterParser::maFontModel
private

Text data to append to current text range.

Definition at line 443 of file pagesettings.cxx.

Referenced by convertFontColor(), convertFontName(), convertFontStyle(), getCurrHeight(), parse(), setAttributes(), setNewPortion(), and updateCurrHeight().

◆ maItalicNames

const std::set< OString > oox::xls::HeaderFooterParser::maItalicNames
private

All names for bold font style in lowercase UTF-8.

Definition at line 439 of file pagesettings.cxx.

Referenced by convertFontStyle().

◆ maPortions

HFPortionInfoVec oox::xls::HeaderFooterParser::maPortions
private

All names for italic font style in lowercase UTF-8.

Definition at line 440 of file pagesettings.cxx.

Referenced by getCurrHeight(), getPortion(), parse(), and updateCurrHeight().

◆ meCurrPortion

HFPortionId oox::xls::HeaderFooterParser::meCurrPortion
private

Definition at line 441 of file pagesettings.cxx.

Referenced by appendLineBreak(), getPortion(), parse(), setNewPortion(), and updateCurrHeight().


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