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 #pragma once
21 
22 #include <vcl/graph.hxx>
24 #include "xcl97rec.hxx"
25 #include "xlescher.hxx"
26 #include "xlformula.hxx"
27 #include <svx/sdtaitm.hxx>
28 #include <rtl/ustring.hxx>
29 #include <memory>
30 
31 class ScPostIt;
32 
33 namespace utl { class TempFile; }
34 namespace com::sun::star::chart { class XChartDocument; }
35 namespace com::sun::star::script { struct ScriptEventDescriptor; }
36 
37 
38 // DFF client anchor ==========================================================
39 
42 {
43 public:
45  explicit XclExpDffAnchorBase( const XclExpRoot& rRoot, sal_uInt16 nFlags = 0 );
46 
48  void SetFlags( const SdrObject& rSdrObj );
50  void SetSdrObject( const SdrObject& rSdrObj );
51 
53  void WriteDffData( EscherEx& rEscherEx ) const;
54 
57  virtual void WriteData( EscherEx& rEscherEx, const tools::Rectangle& rRect ) override;
58 
59 private:
60  virtual void ImplSetFlags( const SdrObject& rSdrObj );
61  virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit );
62 
63 protected: // for access in derived classes
65  sal_uInt16 mnFlags;
66 };
67 
70 {
71 public:
72  explicit XclExpDffSheetAnchor( const XclExpRoot& rRoot );
73 
74 private:
75  virtual void ImplSetFlags( const SdrObject& rSdrObj ) override;
76  virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit ) override;
77 
78 private:
80 };
81 
84 {
85 public:
86  explicit XclExpDffEmbeddedAnchor( const XclExpRoot& rRoot,
87  const Size& rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY );
88 
89 private:
90  virtual void ImplSetFlags( const SdrObject& rSdrObj ) override;
91  virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit ) override;
92 
93 private:
95  sal_Int32 mnScaleX;
96  sal_Int32 mnScaleY;
97 };
98 
101 {
102 public:
103  explicit XclExpDffNoteAnchor( const XclExpRoot& rRoot, const tools::Rectangle& rRect );
104 };
105 
108 {
109 public:
110  explicit XclExpDffDropDownAnchor( const XclExpRoot& rRoot, const ScAddress& rScPos );
111 };
112 
113 // MSODRAWING* records ========================================================
114 
117 {
118 public:
119  explicit XclExpMsoDrawingBase( XclEscherEx& rEscherEx, sal_uInt16 nRecId );
120 
121 private:
122  virtual void WriteBody( XclExpStream& rStrm ) override;
123 
124 protected:
126  sal_uInt32 mnFragmentKey;
127 };
128 
133 {
134 public:
135  explicit XclExpMsoDrawingGroup( XclEscherEx& rEscherEx );
136 };
137 
142 {
143 public:
144  explicit XclExpMsoDrawing( XclEscherEx& rEscherEx );
145 };
146 
149 {
150 public:
151  explicit XclExpImgData( const Graphic& rGraphic, sal_uInt16 nRecId );
152 
154  virtual void Save( XclExpStream& rStrm ) override;
155  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
156 
157 private:
159  sal_uInt16 mnRecId;
160 };
161 
164 {
165 public:
166  explicit XclExpControlHelper( const XclExpRoot& rRoot );
167  virtual ~XclExpControlHelper() override;
168 
169 protected:
171  void ConvertSheetLinks(
172  css::uno::Reference< css::drawing::XShape > const & xShape );
173 
175  const XclTokenArray* GetCellLinkTokArr() const { return mxCellLink.get(); }
177  const XclTokenArray* GetSourceRangeTokArr() const { return mxSrcRange.get(); }
179  sal_uInt16 GetSourceEntryCount() const { return mnEntryCount; }
180 
182  static void WriteFormula( XclExpStream& rStrm, const XclTokenArray& rTokArr );
184  static void WriteFormulaSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId, const XclTokenArray& rTokArr );
185 
186 private:
189  sal_uInt16 mnEntryCount;
190 protected:
192 };
193 
195 {
197 
198 public:
199  explicit XclMacroHelper( const XclExpRoot& rRoot );
200  virtual ~XclMacroHelper() override;
202  void WriteMacroSubRec( XclExpStream& rStrm );
205  bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent, const XclTbxEventType& nEventType );
206 
209  bool SetMacroLink( const OUString& rMacro );
210 };
211 
213 {
214 public:
215  explicit XclExpShapeObj( XclExpObjectManager& rRoot, css::uno::Reference< css::drawing::XShape > const & xShape, ScDocument* pDoc );
216  virtual ~XclExpShapeObj() override;
217 private:
218  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
219 };
220 
221 //delete for exporting OCX
222 //#if EXC_EXP_OCX_CTRL
223 
226 {
227 public:
228  explicit XclExpOcxControlObj(
229  XclExpObjectManager& rObjMgr,
230  css::uno::Reference< css::drawing::XShape > const & xShape,
231  const tools::Rectangle* pChildAnchor,
232  const OUString& rClassName,
233  sal_uInt32 nStrmStart, sal_uInt32 nStrmSize );
234 
235 private:
236  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
237 
238 private:
239  OUString maClassName;
240  sal_uInt32 mnStrmStart;
241  sal_uInt32 mnStrmSize;
242 };
243 
244 //#else
245 
248 {
249 public:
250  explicit XclExpTbxControlObj(
251  XclExpObjectManager& rObjMgr,
252  css::uno::Reference< css::drawing::XShape > const & xShape,
253  const tools::Rectangle* pChildAnchor );
254 
257  bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent );
258 
259  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
260 
261  OUString SaveControlPropertiesXml(XclExpXmlStream& rStrm) const;
262  void SaveSheetXml(XclExpXmlStream& rStrm, const OUString& aIdFormControlPr) const;
263 
264  void setShapeId(sal_Int32 aShapeId);
265 
266 private:
267  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
268 
270  void WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId );
272  void WriteSbs( XclExpStream& rStrm );
273 
274 private:
275  const css::uno::Reference< css::drawing::XShape > mxShape;
278  sal_Int32 mnHeight;
279  sal_uInt16 mnState;
280  sal_Int16 mnLineCount;
281  sal_Int16 mnSelEntry;
282  sal_uInt16 mnScrollValue;
283  sal_uInt16 mnScrollMin;
284  sal_uInt16 mnScrollMax;
285  sal_uInt16 mnScrollStep;
286  sal_uInt16 mnScrollPage;
289  bool mbMultiSel;
290  bool mbScrollHor;
291  bool mbPrint;
292  bool mbVisible;
293  OUString msCtrlName;
294  OUString msLabel;
295  sal_Int32 mnShapeId;
298 };
299 
300 //#endif
301 
302 class XclExpChart;
303 
305 class XclExpChartObj : public XclObj, protected XclExpRoot
306 {
307 public:
308  explicit XclExpChartObj(
309  XclExpObjectManager& rObjMgr,
310  css::uno::Reference< css::drawing::XShape > const & xShape,
311  const tools::Rectangle* pChildAnchor,
312  ScDocument* pDoc );
313  virtual ~XclExpChartObj() override;
314 
316  virtual void Save( XclExpStream& rStrm ) override;
317  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
318 
319  const css::uno::Reference<css::chart::XChartDocument>& GetChartDoc() const;
320 
321 private:
322  typedef std::shared_ptr< XclExpChart > XclExpChartRef;
323  XclExpChartRef mxChart;
324  css::uno::Reference< css::drawing::XShape > mxShape;
325  css::uno::Reference< css::chart::XChartDocument > mxChartDoc;
327 };
328 
338 class XclExpNote : public XclExpRecord
339 {
340 public:
347  explicit XclExpNote(
348  const XclExpRoot& rRoot,
349  const ScAddress& rScPos,
350  const ScPostIt* pScNote,
351  std::u16string_view rAddText );
352 
354  virtual void Save( XclExpStream& rStrm ) override;
355 
356  void WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm );
357 
358  const XclExpString& GetAuthor() const { return maAuthor; }
359 private:
361  virtual void WriteBody( XclExpStream& rStrm ) override;
362 
363 private:
366  OString maNoteText;
369  sal_uInt16 mnObjId;
370  bool mbVisible;
373  bool mbAutoScale;
374  bool mbLocked;
375  bool mbAutoFill;
376  bool mbColHidden;
377  bool mbRowHidden;
380 };
381 
383 {
384 public:
386 
387  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
388 
389 private:
392 };
393 
394 // object manager =============================================================
395 
397 {
398 public:
399  explicit XclExpObjectManager( const XclExpRoot& rRoot );
400  virtual ~XclExpObjectManager() override;
401 
404  virtual XclExpDffAnchorBase* CreateDffAnchor() const;
405 
409 
411  void StartSheet();
412 
418  rtl::Reference< XclExpRecordBase > ProcessDrawing( const css::uno::Reference< css::drawing::XShapes >& rxShapes );
419 
421  void EndDocument();
422 
425  bool HasObj() const;
426  sal_uInt16 AddObj( std::unique_ptr<XclObj> pObjRec );
427  std::unique_ptr<XclObj> RemoveLastObj();
428 
429 protected:
430  explicit XclExpObjectManager( const XclExpObjectManager& rParent );
431 
432 private:
433  void InitStream( bool bTempFile );
434 
435 private:
436  std::shared_ptr< ::utl::TempFile > mxTempFile;
437  std::unique_ptr< SvStream > mxDffStrm;
438  std::shared_ptr< XclEscherEx > mxEscherEx;
440 };
441 
443 {
444 public:
446  const XclExpObjectManager& rParent,
447  const Size& rPageSize,
448  sal_Int32 nScaleX, sal_Int32 nScaleY );
449 
452  virtual XclExpDffAnchorBase* CreateDffAnchor() const override;
453 
454 private:
456  sal_Int32 mnScaleX;
457  sal_Int32 mnScaleY;
458 };
459 
460 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:47
bool mbRowHidden
Column containing the comment is hidden.
Definition: xeescher.hxx:377
virtual void WriteData(EscherEx &rEscherEx, const tools::Rectangle &rRect) override
Called from SVX DFF converter.
Definition: xeescher.cxx:266
SdrTextHorzAdjust meTHA
true = permanently visible.
Definition: xeescher.hxx:371
XclExpDffAnchorBase(const XclExpRoot &rRoot, sal_uInt16 nFlags=0)
Constructs a dummy client anchor.
Definition: xeescher.cxx:242
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xechart.hxx:1183
ScAddress maScPos
Text and formatting data (OOXML)
Definition: xeescher.hxx:368
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xeescher.cxx:346
void WriteCellLinkSubRec(XclExpStream &rStrm, sal_uInt16 nSubRecId)
Writes a subrecord containing a cell link, or nothing, if no link present.
Definition: xeescher.cxx:1056
sal_uInt16 mnScrollMin
Scrollbar: Current value.
Definition: xeescher.hxx:283
The MSODRAWINGGROUP record contains the DGGCONTAINER with global DFF data such as the picture contain...
Definition: xeescher.hxx:132
sal_uInt32 mnStrmStart
Class name of the control.
Definition: xeescher.hxx:240
const XclExpString & GetAuthor() const
Definition: xeescher.hxx:358
XclExpChartRef mxChart
Definition: xeescher.hxx:323
Represents the position (anchor) of a note object.
Definition: xeescher.hxx:100
virtual void Save(XclExpStream &rStrm) override
Writes the BITMAP record.
Definition: xeescher.cxx:394
This class is used to export Excel record streams.
Definition: xestream.hxx:72
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1409
sal_uInt16 mnObjId
Calc cell address of the note.
Definition: xeescher.hxx:369
rtl::Reference< XclExpRecordBase > CreateDrawingGroup()
Creates and returns the MSODRAWINGGROUP record containing global DFF data in the DGGCONTAINER.
Definition: xeescher.cxx:1786
XclTokenArrayRef mxMacroLink
Definition: xeescher.hxx:196
SdrTextHorzAdjust
std::unique_ptr< XclObj > RemoveLastObj()
Definition: xeescher.cxx:1840
XclObjAnchor maAnchor
Definition: xeescher.hxx:64
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:456
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:583
virtual void Save(XclExpStream &rStrm) override
Writes the NOTE record, if the respective Escher object is present.
Definition: xeescher.cxx:1516
XclEscherEx & mrEscherEx
Definition: xeescher.hxx:125
void EndDocument()
Finalizes the object manager after conversion of all sheets.
Definition: xeescher.cxx:1820
Represents a NOTE record containing the relevant data of a cell note.
Definition: xeescher.hxx:338
bool mbAutoFill
Position & Size locked.
Definition: xeescher.hxx:375
virtual ~XclExpObjectManager() override
Definition: xeescher.cxx:1777
sal_uInt16 mnScrollPage
Scrollbar: Single step.
Definition: xeescher.hxx:286
std::shared_ptr< XclEscherEx > mxEscherEx
Definition: xeescher.hxx:438
bool mbFlatButton
Scrollbar: Page step.
Definition: xeescher.hxx:287
XclExpShapeObj(XclExpObjectManager &rRoot, css::uno::Reference< css::drawing::XShape > const &xShape, ScDocument *pDoc)
Definition: xeescher.cxx:1670
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:289
void SetSdrObject(const SdrObject &rSdrObj)
Sets the anchor position and flags according to the passed SdrObject.
Definition: xeescher.cxx:253
bool SetMacroLink(const css::script::ScriptEventDescriptor &rEvent)
Sets the name of a macro attached to this control.
Definition: xeescher.cxx:915
void StartSheet()
Initializes the object manager for a new sheet.
Definition: xeescher.cxx:1791
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1699
void SetFlags(const SdrObject &rSdrObj)
Sets the flags according to the passed SdrObject.
Definition: xeescher.cxx:248
virtual ~XclExpControlHelper() override
Definition: xeescher.cxx:452
sal_Int16 mnLineCount
Checked/unchecked state.
Definition: xeescher.hxx:280
std::shared_ptr< XclExpChart > XclExpChartRef
Definition: xeescher.hxx:322
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:528
Access to global data from other classes.
Definition: xeroot.hxx:112
const css::uno::Reference< css::chart::XChartDocument > & GetChartDoc() const
Definition: xeescher.cxx:1437
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:518
Additional class containing cell annotation data.
Definition: postit.hxx:159
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:225
XclExpDffEmbeddedAnchor(const XclExpRoot &rRoot, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:303
bool HasObj() const
Definition: xeescher.cxx:1830
sal_uInt16 GetSourceEntryCount() const
Returns the number of entries in the source range, or 0, if no source set.
Definition: xeescher.hxx:179
XclTbxEventType
Definition: xlescher.hxx:405
void SaveSheetXml(XclExpXmlStream &rStrm, const OUString &aIdFormControlPr) const
Definition: xeescher.cxx:1297
Base class for all Excel records.
Definition: xerecord.hxx:37
Base class for records holding DFF stream fragments.
Definition: xeescher.hxx:116
sal_uInt16 mnScrollStep
Scrollbar: Maximum value.
Definition: xeescher.hxx:285
OString maNoteText
Name of the author.
Definition: xeescher.hxx:366
tools::Rectangle maAreaTo
Definition: xeescher.hxx:297
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:298
Represents the position (anchor) of a shape in an embedded draw page.
Definition: xeescher.hxx:83
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the NOTE record.
Definition: xeescher.cxx:1563
bool mbPrint
Scrollbar: true = horizontal.
Definition: xeescher.hxx:291
XclExpMsoDrawingGroup(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:353
bool mbAutoScale
text vertical adjust
Definition: xeescher.hxx:373
void WriteXml(sal_Int32 nAuthorId, XclExpXmlStream &rStrm)
Definition: xeescher.cxx:1579
const XclTokenArray * GetCellLinkTokArr() const
Returns the Excel token array of the cell link, or 0, if no link present.
Definition: xeescher.hxx:175
void WriteSbs(XclExpStream &rStrm)
Writes the ftSbs sub structure containing scrollbar data.
Definition: xeescher.cxx:1062
static void WriteFormula(XclExpStream &rStrm, const XclTokenArray &rTokArr)
Writes a formula with special style only valid in OBJ records.
Definition: xeescher.cxx:509
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1088
tools::Rectangle maCommentFrom
Row containing the comment is hidden.
Definition: xeescher.hxx:378
ScAddress mxCellLinkAddress
Number of entries in source range.
Definition: xeescher.hxx:191
XclExpDffDropDownAnchor(const XclExpRoot &rRoot, const ScAddress &rScPos)
Definition: xeescher.cxx:328
Graphic maGraphic
Definition: xeescher.hxx:158
Base class for DFF client anchor atoms used in spreadsheets.
Definition: xeescher.hxx:41
bool mbMultiSel
False = 3D border style; True = Flat border style.
Definition: xeescher.hxx:289
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:317
Represents an OBJ record for a TBX form control.
Definition: xeescher.hxx:247
sal_uInt16 mnEntryCount
Formula for source data range.
Definition: xeescher.hxx:189
Represents the position (anchor) of a cell dropdown object.
Definition: xeescher.hxx:107
void InitStream(bool bTempFile)
Definition: xeescher.cxx:1845
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:283
XclExpStringRef mpNoteContents
Main text of the note (<=BIFF7).
Definition: xeescher.hxx:367
std::unique_ptr< SvStream > mxDffStrm
Definition: xeescher.hxx:437
sal_uInt16 mnScrollMax
Scrollbar: Minimum value.
Definition: xeescher.hxx:284
virtual ~XclExpShapeObj() override
Definition: xeescher.cxx:1684
sal_uInt16 mnState
Height of the control.
Definition: xeescher.hxx:279
XclExpRecordList< XclExpNote > & mrNotes
Definition: xeescher.hxx:391
XclExpTbxControlObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor)
Definition: xeescher.cxx:634
XclEscherEx & GetEscherEx()
Definition: xeescher.hxx:423
virtual void ImplSetFlags(const SdrObject &rSdrObj)
Definition: xeescher.cxx:273
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit)
Definition: xeescher.cxx:278
tools::Rectangle maAreaFrom
Definition: xeescher.hxx:296
XclExpImgData(const Graphic &rGraphic, sal_uInt16 nRecId)
Definition: xeescher.cxx:388
const XclTokenArray * GetSourceRangeTokArr() const
Returns the Excel token array of the source range, or 0, if no link present.
Definition: xeescher.hxx:177
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:312
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:416
const XclExpRoot & mrRoot
Definition: xeescher.hxx:364
sal_Int16 mnSelEntry
Combobox dropdown line count.
Definition: xeescher.hxx:281
virtual ~XclExpChartObj() override
Definition: xeescher.cxx:1397
sal_uInt32 mnFragmentKey
Reference to the DFF converter containing the DFF stream.
Definition: xeescher.hxx:126
XclMacroHelper(const XclExpRoot &rRoot)
Token array containing a link to an attached macro.
Definition: xeescher.cxx:1631
sal_uInt16 mnFlags
The client anchor data.
Definition: xeescher.hxx:65
XclExpComments(SCTAB nTab, XclExpRecordList< XclExpNote > &rNotes)
Definition: xeescher.cxx:1694
One or more MSODRAWING records contain the DFF stream data for a drawing shape.
Definition: xeescher.hxx:141
SdrTextVertAdjust meTVA
text horizontal adjust
Definition: xeescher.hxx:372
XclTbxEventType meEventType
Indexes of all selected entries in a multi selection.
Definition: xeescher.hxx:277
Binary representation of an Excel token array.
Definition: xlformula.hxx:376
XclTokenArrayRef mxSrcRange
Formula for linked cell.
Definition: xeescher.hxx:188
rtl::Reference< XclExpRecordBase > ProcessDrawing(const SdrPage *pSdrPage)
Processes a drawing page and returns the record block containing all related records (MSODRAWING...
Definition: xeescher.cxx:1796
OUString maClassName
Definition: xeescher.hxx:239
XclExpNote(const XclExpRoot &rRoot, const ScAddress &rScPos, const ScPostIt *pScNote, std::u16string_view rAddText)
Constructs a NOTE record from the passed note object and/or the text.
Definition: xeescher.cxx:1442
OUString SaveControlPropertiesXml(XclExpXmlStream &rStrm) const
Definition: xeescher.cxx:1235
sal_uInt16 mnRecId
The VCL graphic.
Definition: xeescher.hxx:159
css::uno::Reference< css::chart::XChartDocument > mxChartDoc
Definition: xeescher.hxx:325
XclExpControlHelper(const XclExpRoot &rRoot)
Definition: xeescher.cxx:446
rtl::Reference< XclExpObjList > mxObjList
Definition: xeescher.hxx:439
bool mbFlatBorder
False = 3D button style; True = Flat button style.
Definition: xeescher.hxx:288
void setShapeId(sal_Int32 aShapeId)
Definition: xeescher.cxx:1082
Provides export of bitmap data to an IMGDATA record.
Definition: xeescher.hxx:148
const css::uno::Reference< css::drawing::XShape > mxShape
Definition: xeescher.hxx:275
bool mbScrollHor
true = Multi selection in listbox.
Definition: xeescher.hxx:290
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:1688
std::shared_ptr< ::utl::TempFile > mxTempFile
Definition: xeescher.hxx:436
bool mbVisible
Escher object ID (BIFF8).
Definition: xeescher.hxx:370
virtual XclExpDffAnchorBase * CreateDffAnchor() const
Creates a new DFF client anchor object.
Definition: xeescher.cxx:1781
void WriteDffData(EscherEx &rEscherEx) const
Writes the DFF client anchor structure with the current anchor position.
Definition: xeescher.cxx:259
css::uno::Reference< css::drawing::XShape > mxShape
The chart itself (BOF/EOF substream data).
Definition: xeescher.hxx:324
virtual void Save(XclExpStream &rStrm) override
Writes the OBJ record and the entire chart substream.
Definition: xeescher.cxx:1401
sal_Int32 mnShapeId
Definition: xeescher.hxx:295
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:437
sal_Int32 mnHeight
Type of supported macro event.
Definition: xeescher.hxx:278
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:1872
sal_uInt16 mnScrollValue
Selected entry in combobox (1-based).
Definition: xeescher.hxx:282
A chart object.
Definition: xeescher.hxx:305
tools::Rectangle maCommentTo
From and From Offset.
Definition: xeescher.hxx:379
Represents the position (anchor) of an object in a Calc sheet.
Definition: xeescher.hxx:69
MapUnit
XclExpObjectManager(const XclExpRoot &rRoot)
Definition: xeescher.cxx:1763
sal_uInt32 mnStrmSize
Start position in 'Ctls' stream.
Definition: xeescher.hxx:241
XclExpDffSheetAnchor(const XclExpRoot &rRoot)
Definition: xeescher.cxx:283
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:35
XclExpDffNoteAnchor(const XclExpRoot &rRoot, const tools::Rectangle &rRect)
Definition: xeescher.cxx:322
XclExpMsoDrawing(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:383
virtual ~XclMacroHelper() override
Definition: xeescher.cxx:1636
::std::vector< sal_Int16 > ScfInt16Vec
Definition: ftools.hxx:254
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:920
void WriteMacroSubRec(XclExpStream &rStrm)
Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present.
Definition: xeescher.cxx:1640
void SvStream & rStrm
XclExpChartObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor, ScDocument *pDoc)
Definition: xeescher.cxx:1353
XclExpEmbeddedObjectManager(const XclExpObjectManager &rParent, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:1863
ScDocument * mpDoc
Definition: xeescher.hxx:326
XclExpString maAuthor
Definition: xeescher.hxx:365
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xeescher.cxx:1825
Helper class for form controls to manage spreadsheet links .
Definition: xeescher.hxx:163
bool mbLocked
Auto scale text.
Definition: xeescher.hxx:374
SdrTextVertAdjust
ScfInt16Vec maMultiSel
Definition: xeescher.hxx:276
XclTokenArrayRef mxCellLink
Definition: xeescher.hxx:187
sal_uInt16 AddObj(std::unique_ptr< XclObj > pObjRec)
Definition: xeescher.cxx:1835
Base class for single records with any content.
Definition: xerecord.hxx:141
sal_Int16 SCTAB
Definition: types.hxx:22
XclExpMsoDrawingBase(XclEscherEx &rEscherEx, sal_uInt16 nRecId)
Definition: xeescher.cxx:339
bool mbColHidden
Auto Fill Style.
Definition: xeescher.hxx:376