LibreOffice Module sc (master) 1
|
#include <defnamesbuffer.hxx>
Public Member Functions | |
DefinedName (const WorkbookHelper &rHelper) | |
virtual | ~DefinedName () override |
void | importDefinedName (const AttributeList &rAttribs) |
Sets the attributes for this defined name from the passed attribute set. More... | |
void | setFormula (const OUString &rFormula) |
Sets the formula string from the body of the definedName element. More... | |
void | importDefinedName (SequenceInputStream &rStrm) |
Imports the defined name from a DEFINEDNAME record in the passed stream. More... | |
void | createNameObject (sal_Int32 nIndex) |
Creates a defined name in the Calc document. More... | |
void | convertFormula (const css::uno::Sequence< css::sheet::ExternalLinkInfo > &rExternalLinks) |
Converts the formula string or BIFF token array for this defined name. More... | |
std::unique_ptr< ScTokenArray > | getScTokens (const css::uno::Sequence< css::sheet::ExternalLinkInfo > &rExternalLinks) |
bool | isGlobalName () const |
Returns true, if this defined name is global in the document. More... | |
bool | isBuiltinName () const |
Returns true, if this defined name is a special builtin name. More... | |
bool | isMacroFunction () const |
Returns true, if this defined name is a macro function call. More... | |
bool | isVBName () const |
Returns true, if this defined name is a reference to a VBA macro. More... | |
sal_Int16 | getLocalCalcSheet () const |
Returns the 0-based sheet index for local names, or -1 for global names. More... | |
sal_Unicode | getBuiltinId () const |
Returns the built-in identifier of the defined name. More... | |
sal_Int32 | getTokenIndex () const |
Returns the token index used in API token arrays (com.sun.star.sheet.FormulaToken). More... | |
bool | getAbsoluteRange (ScRange &orRange) const |
Tries to resolve the defined name to an absolute cell range. More... | |
bool | isValid (const css::uno::Sequence< css::sheet::ExternalLinkInfo > &rExternalLinks) const |
Public Member Functions inherited from oox::xls::DefinedNameBase | |
DefinedNameBase (const WorkbookHelper &rHelper) | |
const OUString & | getModelName () const |
Returns the original name as imported from or exported to the file. More... | |
const OUString & | getCalcName () const |
Returns the name as used in the Calc document. More... | |
const OUString & | getUpcaseModelName () const |
Returns the original name as imported from or exported to the file. More... | |
Public Member Functions inherited from oox::xls::WorkbookHelper | |
WorkbookHelper (WorkbookGlobals &rBookGlob) | |
virtual | ~WorkbookHelper () |
WorkbookHelper (WorkbookHelper const &)=default | |
WorkbookHelper (WorkbookHelper &&)=default | |
WorkbookHelper & | operator= (WorkbookHelper const &)=delete |
WorkbookHelper & | operator= (WorkbookHelper &&)=delete |
::oox::core::FilterBase & | getBaseFilter () const |
Returns the base filter object (base class of all filters). More... | |
SegmentProgressBar & | getProgressBar () 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) |
ScDocument & | getScDocument () |
const ScDocument & | getScDocument () const |
ScDocumentImport & | getDocImport () |
const ScDocumentImport & | getDocImport () const |
ScEditEngineDefaulter & | getEditEngine () 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... | |
ScDBData * | findDatabaseRangeByIndex (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... | |
FormulaBuffer & | getFormulaBuffer () const |
WorkbookSettings & | getWorkbookSettings () const |
Returns the global workbook settings object. More... | |
ViewSettings & | getViewSettings () const |
Returns the workbook and sheet view settings object. More... | |
WorksheetBuffer & | getWorksheets () const |
Returns the worksheet buffer containing sheet names and properties. More... | |
ThemeBuffer & | getTheme () const |
Returns the office theme object read from the theme substorage. More... | |
StylesBuffer & | getStyles () const |
Returns all cell formatting objects read from the styles substream. More... | |
SharedStringsBuffer & | getSharedStrings () const |
Returns the shared strings read from the shared strings substream. More... | |
ExternalLinkBuffer & | getExternalLinks () const |
Returns the external links read from the external links substream. More... | |
DefinedNamesBuffer & | getDefinedNames () const |
Returns the defined names read from the workbook globals. More... | |
TableBuffer & | getTables () const |
Returns the tables collection (equivalent to Calc's database ranges). More... | |
ScenarioBuffer & | getScenarios () const |
Returns the scenarios collection. More... | |
ConnectionsBuffer & | getConnections () const |
Returns the collection of external data connections. More... | |
PivotCacheBuffer & | getPivotCaches () const |
Returns the collection of pivot caches. More... | |
PivotTableBuffer & | getPivotTables () const |
Returns the collection of pivot tables. More... | |
FormulaParser & | getFormulaParser () const |
Returns a shared import formula parser (import filter only!). More... | |
FormulaParser * | createFormulaParser () const |
Returns an unshared import formula parser (import filter only!). More... | |
UnitConverter & | getUnitConverter () const |
Returns the measurement unit converter. More... | |
AddressConverter & | getAddressConverter () const |
Returns the converter for string to cell address/range conversion. More... | |
oox::drawingml::chart::ChartConverter * | getChartConverter () const |
Returns the chart object converter. More... | |
PageSettingsConverter & | getPageSettingsConverter () const |
Returns the page and print settings converter. More... | |
::oox::core::XmlFilterBase & | getOoxFilter () 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::unique_ptr< StreamDataSequence > | StreamDataSeqPtr |
Private Attributes | |
RangeDataRet | maScRangeData |
sal_Int32 | mnTokenIndex |
ScRangeData of the defined name. More... | |
sal_Int16 | mnCalcSheet |
Name index used in API token array. More... | |
sal_Unicode | mcBuiltinId |
Calc sheet index for sheet-local names. More... | |
StreamDataSeqPtr | mxFormula |
Identifier for built-in defined names. 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) |
Protected Attributes inherited from oox::xls::DefinedNameBase | |
DefinedNameModel | maModel |
OUString | maUpModelName |
Model data for this defined name. More... | |
OUString | maCalcName |
Model name converted to uppercase ASCII. More... | |
Definition at line 86 of file defnamesbuffer.hxx.
|
private |
Definition at line 124 of file defnamesbuffer.hxx.
|
explicit |
Definition at line 148 of file defnamesbuffer.cxx.
|
overridevirtual |
Definition at line 356 of file defnamesbuffer.cxx.
References maScRangeData.
void oox::xls::DefinedName::convertFormula | ( | const css::uno::Sequence< css::sheet::ExternalLinkInfo > & | rExternalLinks | ) |
Converts the formula string or BIFF token array for this defined name.
Definition at line 278 of file defnamesbuffer.cxx.
References ScRange::aEnd, ScRange::aStart, oox::xls::BIFF_DEFNAME_PRINTAREA, oox::xls::BIFF_DEFNAME_PRINTTITLES, ScAddress::Col(), ScTokenConversion::ConvertToTokenSequence(), ScRangeList::empty(), oox::xls::FormulaProcessorBase::extractCellRangeList(), oox::xls::WorkbookHelper::getAddressConverter(), ScRangeData::GetCode(), oox::xls::WorkbookHelper::getFormulaParser(), oox::xls::AddressConverter::getMaxAddress(), oox::xls::WorkbookHelper::getScDocument(), getScTokens(), oox::xls::WorkbookHelper::getSheetFromDoc(), i, isGlobalName(), maScRangeData, mcBuiltinId, mnCalcSheet, ScAddress::Row(), ScRangeData::SetCode(), ScRangeList::size(), ScAddress::Tab(), and oox::xls::AddressConverter::toApiSequence().
Referenced by oox::xls::DefinedNamesBuffer::finalizeImport().
void oox::xls::DefinedName::createNameObject | ( | sal_Int32 | nIndex | ) |
Creates a defined name in the Calc document.
Definition at line 212 of file defnamesbuffer.cxx.
References oox::xls::BIFF_DEFNAME_CRITERIA, oox::xls::BIFF_DEFNAME_FILTERDATABASE, oox::xls::BIFF_DEFNAME_PRINTAREA, oox::xls::BIFF_DEFNAME_PRINTTITLES, COLUMN_HEADER, oox::xls::WorkbookHelper::createLocalNamedRangeObject(), oox::xls::WorkbookHelper::createNamedRangeObject(), isBuiltinName(), isGlobalName(), oox::xls::DefinedNameBase::maCalcName, oox::xls::DefinedNameBase::maModel, oox::xls::DefinedNameModel::maName, maScRangeData, oox::xls::DefinedNameModel::mbFunction, oox::xls::DefinedNameModel::mbHidden, oox::xls::DefinedNameModel::mbVBName, mcBuiltinId, oox::xls::DefinedNameModel::mnSheet, mnTokenIndex, nIndex, and ROW_HEADER.
bool oox::xls::DefinedName::getAbsoluteRange | ( | ScRange & | orRange | ) | const |
Tries to resolve the defined name to an absolute cell range.
Definition at line 347 of file defnamesbuffer.cxx.
References ScTokenConversion::ConvertToTokenSequence(), oox::xls::FormulaProcessorBase::extractCellRange(), ScRangeData::GetCode(), oox::xls::WorkbookHelper::getFormulaParser(), oox::xls::WorkbookHelper::getScDocument(), and maScRangeData.
Referenced by oox::xls::AutoFilterBuffer::finalizeImport().
|
inline |
Returns the built-in identifier of the defined name.
Definition at line 116 of file defnamesbuffer.hxx.
References mcBuiltinId.
|
inline |
Returns the 0-based sheet index for local names, or -1 for global names.
Definition at line 114 of file defnamesbuffer.hxx.
References mnCalcSheet.
std::unique_ptr< ScTokenArray > oox::xls::DefinedName::getScTokens | ( | const css::uno::Sequence< css::sheet::ExternalLinkInfo > & | rExternalLinks | ) |
Definition at line 260 of file defnamesbuffer.cxx.
References ScDocument::CheckLinkFormulaNeedingCheck(), ScCompiler::CompileString(), formula::FormulaCompiler::CompileTokenArray(), oox::xls::WorkbookHelper::getScDocument(), formula::FormulaGrammar::GRAM_OOXML, oox::xls::DefinedNameModel::maFormula, oox::xls::DefinedNameBase::maModel, mnCalcSheet, and ScCompiler::SetExternalLinks().
Referenced by convertFormula().
|
inline |
Returns the token index used in API token arrays (com.sun.star.sheet.FormulaToken).
Definition at line 118 of file defnamesbuffer.hxx.
References mnTokenIndex.
void oox::xls::DefinedName::importDefinedName | ( | const AttributeList & | rAttribs | ) |
Sets the attributes for this defined name from the passed attribute set.
Definition at line 157 of file defnamesbuffer.cxx.
References oox::AttributeList::getBool(), oox::xls::WorksheetBuffer::getCalcSheetIndex(), oox::AttributeList::getInteger(), oox::xls::WorkbookHelper::getWorksheets(), oox::AttributeList::getXString(), oox::xls::DefinedNameBase::maModel, oox::xls::DefinedNameModel::maName, oox::xls::DefinedNameModel::mbFunction, oox::xls::DefinedNameModel::mbHidden, oox::xls::DefinedNameModel::mbMacro, oox::xls::DefinedNameModel::mbVBName, mcBuiltinId, mnCalcSheet, oox::xls::DefinedNameModel::mnFuncGroupId, and oox::xls::DefinedNameModel::mnSheet.
void oox::xls::DefinedName::importDefinedName | ( | SequenceInputStream & | rStrm | ) |
Imports the defined name from a DEFINEDNAME record in the passed stream.
Definition at line 178 of file defnamesbuffer.cxx.
References oox::xls::WorksheetBuffer::getCalcSheetIndex(), oox::getFlag(), oox::xls::WorkbookHelper::getWorksheets(), oox::xls::DefinedNameBase::maModel, oox::xls::DefinedNameModel::maName, oox::xls::DefinedNameModel::mbFunction, oox::xls::DefinedNameModel::mbHidden, oox::xls::DefinedNameModel::mbMacro, oox::xls::DefinedNameModel::mbVBName, mcBuiltinId, mnCalcSheet, oox::xls::DefinedNameModel::mnFuncGroupId, oox::xls::DefinedNameModel::mnSheet, mxFormula, and rStrm.
|
inline |
Returns true, if this defined name is a special builtin name.
Definition at line 107 of file defnamesbuffer.hxx.
References oox::xls::BIFF_DEFNAME_UNKNOWN, and mcBuiltinId.
Referenced by createNameObject().
|
inline |
Returns true, if this defined name is global in the document.
Definition at line 105 of file defnamesbuffer.hxx.
References mnCalcSheet.
Referenced by convertFormula(), and createNameObject().
|
inline |
Returns true, if this defined name is a macro function call.
Definition at line 109 of file defnamesbuffer.hxx.
References oox::xls::DefinedNameBase::maModel, oox::xls::DefinedNameModel::mbFunction, and oox::xls::DefinedNameModel::mbMacro.
bool oox::xls::DefinedName::isValid | ( | const css::uno::Sequence< css::sheet::ExternalLinkInfo > & | rExternalLinks | ) | const |
Definition at line 243 of file defnamesbuffer.cxx.
References oox::xls::WorkbookHelper::getScDocument(), oox::xls::DefinedNameModel::maFormula, oox::xls::DefinedNameBase::maModel, ScRange::Parse_XL_Header(), TAB_VALID, and VALID.
|
inline |
Returns true, if this defined name is a reference to a VBA macro.
Definition at line 111 of file defnamesbuffer.hxx.
References oox::xls::DefinedNameBase::maModel, oox::xls::DefinedNameModel::mbMacro, and oox::xls::DefinedNameModel::mbVBName.
Referenced by oox::xls::FormulaParser::importMacroName().
void oox::xls::DefinedName::setFormula | ( | const OUString & | rFormula | ) |
Sets the formula string from the body of the definedName element.
Definition at line 173 of file defnamesbuffer.cxx.
References oox::xls::DefinedNameModel::maFormula, and oox::xls::DefinedNameBase::maModel.
|
private |
Definition at line 126 of file defnamesbuffer.hxx.
Referenced by convertFormula(), createNameObject(), getAbsoluteRange(), and ~DefinedName().
|
private |
Calc sheet index for sheet-local names.
Definition at line 129 of file defnamesbuffer.hxx.
Referenced by convertFormula(), createNameObject(), getBuiltinId(), importDefinedName(), and isBuiltinName().
|
private |
Name index used in API token array.
Definition at line 128 of file defnamesbuffer.hxx.
Referenced by convertFormula(), getLocalCalcSheet(), getScTokens(), importDefinedName(), and isGlobalName().
|
private |
ScRangeData of the defined name.
Definition at line 127 of file defnamesbuffer.hxx.
Referenced by createNameObject(), and getTokenIndex().
|
private |
Identifier for built-in defined names.
Definition at line 130 of file defnamesbuffer.hxx.
Referenced by importDefinedName().