LibreOffice Module sc (master) 1
|
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object). More...
#include <xiescher.hxx>
Public Member Functions | |
XclImpDrawing (const XclImpRoot &rRoot, bool bOleObjects) | |
virtual | ~XclImpDrawing () override |
void | ReadObj (XclImpStream &rStrm) |
Reads a plain OBJ record (without leading DFF data). More... | |
void | ReadMsoDrawing (XclImpStream &rStrm) |
Reads the MSODRAWING or MSODRAWINGSELECTION record. More... | |
bool | SupportsOleObjects () const |
Returns true, if the conversion of OLE objects is supported. More... | |
XclImpDrawObjRef | FindDrawObj (const DffRecordHeader &rHeader) const |
Finds the OBJ record data related to the DFF shape at the passed position. More... | |
XclImpDrawObjRef | FindDrawObj (sal_uInt16 nObjId) const |
Finds the OBJ record data specified by the passed object identifier. More... | |
const XclImpObjTextData * | FindTextData (const DffRecordHeader &rHeader) const |
Finds the textbox data related to the DFF shape at the passed position. More... | |
void | ApplyGroupBoxes () |
void | SetSkipObj (sal_uInt16 nObjId) |
Sets the object with the passed identification to be skipped on import. More... | |
std::size_t | GetProgressSize () const |
Returns the size of the progress bar shown while processing all objects. More... | |
virtual tools::Rectangle | CalcAnchorRect (const XclObjAnchor &rAnchor, bool bDffAnchor) const =0 |
Derived classes calculate the resulting rectangle of the passed anchor. More... | |
virtual void | OnObjectInserted (const XclImpDrawObjBase &rDrawObj)=0 |
Called whenever an object has been inserted into the draw page. More... | |
Static Public Member Functions | |
static Graphic | ReadImgData (const XclImpRoot &rRoot, XclImpStream &rStrm) |
Reads and returns a bitmap from the IMGDATA record. More... | |
Protected Member Functions | |
void | AppendRawObject (const XclImpDrawObjRef &rxDrawObj) |
Appends a new drawing object to the list of raw objects (without DFF data). More... | |
void | ImplConvertObjects (XclImpDffConverter &rDffConv, SdrModel &rSdrModel, SdrPage &rSdrPage) |
Converts all objects and inserts them into the current drawing page. More... | |
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... | |
Private Types | |
typedef std::map< std::size_t, XclImpDrawObjRef > | XclImpObjMap |
typedef std::map< sal_uInt16, XclImpDrawObjRef > | XclImpObjMapById |
typedef std::shared_ptr< XclImpObjTextData > | XclImpObjTextRef |
typedef std::map< std::size_t, XclImpObjTextRef > | XclImpObjTextMap |
Private Member Functions | |
void | ReadDffRecord (XclImpStream &rStrm) |
Reads contents of a DFF record and append data to internal DFF stream. More... | |
void | ReadObj8 (XclImpStream &rStrm) |
Reads a BIFF8 OBJ record following an MSODRAWING record. More... | |
void | ReadTxo (XclImpStream &rStrm) |
Reads the TXO record and following CONTINUE records containing string and formatting. More... | |
Static Private Member Functions | |
static void | ReadWmf (Graphic &rGraphic, XclImpStream &rStrm) |
Reads and returns a bitmap from WMF/PICT format. More... | |
static void | ReadBmp (Graphic &rGraphic, const XclImpRoot &rRoot, XclImpStream &rStrm) |
Reads and returns a bitmap from BMP format. More... | |
Private Attributes | |
XclImpDrawObjVector | maRawObjs |
SvMemoryStream | maDffStrm |
BIFF5 objects without DFF data. More... | |
XclImpObjMap | maObjMap |
Copy of the DFF page stream in memory. More... | |
XclImpObjMapById | maObjMapId |
Maps BIFF8 drawing objects to DFF stream position. More... | |
XclImpObjTextMap | maTextMap |
Maps BIFF8 drawing objects to object ID. More... | |
ScfUInt16Vec | maSkipObjs |
Maps BIFF8 TXO textbox data to DFF stream position. More... | |
bool | mbOleObjs |
IDs of all objects to be skipped. More... | |
Additional Inherited Members | |
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... | |
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object).
Definition at line 1046 of file xiescher.hxx.
|
private |
Definition at line 1101 of file xiescher.hxx.
|
private |
Definition at line 1102 of file xiescher.hxx.
|
private |
Definition at line 1104 of file xiescher.hxx.
|
private |
Definition at line 1103 of file xiescher.hxx.
|
explicit |
Definition at line 3961 of file xiescher.cxx.
|
overridevirtual |
Definition at line 3967 of file xiescher.cxx.
|
protected |
Appends a new drawing object to the list of raw objects (without DFF data).
Definition at line 4167 of file xiescher.cxx.
References maRawObjs, and XclImpDrawObjVector::push_back().
Referenced by XclImpSheetDrawing::ReadTabChart().
void XclImpDrawing::ApplyGroupBoxes | ( | ) |
Definition at line 4094 of file xiescher.cxx.
References EXC_OBJTYPE_GROUPBOX, tools::Rectangle::GetHeight(), tools::Rectangle::GetWidth(), and maObjMapId.
Referenced by ImplConvertObjects().
|
pure virtual |
Derived classes calculate the resulting rectangle of the passed anchor.
Implemented in XclImpChartDrawing, and XclImpSheetDrawing.
Referenced by XclImpDffConverter::ProcessClientAnchor2(), and XclImpDffConverter::ProcessObject().
XclImpDrawObjRef XclImpDrawing::FindDrawObj | ( | const DffRecordHeader & | rHeader | ) | const |
Finds the OBJ record data related to the DFF shape at the passed position.
Definition at line 4056 of file xiescher.cxx.
References DffRecordHeader::GetRecBegFilePos(), DffRecordHeader::GetRecEndFilePos(), and maObjMap.
Referenced by XclImpOptionButtonObj::DoProcessControl(), XclImpDffConverter::FinalizeObj(), ImplConvertObjects(), XclImpDffConverter::ProcessClientAnchor2(), XclImpDffConverter::ProcessObj(), and XclImpSheetDrawing::ReadNote8().
XclImpDrawObjRef XclImpDrawing::FindDrawObj | ( | sal_uInt16 | nObjId | ) | const |
Finds the OBJ record data specified by the passed object identifier.
Definition at line 4071 of file xiescher.cxx.
References maObjMapId.
const XclImpObjTextData * XclImpDrawing::FindTextData | ( | const DffRecordHeader & | rHeader | ) | const |
Finds the textbox data related to the DFF shape at the passed position.
Definition at line 4080 of file xiescher.cxx.
References DffRecordHeader::GetRecBegFilePos(), DffRecordHeader::GetRecEndFilePos(), and maTextMap.
Referenced by XclImpDffConverter::ProcessObj().
std::size_t XclImpDrawing::GetProgressSize | ( | ) | const |
Returns the size of the progress bar shown while processing all objects.
Definition at line 4136 of file xiescher.cxx.
References XclImpDrawObjVector::GetProgressSize(), maObjMap, and maRawObjs.
|
protected |
Converts all objects and inserts them into the current drawing page.
Definition at line 4142 of file xiescher.cxx.
References ApplyGroupBoxes(), SdrModel::EnableUndo(), XclImpDffConverter::FinalizeDrawing(), FindDrawObj(), get(), XclImpDffConverter::InitializeDrawing(), SdrModel::IsUndoEnabled(), maDffStrm, maRawObjs, maSkipObjs, and XclImpDffConverter::ProcessDrawing().
Referenced by XclImpSheetDrawing::ConvertObjects(), and XclImpChartDrawing::ConvertObjects().
|
pure virtual |
Called whenever an object has been inserted into the draw page.
Implemented in XclImpChartDrawing, and XclImpSheetDrawing.
Referenced by XclImpDffConverter::InsertSdrObject().
|
staticprivate |
Reads and returns a bitmap from BMP format.
Definition at line 4188 of file xiescher.cxx.
References EXC_BIFF4, XclRoot::GetBiff(), ReadDIB(), rStrm, SvStream::Seek(), SvStream::SetEndian(), STREAM_SEEK_TO_BEGIN, SvStream::Tell(), SvStream::WriteUInt16(), and SvStream::WriteUInt32().
Referenced by ReadImgData().
|
private |
Reads contents of a DFF record and append data to internal DFF stream.
Definition at line 4229 of file xiescher.cxx.
References maDffStrm, rStrm, SvStream::Seek(), and STREAM_SEEK_TO_END.
Referenced by ReadMsoDrawing().
|
static |
Reads and returns a bitmap from the IMGDATA record.
Definition at line 3971 of file xiescher.cxx.
References EXC_IMGDATA_BMP, EXC_IMGDATA_WMF, ReadBmp(), ReadWmf(), and rStrm.
Referenced by XclImpPictureObj::DoReadObj3(), XclImpPictureObj::DoReadObj4(), XclImpPictureObj::DoReadObj5(), and XclImpPageSettings::ReadImgData().
void XclImpDrawing::ReadMsoDrawing | ( | XclImpStream & | rStrm | ) |
Reads the MSODRAWING or MSODRAWINGSELECTION record.
Definition at line 4022 of file xiescher.cxx.
References EXC_BIFF8, EXC_ID_CONT, EXC_ID_MSODRAWING, EXC_ID_MSODRAWINGSEL, EXC_ID_OBJ, EXC_ID_TXO, XclRoot::GetBiff(), OSL_ENSURE_BIFF, ReadDffRecord(), ReadObj8(), ReadTxo(), and rStrm.
Referenced by ImportExcel8::Read(), and XclImpChart::ReadChartSubStream().
void XclImpDrawing::ReadObj | ( | XclImpStream & | rStrm | ) |
Reads a plain OBJ record (without leading DFF data).
Definition at line 3989 of file xiescher.cxx.
References DBG_ERROR_BIFF, EXC_BIFF3, EXC_BIFF4, EXC_BIFF5, EXC_BIFF8, XclRoot::GetBiff(), XclImpRoot::GetRoot(), XclImpDrawObjVector::InsertGrouped(), maDffStrm, maObjMapId, maRawObjs, XclImpDrawObjBase::ReadObj3(), XclImpDrawObjBase::ReadObj4(), XclImpDrawObjBase::ReadObj5(), rStrm, and SvStream::Tell().
Referenced by ImportExcel::Read(), ImportExcel8::Read(), and XclImpChart::ReadChartSubStream().
|
private |
Reads a BIFF8 OBJ record following an MSODRAWING record.
Definition at line 4235 of file xiescher.cxx.
References XclImpRoot::GetRoot(), maDffStrm, maObjMap, maObjMapId, XclImpDrawObjBase::ReadObj8(), rStrm, and SvStream::Tell().
Referenced by ReadMsoDrawing().
|
private |
Reads the TXO record and following CONTINUE records containing string and formatting.
Definition at line 4243 of file xiescher.cxx.
References EXC_ID_CONT, maDffStrm, maTextMap, rStrm, and SvStream::Tell().
Referenced by ReadMsoDrawing().
|
staticprivate |
Reads and returns a bitmap from WMF/PICT format.
Definition at line 4175 of file xiescher.cxx.
References rStrm, SvStream::Seek(), and STREAM_SEEK_TO_BEGIN.
Referenced by ReadImgData().
void XclImpDrawing::SetSkipObj | ( | sal_uInt16 | nObjId | ) |
Sets the object with the passed identification to be skipped on import.
Definition at line 4131 of file xiescher.cxx.
References maSkipObjs.
Referenced by XclImpValidationManager::ReadDval(), and XclImpPivotTable::ReadSxpi().
|
inline |
Returns true, if the conversion of OLE objects is supported.
Definition at line 1061 of file xiescher.hxx.
References mbOleObjs.
Referenced by XclImpDffConverter::SupportsOleObjects().
|
private |
BIFF5 objects without DFF data.
Definition at line 1107 of file xiescher.hxx.
Referenced by ImplConvertObjects(), ReadDffRecord(), ReadObj(), ReadObj8(), and ReadTxo().
|
private |
Copy of the DFF page stream in memory.
Definition at line 1108 of file xiescher.hxx.
Referenced by FindDrawObj(), GetProgressSize(), and ReadObj8().
|
private |
Maps BIFF8 drawing objects to DFF stream position.
Definition at line 1109 of file xiescher.hxx.
Referenced by ApplyGroupBoxes(), FindDrawObj(), ReadObj(), and ReadObj8().
|
private |
Definition at line 1106 of file xiescher.hxx.
Referenced by AppendRawObject(), GetProgressSize(), ImplConvertObjects(), and ReadObj().
|
private |
Maps BIFF8 TXO textbox data to DFF stream position.
Definition at line 1111 of file xiescher.hxx.
Referenced by ImplConvertObjects(), and SetSkipObj().
|
private |
Maps BIFF8 drawing objects to object ID.
Definition at line 1110 of file xiescher.hxx.
Referenced by FindTextData(), and ReadTxo().
|
private |
IDs of all objects to be skipped.
Definition at line 1112 of file xiescher.hxx.
Referenced by SupportsOleObjects().