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

Implementation class of the name manager. More...

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

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 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...
 

Detailed Description

Implementation class of the name manager.

Definition at line 115 of file xename.cxx.

Member Typedef Documentation

◆ NamedExpMap

typedef ::std::map< ::std::pair<SCTAB, OUString>, sal_uInt16> XclExpNameManagerImpl::NamedExpMap
private

Definition at line 153 of file xename.cxx.

◆ XclExpNameList

Definition at line 150 of file xename.cxx.

◆ XclExpNameRef

Definition at line 151 of file xename.cxx.

Constructor & Destructor Documentation

◆ XclExpNameManagerImpl()

XclExpNameManagerImpl::XclExpNameManagerImpl ( const XclExpRoot rRoot)
explicit

Definition at line 415 of file xename.cxx.

Member Function Documentation

◆ Append() [1/2]

sal_uInt16 XclExpNameManagerImpl::Append ( XclExpName *  pName)
private

Appends a new NAME record to the record list.

Returns
The 1-based NAME record index used elsewhere in the Excel file.

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().

◆ Append() [2/2]

sal_uInt16 XclExpNameManagerImpl::Append ( XclExpNameRef const &  rxName)
inlineprivate

Definition at line 173 of file xename.cxx.

References Append().

Referenced by Append().

◆ CreateBuiltInNames()

void XclExpNameManagerImpl::CreateBuiltInNames ( )
private

◆ CreateName()

sal_uInt16 XclExpNameManagerImpl::CreateName ( SCTAB  nTab,
const ScRangeData rRangeData 
)
private

◆ CreateUserNames()

void XclExpNameManagerImpl::CreateUserNames ( )
private

◆ FindBuiltInNameIdx()

sal_uInt16 XclExpNameManagerImpl::FindBuiltInNameIdx ( const OUString &  rName,
const OUString &  sSymbol 
) const
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().

◆ FindNamedExp()

sal_uInt16 XclExpNameManagerImpl::FindNamedExp ( SCTAB  nTab,
OUString  sName 
)
private
Parameters
nTab0-based table index, or SCTAB_GLOBAL for global names.
nScIdxcalc's name index.
Returns
excel's name index.

Definition at line 553 of file xename.cxx.

References maNamedExpMap, and sName.

Referenced by CreateUserNames(), and InsertName().

◆ GetName()

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.

◆ GetUnusedName()

OUString XclExpNameManagerImpl::GetUnusedName ( const OUString &  rName) const
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().

◆ Initialize()

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.

◆ InsertBuiltInName() [1/2]

sal_uInt16 XclExpNameManagerImpl::InsertBuiltInName ( sal_Unicode  cBuiltIn,
const XclTokenArrayRef xTokArr,
const ScRange aRange 
)

◆ InsertBuiltInName() [2/2]

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.

◆ InsertMacroCall()

sal_uInt16 XclExpNameManagerImpl::InsertMacroCall ( const OUString &  rMacroName,
bool  bVBasic,
bool  bFunc,
bool  bHidden 
)

Searches or inserts a defined name describing a macro name.

Parameters
bVBasictrue = Visual Basic macro; false = Sheet macro.
bFunctrue = 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.

◆ InsertName()

sal_uInt16 XclExpNameManagerImpl::InsertName ( SCTAB  nTab,
sal_uInt16  nScNameIdx,
SCTAB  nCurrTab 
)

◆ InsertRawName()

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.

◆ InsertUniqueName()

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().

◆ Save()

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().

◆ SaveXml()

void XclExpNameManagerImpl::SaveXml ( XclExpXmlStream rStrm)

Member Data Documentation

◆ maNamedExpMap

NamedExpMap XclExpNameManagerImpl::maNamedExpMap
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().

◆ maNameList

XclExpNameList XclExpNameManagerImpl::maNameList
private

◆ mnFirstUserIdx

size_t XclExpNameManagerImpl::mnFirstUserIdx
private

List of NAME records.

Definition at line 191 of file xename.cxx.

Referenced by FindBuiltInNameIdx(), GetUnusedName(), Initialize(), InsertMacroCall(), and InsertRawName().


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