LibreOffice Module sc (master)  1
xcl97rec.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_XCL97REC_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XCL97REC_HXX
22 
23 #include <memory>
24 #include "excrecds.hxx"
25 #include "xlescher.hxx"
26 #include "xestring.hxx"
27 #include <tabprotection.hxx>
28 #include <svx/svdobj.hxx>
29 #include <oox/export/drawingml.hxx>
30 
31 class XclObj;
32 class XclExpMsoDrawing;
33 class SdrCaptionObj;
34 class SdrTextObj;
35 class XclTxo;
36 class XclEscherEx;
37 
39 {
40 public:
41  explicit ScURLTransformer(ScDocument& rDoc);
42 
43  virtual OUString getTransformedString(const OUString& rURL) const override;
44 
45  virtual bool isExternalURL(const OUString& rURL) const override;
46 
47 private:
49 };
50 
51 class XclExpObjList : public ExcEmptyRec, protected XclExpRoot
52 {
53 public:
54 
55  typedef std::vector<std::unique_ptr<XclObj>>::iterator iterator;
56 
57  explicit XclExpObjList( const XclExpRoot& rRoot, XclEscherEx& rEscherEx );
58  virtual ~XclExpObjList() override;
59 
62  sal_uInt16 Add( std::unique_ptr<XclObj> );
63 
67  std::unique_ptr<XclObj> pop_back ();
68 
69  bool empty () const { return maObjs.empty(); }
70 
71  size_t size () const { return maObjs.size(); }
72 
73  iterator begin () { return maObjs.begin(); }
74 
75  iterator end () { return maObjs.end(); }
76 
78 
80  void EndSheet();
81 
82  virtual void Save( XclExpStream& rStrm ) override;
83  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
84 
85  static void ResetCounters();
86 
87  static sal_Int32 getNewDrawingUniqueId() { return ++mnDrawingMLCount; }
88 
89 private:
90  static sal_Int32 mnDrawingMLCount, mnVmlCount;
92 
94  std::unique_ptr<XclExpMsoDrawing> pMsodrawingPerSheet;
95  std::unique_ptr<XclExpMsoDrawing> pSolverContainer;
96 
97  std::vector<std::unique_ptr<XclObj>> maObjs;
98 };
99 
100 // --- class XclObj --------------------------------------------------
101 
102 class XclObj : public XclExpRecord
103 {
104 protected:
107  std::unique_ptr<XclExpMsoDrawing> pClientTextbox;
108  std::unique_ptr<XclTxo> pTxo;
109  sal_uInt16 mnObjType;
110  sal_uInt16 nObjId;
111  sal_uInt16 nGrbit;
114 
115  bool mbOwnEscher;
116 
119  explicit XclObj( XclExpObjectManager& rObjMgr, sal_uInt16 nObjType, bool bOwnEscher = false );
120 
121  void ImplWriteAnchor( const SdrObject* pSdrObj, const tools::Rectangle* pChildAnchor );
122 
123  // overwritten for writing MSODRAWING record
124  virtual void WriteBody( XclExpStream& rStrm ) override;
125  virtual void WriteSubRecs( XclExpStream& rStrm );
126  void SaveTextRecs( XclExpStream& rStrm );
127 
128 public:
129  virtual ~XclObj() override;
130 
131  sal_uInt16 GetObjType() const { return mnObjType; }
132 
133  void SetId( sal_uInt16 nId ) { nObjId = nId; }
134 
135  void SetTab( SCTAB nScTab ) { mnScTab = nScTab; }
136  SCTAB GetTab() const { return mnScTab; }
137 
138  void SetLocked( bool b ) { SetGrBit(b, 0x0001); }
139  void SetPrintable( bool b ) { SetGrBit(b, 0x0010); }
140  void SetAutoFill( bool b ) { SetGrBit(b, 0x2000); }
141  void SetAutoLine( bool b ) { SetGrBit(b, 0x4000); }
142  void SetGrBit( bool b, int f )
143  {
144  if (b)
145  nGrbit |= f;
146  else
147  nGrbit &= ~f;
148  }
149 
150  // set corresponding Excel object type in OBJ/ftCmo
151  void SetEscherShapeType( sal_uInt16 nType );
153 
163  bool IsOwnEscher() const { return mbOwnEscher; }
164 
166  void SetText( const XclExpRoot& rRoot, const SdrTextObj& rObj );
167 
168  virtual void Save( XclExpStream& rStrm ) override;
169 };
170 
171 // --- class XclObjComment -------------------------------------------
172 
173 class XclObjComment : public XclObj
174 {
176 
177  // no need to use std::unique_ptr< SdrCaptionObj, SdrObjectFreeOp >
179 
180  bool mbVisible;
183 
184 public:
186  const tools::Rectangle& rRect, const EditTextObject& rEditObj, SdrCaptionObj* pCaption, bool bVisible, const ScAddress& rAddress, const tools::Rectangle &rFrom, const tools::Rectangle &To );
187  virtual ~XclObjComment() override;
188 
191  void ProcessEscherObj( const XclExpRoot& rRoot,
192  const tools::Rectangle& rRect, SdrObject* pCaption, bool bVisible );
193 
194  virtual void Save( XclExpStream& rStrm ) override;
195  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
196 };
197 
198 // --- class XclObjDropDown ------------------------------------------
199 
200 class XclObjDropDown : public XclObj
201 {
202 private:
204 
205  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
206 
207 protected:
208 public:
209  XclObjDropDown( XclExpObjectManager& rObjMgr, const ScAddress& rPos, bool bFilt );
210  virtual ~XclObjDropDown() override;
211 };
212 
213 // --- class XclTxo --------------------------------------------------
214 
215 class XclTxo : public ExcRecord
216 {
217 public:
218  XclTxo( const OUString& rString, sal_uInt16 nFontIx );
219  XclTxo( const XclExpRoot& rRoot, const SdrTextObj& rEditObj );
220  XclTxo( const XclExpRoot& rRoot, const EditTextObject& rEditObj, SdrObject* pCaption );
221 
222  void SetHorAlign( sal_uInt8 nHorAlign ) { mnHorAlign = nHorAlign; }
223  void SetVerAlign( sal_uInt8 nVerAlign ) { mnVerAlign = nVerAlign; }
224 
225  virtual void Save( XclExpStream& rStrm ) override;
226 
227  virtual sal_uInt16 GetNum() const override;
228  virtual std::size_t GetLen() const override;
229 
230 private:
231  virtual void SaveCont( XclExpStream& rStrm ) override;
232 
233 private:
235  sal_uInt16 mnRotation;
238 };
239 
240 // --- class XclObjOle -----------------------------------------------
241 
242 class XclObjOle : public XclObj
243 {
244 private:
245 
248 
249  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
250 
251 public:
252  XclObjOle( XclExpObjectManager& rObjMgr, const SdrObject& rObj );
253  virtual ~XclObjOle() override;
254 
255  virtual void Save( XclExpStream& rStrm ) override;
256 };
257 
258 // --- class XclObjAny -----------------------------------------------
259 
260 class XclObjAny : public XclObj
261 {
262 protected:
263  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
264 
265 public:
266  XclObjAny( XclExpObjectManager& rObjMgr,
267  const css::uno::Reference< css::drawing::XShape >& rShape,
268  ScDocument* pDoc);
269  virtual ~XclObjAny() override;
270 
271  const css::uno::Reference< css::drawing::XShape >&
272  GetShape() const { return mxShape; }
273 
274  virtual void Save( XclExpStream& rStrm ) override;
275  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
276  static void WriteFromTo( XclExpXmlStream& rStrm, const XclObjAny& rObj );
277  static void WriteFromTo( XclExpXmlStream& rStrm, const css::uno::Reference< css::drawing::XShape >& rShape, SCTAB nTab );
278 
279 private:
280  css::uno::Reference< css::drawing::XShape >
283 };
284 
285 // --- class ExcBof8_Base --------------------------------------------
286 
287 class ExcBof8_Base : public ExcBof_Base
288 {
289 protected:
290  virtual void SaveCont( XclExpStream& rStrm ) override;
291 
292 public:
293  ExcBof8_Base();
294 
295  virtual sal_uInt16 GetNum() const override;
296  virtual std::size_t GetLen() const override;
297 };
298 
299 // --- class ExcBofW8 ------------------------------------------------
300 // Header Record for WORKBOOKS
301 
302 class ExcBofW8 : public ExcBof8_Base
303 {
304 public:
305  ExcBofW8();
306 };
307 
308 // --- class ExcBof8 -------------------------------------------------
309 // Header Record for WORKSHEETS
310 
311 class ExcBof8 : public ExcBof8_Base
312 {
313 public:
314  ExcBof8();
315 };
316 
317 // --- class ExcBundlesheet8 -----------------------------------------
318 
320 {
321 private:
322  OUString sUnicodeName;
323  XclExpString GetName() const { return XclExpString( sUnicodeName, XclStrFlags::EightBitLength );}
324 
325  virtual void SaveCont( XclExpStream& rStrm ) override;
326 
327 public:
328  ExcBundlesheet8( const RootData& rRootData, SCTAB nTab );
329  ExcBundlesheet8( const OUString& rString );
330 
331  virtual std::size_t GetLen() const override;
332 
333  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
334 };
335 
336 // --- class XclObproj -----------------------------------------------
337 
338 class XclObproj : public ExcRecord
339 {
340 public:
341  virtual sal_uInt16 GetNum() const override;
342  virtual std::size_t GetLen() const override;
343 };
344 
345 // ---- class XclCodename --------------------------------------------
346 
347 class XclCodename : public ExcRecord
348 {
349 private:
351  virtual void SaveCont( XclExpStream& rStrm ) override;
352 public:
353  XclCodename( const OUString& );
354 
355  virtual sal_uInt16 GetNum() const override;
356  virtual std::size_t GetLen() const override;
357 };
358 
359 // ---- Scenarios ----------------------------------------------------
360 // - ExcEScenarioCell a cell of a scenario range
361 // - ExcEScenario all ranges of a scenario table
362 // - ExcEScenarioManager list of scenario tables
363 
365 {
366 private:
367  sal_uInt16 nCol;
368  sal_uInt16 nRow;
370 
371 protected:
372 public:
373  ExcEScenarioCell( sal_uInt16 nC, sal_uInt16 nR, const OUString& rTxt );
374 
375  std::size_t GetStringBytes() const
376  { return sText.GetSize(); }
377 
378  void WriteAddress( XclExpStream& rStrm ) const ;
379  void WriteText( XclExpStream& rStrm ) const;
380 
381  void SaveXml( XclExpXmlStream& rStrm ) const;
382 };
383 
384 class ExcEScenario : public ExcRecord
385 {
386 private:
387  std::size_t nRecLen;
392 
393  std::vector<ExcEScenarioCell> aCells;
394 
395  bool Append( sal_uInt16 nCol, sal_uInt16 nRow, const OUString& rTxt );
396 
397  virtual void SaveCont( XclExpStream& rStrm ) override;
398 
399 protected:
400 public:
401  ExcEScenario( const XclExpRoot& rRoot, SCTAB nTab );
402 
403  virtual sal_uInt16 GetNum() const override;
404  virtual std::size_t GetLen() const override;
405 
406  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
407 };
408 
410 {
411 private:
412  sal_uInt16 nActive;
413  std::vector<ExcEScenario> aScenes;
414 
415  virtual void SaveCont( XclExpStream& rStrm ) override;
416 
417 protected:
418 public:
419  ExcEScenarioManager( const XclExpRoot& rRoot, SCTAB nTab );
420  virtual ~ExcEScenarioManager() override;
421 
422  virtual void Save( XclExpStream& rStrm ) override;
423  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
424 
425  virtual sal_uInt16 GetNum() const override;
426  virtual std::size_t GetLen() const override;
427 };
428 
433 {
434 public:
435  explicit XclExpSheetProtectOptions( const XclExpRoot& rRoot, SCTAB nTab );
436 
437 private:
438  virtual void WriteBody( XclExpStream& rStrm ) override;
439 
440 private:
441  sal_uInt16 mnOptions;
442 };
443 
447 {
448 public:
449  explicit XclExpSheetEnhancedProtection( const XclExpRoot& rRoot, const ScEnhancedProtection& rProt );
450 
451 private:
452  virtual void WriteBody( XclExpStream& rStrm ) override;
453 
454 private:
457 };
458 
459 class XclCalccount : public ExcRecord
460 {
461 private:
462  sal_uInt16 nCount;
463 protected:
464  virtual void SaveCont( XclExpStream& rStrm ) override;
465 public:
466  XclCalccount( const ScDocument& );
467 
468  virtual sal_uInt16 GetNum() const override;
469  virtual std::size_t GetLen() const override;
470 
471  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
472 };
473 
474 class XclIteration : public ExcRecord
475 {
476 private:
477  sal_uInt16 nIter;
478 protected:
479  virtual void SaveCont( XclExpStream& rStrm ) override;
480 public:
481  XclIteration( const ScDocument& );
482 
483  virtual sal_uInt16 GetNum() const override;
484  virtual std::size_t GetLen() const override;
485 
486  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
487 };
488 
489 class XclDelta : public ExcRecord
490 {
491 private:
492  double fDelta;
493 protected:
494  virtual void SaveCont( XclExpStream& rStrm ) override;
495 public:
496  XclDelta( const ScDocument& );
497 
498  virtual sal_uInt16 GetNum() const override;
499  virtual std::size_t GetLen() const override;
500 
501  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
502 };
503 
505 {
506 public:
507  XclRefmode( const ScDocument& );
508 
509  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
510 };
511 
513 {
514 public:
515  explicit XclExpFileEncryption( const XclExpRoot& rRoot );
516  virtual ~XclExpFileEncryption() override;
517 
518 private:
519  virtual void WriteBody( XclExpStream& rStrm ) override;
520 
521 private:
523 };
524 
527 {
528 public:
529  explicit XclExpInterfaceHdr( sal_uInt16 nCodePage );
530 
531 private:
532  virtual void WriteBody( XclExpStream& rStrm ) override;
533 };
534 
537 {
538 public:
539  explicit XclExpInterfaceEnd();
540  virtual ~XclExpInterfaceEnd() override;
541 
542 private:
543  virtual void WriteBody( XclExpStream& rStrm ) override;
544 };
545 
549 {
550 public:
551  explicit XclExpWriteAccess();
552  virtual ~XclExpWriteAccess() override;
553 
554 private:
555  virtual void WriteBody( XclExpStream& rStrm ) override;
556 };
557 
559 {
560 public:
561  explicit XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly );
562 
563  virtual void Save( XclExpStream& rStrm ) override;
564 
565 private:
566  virtual void WriteBody( XclExpStream& rStrm ) override;
567 
568 private:
570  sal_uInt16 mnPasswordHash;
572 };
573 
575 {
576 public:
577  explicit XclExpProt4Rev();
578  virtual ~XclExpProt4Rev() override;
579 
580 private:
581  virtual void WriteBody( XclExpStream& rStrm ) override;
582 };
583 
585 {
586 public:
587  explicit XclExpProt4RevPass();
588  virtual ~XclExpProt4RevPass() override;
589 
590 private:
591  virtual void WriteBody( XclExpStream& rStrm ) override;
592 };
593 
595 {
596 public:
597  explicit XclExpRecalcId();
598 };
599 
601 {
602 public:
603  explicit XclExpBookExt();
604 };
605 
606 #endif // _XCL97REC_HXX
607 
608 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:460
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1891
sal_uInt16 nActive
Definition: xcl97rec.hxx:412
sal_uInt16 nObjId
Definition: xcl97rec.hxx:110
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:43
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1358
bool mbOwnEscher
Definition: xcl97rec.hxx:115
ScDocument * mpDoc
Definition: xcl97rec.hxx:282
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:963
std::unique_ptr< XclObj > pop_back()
Remove last element in the list.
Definition: xcl97rec.cxx:125
OUString sUnicodeName
Definition: xcl97rec.hxx:322
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1077
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:940
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1248
sal_uInt16 mnPasswordHash
Definition: xcl97rec.hxx:570
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1801
XclIteration(const ScDocument &)
Definition: xcl97rec.cxx:1746
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
Definition: xcl97rec.cxx:1832
bool IsOwnEscher() const
If set to true, this object has created its own escher data.
Definition: xcl97rec.hxx:163
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:93
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1379
void SetAutoLine(bool b)
Definition: xcl97rec.hxx:141
tools::Rectangle maFrom
Definition: xcl97rec.hxx:181
std::unique_ptr< XclExpMsoDrawing > pClientTextbox
Definition: xcl97rec.hxx:107
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1571
size_t size() const
Definition: xcl97rec.hxx:71
This class is used to export Excel record streams.
Definition: xestream.hxx:71
sal_uInt16 nCount
Definition: xcl97rec.hxx:462
void SetEscherShapeTypeGroup()
Definition: xcl97rec.hxx:152
sal_uInt8 mnHorAlign
Text rotation.
Definition: xcl97rec.hxx:236
tools::Rectangle maTo
Definition: xcl97rec.hxx:182
virtual ~XclExpProt4Rev() override
Definition: xcl97rec.cxx:1907
void SetVerAlign(sal_uInt8 nVerAlign)
Definition: xcl97rec.hxx:223
XclTxo(const OUString &rString, sal_uInt16 nFontIx)
Definition: xcl97rec.cxx:848
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1563
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1761
XclExpString GetName() const
Definition: xcl97rec.hxx:323
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:799
SotStorage * pRootStorage
Definition: xcl97rec.hxx:247
XclExpFileEncryption(const XclExpRoot &rRoot)
Definition: xcl97rec.cxx:1791
void SetText(const XclExpRoot &rRoot, const SdrTextObj &rObj)
actually writes ESCHER_ClientTextbox
Definition: xcl97rec.cxx:447
XclExpFileSharing(const XclExpRoot &rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly)
Definition: xcl97rec.cxx:1880
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1731
ScAddress maScPos
Definition: xcl97rec.hxx:175
virtual OUString getTransformedString(const OUString &rURL) const override
Definition: xcl97rec.cxx:1236
virtual ~XclExpFileEncryption() override
Definition: xcl97rec.cxx:1797
void WriteAddress(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1398
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:630
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1522
void SetHorAlign(sal_uInt8 nHorAlign)
Definition: xcl97rec.hxx:222
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1051
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:758
void SetGrBit(bool b, int f)
Definition: xcl97rec.hxx:142
XclExpMsoDrawing * pMsodrawing
Definition: xcl97rec.hxx:106
Beginning of User Interface Records.
Definition: xcl97rec.hxx:526
void SaveTextRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:522
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1751
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1726
void SetPrintable(bool b)
Definition: xcl97rec.hxx:139
iterator begin()
Definition: xcl97rec.hxx:73
XclExpStringRef mpString
Definition: xcl97rec.hxx:234
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:487
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1517
virtual void WriteSubRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:500
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1277
ScURLTransformer(ScDocument &rDoc)
Definition: xcl97rec.cxx:1231
sal_uInt16 mnRotation
Text and formatting data.
Definition: xcl97rec.hxx:235
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1786
iterator end()
Definition: xcl97rec.hxx:75
void SetEscherShapeType(sal_uInt16 nType)
Definition: xcl97rec.cxx:418
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1285
static sal_Int32 mnDrawingMLCount
Definition: xcl97rec.hxx:90
XclExpInterfaceHdr(sal_uInt16 nCodePage)
Definition: xcl97rec.cxx:1827
Access to global data from other classes.
Definition: xeroot.hxx:113
void WriteText(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1403
XclObjComment(XclExpObjectManager &rObjMgr, const tools::Rectangle &rRect, const EditTextObject &rEditObj, SdrCaptionObj *pCaption, bool bVisible, const ScAddress &rAddress, const tools::Rectangle &rFrom, const tools::Rectangle &To)
Definition: xcl97rec.cxx:543
Record which exports a memory data array.
Definition: xerecord.hxx:278
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1338
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1925
SCTAB GetTab() const
Definition: xcl97rec.hxx:136
void ImplWriteAnchor(const SdrObject *pSdrObj, const tools::Rectangle *pChildAnchor)
Definition: xcl97rec.cxx:405
const sal_uInt16 EXC_OBJTYPE_GROUP
Definition: xlescher.hxx:50
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1333
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1843
bool mbRecommendReadOnly
Definition: xcl97rec.hxx:571
void SetAutoFill(bool b)
Definition: xcl97rec.hxx:140
XclCalccount(const ScDocument &)
Definition: xcl97rec.cxx:1721
XclRefmode(const ScDocument &)
Definition: xcl97rec.cxx:1950
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1766
SdrCaptionObj * mpCaption
Definition: xcl97rec.hxx:178
bool bFirstOnSheet
Definition: xcl97rec.hxx:113
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1683
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1580
virtual ~XclObjComment() override
Definition: xcl97rec.cxx:624
XclCodename(const OUString &)
Definition: xcl97rec.cxx:1370
std::unique_ptr< XclExpMsoDrawing > pSolverContainer
Definition: xcl97rec.hxx:95
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:142
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1512
ScDocument & mrDoc
Definition: xcl97rec.hxx:48
XclObjAny(XclExpObjectManager &rObjMgr, const css::uno::Reference< css::drawing::XShape > &rShape, ScDocument *pDoc)
Definition: xcl97rec.cxx:1059
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1741
void SetLocked(bool b)
Definition: xcl97rec.hxx:138
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1374
void ProcessEscherObj(const XclExpRoot &rRoot, const tools::Rectangle &rRect, SdrObject *pCaption, bool bVisible)
c'tor process for formatted text objects above .
Definition: xcl97rec.cxx:600
End of User Interface Records.
Definition: xcl97rec.hxx:536
virtual ~XclExpProt4RevPass() override
Definition: xcl97rec.cxx:1921
A record with a single value of type Type.
Definition: xerecord.hxx:199
ScEnhancedProtection maEnhancedProtection
Definition: xcl97rec.hxx:456
sal_uInt16 nIter
Definition: xcl97rec.hxx:477
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:968
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xcl97rec.cxx:1408
ExcEScenario(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1418
ExcEScenarioManager(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1539
bool bProtected
Definition: xcl97rec.hxx:391
const SdrObject & rOleObj
Definition: xcl97rec.hxx:246
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:924
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:105
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1290
static void ResetCounters()
Definition: xcl97rec.cxx:372
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1070
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1486
static void WriteFromTo(XclExpXmlStream &rStrm, const XclObjAny &rObj)
Definition: xcl97rec.cxx:1126
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:359
XclExpSheetProtectOptions(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1618
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1955
ExcBundlesheet8(const RootData &rRootData, SCTAB nTab)
Definition: xcl97rec.cxx:1311
Represents a FEATHDR (SHEETPROTECTION) record that stores sheet protection options.
Definition: xcl97rec.hxx:432
sal_uInt16 GetObjType() const
Definition: xcl97rec.hxx:131
virtual ~XclExpObjList() override
Definition: xcl97rec.cxx:97
Container for the Excel EnhancedProtection feature.
bool Append(sal_uInt16 nCol, sal_uInt16 nRow, const OUString &rTxt)
Definition: xcl97rec.cxx:1475
virtual ~ExcEScenarioManager() override
Definition: xcl97rec.cxx:1559
sal_uInt8 mnVerAlign
Horizontal alignment.
Definition: xcl97rec.hxx:237
XclExpString sText
Definition: xcl97rec.hxx:369
SCTAB mnScTab
Definition: xcl97rec.hxx:112
XclObjOle(XclExpObjectManager &rObjMgr, const SdrObject &rObj)
Definition: xcl97rec.cxx:975
XclExpObjList(const XclExpRoot &rRoot, XclEscherEx &rEscherEx)
Definition: xcl97rec.cxx:84
XclExpString sName
Definition: xcl97rec.hxx:388
XclDelta(const ScDocument &)
Definition: xcl97rec.cxx:1771
XclExpString maUserName
Definition: xcl97rec.hxx:569
virtual ~XclObjAny() override
Definition: xcl97rec.cxx:1066
std::vector< std::unique_ptr< XclObj > > maObjs
Definition: xcl97rec.hxx:97
sal_uInt16 mnObjType
Definition: xcl97rec.hxx:109
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:522
std::unique_ptr< XclTxo > pTxo
Definition: xcl97rec.hxx:108
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:986
One or more MSODRAWING records contain the DFF stream data for a drawing shape.
Definition: xeescher.hxx:142
bool empty() const
Definition: xcl97rec.hxx:69
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1363
void SetId(sal_uInt16 nId)
Definition: xcl97rec.hxx:133
std::vector< std::unique_ptr< XclObj > >::iterator iterator
Definition: xcl97rec.hxx:55
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1858
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xcl97rec.hxx:77
void SetTab(SCTAB nScTab)
Definition: xcl97rec.hxx:135
SCTAB mnScTab
Definition: xcl97rec.hxx:91
sal_uInt16 nGrbit
Definition: xcl97rec.hxx:111
unsigned char sal_uInt8
sal_uInt16 Add(std::unique_ptr< XclObj >)
return: 1-based ObjId count>=0xFFFF: Obj will be deleted, return 0
Definition: xcl97rec.cxx:104
sal_uInt16 nRow
Definition: xcl97rec.hxx:368
std::size_t GetSize() const
Returns the byte count the whole string will take on export.
Definition: xestring.cxx:248
Write Access User Name - This record contains the user name, which is the name you type when you inst...
Definition: xcl97rec.hxx:548
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1756
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1897
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1598
Always use UCS-2 characters (default: try to compress). BIFF8 only.
css::uno::Reference< css::drawing::XShape > mxShape
Definition: xcl97rec.hxx:281
std::unique_ptr< XclExpMsoDrawing > pMsodrawingPerSheet
Definition: xcl97rec.hxx:94
XclExpString sComment
Definition: xcl97rec.hxx:389
virtual ~XclObj() override
Definition: xcl97rec.cxx:397
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1776
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:401
XclExpString sUserName
Definition: xcl97rec.hxx:390
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1655
virtual ~XclObjOle() override
Definition: xcl97rec.cxx:982
double fDelta
Definition: xcl97rec.hxx:492
std::vector< ExcEScenario > aScenes
Definition: xcl97rec.hxx:413
XclObj(XclExpObjectManager &rObjMgr, sal_uInt16 nObjType, bool bOwnEscher=false)
true = Escher part created on the fly.
Definition: xcl97rec.cxx:380
virtual ~XclExpWriteAccess() override
Definition: xcl97rec.cxx:1854
Represents one EnhancedProtection feature in a FEAT record.
Definition: xcl97rec.hxx:446
virtual ~XclObjDropDown() override
Definition: xcl97rec.cxx:795
virtual ~XclExpInterfaceEnd() override
Definition: xcl97rec.cxx:1841
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:36
sal_uInt16 nCol
Definition: xcl97rec.hxx:367
std::size_t nRecLen
Definition: xcl97rec.hxx:387
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1736
static sal_Int32 getNewDrawingUniqueId()
Definition: xcl97rec.hxx:87
const css::uno::Reference< css::drawing::XShape > & GetShape() const
Definition: xcl97rec.hxx:272
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1716
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1781
XclExpString aName
Definition: xcl97rec.hxx:350
void SvStream & rStrm
virtual bool isExternalURL(const OUString &rURL) const override
Definition: xcl97rec.cxx:1243
XclExpSheetEnhancedProtection(const XclExpRoot &rRoot, const ScEnhancedProtection &rProt)
Definition: xcl97rec.cxx:1675
static sal_Int32 mnVmlCount
Definition: xcl97rec.hxx:90
void EndSheet()
close groups and DgContainer opened in ctor
Definition: xcl97rec.cxx:132
std::size_t GetStringBytes() const
Definition: xcl97rec.hxx:375
std::vector< ExcEScenarioCell > aCells
Definition: xcl97rec.hxx:393
ExcEScenarioCell(sal_uInt16 nC, sal_uInt16 nR, const OUString &rTxt)
Definition: xcl97rec.cxx:1391
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:455
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1911
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1384
Base class for single records with any content.
Definition: xerecord.hxx:143
sal_Int16 SCTAB
Definition: types.hxx:23
Record which contains a Boolean value.
Definition: xerecord.hxx:255
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1603
XclObjDropDown(XclExpObjectManager &rObjMgr, const ScAddress &rPos, bool bFilt)
Definition: xcl97rec.cxx:766
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1323