| LibreOffice Module sc (master) 1
    | 
Converts an Excel header/footer string into three edit engine text objects. More...
#include <xihelper.hxx>
| Classes | |
| struct | XclImpHFPortionInfo | 
| Contains all information about a header/footer portion.  More... | |
| Public Member Functions | |
| XclImpHFConverter (const XclImpHFConverter &)=delete | |
| delete copy constructor  More... | |
| const XclImpHFConverter & | operator= (const XclImpHFConverter &)=delete | 
| delete copy-assignment operator  More... | |
| XclImpHFConverter (const XclImpRoot &rRoot) | |
| virtual | ~XclImpHFConverter () override | 
| void | ParseString (const OUString &rHFString) | 
| Parses the passed string and creates three new edit engine text objects.  More... | |
| void | FillToItemSet (SfxItemSet &rItemSet, sal_uInt16 nWhichId) const | 
| Creates a ScPageHFItem and inserts it into the passed item set.  More... | |
| sal_Int32 | GetTotalHeight () const | 
| Returns the total height of the converted header or footer in twips.  More... | |
| Private Types | |
| enum | XclImpHFPortion { EXC_HF_LEFT , EXC_HF_CENTER , EXC_HF_RIGHT , EXC_HF_PORTION_COUNT } | 
| Enumerates the supported header/footer portions.  More... | |
| typedef ::std::unique_ptr< XclFontData > | XclFontDataPtr | 
| Private Member Functions | |
| XclImpHFPortionInfo & | GetCurrInfo () | 
| Returns the current edit engine text object.  More... | |
| XclImpHFPortionInfo::EditTextObjectRef & | GetCurrObj () | 
| Returns the current edit engine text object.  More... | |
| ESelection & | GetCurrSel () | 
| Returns the current selection.  More... | |
| sal_uInt16 | GetMaxLineHeight (XclImpHFPortion ePortion) const | 
| Returns the maximum line height of the specified portion.  More... | |
| void | UpdateMaxLineHeight (XclImpHFPortion ePortion) | 
| Updates the maximum line height of the specified portion, using the current font size.  More... | |
| void | UpdateCurrMaxLineHeight () | 
| Updates the current maximum line height, using the current font size.  More... | |
| void | SetAttribs () | 
| Sets the font attributes at the current selection.  More... | |
| void | ResetFontData () | 
| Resets font data to application default font.  More... | |
| void | InsertText () | 
| Inserts maCurrText into edit engine and adjusts the current selection object.  More... | |
| void | InsertField (const SvxFieldItem &rFieldItem) | 
| Inserts the passed text field and adjusts the current selection object.  More... | |
| void | InsertLineBreak () | 
| Inserts a line break and adjusts the current selection object.  More... | |
| void | CreateCurrObject () | 
| Creates the edit engine text object of current portion from edit engine.  More... | |
| void | SetNewPortion (XclImpHFPortion eNew) | 
| Changes current header/footer portion to eNew.  More... | |
| Private Attributes | |
| EditEngine & | mrEE | 
| std::vector< XclImpHFPortionInfo > | maInfos | 
| The header/footer edit engine.  More... | |
| OUStringBuffer | maCurrText | 
| Edit engine text objects for all portions.  More... | |
| XclFontDataPtr | mxFontData | 
| Current text to insert into edit engine.  More... | |
| XclImpHFPortion | meCurrObj | 
| Font data of current text.  More... | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from XclImpRoot | |
| XclImpRoot (XclImpRootData &rImpRootData) | |
| const XclImpRoot & | GetRoot () const | 
| Returns this root instance - for code readability in derived classes.  More... | |
| XclImpRoot & | GetRoot () | 
| void | SetCodePage (sal_uInt16 nCodePage) | 
| Sets a code page read from a CODEPAGE record for byte string import.  More... | |
| void | InitializeTable (SCTAB nScTab) | 
| Is called when import filter starts importing a single sheet (all BIFF versions).  More... | |
| void | FinalizeTable () | 
| Is called when import filter stops importing a single sheet (all BIFF versions).  More... | |
| XclImpAddressConverter & | GetAddressConverter () const | 
| Returns the address converter.  More... | |
| XclImpFormulaCompiler & | GetFormulaCompiler () const | 
| Returns the formula converter.  More... | |
| ExcelToSc & | GetOldFmlaConverter () const | 
| Returns the old formula converter.  More... | |
| XclImpSst & | GetSst () const | 
| Returns the shared string table.  More... | |
| XclImpPalette & | GetPalette () const | 
| Returns the color buffer.  More... | |
| XclImpFontBuffer & | GetFontBuffer () const | 
| Returns the font buffer.  More... | |
| XclImpNumFmtBuffer & | GetNumFmtBuffer () const | 
| Returns the number format buffer.  More... | |
| XclImpXFBuffer & | GetXFBuffer () const | 
| Returns the cell formatting attributes buffer.  More... | |
| XclImpXFRangeBuffer & | GetXFRangeBuffer () const | 
| Returns the buffer of XF index ranges for a sheet.  More... | |
| ScRangeListTabs & | GetPrintAreaBuffer () const | 
| Returns the buffer that contains all print areas in the document.  More... | |
| ScRangeListTabs & | GetTitleAreaBuffer () const | 
| Returns the buffer that contains all print titles in the document.  More... | |
| XclImpTabInfo & | GetTabInfo () const | 
| Returns the buffer that contains the sheet creation order.  More... | |
| XclImpNameManager & | GetNameManager () const | 
| Returns the buffer that contains internal defined names.  More... | |
| XclImpLinkManager & | GetLinkManager () const | 
| Returns the link manager.  More... | |
| XclImpObjectManager & | GetObjectManager () const | 
| Returns the drawing object manager.  More... | |
| XclImpSheetDrawing & | GetCurrSheetDrawing () const | 
| Returns the drawing container of the current sheet.  More... | |
| XclImpCondFormatManager & | GetCondFormatManager () const | 
| Returns the conditional formatting manager.  More... | |
| XclImpValidationManager & | GetValidationManager () const | 
| XclImpAutoFilterBuffer & | GetFilterManager () const | 
| Returns the filter manager.  More... | |
| XclImpWebQueryBuffer & | GetWebQueryBuffer () const | 
| Returns the web query buffer.  More... | |
| XclImpPivotTableManager & | GetPivotTableManager () const | 
| Returns the pivot table manager.  More... | |
| XclImpSheetProtectBuffer & | GetSheetProtectBuffer () const | 
| Returns the sheet protection options of the current sheet.  More... | |
| XclImpDocProtectBuffer & | GetDocProtectBuffer () const | 
| Returns the document protection options.  More... | |
| XclImpPageSettings & | GetPageSettings () const | 
| Returns the page settings of the current sheet.  More... | |
| XclImpDocViewSettings & | GetDocViewSettings () const | 
| Returns the view settings of the entire document.  More... | |
| XclImpTabViewSettings & | GetTabViewSettings () const | 
| Returns the view settings of the current sheet.  More... | |
| bool | HasBasic () const | 
| Returns true, if the document contains a VB project.  More... | |
| void | SetHasBasic () | 
| Called to indicate that the document contains a VB project.  More... | |
| void | ReadCodeName (XclImpStream &rStrm, bool bGlobals) | 
| Reads the CODENAME record and inserts the codename into the document.  More... | |
| ScDocumentImport & | GetDocImport () | 
|  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 XclImpRoot | |
| static OUString | GetScAddInName (const OUString &rXclName) | 
| Returns the Calc add-in function name for an Excel function name.  More... | |
|  Static Protected Member Functions inherited from XclRoot | |
| static OUString | GetDefaultPassword () | 
| Returns the default password used for stream encryption.  More... | |
Converts an Excel header/footer string into three edit engine text objects.
@descr Header/footer content is divided into three parts: Left, center and right portion. All formatting information is encoded in the Excel string using special character sequences. A control sequence starts with the ampersand character.
Supported control sequences: &L start of left portion &C start of center portion &R start of right portion &P current page number &N page count &D current date &T current time &A table name &F file name without path (see also &Z&F) &Z file path without file name (converted to full file name, see also &Z&F) &Z&F file path and name &U underlining on/off &E double underlining on/off &S strikeout characters on/off &X superscript on/off &Y subscript on/off &"fontname,fontstyle" use font with name 'fontname' and style 'fontstyle' &fontheight set font height in points ('fontheight' is a decimal value)
Known but unsupported control sequences: &G picture
Definition at line 163 of file xihelper.hxx.
| 
 | private | 
Definition at line 183 of file xihelper.hxx.
| 
 | private | 
Enumerates the supported header/footer portions.
| Enumerator | |
|---|---|
| EXC_HF_LEFT | |
| EXC_HF_CENTER | |
| EXC_HF_RIGHT | |
| EXC_HF_PORTION_COUNT | |
Definition at line 186 of file xihelper.hxx.
| 
 | delete | 
delete copy constructor
| 
 | explicit | 
Definition at line 270 of file xihelper.cxx.
| 
 | overridevirtual | 
Definition at line 278 of file xihelper.cxx.
| 
 | private | 
Creates the edit engine text object of current portion from edit engine.
Definition at line 571 of file xihelper.cxx.
References EditEngine::CreateTextObject(), GetCurrObj(), InsertText(), mrEE, and SetAttribs().
Referenced by ParseString(), and SetNewPortion().
| void XclImpHFConverter::FillToItemSet | ( | SfxItemSet & | rItemSet, | 
| sal_uInt16 | nWhichId | ||
| ) | const | 
Creates a ScPageHFItem and inserts it into the passed item set.
Definition at line 479 of file xihelper.cxx.
References EXC_HF_CENTER, EXC_HF_LEFT, EXC_HF_RIGHT, maInfos, SfxItemSet::Put(), ScPageHFItem::SetCenterArea(), ScPageHFItem::SetLeftArea(), and ScPageHFItem::SetRightArea().
Referenced by XclImpPageSettings::Finalize().
| 
 | inlineprivate | 
Returns the current edit engine text object.
Definition at line 201 of file xihelper.hxx.
References maInfos, and meCurrObj.
Referenced by GetCurrObj(), GetCurrSel(), and InsertLineBreak().
| 
 | inlineprivate | 
Returns the current edit engine text object.
Definition at line 203 of file xihelper.hxx.
References GetCurrInfo(), and XclImpHFConverter::XclImpHFPortionInfo::mxObj.
Referenced by CreateCurrObject(), and SetNewPortion().
| 
 | inlineprivate | 
Returns the current selection.
Definition at line 205 of file xihelper.hxx.
References GetCurrInfo(), and XclImpHFConverter::XclImpHFPortionInfo::maSel.
Referenced by InsertField(), InsertLineBreak(), InsertText(), and SetAttribs().
| 
 | private | 
Returns the maximum line height of the specified portion.
Definition at line 499 of file xihelper.cxx.
References maInfos, and mxFontData.
Referenced by InsertLineBreak(), and ParseString().
| sal_Int32 XclImpHFConverter::GetTotalHeight | ( | ) | const | 
Returns the total height of the converted header or footer in twips.
Definition at line 491 of file xihelper.cxx.
References EXC_HF_CENTER, EXC_HF_LEFT, EXC_HF_RIGHT, maInfos, and mnHeight.
Referenced by XclImpPageSettings::Finalize().
| 
 | private | 
Inserts the passed text field and adjusts the current selection object.
Definition at line 553 of file xihelper.cxx.
References GetCurrSel(), mrEE, ESelection::nEndPara, ESelection::nEndPos, EditEngine::QuickInsertField(), and UpdateCurrMaxLineHeight().
Referenced by ParseString().
| 
 | private | 
Inserts a line break and adjusts the current selection object.
Definition at line 561 of file xihelper.cxx.
References GetCurrInfo(), GetCurrSel(), GetMaxLineHeight(), meCurrObj, XclImpHFConverter::XclImpHFPortionInfo::mnHeight, XclImpHFConverter::XclImpHFPortionInfo::mnMaxLineHt, mrEE, ESelection::nEndPara, ESelection::nEndPos, and EditEngine::QuickInsertText().
Referenced by ParseString().
| 
 | private | 
Inserts maCurrText into edit engine and adjusts the current selection object.
@descr The text shall not contain a newline character. The text will be cleared after insertion.
Definition at line 541 of file xihelper.cxx.
References GetCurrSel(), maCurrText, mrEE, ESelection::nEndPara, ESelection::nEndPos, EditEngine::QuickInsertText(), and UpdateCurrMaxLineHeight().
Referenced by CreateCurrObject(), and ParseString().
| 
 | delete | 
delete copy-assignment operator
| void XclImpHFConverter::ParseString | ( | const OUString & | rHFString | ) | 
Parses the passed string and creates three new edit engine text objects.
State of the parser.
Read text, search for functions.
Read function (token following a '&').
Read font name ('&' is followed by '"', reads until next '"' or ',').
Read font style name (font part after ',', reads until next '"').
Read font height ('&' is followed by num. digits, reads until non-digit).
Definition at line 282 of file xihelper.cxx.
References CreateCurrObject(), EE_FEATURE_FIELD(), EXC_FONTESC_NONE, EXC_FONTESC_SUB, EXC_FONTESC_SUPER, EXC_FONTUNDERL_DOUBLE, EXC_FONTUNDERL_NONE, EXC_FONTUNDERL_SINGLE, EXC_HF_CENTER, EXC_HF_LEFT, EXC_HF_PORTION_COUNT, EXC_HF_RIGHT, GetMaxLineHeight(), InsertField(), InsertLineBreak(), InsertText(), maCurrText, maInfos, meCurrObj, mrEE, mxFontData, pChar, ResetFontData(), SetAttribs(), SetNewPortion(), and EditEngine::SetText().
Referenced by XclImpPageSettings::Finalize().
| 
 | private | 
Resets font data to application default font.
Definition at line 530 of file xihelper.cxx.
References EXC_FONT_APP, GetFont(), XclImpRoot::GetFontBuffer(), XclImpFont::GetFontData(), and mxFontData.
Referenced by ParseString(), and SetNewPortion().
| 
 | private | 
Sets the font attributes at the current selection.
@descr After that, the start position of the current selection object is adjusted to the end of the selection.
Definition at line 516 of file xihelper.cxx.
References XclImpFont::FillToItemSet(), GetCurrSel(), EditEngine::GetEmptyItemSet(), XclImpRoot::GetRoot(), HeaderFooter, mrEE, mxFontData, ESelection::nEndPara, ESelection::nEndPos, ESelection::nStartPara, ESelection::nStartPos, and EditEngine::QuickSetAttribs().
Referenced by CreateCurrObject(), and ParseString().
| 
 | private | 
Changes current header/footer portion to eNew.
@descr Creates text object of current portion and reinitializes edit engine.
Definition at line 578 of file xihelper.cxx.
References CreateCurrObject(), GetCurrObj(), meCurrObj, mrEE, ResetFontData(), and EditEngine::SetText().
Referenced by ParseString().
| 
 | private | 
Updates the current maximum line height, using the current font size.
Definition at line 511 of file xihelper.cxx.
References meCurrObj, and UpdateMaxLineHeight().
Referenced by InsertField(), and InsertText().
| 
 | private | 
Updates the maximum line height of the specified portion, using the current font size.
Definition at line 505 of file xihelper.cxx.
References maInfos, and mxFontData.
Referenced by UpdateCurrMaxLineHeight().
| 
 | private | 
Edit engine text objects for all portions.
Definition at line 241 of file xihelper.hxx.
Referenced by InsertText(), and ParseString().
| 
 | private | 
The header/footer edit engine.
Definition at line 240 of file xihelper.hxx.
Referenced by FillToItemSet(), GetCurrInfo(), GetMaxLineHeight(), GetTotalHeight(), ParseString(), and UpdateMaxLineHeight().
| 
 | private | 
Font data of current text.
Definition at line 243 of file xihelper.hxx.
Referenced by GetCurrInfo(), InsertLineBreak(), ParseString(), SetNewPortion(), and UpdateCurrMaxLineHeight().
| 
 | private | 
Definition at line 238 of file xihelper.hxx.
Referenced by CreateCurrObject(), InsertField(), InsertLineBreak(), InsertText(), ParseString(), SetAttribs(), and SetNewPortion().
| 
 | private | 
Current text to insert into edit engine.
Definition at line 242 of file xihelper.hxx.
Referenced by GetMaxLineHeight(), ParseString(), ResetFontData(), SetAttribs(), and UpdateMaxLineHeight().