LibreOffice Module sc (master)  1
xeescher.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SC_SOURCE_FILTER_INC_XEESCHER_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XEESCHER_HXX
22 
23 #include <vcl/graph.hxx>
25 #include "xcl97rec.hxx"
26 #include "xlescher.hxx"
27 #include "xlformula.hxx"
28 #include <svx/sdtaitm.hxx>
29 #include <rtl/ustring.hxx>
30 #include <memory>
31 
32 class ScPostIt;
33 
34 namespace utl { class TempFile; }
35 namespace com::sun::star::chart { class XChartDocument; }
36 namespace com::sun::star::script { struct ScriptEventDescriptor; }
37 
38 
39 // DFF client anchor ==========================================================
40 
43 {
44 public:
46  explicit XclExpDffAnchorBase( const XclExpRoot& rRoot, sal_uInt16 nFlags = 0 );
47 
49  void SetFlags( const SdrObject& rSdrObj );
51  void SetSdrObject( const SdrObject& rSdrObj );
52 
54  void WriteDffData( EscherEx& rEscherEx ) const;
55 
58  virtual void WriteData( EscherEx& rEscherEx, const tools::Rectangle& rRect ) override;
59 
60 private:
61  virtual void ImplSetFlags( const SdrObject& rSdrObj );
62  virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit );
63 
64 protected: // for access in derived classes
66  sal_uInt16 mnFlags;
67 };
68 
71 {
72 public:
73  explicit XclExpDffSheetAnchor( const XclExpRoot& rRoot );
74 
75 private:
76  virtual void ImplSetFlags( const SdrObject& rSdrObj ) override;
77  virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit ) override;
78 
79 private:
81 };
82 
85 {
86 public:
87  explicit XclExpDffEmbeddedAnchor( const XclExpRoot& rRoot,
88  const Size& rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY );
89 
90 private:
91  virtual void ImplSetFlags( const SdrObject& rSdrObj ) override;
92  virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit ) override;
93 
94 private:
96  sal_Int32 mnScaleX;
97  sal_Int32 mnScaleY;
98 };
99 
102 {
103 public:
104  explicit XclExpDffNoteAnchor( const XclExpRoot& rRoot, const tools::Rectangle& rRect );
105 };
106 
109 {
110 public:
111  explicit XclExpDffDropDownAnchor( const XclExpRoot& rRoot, const ScAddress& rScPos );
112 };
113 
114 // MSODRAWING* records ========================================================
115 
118 {
119 public:
120  explicit XclExpMsoDrawingBase( XclEscherEx& rEscherEx, sal_uInt16 nRecId );
121 
122 private:
123  virtual void WriteBody( XclExpStream& rStrm ) override;
124 
125 protected:
127  sal_uInt32 mnFragmentKey;
128 };
129 
134 {
135 public:
136  explicit XclExpMsoDrawingGroup( XclEscherEx& rEscherEx );
137 };
138 
143 {
144 public:
145  explicit XclExpMsoDrawing( XclEscherEx& rEscherEx );
146 };
147 
150 {
151 public:
152  explicit XclExpImgData( const Graphic& rGraphic, sal_uInt16 nRecId );
153 
155  virtual void Save( XclExpStream& rStrm ) override;
156  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
157 
158 private:
160  sal_uInt16 mnRecId;
161 };
162 
165 {
166 public:
167  explicit XclExpControlHelper( const XclExpRoot& rRoot );
168  virtual ~XclExpControlHelper() override;
169 
170 protected:
172  void ConvertSheetLinks(
173  css::uno::Reference< css::drawing::XShape > const & xShape );
174 
176  const XclTokenArray* GetCellLinkTokArr() const { return mxCellLink.get(); }
178  const XclTokenArray* GetSourceRangeTokArr() const { return mxSrcRange.get(); }
180  sal_uInt16 GetSourceEntryCount() const { return mnEntryCount; }
181 
183  static void WriteFormula( XclExpStream& rStrm, const XclTokenArray& rTokArr );
185  static void WriteFormulaSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId, const XclTokenArray& rTokArr );
186 
187 private:
190  sal_uInt16 mnEntryCount;
191 protected:
193 };
194 
196 {
198 
199 public:
200  explicit XclMacroHelper( const XclExpRoot& rRoot );
201  virtual ~XclMacroHelper() override;
203  void WriteMacroSubRec( XclExpStream& rStrm );
206  bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent, const XclTbxEventType& nEventType );
207 
210  bool SetMacroLink( const OUString& rMacro );
211 };
212 
214 {
215 public:
216  explicit XclExpShapeObj( XclExpObjectManager& rRoot, css::uno::Reference< css::drawing::XShape > const & xShape, ScDocument* pDoc );
217  virtual ~XclExpShapeObj() override;
218 private:
219  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
220 };
221 
222 //delete for exporting OCX
223 //#if EXC_EXP_OCX_CTRL
224 
227 {
228 public:
229  explicit XclExpOcxControlObj(
230  XclExpObjectManager& rObjMgr,
231  css::uno::Reference< css::drawing::XShape > const & xShape,
232  const tools::Rectangle* pChildAnchor,
233  const OUString& rClassName,
234  sal_uInt32 nStrmStart, sal_uInt32 nStrmSize );
235 
236 private:
237  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
238 
239 private:
240  OUString maClassName;
241  sal_uInt32 mnStrmStart;
242  sal_uInt32 mnStrmSize;
243 };
244 
245 //#else
246 
249 {
250 public:
251  explicit XclExpTbxControlObj(
252  XclExpObjectManager& rObjMgr,
253  css::uno::Reference< css::drawing::XShape > const & xShape,
254  const tools::Rectangle* pChildAnchor );
255 
258  bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent );
259 
260  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
261 
262  OUString SaveControlPropertiesXml(XclExpXmlStream& rStrm) const;
263  void SaveSheetXml(XclExpXmlStream& rStrm, const OUString& aIdFormControlPr) const;
264 
265  void setShapeId(sal_Int32 aShapeId);
266 
267 private:
268  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
269 
271  void WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId );
273  void WriteSbs( XclExpStream& rStrm );
274 
275 private:
276  const css::uno::Reference< css::drawing::XShape > mxShape;
279  sal_Int32 mnHeight;
280  sal_uInt16 mnState;
281  sal_Int16 mnLineCount;
282  sal_Int16 mnSelEntry;
283  sal_uInt16 mnScrollValue;
284  sal_uInt16 mnScrollMin;
285  sal_uInt16 mnScrollMax;
286  sal_uInt16 mnScrollStep;
287  sal_uInt16 mnScrollPage;
290  bool mbMultiSel;
291  bool mbScrollHor;
292  bool mbPrint;
293  bool mbVisible;
294  OUString msCtrlName;
295  OUString msLabel;
296  sal_Int32 mnShapeId;
299 };
300 
301 //#endif
302 
303 class XclExpChart;
304 
306 class XclExpChartObj : public XclObj, protected XclExpRoot
307 {
308 public:
309  explicit XclExpChartObj(
310  XclExpObjectManager& rObjMgr,
311  css::uno::Reference< css::drawing::XShape > const & xShape,
312  const tools::Rectangle* pChildAnchor,
313  ScDocument* pDoc );
314  virtual ~XclExpChartObj() override;
315 
317  virtual void Save( XclExpStream& rStrm ) override;
318  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
319 
320  const css::uno::Reference<css::chart::XChartDocument>& GetChartDoc() const;
321 
322 private:
323  typedef std::shared_ptr< XclExpChart > XclExpChartRef;
324  XclExpChartRef mxChart;
325  css::uno::Reference< css::drawing::XShape > mxShape;
326  css::uno::Reference< css::chart::XChartDocument > mxChartDoc;
328 };
329 
339 class XclExpNote : public XclExpRecord
340 {
341 public:
348  explicit XclExpNote(
349  const XclExpRoot& rRoot,
350  const ScAddress& rScPos,
351  const ScPostIt* pScNote,
352  const OUString& rAddText );
353 
355  virtual void Save( XclExpStream& rStrm ) override;
356 
357  void WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm );
358 
359  const XclExpString& GetAuthor() const { return maAuthor; }
360 private:
362  virtual void WriteBody( XclExpStream& rStrm ) override;
363 
364 private:
367  OString maNoteText;
370  sal_uInt16 mnObjId;
371  bool mbVisible;
374  bool mbAutoScale;
375  bool mbLocked;
376  bool mbAutoFill;
377  bool mbColHidden;
378  bool mbRowHidden;
381 };
382 
384 {
385 public:
387 
388  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
389 
390 private:
393 };
394 
395 // object manager =============================================================
396 
398 {
399 public:
400  explicit XclExpObjectManager( const XclExpRoot& rRoot );
401  virtual ~XclExpObjectManager() override;
402 
405  virtual XclExpDffAnchorBase* CreateDffAnchor() const;
406 
410 
412  void StartSheet();
413 
419  rtl::Reference< XclExpRecordBase > ProcessDrawing( const css::uno::Reference< css::drawing::XShapes >& rxShapes );
420 
422  void EndDocument();
423 
426  bool HasObj() const;
427  sal_uInt16 AddObj( std::unique_ptr<XclObj> pObjRec );
428  std::unique_ptr<XclObj> RemoveLastObj();
429 
430 protected:
431  explicit XclExpObjectManager( const XclExpObjectManager& rParent );
432 
433 private:
434  void InitStream( bool bTempFile );
435 
436 private:
437  std::shared_ptr< ::utl::TempFile > mxTempFile;
438  std::unique_ptr< SvStream > mxDffStrm;
439  std::shared_ptr< XclEscherEx > mxEscherEx;
441 };
442 
444 {
445 public:
447  const XclExpObjectManager& rParent,
448  const Size& rPageSize,
449  sal_Int32 nScaleX, sal_Int32 nScaleY );
450 
453  virtual XclExpDffAnchorBase* CreateDffAnchor() const override;
454 
455 private:
457  sal_Int32 mnScaleX;
458  sal_Int32 mnScaleY;
459 };
460 
461 #endif
462 
463 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:43
bool mbRowHidden
Column containing the comment is hidden.
Definition: xeescher.hxx:378
virtual void WriteData(EscherEx &rEscherEx, const tools::Rectangle &rRect) override
Called from SVX DFF converter.
Definition: xeescher.cxx:274
SdrTextHorzAdjust meTHA
true = permanently visible.
Definition: xeescher.hxx:372
XclExpDffAnchorBase(const XclExpRoot &rRoot, sal_uInt16 nFlags=0)
Constructs a dummy client anchor.
Definition: xeescher.cxx:250
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xechart.hxx:1184
ScAddress maScPos
Text and formatting data (OOXML)
Definition: xeescher.hxx:369
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xeescher.cxx:354
void WriteCellLinkSubRec(XclExpStream &rStrm, sal_uInt16 nSubRecId)
Writes a subrecord containing a cell link, or nothing, if no link present.
Definition: xeescher.cxx:1064
sal_uInt16 mnScrollMin
Scrollbar: Current value.
Definition: xeescher.hxx:284
The MSODRAWINGGROUP record contains the DGGCONTAINER with global DFF data such as the picture contain...
Definition: xeescher.hxx:133
sal_uInt32 mnStrmStart
Class name of the control.
Definition: xeescher.hxx:241
const XclExpString & GetAuthor() const
Definition: xeescher.hxx:359
XclExpChartRef mxChart
Definition: xeescher.hxx:324
Represents the position (anchor) of a note object.
Definition: xeescher.hxx:101
virtual void Save(XclExpStream &rStrm) override
Writes the BITMAP record.
Definition: xeescher.cxx:402
This class is used to export Excel record streams.
Definition: xestream.hxx:71
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1417
sal_uInt16 mnObjId
Calc cell address of the note.
Definition: xeescher.hxx:370
rtl::Reference< XclExpRecordBase > CreateDrawingGroup()
Creates and returns the MSODRAWINGGROUP record containing global DFF data in the DGGCONTAINER.
Definition: xeescher.cxx:1794
XclTokenArrayRef mxMacroLink
Definition: xeescher.hxx:197
SdrTextHorzAdjust
std::unique_ptr< XclObj > RemoveLastObj()
Definition: xeescher.cxx:1848
XclObjAnchor maAnchor
Definition: xeescher.hxx:65
void ConvertSheetLinks(css::uno::Reference< css::drawing::XShape > const &xShape)
Tries to get spreadsheet cell link and source range link from the passed shape.
Definition: xeescher.cxx:464
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:591
virtual void Save(XclExpStream &rStrm) override
Writes the NOTE record, if the respective Escher object is present.
Definition: xeescher.cxx:1524
XclEscherEx & mrEscherEx
Definition: xeescher.hxx:126
void EndDocument()
Finalizes the object manager after conversion of all sheets.
Definition: xeescher.cxx:1828
Represents a NOTE record containing the relevant data of a cell note.
Definition: xeescher.hxx:339
bool mbAutoFill
Position & Size locked.
Definition: xeescher.hxx:376
virtual ~XclExpObjectManager() override
Definition: xeescher.cxx:1785
sal_uInt16 mnScrollPage
Scrollbar: Single step.
Definition: xeescher.hxx:287
std::shared_ptr< XclEscherEx > mxEscherEx
Definition: xeescher.hxx:439
bool mbFlatButton
Scrollbar: Page step.
Definition: xeescher.hxx:288
XclExpShapeObj(XclExpObjectManager &rRoot, css::uno::Reference< css::drawing::XShape > const &xShape, ScDocument *pDoc)
Definition: xeescher.cxx:1678
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:297
void SetSdrObject(const SdrObject &rSdrObj)
Sets the anchor position and flags according to the passed SdrObject.
Definition: xeescher.cxx:261
bool SetMacroLink(const css::script::ScriptEventDescriptor &rEvent)
Sets the name of a macro attached to this control.
Definition: xeescher.cxx:923
void StartSheet()
Initializes the object manager for a new sheet.
Definition: xeescher.cxx:1799
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1707
void SetFlags(const SdrObject &rSdrObj)
Sets the flags according to the passed SdrObject.
Definition: xeescher.cxx:256
virtual ~XclExpControlHelper() override
Definition: xeescher.cxx:460
sal_Int16 mnLineCount
Checked/unchecked state.
Definition: xeescher.hxx:281
XclExpNote(const XclExpRoot &rRoot, const ScAddress &rScPos, const ScPostIt *pScNote, const OUString &rAddText)
Constructs a NOTE record from the passed note object and/or the text.
Definition: xeescher.cxx:1450
std::shared_ptr< XclExpChart > XclExpChartRef
Definition: xeescher.hxx:323
XclExpOcxControlObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor, const OUString &rClassName, sal_uInt32 nStrmStart, sal_uInt32 nStrmSize)
Definition: xeescher.cxx:536
Access to global data from other classes.
Definition: xeroot.hxx:113
const css::uno::Reference< css::chart::XChartDocument > & GetChartDoc() const
Definition: xeescher.cxx:1445
static void WriteFormulaSubRec(XclExpStream &rStrm, sal_uInt16 nSubRecId, const XclTokenArray &rTokArr)
Writes a formula subrecord with special style only valid in OBJ records.
Definition: xeescher.cxx:526
Additional class containing cell annotation data.
Definition: postit.hxx:160
bool SetMacroLink(const css::script::ScriptEventDescriptor &rEvent, const XclTbxEventType &nEventType)
Sets the name of a macro for object of passed type.
Represents an OBJ record for an OCX form control.
Definition: xeescher.hxx:226
XclExpDffEmbeddedAnchor(const XclExpRoot &rRoot, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:311
bool HasObj() const
Definition: xeescher.cxx:1838
sal_uInt16 GetSourceEntryCount() const
Returns the number of entries in the source range, or 0, if no source set.
Definition: xeescher.hxx:180
XclTbxEventType
Definition: xlescher.hxx:406
void SaveSheetXml(XclExpXmlStream &rStrm, const OUString &aIdFormControlPr) const
Definition: xeescher.cxx:1305
Base class for all Excel records.
Definition: xerecord.hxx:39
Base class for records holding DFF stream fragments.
Definition: xeescher.hxx:117
sal_uInt16 mnScrollStep
Scrollbar: Maximum value.
Definition: xeescher.hxx:286
OString maNoteText
Name of the author.
Definition: xeescher.hxx:367
tools::Rectangle maAreaTo
Definition: xeescher.hxx:298
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:306
Represents the position (anchor) of a shape in an embedded draw page.
Definition: xeescher.hxx:84
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the NOTE record.
Definition: xeescher.cxx:1571
bool mbPrint
Scrollbar: true = horizontal.
Definition: xeescher.hxx:292
XclExpMsoDrawingGroup(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:361
bool mbAutoScale
text vertical adjust
Definition: xeescher.hxx:374
void WriteXml(sal_Int32 nAuthorId, XclExpXmlStream &rStrm)
Definition: xeescher.cxx:1587
const XclTokenArray * GetCellLinkTokArr() const
Returns the Excel token array of the cell link, or 0, if no link present.
Definition: xeescher.hxx:176
void WriteSbs(XclExpStream &rStrm)
Writes the ftSbs sub structure containing scrollbar data.
Definition: xeescher.cxx:1070
static void WriteFormula(XclExpStream &rStrm, const XclTokenArray &rTokArr)
Writes a formula with special style only valid in OBJ records.
Definition: xeescher.cxx:517
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1096
tools::Rectangle maCommentFrom
Row containing the comment is hidden.
Definition: xeescher.hxx:379
ScAddress mxCellLinkAddress
Number of entries in source range.
Definition: xeescher.hxx:192
XclExpDffDropDownAnchor(const XclExpRoot &rRoot, const ScAddress &rScPos)
Definition: xeescher.cxx:336
Graphic maGraphic
Definition: xeescher.hxx:159
Base class for DFF client anchor atoms used in spreadsheets.
Definition: xeescher.hxx:42
bool mbMultiSel
False = 3D border style; True = Flat border style.
Definition: xeescher.hxx:290
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:325
Represents an OBJ record for a TBX form control.
Definition: xeescher.hxx:248
sal_uInt16 mnEntryCount
Formula for source data range.
Definition: xeescher.hxx:190
Represents the position (anchor) of a cell dropdown object.
Definition: xeescher.hxx:108
void InitStream(bool bTempFile)
Definition: xeescher.cxx:1853
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:284
XclExpStringRef mpNoteContents
Main text of the note (<=BIFF7).
Definition: xeescher.hxx:368
std::unique_ptr< SvStream > mxDffStrm
Definition: xeescher.hxx:438
sal_uInt16 mnScrollMax
Scrollbar: Minimum value.
Definition: xeescher.hxx:285
virtual ~XclExpShapeObj() override
Definition: xeescher.cxx:1692
sal_uInt16 mnState
Height of the control.
Definition: xeescher.hxx:280
XclExpRecordList< XclExpNote > & mrNotes
Definition: xeescher.hxx:392
XclExpTbxControlObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor)
Definition: xeescher.cxx:642
XclEscherEx & GetEscherEx()
Definition: xeescher.hxx:424
virtual void ImplSetFlags(const SdrObject &rSdrObj)
Definition: xeescher.cxx:281
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit)
Definition: xeescher.cxx:286
tools::Rectangle maAreaFrom
Definition: xeescher.hxx:297
XclExpImgData(const Graphic &rGraphic, sal_uInt16 nRecId)
Definition: xeescher.cxx:396
const XclTokenArray * GetSourceRangeTokArr() const
Returns the Excel token array of the source range, or 0, if no link present.
Definition: xeescher.hxx:178
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:320
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:417
const XclExpRoot & mrRoot
Definition: xeescher.hxx:365
sal_Int16 mnSelEntry
Combobox dropdown line count.
Definition: xeescher.hxx:282
virtual ~XclExpChartObj() override
Definition: xeescher.cxx:1405
sal_uInt32 mnFragmentKey
Reference to the DFF converter containing the DFF stream.
Definition: xeescher.hxx:127
XclMacroHelper(const XclExpRoot &rRoot)
Token array containing a link to an attached macro.
Definition: xeescher.cxx:1639
sal_uInt16 mnFlags
The client anchor data.
Definition: xeescher.hxx:66
XclExpComments(SCTAB nTab, XclExpRecordList< XclExpNote > &rNotes)
Definition: xeescher.cxx:1702
One or more MSODRAWING records contain the DFF stream data for a drawing shape.
Definition: xeescher.hxx:142
SdrTextVertAdjust meTVA
text horizontal adjust
Definition: xeescher.hxx:373
XclTbxEventType meEventType
Indexes of all selected entries in a multi selection.
Definition: xeescher.hxx:278
Binary representation of an Excel token array.
Definition: xlformula.hxx:377
XclTokenArrayRef mxSrcRange
Formula for linked cell.
Definition: xeescher.hxx:189
rtl::Reference< XclExpRecordBase > ProcessDrawing(const SdrPage *pSdrPage)
Processes a drawing page and returns the record block containing all related records (MSODRAWING...
Definition: xeescher.cxx:1804
OUString maClassName
Definition: xeescher.hxx:240
OUString SaveControlPropertiesXml(XclExpXmlStream &rStrm) const
Definition: xeescher.cxx:1243
sal_uInt16 mnRecId
The VCL graphic.
Definition: xeescher.hxx:160
css::uno::Reference< css::chart::XChartDocument > mxChartDoc
Definition: xeescher.hxx:326
XclExpControlHelper(const XclExpRoot &rRoot)
Definition: xeescher.cxx:454
rtl::Reference< XclExpObjList > mxObjList
Definition: xeescher.hxx:440
bool mbFlatBorder
False = 3D button style; True = Flat button style.
Definition: xeescher.hxx:289
void setShapeId(sal_Int32 aShapeId)
Definition: xeescher.cxx:1090
Provides export of bitmap data to an IMGDATA record.
Definition: xeescher.hxx:149
const css::uno::Reference< css::drawing::XShape > mxShape
Definition: xeescher.hxx:276
bool mbScrollHor
true = Multi selection in listbox.
Definition: xeescher.hxx:291
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:1696
std::shared_ptr< ::utl::TempFile > mxTempFile
Definition: xeescher.hxx:437
bool mbVisible
Escher object ID (BIFF8).
Definition: xeescher.hxx:371
virtual XclExpDffAnchorBase * CreateDffAnchor() const
Creates a new DFF client anchor object.
Definition: xeescher.cxx:1789
void WriteDffData(EscherEx &rEscherEx) const
Writes the DFF client anchor structure with the current anchor position.
Definition: xeescher.cxx:267
css::uno::Reference< css::drawing::XShape > mxShape
The chart itself (BOF/EOF substream data).
Definition: xeescher.hxx:325
virtual void Save(XclExpStream &rStrm) override
Writes the OBJ record and the entire chart substream.
Definition: xeescher.cxx:1409
sal_Int32 mnShapeId
Definition: xeescher.hxx:296
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:445
sal_Int32 mnHeight
Type of supported macro event.
Definition: xeescher.hxx:279
virtual XclExpDffAnchorBase * CreateDffAnchor() const override
Creates a new DFF client anchor object for embedded objects according to the scaling data passed to t...
Definition: xeescher.cxx:1880
sal_uInt16 mnScrollValue
Selected entry in combobox (1-based).
Definition: xeescher.hxx:283
A chart object.
Definition: xeescher.hxx:306
tools::Rectangle maCommentTo
From and From Offset.
Definition: xeescher.hxx:380
Represents the position (anchor) of an object in a Calc sheet.
Definition: xeescher.hxx:70
MapUnit
XclExpObjectManager(const XclExpRoot &rRoot)
Definition: xeescher.cxx:1771
sal_uInt32 mnStrmSize
Start position in 'Ctls' stream.
Definition: xeescher.hxx:242
XclExpDffSheetAnchor(const XclExpRoot &rRoot)
Definition: xeescher.cxx:291
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:36
XclExpDffNoteAnchor(const XclExpRoot &rRoot, const tools::Rectangle &rRect)
Definition: xeescher.cxx:330
XclExpMsoDrawing(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:391
virtual ~XclMacroHelper() override
Definition: xeescher.cxx:1644
::std::vector< sal_Int16 > ScfInt16Vec
Definition: ftools.hxx:252
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:928
void WriteMacroSubRec(XclExpStream &rStrm)
Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present.
Definition: xeescher.cxx:1648
void SvStream & rStrm
XclExpChartObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor, ScDocument *pDoc)
Definition: xeescher.cxx:1361
XclExpEmbeddedObjectManager(const XclExpObjectManager &rParent, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:1871
ScDocument * mpDoc
Definition: xeescher.hxx:327
XclExpString maAuthor
Definition: xeescher.hxx:366
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xeescher.cxx:1833
Helper class for form controls to manage spreadsheet links .
Definition: xeescher.hxx:164
bool mbLocked
Auto scale text.
Definition: xeescher.hxx:375
SdrTextVertAdjust
ScfInt16Vec maMultiSel
Definition: xeescher.hxx:277
XclTokenArrayRef mxCellLink
Definition: xeescher.hxx:188
sal_uInt16 AddObj(std::unique_ptr< XclObj > pObjRec)
Definition: xeescher.cxx:1843
Base class for single records with any content.
Definition: xerecord.hxx:143
sal_Int16 SCTAB
Definition: types.hxx:23
XclExpMsoDrawingBase(XclEscherEx &rEscherEx, sal_uInt16 nRecId)
Definition: xeescher.cxx:347
bool mbColHidden
Auto Fill Style.
Definition: xeescher.hxx:377