LibreOffice Module sc (master) 1
|
Implementation class of the name manager. More...
Public Member Functions | |
XclExpNameManagerImpl (const XclExpRoot &rRoot) | |
void | Initialize () |
Creates NAME records for built-in and user defined names. More... | |
sal_uInt16 | InsertName (SCTAB nTab, sal_uInt16 nScNameIdx, SCTAB nCurrTab) |
Inserts the Calc name with the passed index and returns the Excel NAME index. More... | |
sal_uInt16 | InsertBuiltInName (sal_Unicode cBuiltIn, const XclTokenArrayRef &xTokArr, SCTAB nScTab, const ScRangeList &aRangeList) |
Inserts a new built-in defined name. More... | |
sal_uInt16 | InsertBuiltInName (sal_Unicode cBuiltIn, const XclTokenArrayRef &xTokArr, const ScRange &aRange) |
sal_uInt16 | InsertUniqueName (const OUString &rName, const XclTokenArrayRef &xTokArr, SCTAB nScTab) |
Inserts a new defined name. More... | |
sal_uInt16 | InsertRawName (const OUString &rName) |
Returns index of an existing name, or creates a name without definition. More... | |
sal_uInt16 | InsertMacroCall (const OUString &rMacroName, bool bVBasic, bool bFunc, bool bHidden) |
Searches or inserts a defined name describing a macro name. More... | |
const XclExpName * | GetName (sal_uInt16 nNameIdx) const |
Returns the NAME record at the specified position or 0 on error. More... | |
void | Save (XclExpStream &rStrm) |
Writes the entire list of NAME records. More... | |
void | SaveXml (XclExpXmlStream &rStrm) |
Private Types | |
typedef XclExpRecordList< XclExpName > | XclExpNameList |
typedef XclExpNameList::RecordRefType | XclExpNameRef |
typedef ::std::map< ::std::pair< SCTAB, OUString >, sal_uInt16 > | NamedExpMap |
Private Member Functions | |
sal_uInt16 | FindNamedExp (SCTAB nTab, OUString sName) |
sal_uInt16 | FindBuiltInNameIdx (const OUString &rName, const OUString &sSymbol) const |
Returns the index of an existing built-in NAME record with the passed definition, otherwise 0. More... | |
OUString | GetUnusedName (const OUString &rName) const |
Returns an unused name for the passed name. More... | |
sal_uInt16 | Append (XclExpName *pName) |
Appends a new NAME record to the record list. More... | |
sal_uInt16 | Append (XclExpNameRef const &rxName) |
sal_uInt16 | CreateName (SCTAB nTab, const ScRangeData &rRangeData) |
Creates a new NAME record for the passed user-defined name. More... | |
void | CreateBuiltInNames () |
Creates NAME records for all built-in names in the document. More... | |
void | CreateUserNames () |
Creates NAME records for all user-defined names in the document. More... | |
Private Attributes | |
NamedExpMap | maNamedExpMap |
Maps Calc's named range to Excel's NAME records. More... | |
XclExpNameList | maNameList |
size_t | mnFirstUserIdx |
List of NAME records. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from XclExpRoot | |
XclExpRoot (XclExpRootData &rExpRootData) | |
const XclExpRoot & | GetRoot () 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::CompileFormulaContext & | GetCompileFormulaContext () const |
XclExpTabInfo & | GetTabInfo () const |
Returns the buffer for Calc->Excel sheet index conversion. More... | |
XclExpAddressConverter & | GetAddressConverter () const |
Returns the address converter. More... | |
XclExpFormulaCompiler & | GetFormulaCompiler () const |
Returns the formula compiler to produce formula token arrays. More... | |
XclExpProgressBar & | GetProgressBar () const |
Returns the export progress bar. More... | |
XclExpSst & | GetSst () const |
Returns the shared string table. More... | |
XclExpPalette & | GetPalette () const |
Returns the color buffer. More... | |
XclExpFontBuffer & | GetFontBuffer () const |
Returns the font buffer. More... | |
XclExpNumFmtBuffer & | GetNumFmtBuffer () const |
Returns the number format buffer. More... | |
XclExpXFBuffer & | GetXFBuffer () const |
Returns the cell formatting attributes buffer. More... | |
XclExpLinkManager & | GetGlobalLinkManager () const |
Returns the global link manager for defined names. More... | |
XclExpLinkManager & | GetLocalLinkManager () const |
Returns the local link manager for the current sheet. More... | |
XclExpNameManager & | GetNameManager () const |
Returns the buffer that contains internal defined names. More... | |
XclExpObjectManager & | GetObjectManager () const |
Returns the drawing object manager. More... | |
XclExpFilterManager & | GetFilterManager () const |
Returns the filter manager. More... | |
XclExpPivotTableManager & | GetPivotTableManager () const |
Returns the pivot table manager. More... | |
XclExpDxfs & | GetDxfs () const |
Returns the differential formatting list. More... | |
OStringBuffer & | GetStringBuf () const |
Clean and return the OStringBuffer. More... | |
XclExpXmlPivotTableManager & | GetXmlPivotTableManager () |
XclExpTablesManager & | GetTablesManager () |
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 () |
XclRoot & | operator= (const XclRoot &rRoot) |
RootData & | GetOldRoot () 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... | |
SfxMedium & | GetMedium () 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< SotStorage > | OpenStorage (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< SotStorage > | OpenStorage (const OUString &rStrgName) const |
Tries to open a storage as child of the root storage for reading or writing. More... | |
tools::SvRef< SotStorageStream > | OpenStream (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< SotStorageStream > | OpenStream (const OUString &rStrmName) const |
Tries to open a new stream in the root storage for reading or writing. More... | |
ScDocument & | GetDoc () const |
Returns reference to the destination document (import) or source document (export). More... | |
SfxObjectShell * | GetDocShell () const |
Returns the object shell of the Calc document. More... | |
ScModelObj * | GetDocModelObj () const |
Returns the object model of the Calc document. More... | |
OutputDevice * | GetPrinter () const |
Returns pointer to the printer of the Calc document. More... | |
ScStyleSheetPool & | GetStyleSheetPool () const |
Returns the style sheet pool of the Calc document. More... | |
ScRangeName & | GetNamedRanges () const |
Returns the defined names container of the Calc document. More... | |
SdrPage * | GetSdrPage (SCTAB nScTab) const |
Returns the drawing layer page of the passed sheet, if present. More... | |
SvNumberFormatter & | GetFormatter () 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... | |
ScEditEngineDefaulter & | GetEditEngine () const |
Returns the edit engine for import/export of rich strings etc. More... | |
ScHeaderEditEngine & | GetHFEditEngine () const |
Returns the edit engine for import/export of headers/footers. More... | |
EditEngine & | GetDrawEditEngine () const |
Returns the edit engine for import/export of drawing text boxes. More... | |
XclFontPropSetHelper & | GetFontPropSetHelper () const |
Returns the property set helper for fonts. More... | |
XclChPropSetHelper & | GetChartPropSetHelper () const |
Returns the property set helper for the chart filters. More... | |
ScExtDocOptions & | GetExtDocOptions () const |
Returns the extended document options. More... | |
XclTracer & | GetTracer () const |
Returns the filter tracer. More... | |
const ScAddress & | GetScMaxPos () const |
Returns the highest possible cell address in a Calc document. More... | |
const ScAddress & | GetXclMaxPos () const |
Returns the highest possible cell address in an Excel document (using current BIFF version). More... | |
const ScAddress & | GetMaxPos () 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... | |
Implementation class of the name manager.
Definition at line 115 of file xename.cxx.
|
private |
Definition at line 153 of file xename.cxx.
|
private |
Definition at line 150 of file xename.cxx.
|
private |
Definition at line 151 of file xename.cxx.
|
explicit |
Definition at line 415 of file xename.cxx.
|
private |
Appends a new NAME record to the record list.
Definition at line 609 of file xename.cxx.
References XclExpRecordList< RecType >::AppendRecord(), XclExpRecordList< RecType >::GetSize(), maNameList, and pName.
Referenced by CreateName(), InsertBuiltInName(), InsertMacroCall(), InsertRawName(), and InsertUniqueName().
|
inlineprivate |
|
private |
Creates NAME records for all built-in names in the document.
Definition at line 685 of file xename.cxx.
References ScRange::aEnd, ScRange::aStart, Col, ScRangeList::empty(), EXC_BIFF8, EXC_BUILTIN_PRINTAREA, EXC_BUILTIN_PRINTTITLES, XclExpRoot::GetAddressConverter(), XclRoot::GetBiff(), XclRoot::GetDoc(), XclExpRoot::GetFilterManager(), XclExpRoot::GetNameManager(), ScDocument::GetPrintRange(), ScDocument::GetPrintRangeCount(), XclExpTabInfo::GetRealScTab(), ScDocument::GetRepeatColRange(), ScDocument::GetRepeatRowRange(), XclExpTabInfo::GetScTabCount(), XclExpRoot::GetTabInfo(), XclRoot::GetXclMaxPos(), ScDocument::HasPrintRange(), XclExpFilterManager::InitTabFilter(), XclExpNameManager::InsertBuiltInName(), XclExpTabInfo::IsExportTab(), nCount, ScRangeList::push_back(), ScRange::PutInOrder(), Row, ScAddress::SetTab(), and XclExpAddressConverter::ValidateRangeList().
Referenced by Initialize().
|
private |
Creates a new NAME record for the passed user-defined name.
Definition at line 617 of file xename.cxx.
References ScRangeData::AbsArea, ScRangeData::AbsPos, Append(), XclExpFormulaCompiler::CreateFormula(), formula::FormulaCompiler::CreateStringFromTokenArray(), EXC_FMLATYPE_NAME, EXC_OUTPUT_BINARY, EXC_OUTPUT_XML_2007, FindBuiltInNameIdx(), formula::FormulaTokenArray::FirstToken(), XclRoot::GetDoc(), XclExpRoot::GetFormulaCompiler(), ScRangeData::GetName(), XclRoot::GetOutput(), ScRangeData::GetPos(), XclExpRoot::GetRoot(), XclExpRecordList< RecType >::GetSize(), ScRangeData::GetSymbol(), formula::FormulaGrammar::GRAM_ENGLISH_XL_A1, formula::FormulaGrammar::GRAM_OOXML, ScRangeData::HasType(), lcl_EnsureAbs3DToken(), maNamedExpMap, maNameList, XclExpRecordList< RecType >::RemoveRecord(), and SCTAB_GLOBAL.
Referenced by CreateUserNames(), and InsertName().
|
private |
Creates NAME records for all user-defined names in the document.
Definition at line 749 of file xename.cxx.
References ScRangeData::AbsArea, ScRangeData::AbsPos, CreateName(), FindNamedExp(), formula::FormulaTokenArray::FirstToken(), ScDocument::GetAllTabRangeNames(), formula::FormulaTokenArray::GetCode(), XclRoot::GetDoc(), XclRoot::GetNamedRanges(), ScDocument::GetTableCount(), lcl_EnsureAbs3DToken(), and SCTAB_GLOBAL.
Referenced by Initialize().
|
private |
Returns the index of an existing built-in NAME record with the passed definition, otherwise 0.
Definition at line 560 of file xename.cxx.
References EXC_BUILTIN_UNKNOWN, XclTools::GetBuiltInDefNameIndex(), XclExpRecordList< RecType >::GetRecord(), maNameList, mnFirstUserIdx, and nPos.
Referenced by CreateName().
|
private |
nTab | 0-based table index, or SCTAB_GLOBAL for global names. |
nScIdx | calc's name index. |
Definition at line 553 of file xename.cxx.
References maNamedExpMap, and sName.
Referenced by CreateUserNames(), and InsertName().
const XclExpName * XclExpNameManagerImpl::GetName | ( | sal_uInt16 | nNameIdx | ) | const |
Returns the NAME record at the specified position or 0 on error.
Definition at line 530 of file xename.cxx.
References XclExpRecordList< RecType >::GetRecord(), XclExpRecordList< RecType >::HasRecord(), and maNameList.
|
private |
Returns an unused name for the passed name.
Definition at line 588 of file xename.cxx.
References XclExpRecordList< RecType >::GetRecord(), XclExpRecordList< RecType >::GetSize(), maNameList, mnFirstUserIdx, and nPos.
Referenced by InsertUniqueName().
void XclExpNameManagerImpl::Initialize | ( | ) |
Creates NAME records for built-in and user defined names.
Definition at line 421 of file xename.cxx.
References CreateBuiltInNames(), CreateUserNames(), XclExpRecordList< RecType >::GetSize(), maNameList, and mnFirstUserIdx.
sal_uInt16 XclExpNameManagerImpl::InsertBuiltInName | ( | sal_Unicode | cBuiltIn, |
const XclTokenArrayRef & | xTokArr, | ||
const ScRange & | aRange | ||
) |
Definition at line 454 of file xename.cxx.
References Append(), ScRange::aStart, formula::FormulaGrammar::CONV_XL_A1, ScRange::Format(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), RANGE_ABS_3D, and ScAddress::Tab().
sal_uInt16 XclExpNameManagerImpl::InsertBuiltInName | ( | sal_Unicode | cBuiltIn, |
const XclTokenArrayRef & | xTokArr, | ||
SCTAB | nScTab, | ||
const ScRangeList & | aRangeList | ||
) |
Inserts a new built-in defined name.
Definition at line 464 of file xename.cxx.
References Append(), formula::FormulaGrammar::CONV_XL_A1, ScRangeList::Format(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), and RANGE_ABS_3D.
sal_uInt16 XclExpNameManagerImpl::InsertMacroCall | ( | const OUString & | rMacroName, |
bool | bVBasic, | ||
bool | bFunc, | ||
bool | bHidden | ||
) |
Searches or inserts a defined name describing a macro name.
bVBasic | true = Visual Basic macro; false = Sheet macro. |
bFunc | true = Macro function; false = Macro procedure. |
Definition at line 504 of file xename.cxx.
References Append(), EXC_ERR_NAME, XclExpRoot::GetFormulaCompiler(), XclExpRecordList< RecType >::GetRecord(), XclExpRoot::GetRoot(), XclExpRecordList< RecType >::GetSize(), maNameList, and mnFirstUserIdx.
Inserts the Calc name with the passed index and returns the Excel NAME index.
Definition at line 428 of file xename.cxx.
References ScRangeData::AbsArea, ScRangeData::AbsPos, CreateName(), ScRangeName::findByIndex(), FindNamedExp(), formula::FormulaTokenArray::FirstToken(), XclRoot::GetDoc(), ScDocument::GetRangeName(), lcl_EnsureAbs3DToken(), pData, and SCTAB_GLOBAL.
sal_uInt16 XclExpNameManagerImpl::InsertRawName | ( | const OUString & | rName | ) |
Returns index of an existing name, or creates a name without definition.
Definition at line 485 of file xename.cxx.
References Append(), XclExpRecordList< RecType >::GetRecord(), XclExpRoot::GetRoot(), XclExpRecordList< RecType >::GetSize(), maNameList, and mnFirstUserIdx.
sal_uInt16 XclExpNameManagerImpl::InsertUniqueName | ( | const OUString & | rName, |
const XclTokenArrayRef & | xTokArr, | ||
SCTAB | nScTab | ||
) |
Inserts a new defined name.
Sets another unused name, if rName already exists.
Definition at line 475 of file xename.cxx.
References Append(), XclExpRoot::GetRoot(), and GetUnusedName().
void XclExpNameManagerImpl::Save | ( | XclExpStream & | rStrm | ) |
Writes the entire list of NAME records.
@descr In BIFF7 and lower, writes the entire global link table, which consists of an EXTERNCOUNT record, several EXTERNSHEET records, and the list of NAME records.
Definition at line 536 of file xename.cxx.
References maNameList, rStrm, and XclExpRecordList< RecType >::Save().
void XclExpNameManagerImpl::SaveXml | ( | XclExpXmlStream & | rStrm | ) |
Definition at line 541 of file xename.cxx.
References XclExpRecordList< RecType >::IsEmpty(), maNameList, rStrm, and XclExpRecordList< RecType >::SaveXml().
|
private |
Maps Calc's named range to Excel's NAME records.
Global names use -1 as their table index, whereas sheet-local names have 0-based table index.
Definition at line 189 of file xename.cxx.
Referenced by CreateName(), and FindNamedExp().
|
private |
Definition at line 190 of file xename.cxx.
Referenced by Append(), CreateName(), FindBuiltInNameIdx(), GetName(), GetUnusedName(), Initialize(), InsertMacroCall(), InsertRawName(), Save(), and SaveXml().
|
private |
List of NAME records.
Definition at line 191 of file xename.cxx.
Referenced by FindBuiltInNameIdx(), GetUnusedName(), Initialize(), InsertMacroCall(), and InsertRawName().