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  OUString maMacroName;
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  const OUString& GetMacroName() const;
212 };
213 
215 {
216 public:
217  explicit XclExpShapeObj( XclExpObjectManager& rRoot, css::uno::Reference< css::drawing::XShape > const & xShape, ScDocument* pDoc );
218  virtual ~XclExpShapeObj() override;
219 private:
220  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
221 };
222 
223 //delete for exporting OCX
224 //#if EXC_EXP_OCX_CTRL
225 
228 {
229 public:
230  explicit XclExpOcxControlObj(
231  XclExpObjectManager& rObjMgr,
232  css::uno::Reference< css::drawing::XShape > const & xShape,
233  const tools::Rectangle* pChildAnchor,
234  const OUString& rClassName,
235  sal_uInt32 nStrmStart, sal_uInt32 nStrmSize );
236 
237 private:
238  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
239 
240 private:
241  OUString maClassName;
242  sal_uInt32 mnStrmStart;
243  sal_uInt32 mnStrmSize;
244 };
245 
246 //#else
247 
250 {
251 public:
252  explicit XclExpTbxControlObj(
253  XclExpObjectManager& rObjMgr,
254  css::uno::Reference< css::drawing::XShape > const & xShape,
255  const tools::Rectangle* pChildAnchor );
256 
259  bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent );
260 
261  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
262 
263  void SaveVml(XclExpXmlStream& rStrm);
264 
265  OUString SaveControlPropertiesXml(XclExpXmlStream& rStrm) const;
266  void SaveSheetXml(XclExpXmlStream& rStrm, const OUString& aIdFormControlPr) const;
267 
268  void setShapeId(sal_Int32 aShapeId);
269 
270 private:
271  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
272 
274  void WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId );
276  void WriteSbs( XclExpStream& rStrm );
277 
278 private:
279  const css::uno::Reference< css::drawing::XShape > mxShape;
282  sal_Int32 mnHeight;
283  sal_uInt16 mnState;
284  sal_Int16 mnLineCount;
285  sal_Int16 mnSelEntry;
286  sal_uInt16 mnScrollValue;
287  sal_uInt16 mnScrollMin;
288  sal_uInt16 mnScrollMax;
289  sal_uInt16 mnScrollStep;
290  sal_uInt16 mnScrollPage;
293  bool mbMultiSel;
294  bool mbScrollHor;
295  bool mbPrint;
296  bool mbVisible;
297  OUString msCtrlName;
298  OUString msLabel;
299  sal_Int32 mnShapeId;
303 };
304 
305 //#endif
306 
307 class XclExpChart;
308 
310 class XclExpChartObj : public XclObj, protected XclExpRoot
311 {
312 public:
313  explicit XclExpChartObj(
314  XclExpObjectManager& rObjMgr,
315  css::uno::Reference< css::drawing::XShape > const & xShape,
316  const tools::Rectangle* pChildAnchor,
317  ScDocument* pDoc );
318  virtual ~XclExpChartObj() override;
319 
321  virtual void Save( XclExpStream& rStrm ) override;
322  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
323 
324  css::uno::Reference<css::chart::XChartDocument> GetChartDoc() const;
325 
326 private:
327  typedef std::shared_ptr< XclExpChart > XclExpChartRef;
328  XclExpChartRef mxChart;
329  css::uno::Reference< css::drawing::XShape > mxShape;
331 };
332 
342 class XclExpNote : public XclExpRecord
343 {
344 public:
351  explicit XclExpNote(
352  const XclExpRoot& rRoot,
353  const ScAddress& rScPos,
354  const ScPostIt* pScNote,
355  std::u16string_view rAddText );
356 
358  virtual void Save( XclExpStream& rStrm ) override;
359 
360  void WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm );
361 
362  const XclExpString& GetAuthor() const { return maAuthor; }
363 private:
365  virtual void WriteBody( XclExpStream& rStrm ) override;
366 
367 private:
370  OString maNoteText;
373  sal_uInt16 mnObjId;
374  bool mbVisible;
377  bool mbAutoScale;
378  bool mbLocked;
379  bool mbAutoFill;
380  bool mbColHidden;
381  bool mbRowHidden;
384 };
385 
387 {
388 public:
390 
391  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
392 
393 private:
396 };
397 
398 // object manager =============================================================
399 
401 {
402 public:
403  explicit XclExpObjectManager( const XclExpRoot& rRoot );
404  virtual ~XclExpObjectManager() override;
405 
408  virtual XclExpDffAnchorBase* CreateDffAnchor() const;
409 
413 
415  void StartSheet();
416 
422  rtl::Reference< XclExpRecordBase > ProcessDrawing( const css::uno::Reference< css::drawing::XShapes >& rxShapes );
423 
425  void EndDocument();
426 
429  bool HasObj() const;
430  sal_uInt16 AddObj( std::unique_ptr<XclObj> pObjRec );
431  std::unique_ptr<XclObj> RemoveLastObj();
432 
433 protected:
434  explicit XclExpObjectManager( const XclExpObjectManager& rParent );
435 
436 private:
437  void InitStream( bool bTempFile );
438 
439 private:
440  std::shared_ptr< ::utl::TempFile > mxTempFile;
441  std::unique_ptr< SvStream > mxDffStrm;
442  std::shared_ptr< XclEscherEx > mxEscherEx;
444 };
445 
447 {
448 public:
450  const XclExpObjectManager& rParent,
451  const Size& rPageSize,
452  sal_Int32 nScaleX, sal_Int32 nScaleY );
453 
456  virtual XclExpDffAnchorBase* CreateDffAnchor() const override;
457 
458 private:
460  sal_Int32 mnScaleX;
461  sal_Int32 mnScaleY;
462 };
463 
464 /* 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:381
virtual void WriteData(EscherEx &rEscherEx, const tools::Rectangle &rRect) override
Called from SVX DFF converter.
Definition: xeescher.cxx:267
SdrTextHorzAdjust meTHA
true = permanently visible.
Definition: xeescher.hxx:375
XclExpDffAnchorBase(const XclExpRoot &rRoot, sal_uInt16 nFlags=0)
Constructs a dummy client anchor.
Definition: xeescher.cxx:243
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:372
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xeescher.cxx:347
void WriteCellLinkSubRec(XclExpStream &rStrm, sal_uInt16 nSubRecId)
Writes a subrecord containing a cell link, or nothing, if no link present.
Definition: xeescher.cxx:1058
sal_uInt16 mnScrollMin
Scrollbar: Current value.
Definition: xeescher.hxx:287
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:242
const XclExpString & GetAuthor() const
Definition: xeescher.hxx:362
XclExpChartRef mxChart
Definition: xeescher.hxx:328
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:395
This class is used to export Excel record streams.
Definition: xestream.hxx:72
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1570
sal_uInt16 mnObjId
Calc cell address of the note.
Definition: xeescher.hxx:373
rtl::Reference< XclExpRecordBase > CreateDrawingGroup()
Creates and returns the MSODRAWINGGROUP record containing global DFF data in the DGGCONTAINER.
Definition: xeescher.cxx:1957
XclTokenArrayRef mxMacroLink
Definition: xeescher.hxx:196
SdrTextHorzAdjust
std::unique_ptr< XclObj > RemoveLastObj()
Definition: xeescher.cxx:2011
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:457
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:584
virtual void Save(XclExpStream &rStrm) override
Writes the NOTE record, if the respective Escher object is present.
Definition: xeescher.cxx:1682
XclEscherEx & mrEscherEx
Definition: xeescher.hxx:125
void EndDocument()
Finalizes the object manager after conversion of all sheets.
Definition: xeescher.cxx:1991
Represents a NOTE record containing the relevant data of a cell note.
Definition: xeescher.hxx:342
bool mbAutoFill
Position & Size locked.
Definition: xeescher.hxx:379
virtual ~XclExpObjectManager() override
Definition: xeescher.cxx:1948
sal_uInt16 mnScrollPage
Scrollbar: Single step.
Definition: xeescher.hxx:290
std::shared_ptr< XclEscherEx > mxEscherEx
Definition: xeescher.hxx:442
bool mbFlatButton
Scrollbar: Page step.
Definition: xeescher.hxx:291
XclExpShapeObj(XclExpObjectManager &rRoot, css::uno::Reference< css::drawing::XShape > const &xShape, ScDocument *pDoc)
Definition: xeescher.cxx:1841
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:290
void SetSdrObject(const SdrObject &rSdrObj)
Sets the anchor position and flags according to the passed SdrObject.
Definition: xeescher.cxx:254
bool SetMacroLink(const css::script::ScriptEventDescriptor &rEvent)
Sets the name of a macro attached to this control.
Definition: xeescher.cxx:917
void StartSheet()
Initializes the object manager for a new sheet.
Definition: xeescher.cxx:1962
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1870
void SetFlags(const SdrObject &rSdrObj)
Sets the flags according to the passed SdrObject.
Definition: xeescher.cxx:249
virtual ~XclExpControlHelper() override
Definition: xeescher.cxx:453
sal_Int16 mnLineCount
Checked/unchecked state.
Definition: xeescher.hxx:284
std::shared_ptr< XclExpChart > XclExpChartRef
Definition: xeescher.hxx:327
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:529
Access to global data from other classes.
Definition: xeroot.hxx:112
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:519
Additional class containing cell annotation data.
Definition: postit.hxx:161
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:227
XclExpDffEmbeddedAnchor(const XclExpRoot &rRoot, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:304
bool HasObj() const
Definition: xeescher.cxx:2001
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:1419
css::uno::Reference< css::chart::XChartDocument > GetChartDoc() const
Definition: xeescher.cxx:1598
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:289
OString maNoteText
Name of the author.
Definition: xeescher.hxx:370
tools::Rectangle maAreaTo
Definition: xeescher.hxx:301
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:299
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:1729
bool mbPrint
Scrollbar: true = horizontal.
Definition: xeescher.hxx:295
XclExpMsoDrawingGroup(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:354
bool mbAutoScale
text vertical adjust
Definition: xeescher.hxx:377
void WriteXml(sal_Int32 nAuthorId, XclExpXmlStream &rStrm)
Definition: xeescher.cxx:1745
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:1064
static void WriteFormula(XclExpStream &rStrm, const XclTokenArray &rTokArr)
Writes a formula with special style only valid in OBJ records.
Definition: xeescher.cxx:510
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1195
tools::Rectangle maCommentFrom
Row containing the comment is hidden.
Definition: xeescher.hxx:382
ScAddress mxCellLinkAddress
Number of entries in source range.
Definition: xeescher.hxx:191
XclExpDffDropDownAnchor(const XclExpRoot &rRoot, const ScAddress &rScPos)
Definition: xeescher.cxx:329
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:293
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:318
Represents an OBJ record for a TBX form control.
Definition: xeescher.hxx:249
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:2016
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:371
std::unique_ptr< SvStream > mxDffStrm
Definition: xeescher.hxx:441
sal_uInt16 mnScrollMax
Scrollbar: Minimum value.
Definition: xeescher.hxx:288
virtual ~XclExpShapeObj() override
Definition: xeescher.cxx:1855
sal_uInt16 mnState
Height of the control.
Definition: xeescher.hxx:283
XclExpRecordList< XclExpNote > & mrNotes
Definition: xeescher.hxx:395
XclExpTbxControlObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor)
Definition: xeescher.cxx:635
XclEscherEx & GetEscherEx()
Definition: xeescher.hxx:427
virtual void ImplSetFlags(const SdrObject &rSdrObj)
Definition: xeescher.cxx:274
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit)
Definition: xeescher.cxx:279
tools::Rectangle maAreaFrom
Definition: xeescher.hxx:300
XclExpImgData(const Graphic &rGraphic, sal_uInt16 nRecId)
Definition: xeescher.cxx:389
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:313
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:416
const XclExpRoot & mrRoot
Definition: xeescher.hxx:368
sal_Int16 mnSelEntry
Combobox dropdown line count.
Definition: xeescher.hxx:285
virtual ~XclExpChartObj() override
Definition: xeescher.cxx:1558
sal_uInt32 mnFragmentKey
Reference to the DFF converter containing the DFF stream.
Definition: xeescher.hxx:126
void SaveVml(XclExpXmlStream &rStrm)
Save into xl/drawings/vmlDrawing1.vml.
Definition: xeescher.cxx:1180
XclMacroHelper(const XclExpRoot &rRoot)
Definition: xeescher.cxx:1797
sal_uInt16 mnFlags
The client anchor data.
Definition: xeescher.hxx:65
XclExpComments(SCTAB nTab, XclExpRecordList< XclExpNote > &rNotes)
Definition: xeescher.cxx:1865
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:376
XclTbxEventType meEventType
Indexes of all selected entries in a multi selection.
Definition: xeescher.hxx:281
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:1967
OUString maClassName
Definition: xeescher.hxx:241
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:1608
OUString SaveControlPropertiesXml(XclExpXmlStream &rStrm) const
Definition: xeescher.cxx:1342
OUString maMacroName
Token array containing a link to an attached macro.
Definition: xeescher.hxx:197
sal_uInt16 mnRecId
The VCL graphic.
Definition: xeescher.hxx:159
XclExpControlHelper(const XclExpRoot &rRoot)
Definition: xeescher.cxx:447
rtl::Reference< XclExpObjList > mxObjList
Definition: xeescher.hxx:443
bool mbFlatBorder
False = 3D button style; True = Flat button style.
Definition: xeescher.hxx:292
void setShapeId(sal_Int32 aShapeId)
Definition: xeescher.cxx:1084
Provides export of bitmap data to an IMGDATA record.
Definition: xeescher.hxx:148
const css::uno::Reference< css::drawing::XShape > mxShape
Definition: xeescher.hxx:279
bool mbScrollHor
true = Multi selection in listbox.
Definition: xeescher.hxx:294
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:1859
std::shared_ptr< ::utl::TempFile > mxTempFile
Definition: xeescher.hxx:440
bool mbVisible
Escher object ID (BIFF8).
Definition: xeescher.hxx:374
virtual XclExpDffAnchorBase * CreateDffAnchor() const
Creates a new DFF client anchor object.
Definition: xeescher.cxx:1952
void WriteDffData(EscherEx &rEscherEx) const
Writes the DFF client anchor structure with the current anchor position.
Definition: xeescher.cxx:260
css::uno::Reference< css::drawing::XShape > mxShape
The chart itself (BOF/EOF substream data).
Definition: xeescher.hxx:329
virtual void Save(XclExpStream &rStrm) override
Writes the OBJ record and the entire chart substream.
Definition: xeescher.cxx:1562
sal_Int32 mnShapeId
Definition: xeescher.hxx:299
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:438
sal_Int32 mnHeight
Type of supported macro event.
Definition: xeescher.hxx:282
const OUString & GetMacroName() const
Definition: xeescher.cxx:1812
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:2043
sal_uInt16 mnScrollValue
Selected entry in combobox (1-based).
Definition: xeescher.hxx:286
A chart object.
Definition: xeescher.hxx:310
tools::Rectangle maCommentTo
From and From Offset.
Definition: xeescher.hxx:383
Represents the position (anchor) of an object in a Calc sheet.
Definition: xeescher.hxx:69
MapUnit
XclExpObjectManager & mrRoot
Definition: xeescher.hxx:302
XclExpObjectManager(const XclExpRoot &rRoot)
Definition: xeescher.cxx:1934
sal_uInt32 mnStrmSize
Start position in 'Ctls' stream.
Definition: xeescher.hxx:243
XclExpDffSheetAnchor(const XclExpRoot &rRoot)
Definition: xeescher.cxx:284
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:35
XclExpDffNoteAnchor(const XclExpRoot &rRoot, const tools::Rectangle &rRect)
Definition: xeescher.cxx:323
XclExpMsoDrawing(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:384
virtual ~XclMacroHelper() override
Definition: xeescher.cxx:1802
::std::vector< sal_Int16 > ScfInt16Vec
Definition: ftools.hxx:254
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:922
void WriteMacroSubRec(XclExpStream &rStrm)
Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present.
Definition: xeescher.cxx:1806
void SvStream & rStrm
XclExpChartObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor, ScDocument *pDoc)
Definition: xeescher.cxx:1517
XclExpEmbeddedObjectManager(const XclExpObjectManager &rParent, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:2034
ScDocument * mpDoc
Definition: xeescher.hxx:330
XclExpString maAuthor
Definition: xeescher.hxx:369
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xeescher.cxx:1996
Helper class for form controls to manage spreadsheet links .
Definition: xeescher.hxx:163
bool mbLocked
Auto scale text.
Definition: xeescher.hxx:378
SdrTextVertAdjust
ScfInt16Vec maMultiSel
Definition: xeescher.hxx:280
XclTokenArrayRef mxCellLink
Definition: xeescher.hxx:187
sal_uInt16 AddObj(std::unique_ptr< XclObj > pObjRec)
Definition: xeescher.cxx:2006
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:340
bool mbColHidden
Auto Fill Style.
Definition: xeescher.hxx:380