LibreOffice Module sc (master) 1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
XclImpDrawing Class Referenceabstract

Base class for a container for all objects on a drawing (spreadsheet or embedded chart object). More...

#include <xiescher.hxx>

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

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 XclImpObjTextDataFindTextData (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 XclImpRootGetRoot () const
 Returns this root instance - for code readability in derived classes. More...
 
XclImpRootGetRoot ()
 
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...
 
XclImpAddressConverterGetAddressConverter () const
 Returns the address converter. More...
 
XclImpFormulaCompilerGetFormulaCompiler () const
 Returns the formula converter. More...
 
ExcelToScGetOldFmlaConverter () const
 Returns the old formula converter. More...
 
XclImpSstGetSst () const
 Returns the shared string table. More...
 
XclImpPaletteGetPalette () const
 Returns the color buffer. More...
 
XclImpFontBufferGetFontBuffer () const
 Returns the font buffer. More...
 
XclImpNumFmtBufferGetNumFmtBuffer () const
 Returns the number format buffer. More...
 
XclImpXFBufferGetXFBuffer () const
 Returns the cell formatting attributes buffer. More...
 
XclImpXFRangeBufferGetXFRangeBuffer () const
 Returns the buffer of XF index ranges for a sheet. More...
 
ScRangeListTabsGetPrintAreaBuffer () const
 Returns the buffer that contains all print areas in the document. More...
 
ScRangeListTabsGetTitleAreaBuffer () const
 Returns the buffer that contains all print titles in the document. More...
 
XclImpTabInfoGetTabInfo () const
 Returns the buffer that contains the sheet creation order. More...
 
XclImpNameManagerGetNameManager () const
 Returns the buffer that contains internal defined names. More...
 
XclImpLinkManagerGetLinkManager () const
 Returns the link manager. More...
 
XclImpObjectManagerGetObjectManager () const
 Returns the drawing object manager. More...
 
XclImpSheetDrawingGetCurrSheetDrawing () const
 Returns the drawing container of the current sheet. More...
 
XclImpCondFormatManagerGetCondFormatManager () const
 Returns the conditional formatting manager. More...
 
XclImpValidationManagerGetValidationManager () const
 
XclImpAutoFilterBufferGetFilterManager () const
 Returns the filter manager. More...
 
XclImpWebQueryBufferGetWebQueryBuffer () const
 Returns the web query buffer. More...
 
XclImpPivotTableManagerGetPivotTableManager () const
 Returns the pivot table manager. More...
 
XclImpSheetProtectBufferGetSheetProtectBuffer () const
 Returns the sheet protection options of the current sheet. More...
 
XclImpDocProtectBufferGetDocProtectBuffer () const
 Returns the document protection options. More...
 
XclImpPageSettingsGetPageSettings () const
 Returns the page settings of the current sheet. More...
 
XclImpDocViewSettingsGetDocViewSettings () const
 Returns the view settings of the entire document. More...
 
XclImpTabViewSettingsGetTabViewSettings () 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...
 
ScDocumentImportGetDocImport ()
 
- 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...
 

Private Types

typedef std::map< std::size_t, XclImpDrawObjRefXclImpObjMap
 
typedef std::map< sal_uInt16, XclImpDrawObjRefXclImpObjMapById
 
typedef std::shared_ptr< XclImpObjTextDataXclImpObjTextRef
 
typedef std::map< std::size_t, XclImpObjTextRefXclImpObjTextMap
 

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

Detailed Description

Base class for a container for all objects on a drawing (spreadsheet or embedded chart object).

Definition at line 1046 of file xiescher.hxx.

Member Typedef Documentation

◆ XclImpObjMap

typedef std::map< std::size_t, XclImpDrawObjRef > XclImpDrawing::XclImpObjMap
private

Definition at line 1101 of file xiescher.hxx.

◆ XclImpObjMapById

Definition at line 1102 of file xiescher.hxx.

◆ XclImpObjTextMap

Definition at line 1104 of file xiescher.hxx.

◆ XclImpObjTextRef

typedef std::shared_ptr< XclImpObjTextData > XclImpDrawing::XclImpObjTextRef
private

Definition at line 1103 of file xiescher.hxx.

Constructor & Destructor Documentation

◆ XclImpDrawing()

XclImpDrawing::XclImpDrawing ( const XclImpRoot rRoot,
bool  bOleObjects 
)
explicit

Definition at line 3961 of file xiescher.cxx.

◆ ~XclImpDrawing()

XclImpDrawing::~XclImpDrawing ( )
overridevirtual

Definition at line 3967 of file xiescher.cxx.

Member Function Documentation

◆ AppendRawObject()

void XclImpDrawing::AppendRawObject ( const XclImpDrawObjRef rxDrawObj)
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().

◆ ApplyGroupBoxes()

void XclImpDrawing::ApplyGroupBoxes ( )

◆ CalcAnchorRect()

virtual tools::Rectangle XclImpDrawing::CalcAnchorRect ( const XclObjAnchor rAnchor,
bool  bDffAnchor 
) const
pure virtual

Derived classes calculate the resulting rectangle of the passed anchor.

Implemented in XclImpChartDrawing, and XclImpSheetDrawing.

Referenced by XclImpDffConverter::ProcessClientAnchor2(), and XclImpDffConverter::ProcessObject().

◆ FindDrawObj() [1/2]

XclImpDrawObjRef XclImpDrawing::FindDrawObj ( const DffRecordHeader rHeader) const

◆ FindDrawObj() [2/2]

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.

◆ FindTextData()

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

◆ GetProgressSize()

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.

◆ ImplConvertObjects()

void XclImpDrawing::ImplConvertObjects ( XclImpDffConverter rDffConv,
SdrModel rSdrModel,
SdrPage rSdrPage 
)
protected

◆ OnObjectInserted()

virtual void XclImpDrawing::OnObjectInserted ( const XclImpDrawObjBase rDrawObj)
pure virtual

Called whenever an object has been inserted into the draw page.

Implemented in XclImpChartDrawing, and XclImpSheetDrawing.

Referenced by XclImpDffConverter::InsertSdrObject().

◆ ReadBmp()

void XclImpDrawing::ReadBmp ( Graphic rGraphic,
const XclImpRoot rRoot,
XclImpStream rStrm 
)
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().

◆ ReadDffRecord()

void XclImpDrawing::ReadDffRecord ( XclImpStream rStrm)
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().

◆ ReadImgData()

Graphic XclImpDrawing::ReadImgData ( const XclImpRoot rRoot,
XclImpStream rStrm 
)
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().

◆ ReadMsoDrawing()

void XclImpDrawing::ReadMsoDrawing ( XclImpStream rStrm)

◆ ReadObj()

void XclImpDrawing::ReadObj ( XclImpStream rStrm)

◆ ReadObj8()

void XclImpDrawing::ReadObj8 ( XclImpStream rStrm)
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().

◆ ReadTxo()

void XclImpDrawing::ReadTxo ( XclImpStream rStrm)
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().

◆ ReadWmf()

void XclImpDrawing::ReadWmf ( Graphic rGraphic,
XclImpStream rStrm 
)
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().

◆ SetSkipObj()

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

◆ SupportsOleObjects()

bool XclImpDrawing::SupportsOleObjects ( ) const
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().

Member Data Documentation

◆ maDffStrm

SvMemoryStream XclImpDrawing::maDffStrm
private

BIFF5 objects without DFF data.

Definition at line 1107 of file xiescher.hxx.

Referenced by ImplConvertObjects(), ReadDffRecord(), ReadObj(), ReadObj8(), and ReadTxo().

◆ maObjMap

XclImpObjMap XclImpDrawing::maObjMap
private

Copy of the DFF page stream in memory.

Definition at line 1108 of file xiescher.hxx.

Referenced by FindDrawObj(), GetProgressSize(), and ReadObj8().

◆ maObjMapId

XclImpObjMapById XclImpDrawing::maObjMapId
private

Maps BIFF8 drawing objects to DFF stream position.

Definition at line 1109 of file xiescher.hxx.

Referenced by ApplyGroupBoxes(), FindDrawObj(), ReadObj(), and ReadObj8().

◆ maRawObjs

XclImpDrawObjVector XclImpDrawing::maRawObjs
private

Definition at line 1106 of file xiescher.hxx.

Referenced by AppendRawObject(), GetProgressSize(), ImplConvertObjects(), and ReadObj().

◆ maSkipObjs

ScfUInt16Vec XclImpDrawing::maSkipObjs
private

Maps BIFF8 TXO textbox data to DFF stream position.

Definition at line 1111 of file xiescher.hxx.

Referenced by ImplConvertObjects(), and SetSkipObj().

◆ maTextMap

XclImpObjTextMap XclImpDrawing::maTextMap
private

Maps BIFF8 drawing objects to object ID.

Definition at line 1110 of file xiescher.hxx.

Referenced by FindTextData(), and ReadTxo().

◆ mbOleObjs

bool XclImpDrawing::mbOleObjs
private

IDs of all objects to be skipped.

Definition at line 1112 of file xiescher.hxx.

Referenced by SupportsOleObjects().


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