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