LibreOffice Module sc (master) 1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
XclImpDffConverter Class Reference

This is the central instance for converting binary DFF data into shape objects. More...

#include <xiescher.hxx>

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

Classes

struct  XclImpDffConvData
 Data per registered drawing manager, will be stacked for recursive calls. More...
 

Public Member Functions

 XclImpDffConverter (const XclImpRoot &rRoot, SvStream &rDffStrm)
 Standard name of control forms. More...
 
virtual ~XclImpDffConverter () override
 
void StartProgressBar (std::size_t nProgressSize)
 Initializes the internal progress bar with the passed size and starts it. More...
 
void Progress (std::size_t nDelta=1)
 Increase the progress bar by the passed value. More...
 
void InitializeDrawing (XclImpDrawing &rDrawing, SdrModel &rSdrModel, SdrPage &rSdrPage)
 Initially called before the objects of the passed drawing manager are converted. More...
 
void ProcessObject (SdrObjList &rObjList, XclImpDrawObjBase &rDrawObj)
 Processes BIFF5 drawing objects without DFF data, inserts into the passed object list. More...
 
void ProcessDrawing (const XclImpDrawObjVector &rDrawObjs)
 Processes all objects in the passed list. More...
 
void ProcessDrawing (SvStream &rDffStrm)
 Processes a drawing container in the passed DFF stream, converts all objects. More...
 
void FinalizeDrawing ()
 Finally called after the objects of the passed drawing manager have been converted. More...
 
rtl::Reference< SdrObjectCreateSdrObject (const XclImpTbxObjBase &rTbxObj, const tools::Rectangle &rAnchorRect)
 Creates the SdrObject for the passed Excel TBX form control object. More...
 
rtl::Reference< SdrObjectCreateSdrObject (const XclImpPictureObj &rPicObj, const tools::Rectangle &rAnchorRect)
 Creates the SdrObject for the passed Excel OLE object or OCX form control object. More...
 
bool SupportsOleObjects () const
 Returns true, if the conversion of OLE objects is supported. More...
 
sal_Int32 GetDefaultTextMargin () const
 Returns the default text margin in drawing layer units. More...
 
- Public Member Functions inherited from XclImpSimpleDffConverter
 XclImpSimpleDffConverter (const XclImpRoot &rRoot, SvStream &rDffStrm)
 
virtual ~XclImpSimpleDffConverter () override
 
- Public Member Functions inherited from SvxMSDffManager
Color MSO_TEXT_CLR_ToColor (sal_uInt32 nColorCode) const
 
Color MSO_CLR_ToColor (sal_uInt32 nColorCode, sal_uInt16 nContextProperty=DFF_Prop_lineColor) const
 
virtual bool SeekToShape (SvStream &rSt, SvxMSDffClientData *pClientData, sal_uInt32 nId) const
 
bool SeekToRec2 (sal_uInt16 nRecId1, sal_uInt16 nRecId2, sal_uLong nMaxFilePos) const
 
 SvxMSDffManager (SvStream &rStCtrl, OUString aBaseURL, sal_uInt32 nOffsDgg, SvStream *pStData, SdrModel *pSdrModel_, tools::Long nApplicationScale, Color mnDefaultColor_, SvStream *pStData2_=nullptr, bool bSkipImages=false)
 
 SvxMSDffManager (SvStream &rStCtrl, OUString aBaseURL)
 
void InitSvxMSDffManager (sal_uInt32 nOffsDgg_, SvStream *pStData_, sal_uInt32 nSvxMSDffOLEConvFlags)
 
void SetDgContainer (SvStream &rSt)
 
virtual ~SvxMSDffManager ()
 
sal_uInt32 GetSvxMSDffSettings () const
 
void SetSvxMSDffSettings (sal_uInt32 nSettings)
 
void SetModel (SdrModel *pModel, tools::Long nApplicationScale)
 
SdrModelGetModel () const
 
void Scale (sal_Int32 &rVal) const
 
void Scale (Point &rPos) const
 
void Scale (Size &rSiz) const
 
void ScaleEmu (sal_Int32 &rVal) const
 
sal_uInt32 ScalePt (sal_uInt32 nPt) const
 
sal_Int32 ScalePoint (sal_Int32 nVal) const
 
bool GetBLIP (sal_uLong nIdx, Graphic &rData, tools::Rectangle *pVisArea=nullptr)
 
bool GetShape (sal_uLong nId, rtl::Reference< SdrObject > &rpData, SvxMSDffImportData &rData)
 
rtl::Reference< SdrObjectImportObj (SvStream &rSt, SvxMSDffClientData &rData, tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect, int nCalledByGroup, sal_Int32 *pShapeId)
 
rtl::Reference< SdrObjectImportGroup (const DffRecordHeader &rHd, SvStream &rSt, SvxMSDffClientData &rData, tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect, int nCalledByGroup, sal_Int32 *pShapeId)
 
rtl::Reference< SdrObjectImportShape (const DffRecordHeader &rHd, SvStream &rSt, SvxMSDffClientData &rData, tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect, int nCalledByGroup, sal_Int32 *pShapeId)
 
tools::Rectangle GetGlobalChildAnchor (const DffRecordHeader &rHd, SvStream &rSt, tools::Rectangle &aClientRect)
 
void GetGroupAnchors (const DffRecordHeader &rHd, SvStream &rSt, tools::Rectangle &rGroupClientAnchor, tools::Rectangle &rGroupChildAnchor, const tools::Rectangle &rClientRect, const tools::Rectangle &rGlobalChildRect)
 
const SvxMSDffShapeInfos_ByIdGetShapeInfos () const
 
const SvxMSDffShapeOrdersGetShapeOrders () const
 
void StoreShapeOrder (sal_uLong nId, sal_uLong nTxBx, SdrObject *pObject, SwFlyFrameFormat *pFly=nullptr) const
 
void ExchangeInShapeOrder (SdrObject const *pOldObject, sal_uLong nTxBx, SdrObject *pObject) const
 
void RemoveFromShapeOrder (SdrObject const *pObject) const
 
void insertShapeId (sal_Int32 nShapeId, SdrObject *pShape)
 
void removeShapeId (SdrObject const *pShape)
 
SdrObjectgetShapeForId (sal_Int32 nShapeId)
 
- Public Member Functions inherited from DffPropertyReader
 DffPropertyReader (const SvxMSDffManager &rManager)
 
 ~DffPropertyReader ()
 
DffPropertyReaderoperator= (DffPropertyReader const &)=delete
 
 DffPropertyReader (DffPropertyReader const &)=delete
 
void ReadPropSet (SvStream &rIn, SvxMSDffClientData *pClientData) const
 
void SetDefaultPropSet (SvStream &rIn, sal_uInt32 nOffDgg) const
 
void ApplyAttributes (SvStream &rIn, SfxItemSet &rSet) const
 
void ApplyAttributes (SvStream &rIn, SfxItemSet &rSet, DffObjData const &rObjData) const
 
void ImportGradientColor (SfxItemSet &aSet, sal_uInt32 eMSO_FillType, double dTrans, double dBackTrans) const
 
- Public Member Functions inherited from DffPropSet
 DffPropSet ()
 
 ~DffPropSet ()
 
bool IsProperty (sal_uInt32 nRecType) const
 
bool IsHardAttribute (sal_uInt32 nId) const
 
sal_uInt32 GetPropertyValue (sal_uInt32 nId, sal_uInt32 nDefault) const
 
bool GetPropertyBool (sal_uInt32 nId) const
 
OUString GetPropertyString (sal_uInt32 nId, SvStream &rStrm) const
 
bool SeekToContent (sal_uInt32 nRecType, SvStream &rSt) const
 
void InitializePropSet (sal_uInt16 nPropSetType) const
 

Private Types

typedef std::shared_ptr< ScfProgressBarScfProgressBarRef
 
typedef std::shared_ptr< XclImpDffConvDataXclImpDffConvDataRef
 

Private Member Functions

virtual void ProcessClientAnchor2 (SvStream &rDffStrm, DffRecordHeader &rHeader, DffObjData &rObjData) override
 Reads the client anchor from the DFF stream and sets it at the correct object. More...
 
virtual rtl::Reference< SdrObjectProcessObj (SvStream &rDffStrm, DffObjData &rDffObjData, SvxMSDffClientData &rClientData, tools::Rectangle &rTextRect, SdrObject *pOldSdrObj) override
 Processes a DFF object, reads properties from DFF stream. More...
 
virtual SdrObjectFinalizeObj (DffObjData &rDffObjData, SdrObject *pOldSdrObj) override
 Finalize a DFF object, sets anchor after nested objs have been loaded. More...
 
virtual bool InsertControl (const css::uno::Reference< css::form::XFormComponent > &rxFormComp, const css::awt::Size &rSize, css::uno::Reference< css::drawing::XShape > *pxShape, bool bFloatingCtrl) override
 Inserts the passed control rxFComp into the form. More...
 
XclImpDffConvDataGetConvData ()
 Returns the current drawing manager data struct from top of the stack. More...
 
const XclImpDffConvDataGetConvData () const
 Returns the current drawing manager data struct from top of the stack. More...
 
OUString ReadHlinkProperty (SvStream &rDffStrm) const
 Reads contents of a hyperlink property and returns the extracted URL. More...
 
bool ProcessDgContainer (SvStream &rDffStrm, const DffRecordHeader &rDgHeader)
 Processes a drawing container (all drawing data of a sheet). More...
 
bool ProcessShGrContainer (SvStream &rDffStrm, const DffRecordHeader &rShGrHeader)
 Processes the global shape group container (all shapes of a sheet). More...
 
bool ProcessSolverContainer (SvStream &rDffStrm, const DffRecordHeader &rSolverHeader)
 Processes the solver container (connectors of a sheet). More...
 
bool ProcessShContainer (SvStream &rDffStrm, const DffRecordHeader &rShHeader)
 Processes a shape or shape group container (one top-level shape). More...
 
void InsertSdrObject (SdrObjList &rObjList, const XclImpDrawObjBase &rDrawObj, SdrObject *pSdrObj)
 Inserts the passed SdrObject into the document. More...
 
void InitControlForm ()
 Initializes the mxCtrlForm referring to the standard controls form. More...
 
void NotifyMacroEventRead ()
 Notify that this document contains a macro event handler. More...
 
- Private Member Functions inherited from oox::ole::MSConvertOCXControls
 MSConvertOCXControls (const css::uno::Reference< css::frame::XModel > &rxModel)
 
virtual ~MSConvertOCXControls () override
 
bool ReadOCXStorage (tools::SvRef< SotStorage > const &rSrc1, css::uno::Reference< css::form::XFormComponent > &rxFormComp)
 
bool ReadOCXCtlsStream (tools::SvRef< SotStorageStream > const &rSrc1, css::uno::Reference< css::form::XFormComponent > &rxFormComp, sal_Int32 nPos, sal_Int32 nSize)
 
bool importControlFromStream (::oox::BinaryInputStream &rInStrm, css::uno::Reference< css::form::XFormComponent > &rxFormComp, std::u16string_view rGuidString)
 
bool importControlFromStream (::oox::BinaryInputStream &rInStrm, css::uno::Reference< css::form::XFormComponent > &rxFormComp, const OUString &rGuidString, sal_Int32 nSize)
 

Private Attributes

tools::SvRef< SotStorageStreammxCtlsStrm
 
ScfProgressBarRef mxProgress
 The 'Ctls' stream for OCX form controls. More...
 
std::vector< XclImpDffConvDataRefmaDataStack
 The progress bar used in ProcessObj(). More...
 
sal_uInt32 mnOleImpFlags
 Stack for registered drawing managers. More...
 
sal_Int32 mnDefTextMargin
 Application OLE import settings. More...
 
bool mbNotifyMacroEventRead
 Default margin in text boxes. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from SvxMSDffManager
static bool SeekToRec (SvStream &rSt, sal_uInt16 nRecId, sal_uLong nMaxFilePos, DffRecordHeader *pRecHd=nullptr, sal_uLong nSkipCount=0)
 
static OUString MSDFFReadZString (SvStream &rIn, sal_uInt32 nMaxLen, bool bUniCode)
 
static bool ReadCommonRecordHeader (SvStream &rSt, sal_uInt8 &rVer, sal_uInt16 &rInst, sal_uInt16 &rFbt, sal_uInt32 &rLength)
 
static bool MakeContentStream (SotStorage *pStor, const GDIMetaFile &)
 
static void ReadObjText (SvStream &rStream, SdrObject *pObj)
 
static bool ConvertToOle2 (SvStream &rStm, sal_uInt32 nLen, const GDIMetaFile *, const tools::SvRef< SotStorage > &rDest)
 
static bool GetBLIPDirect (SvStream &rBLIPStream, Graphic &rData, tools::Rectangle *pVisArea=nullptr)
 
static rtl::Reference< SdrOle2ObjCreateSdrOLEFromStorage (SdrModel &rSdrModel, const OUString &rStorageName, tools::SvRef< SotStorage > const &rSrcStorage, const css::uno::Reference< css::embed::XStorage > &xDestStg, const Graphic &rGraf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, SvStream *pDataStrrm, ErrCode &rError, sal_uInt32 nConvertFlags, sal_Int64 nAspect, OUString const &rBaseURL)
 
static void SolveSolver (const SvxMSDffSolverContainer &rSolver)
 
static bool SetPropValue (const css::uno::Any &rAny, const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, const OUString &rPropertyName)
 
static OUString GetFilterNameFromClassID (const SvGlobalName &aGlobName)
 
static void ExtractOwnStream (SotStorage &rSrcStg, SvMemoryStream &rMemStream)
 
- Static Public Member Functions inherited from DffPropertyReader
static Degree100 Fix16ToAngle (sal_Int32 nAngle)
 
- Static Public Member Functions inherited from DffPropSet
static sal_uLong SanitizeEndPos (SvStream &rIn, sal_uLong nEndRecPos)
 
- Public Attributes inherited from SvxMSDffManager
std::unique_ptr< DffPropertyReaderpSecPropSet
 
std::unordered_map< sal_uInt32, GraphicaEscherBlipCache
 
DffRecordManager maShapeRecords
 
Color mnDefaultColor
 
bool mbSkipImages
 
- Public Attributes inherited from DffPropertyReader
Degree100 mnFix16Angle
 
bool mbRotateGranientFillWithAngle
 
- Protected Types inherited from SvxMSDffManager
typedef std::map< sal_uInt32, sal_uInt64 > OffsetMap
 
- Protected Member Functions inherited from XclImpSimpleDffConverter
virtual bool GetColorFromPalette (sal_uInt16 nIndex, Color &rColor) const override
 Returns a color from the Excel color palette. More...
 
- Protected Member Functions inherited from SvxMSDffManager
void GetCtrlData (sal_uInt32 nOffsDgg)
 
void GetDrawingGroupContainerData (SvStream &rSt, sal_uInt32 nLenDgg)
 
void GetDrawingContainerData (SvStream &rSt, sal_uInt32 nLenDg, sal_uInt16 nDrawingContainerId)
 
bool GetShapeGroupContainerData (SvStream &rSt, sal_uInt32 nLenShapeGroupCont, bool bPatriarch, sal_uInt16 nDrawingContainerId)
 
bool GetShapeContainerData (SvStream &rSt, sal_uInt32 nLenShapeCont, sal_uInt64 nPosGroup, sal_uInt16 nDrawingContainerId)
 
rtl::Reference< SdrObjectImportGraphic (SvStream &, SfxItemSet &, const DffObjData &)
 
virtual rtl::Reference< SdrObjectImportOLE (sal_uInt32 nOLEId, const Graphic &rGraf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, const int _nCalledByGroup) const
 
virtual void ProcessClientAnchor2 (SvStream &rStData, DffRecordHeader &rHd, DffObjData &)
 
virtual rtl::Reference< SdrObjectProcessObj (SvStream &rSt, DffObjData &rData, SvxMSDffClientData &rClientData, tools::Rectangle &rTextRect, SdrObject *pObj)
 
void NotifyFreeObj (SvxMSDffClientData &rData, SdrObject *pObj)
 
void FreeObj (SvxMSDffClientData &rData, SdrObject *pObj)
 
virtual SdrObjectFinalizeObj (DffObjData &rData, SdrObject *pObj)
 
virtual bool GetColorFromPalette (sal_uInt16 nNum, Color &rColor) const
 
virtual bool GetOLEStorageName (sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &xDestStg) const
 
virtual bool ShapeHasText (sal_uLong nShapeId, sal_uLong nFilePos) const
 
- 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...
 
- Static Protected Member Functions inherited from SvxMSDffManager
static css::uno::Reference< css::embed::XEmbeddedObject > CheckForConvertToSOObj (sal_uInt32 nConvertFlags, SotStorage &rSrcStg, const css::uno::Reference< css::embed::XStorage > &xDestStg, const Graphic &rGrf, const tools::Rectangle &rVisArea, OUString const &rBaseURL)
 
static void ProcessClientAnchor (SvStream &rStData, sal_uInt32 nDatLen, std::unique_ptr< char[]> &rpBuff, sal_uInt32 &rBuffLen)
 
static void ProcessClientData (SvStream &rStData, sal_uInt32 nDatLen, std::unique_ptr< char[]> &rpBuff, sal_uInt32 &rBuffLen)
 
static void ReadObjText (const OUString &rText, SdrObject *pObj)
 
- 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...
 
- Protected Attributes inherited from SvxMSDffManager
OUString maBaseURL
 
sal_uInt32 mnIdClusters
 
std::vector< FIDCLmaFidcls
 
OffsetMap maDgOffsetTable
 
std::vector< std::pair< DffObjData, std::shared_ptr< DffRecordHeader > > > maPendingGroupData
 
SvStreamrStCtrl
 
SvStreampStData
 
SvStreampStData2
 
SdrModelpSdrModel
 
tools::Long nMapMul
 
tools::Long nMapDiv
 
tools::Long nMapXOfs
 
tools::Long nMapYOfs
 
tools::Long nEmuMul
 
tools::Long nEmuDiv
 
tools::Long nPntMul
 
tools::Long nPntDiv
 
bool bNeedMap
 
sal_Int32 nMinAllowedVal
 
sal_Int32 nMaxAllowedVal
 
sal_uInt32 nSvxMSDffSettings
 
sal_uInt32 nSvxMSDffOLEConvFlags
 
SvxMSDffShapeIdContainer maShapeIdContainer
 
- Static Private Member Functions inherited from oox::ole::MSConvertOCXControls
static bool WriteOCXStream (const css::uno::Reference< css::frame::XModel > &rxModel, tools::SvRef< SotStorage > const &rSrc1, const css::uno::Reference< css::awt::XControlModel > &rControlModel, const css::awt::Size &rSize, OUString &rName)
 
static bool WriteOCXExcelKludgeStream (const css::uno::Reference< css::frame::XModel > &rxModel, const css::uno::Reference< css::io::XOutputStream > &xOutStrm, const css::uno::Reference< css::awt::XControlModel > &rControlModel, const css::awt::Size &rSize, OUString &rName)
 

Detailed Description

This is the central instance for converting binary DFF data into shape objects.

Used for all sheet shapes and shapes embedded in chart objects.

The class derives from SvxMSDffManager and SvxMSConvertOCXControls and contains core implementation of DFF stream import and OCX form control import.

Definition at line 924 of file xiescher.hxx.

Member Typedef Documentation

◆ ScfProgressBarRef

typedef std::shared_ptr< ScfProgressBar > XclImpDffConverter::ScfProgressBarRef
private

Definition at line 1030 of file xiescher.hxx.

◆ XclImpDffConvDataRef

typedef std::shared_ptr< XclImpDffConvData > XclImpDffConverter::XclImpDffConvDataRef
private

Definition at line 1031 of file xiescher.hxx.

Constructor & Destructor Documentation

◆ XclImpDffConverter()

XclImpDffConverter::XclImpDffConverter ( const XclImpRoot rRoot,
SvStream rDffStrm 
)
explicit

◆ ~XclImpDffConverter()

XclImpDffConverter::~XclImpDffConverter ( )
overridevirtual

Definition at line 3367 of file xiescher.cxx.

Member Function Documentation

◆ CreateSdrObject() [1/2]

rtl::Reference< SdrObject > XclImpDffConverter::CreateSdrObject ( const XclImpPictureObj rPicObj,
const tools::Rectangle rAnchorRect 
)

◆ CreateSdrObject() [2/2]

rtl::Reference< SdrObject > XclImpDffConverter::CreateSdrObject ( const XclImpTbxObjBase rTbxObj,
const tools::Rectangle rAnchorRect 
)

◆ FinalizeDrawing()

void XclImpDffConverter::FinalizeDrawing ( )

Finally called after the objects of the passed drawing manager have been converted.

Definition at line 3447 of file xiescher.cxx.

References maDataStack, and SvxMSDffManager::SetModel().

Referenced by XclImpDrawing::ImplConvertObjects().

◆ FinalizeObj()

SdrObject * XclImpDffConverter::FinalizeObj ( DffObjData rDffObjData,
SdrObject pOldSdrObj 
)
overrideprivatevirtual

Finalize a DFF object, sets anchor after nested objs have been loaded.

Reimplemented from SvxMSDffManager.

Definition at line 3729 of file xiescher.cxx.

References DffObjData::bPageAnchor, XclImpDrawing::FindDrawObj(), GetConvData(), XclRoot::GetDoc(), XclImpDffConverter::XclImpDffConvData::mrDrawing, DffObjData::rSpHd, and ScDrawLayer::SetCellAnchoredFromPosition().

◆ GetConvData() [1/2]

XclImpDffConverter::XclImpDffConvData & XclImpDffConverter::GetConvData ( )
private

◆ GetConvData() [2/2]

const XclImpDffConverter::XclImpDffConvData & XclImpDffConverter::GetConvData ( ) const
private

Returns the current drawing manager data struct from top of the stack.

Definition at line 3792 of file xiescher.cxx.

References maDataStack.

◆ GetDefaultTextMargin()

sal_Int32 XclImpDffConverter::GetDefaultTextMargin ( ) const
inline

Returns the default text margin in drawing layer units.

Definition at line 954 of file xiescher.hxx.

References mnDefTextMargin.

Referenced by XclImpDrawObjBase::PreProcessSdrObject().

◆ InitControlForm()

void XclImpDffConverter::InitControlForm ( )
private

◆ InitializeDrawing()

void XclImpDffConverter::InitializeDrawing ( XclImpDrawing rDrawing,
SdrModel rSdrModel,
SdrPage rSdrPage 
)

Initially called before the objects of the passed drawing manager are converted.

Definition at line 3399 of file xiescher.cxx.

References maDataStack, and SvxMSDffManager::SetModel().

Referenced by XclImpDrawing::ImplConvertObjects().

◆ InsertControl()

bool XclImpDffConverter::InsertControl ( const css::uno::Reference< css::form::XFormComponent > &  rxFormComp,
const css::awt::Size &  rSize,
css::uno::Reference< css::drawing::XShape > *  pxShape,
bool  bFloatingCtrl 
)
overrideprivatevirtual

Inserts the passed control rxFComp into the form.

Needs call to SetCurrentForm() before.

Definition at line 3751 of file xiescher.cxx.

References Any, ScfApiHelper::CreateInstance(), Exception, GetConvData(), XclRoot::GetDocShell(), XclImpDffConverter::XclImpDffConvData::mnLastCtrlIndex, and XclImpDffConverter::XclImpDffConvData::mxCtrlForm.

Referenced by CreateSdrObject().

◆ InsertSdrObject()

void XclImpDffConverter::InsertSdrObject ( SdrObjList rObjList,
const XclImpDrawObjBase rDrawObj,
SdrObject pSdrObj 
)
private

◆ NotifyMacroEventRead()

void XclImpDffConverter::NotifyMacroEventRead ( )
private

Notify that this document contains a macro event handler.

Definition at line 3456 of file xiescher.cxx.

References mbNotifyMacroEventRead, mxModel, and comphelper::DocumentInfo::notifyMacroEventRead().

Referenced by CreateSdrObject().

◆ ProcessClientAnchor2()

void XclImpDffConverter::ProcessClientAnchor2 ( SvStream rDffStrm,
DffRecordHeader rHeader,
DffObjData rObjData 
)
overrideprivatevirtual

◆ ProcessDgContainer()

bool XclImpDffConverter::ProcessDgContainer ( SvStream rDffStrm,
const DffRecordHeader rDgHeader 
)
private

◆ ProcessDrawing() [1/2]

void XclImpDffConverter::ProcessDrawing ( const XclImpDrawObjVector rDrawObjs)

Processes all objects in the passed list.

Definition at line 3427 of file xiescher.cxx.

References GetConvData(), XclImpDffConverter::XclImpDffConvData::mrSdrPage, and ProcessObject().

Referenced by XclImpDrawing::ImplConvertObjects().

◆ ProcessDrawing() [2/2]

void XclImpDffConverter::ProcessDrawing ( SvStream rDffStrm)

Processes a drawing container in the passed DFF stream, converts all objects.

Definition at line 3434 of file xiescher.cxx.

References DFF_msofbtDgContainer, DffRecordHeader::nRecType, ProcessDgContainer(), ReadDffRecordHeader(), SvStream::Seek(), STREAM_SEEK_TO_BEGIN, and SvStream::TellEnd().

◆ ProcessObj()

rtl::Reference< SdrObject > XclImpDffConverter::ProcessObj ( SvStream rDffStrm,
DffObjData rDffObjData,
SvxMSDffClientData rClientData,
tools::Rectangle rTextRect,
SdrObject pOldSdrObj 
)
overrideprivatevirtual

◆ ProcessObject()

void XclImpDffConverter::ProcessObject ( SdrObjList rObjList,
XclImpDrawObjBase rDrawObj 
)

◆ ProcessShContainer()

bool XclImpDffConverter::ProcessShContainer ( SvStream rDffStrm,
const DffRecordHeader rShHeader 
)
private

Processes a shape or shape group container (one top-level shape).

Definition at line 3892 of file xiescher.cxx.

References GetConvData(), SvxMSDffManager::ImportObj(), InsertSdrObject(), DffRecordHeader::SeekToBegOfRecord(), and DffRecordHeader::SeekToEndOfRecord().

Referenced by ProcessShGrContainer().

◆ ProcessShGrContainer()

bool XclImpDffConverter::ProcessShGrContainer ( SvStream rDffStrm,
const DffRecordHeader rShGrHeader 
)
private

◆ ProcessSolverContainer()

bool XclImpDffConverter::ProcessSolverContainer ( SvStream rDffStrm,
const DffRecordHeader rSolverHeader 
)
private

Processes the solver container (connectors of a sheet).

Definition at line 3882 of file xiescher.cxx.

References GetConvData(), ReadSvxMSDffSolverContainer(), DffRecordHeader::SeekToBegOfRecord(), and DffRecordHeader::SeekToEndOfRecord().

Referenced by ProcessDgContainer().

◆ Progress()

void XclImpDffConverter::Progress ( std::size_t  nDelta = 1)

◆ ReadHlinkProperty()

OUString XclImpDffConverter::ReadHlinkProperty ( SvStream rDffStrm) const
private

◆ StartProgressBar()

void XclImpDffConverter::StartProgressBar ( std::size_t  nProgressSize)

Initializes the internal progress bar with the passed size and starts it.

Definition at line 3386 of file xiescher.cxx.

References XclRoot::GetDocShell(), and mxProgress.

Referenced by XclImpObjectManager::ConvertObjects().

◆ SupportsOleObjects()

bool XclImpDffConverter::SupportsOleObjects ( ) const

Returns true, if the conversion of OLE objects is supported.

Definition at line 3576 of file xiescher.cxx.

References GetConvData(), XclImpDffConverter::XclImpDffConvData::mrDrawing, and XclImpDrawing::SupportsOleObjects().

Referenced by CreateSdrObject(), XclImpChartObj::DoCreateSdrObj(), and InitControlForm().

Member Data Documentation

◆ maDataStack

std::vector< XclImpDffConvDataRef > XclImpDffConverter::maDataStack
private

The progress bar used in ProcessObj().

Definition at line 1036 of file xiescher.hxx.

Referenced by FinalizeDrawing(), GetConvData(), and InitializeDrawing().

◆ mbNotifyMacroEventRead

bool XclImpDffConverter::mbNotifyMacroEventRead
private

Default margin in text boxes.

Definition at line 1039 of file xiescher.hxx.

Referenced by NotifyMacroEventRead().

◆ mnDefTextMargin

sal_Int32 XclImpDffConverter::mnDefTextMargin
private

Application OLE import settings.

Definition at line 1038 of file xiescher.hxx.

Referenced by GetDefaultTextMargin(), and XclImpDffConverter().

◆ mnOleImpFlags

sal_uInt32 XclImpDffConverter::mnOleImpFlags
private

Stack for registered drawing managers.

Definition at line 1037 of file xiescher.hxx.

Referenced by CreateSdrObject(), and XclImpDffConverter().

◆ mxCtlsStrm

tools::SvRef<SotStorageStream> XclImpDffConverter::mxCtlsStrm
private

Definition at line 1033 of file xiescher.hxx.

Referenced by CreateSdrObject(), and XclImpDffConverter().

◆ mxProgress

ScfProgressBarRef XclImpDffConverter::mxProgress
private

The 'Ctls' stream for OCX form controls.

Definition at line 1034 of file xiescher.hxx.

Referenced by Progress(), and StartProgressBar().


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