LibreOffice Module sc (master) 1
|
The formula compiler to create Excel token arrays from Calc token arrays. More...
#include <xeformula.hxx>
Public Member Functions | |
XclExpFormulaCompiler (const XclExpRoot &rRoot) | |
virtual | ~XclExpFormulaCompiler () override |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScTokenArray &rScTokArr, const ScAddress *pScBasePos=nullptr, XclExpRefLog *pRefLog=nullptr) |
Creates and returns the token array of a formula. More... | |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScAddress &rScPos) |
Creates and returns a token array containing a single cell address. More... | |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScRange &rScRange) |
Creates and returns a token array containing a single cell range address. More... | |
XclTokenArrayRef | CreateFormula (XclFormulaType eType, const ScRangeList &rScRanges) |
Creates and returns the token array for a cell range list. More... | |
XclTokenArrayRef | CreateErrorFormula (sal_uInt8 nErrCode) |
Creates a single error token containing the passed error code. More... | |
XclTokenArrayRef | CreateSpecialRefFormula (sal_uInt8 nTokenId, const XclAddress &rXclPos) |
Creates a single token for a special cell reference. More... | |
XclTokenArrayRef | CreateNameXFormula (sal_uInt16 nExtSheet, sal_uInt16 nExtName) |
Creates a single tNameXR token for a reference to an external name. More... | |
bool | IsRef2D (const ScSingleRefData &rRefData) const |
bool | IsRef2D (const ScComplexRefData &rRefData) const |
Private Types | |
typedef std::shared_ptr< XclExpFmlaCompImpl > | XclExpFmlaCompImplRef |
Private Attributes | |
XclExpFmlaCompImplRef | mxImpl |
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... | |
The formula compiler to create Excel token arrays from Calc token arrays.
Definition at line 51 of file xeformula.hxx.
|
private |
Definition at line 87 of file xeformula.hxx.
|
explicit |
Definition at line 2646 of file xeformula.cxx.
References make_shared().
|
overridevirtual |
Definition at line 2652 of file xeformula.cxx.
XclTokenArrayRef XclExpFormulaCompiler::CreateErrorFormula | ( | sal_uInt8 | nErrCode | ) |
Creates a single error token containing the passed error code.
Definition at line 2695 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpTableop::CreateCellTokenArray().
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScAddress & | rScPos | ||
) |
Creates and returns a token array containing a single cell address.
Definition at line 2663 of file xeformula.cxx.
References eType, XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), and mxImpl.
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScRange & | rScRange | ||
) |
Creates and returns a token array containing a single cell range address.
Definition at line 2670 of file xeformula.cxx.
References eType, XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), and mxImpl.
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScRangeList & | rScRanges | ||
) |
Creates and returns the token array for a cell range list.
Definition at line 2677 of file xeformula.cxx.
References ScTokenArray::AddOpCode(), eType, XclRoot::GetCurrScTab(), XclRoot::GetDoc(), XclExpRoot::GetRoot(), mxImpl, nCount, ocUnion, and ScRangeList::size().
XclTokenArrayRef XclExpFormulaCompiler::CreateFormula | ( | XclFormulaType | eType, |
const ScTokenArray & | rScTokArr, | ||
const ScAddress * | pScBasePos = nullptr , |
||
XclExpRefLog * | pRefLog = nullptr |
||
) |
Creates and returns the token array of a formula.
Definition at line 2656 of file xeformula.cxx.
Referenced by XclExpChSourceLink::ConvertDataSequence(), XclExpControlHelper::ConvertSheetLinks(), XclExpArrayBuffer::CreateArray(), XclExpNameManagerImpl::CreateName(), XclExpShrfmlaBuffer::CreateOrExtendShrfmla(), XclExpChTrCellContent::GetCellData(), XclExpNameManager::InsertBuiltInName(), XclExpCFImpl::WriteBody(), XclExpDV::XclExpDV(), XclExpFormulaCell::XclExpFormulaCell(), and XclExpWebQueryBuffer::XclExpWebQueryBuffer().
XclTokenArrayRef XclExpFormulaCompiler::CreateNameXFormula | ( | sal_uInt16 | nExtSheet, |
sal_uInt16 | nExtName | ||
) |
Creates a single tNameXR token for a reference to an external name.
@descr This is used i.e. for linked macros in push buttons.
Definition at line 2706 of file xeformula.cxx.
References mxImpl.
Referenced by XclMacroHelper::SetMacroLink().
XclTokenArrayRef XclExpFormulaCompiler::CreateSpecialRefFormula | ( | sal_uInt8 | nTokenId, |
const XclAddress & | rXclPos | ||
) |
Creates a single token for a special cell reference.
@descr This is used for array formulas and shared formulas (token tExp), and multiple operation tables (token tTbl).
Definition at line 2700 of file xeformula.cxx.
References mxImpl.
Referenced by XclExpArray::CreateCellTokenArray(), XclExpShrfmla::CreateCellTokenArray(), and XclExpTableop::CreateCellTokenArray().
bool XclExpFormulaCompiler::IsRef2D | ( | const ScComplexRefData & | rRefData | ) | const |
Definition at line 2717 of file xeformula.cxx.
References mxImpl.
bool XclExpFormulaCompiler::IsRef2D | ( | const ScSingleRefData & | rRefData | ) | const |
Definition at line 2712 of file xeformula.cxx.
References mxImpl.
|
private |
Definition at line 88 of file xeformula.hxx.
Referenced by CreateErrorFormula(), CreateFormula(), CreateNameXFormula(), CreateSpecialRefFormula(), and IsRef2D().