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 private:
87 
89  std::unique_ptr<XclExpMsoDrawing> pMsodrawingPerSheet;
90  std::unique_ptr<XclExpMsoDrawing> pSolverContainer;
91 
92  std::vector<std::unique_ptr<XclObj>> maObjs;
93 };
94 
95 // --- class XclObj --------------------------------------------------
96 
97 class XclObj : public XclExpRecord
98 {
99 protected:
102  std::unique_ptr<XclExpMsoDrawing> pClientTextbox;
103  std::unique_ptr<XclTxo> pTxo;
104  sal_uInt16 mnObjType;
105  sal_uInt16 nObjId;
106  sal_uInt16 nGrbit;
109 
110  bool mbOwnEscher;
111 
114  explicit XclObj( XclExpObjectManager& rObjMgr, sal_uInt16 nObjType, bool bOwnEscher = false );
115 
116  void ImplWriteAnchor( const SdrObject* pSdrObj, const tools::Rectangle* pChildAnchor );
117 
118  // overwritten for writing MSODRAWING record
119  virtual void WriteBody( XclExpStream& rStrm ) override;
120  virtual void WriteSubRecs( XclExpStream& rStrm );
121  void SaveTextRecs( XclExpStream& rStrm );
122 
123 public:
124  virtual ~XclObj() override;
125 
126  sal_uInt16 GetObjType() const { return mnObjType; }
127 
128  void SetId( sal_uInt16 nId ) { nObjId = nId; }
129 
130  void SetTab( SCTAB nScTab ) { mnScTab = nScTab; }
131  SCTAB GetTab() const { return mnScTab; }
132 
133  void SetLocked( bool b ) { SetGrBit(b, 0x0001); }
134  void SetPrintable( bool b ) { SetGrBit(b, 0x0010); }
135  void SetAutoFill( bool b ) { SetGrBit(b, 0x2000); }
136  void SetAutoLine( bool b ) { SetGrBit(b, 0x4000); }
137  void SetGrBit( bool b, int f )
138  {
139  if (b)
140  nGrbit |= f;
141  else
142  nGrbit &= ~f;
143  }
144 
145  // set corresponding Excel object type in OBJ/ftCmo
146  void SetEscherShapeType( sal_uInt16 nType );
148 
158  bool IsOwnEscher() const { return mbOwnEscher; }
159 
161  void SetText( const XclExpRoot& rRoot, const SdrTextObj& rObj );
162 
163  virtual void Save( XclExpStream& rStrm ) override;
164 };
165 
166 // --- class XclObjComment -------------------------------------------
167 
168 class XclObjComment : public XclObj
169 {
171 
172  // no need to use std::unique_ptr< SdrCaptionObj, SdrObjectFreeOp >
174 
175  bool mbVisible;
178 
179 public:
181  const tools::Rectangle& rRect, const EditTextObject& rEditObj, SdrCaptionObj* pCaption, bool bVisible, const ScAddress& rAddress, const tools::Rectangle &rFrom, const tools::Rectangle &To );
182  virtual ~XclObjComment() override;
183 
186  void ProcessEscherObj( const XclExpRoot& rRoot,
187  const tools::Rectangle& rRect, SdrObject* pCaption, bool bVisible );
188 
189  virtual void Save( XclExpStream& rStrm ) override;
190  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
191 };
192 
193 // --- class XclObjDropDown ------------------------------------------
194 
195 class XclObjDropDown : public XclObj
196 {
197 private:
199 
200  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
201 
202 protected:
203 public:
204  XclObjDropDown( XclExpObjectManager& rObjMgr, const ScAddress& rPos, bool bFilt );
205  virtual ~XclObjDropDown() override;
206 };
207 
208 // --- class XclTxo --------------------------------------------------
209 
210 class XclTxo : public ExcRecord
211 {
212 public:
213  XclTxo( const OUString& rString, sal_uInt16 nFontIx );
214  XclTxo( const XclExpRoot& rRoot, const SdrTextObj& rEditObj );
215  XclTxo( const XclExpRoot& rRoot, const EditTextObject& rEditObj, SdrObject* pCaption );
216 
217  void SetHorAlign( sal_uInt8 nHorAlign ) { mnHorAlign = nHorAlign; }
218  void SetVerAlign( sal_uInt8 nVerAlign ) { mnVerAlign = nVerAlign; }
219 
220  virtual void Save( XclExpStream& rStrm ) override;
221 
222  virtual sal_uInt16 GetNum() const override;
223  virtual std::size_t GetLen() const override;
224 
225 private:
226  virtual void SaveCont( XclExpStream& rStrm ) override;
227 
228 private:
230  sal_uInt16 mnRotation;
233 };
234 
235 // --- class XclObjOle -----------------------------------------------
236 
237 class XclObjOle : public XclObj
238 {
239 private:
240 
243 
244  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
245 
246 public:
247  XclObjOle( XclExpObjectManager& rObjMgr, const SdrObject& rObj );
248  virtual ~XclObjOle() override;
249 
250  virtual void Save( XclExpStream& rStrm ) override;
251 };
252 
253 // --- class XclObjAny -----------------------------------------------
254 
255 class XclObjAny : public XclObj
256 {
257 protected:
258  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
259 
260 public:
261  XclObjAny( XclExpObjectManager& rObjMgr,
262  const css::uno::Reference< css::drawing::XShape >& rShape,
263  ScDocument* pDoc);
264  virtual ~XclObjAny() override;
265 
266  const css::uno::Reference< css::drawing::XShape >&
267  GetShape() const { return mxShape; }
268 
269  virtual void Save( XclExpStream& rStrm ) override;
270  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
271  static void WriteFromTo( XclExpXmlStream& rStrm, const XclObjAny& rObj );
272  static void WriteFromTo( XclExpXmlStream& rStrm, const css::uno::Reference< css::drawing::XShape >& rShape, SCTAB nTab );
273 
274 private:
275  css::uno::Reference< css::drawing::XShape >
278 };
279 
280 // --- class ExcBof8_Base --------------------------------------------
281 
282 class ExcBof8_Base : public ExcBof_Base
283 {
284 protected:
285  virtual void SaveCont( XclExpStream& rStrm ) override;
286 
287 public:
288  ExcBof8_Base();
289 
290  virtual sal_uInt16 GetNum() const override;
291  virtual std::size_t GetLen() const override;
292 };
293 
294 // --- class ExcBofW8 ------------------------------------------------
295 // Header Record for WORKBOOKS
296 
297 class ExcBofW8 : public ExcBof8_Base
298 {
299 public:
300  ExcBofW8();
301 };
302 
303 // --- class ExcBof8 -------------------------------------------------
304 // Header Record for WORKSHEETS
305 
306 class ExcBof8 : public ExcBof8_Base
307 {
308 public:
309  ExcBof8();
310 };
311 
312 // --- class ExcBundlesheet8 -----------------------------------------
313 
315 {
316 private:
317  OUString sUnicodeName;
318  XclExpString GetName() const { return XclExpString( sUnicodeName, XclStrFlags::EightBitLength );}
319 
320  virtual void SaveCont( XclExpStream& rStrm ) override;
321 
322 public:
323  ExcBundlesheet8( const RootData& rRootData, SCTAB nTab );
324  ExcBundlesheet8( const OUString& rString );
325 
326  virtual std::size_t GetLen() const override;
327 
328  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
329 };
330 
331 // --- class XclObproj -----------------------------------------------
332 
333 class XclObproj : public ExcRecord
334 {
335 public:
336  virtual sal_uInt16 GetNum() const override;
337  virtual std::size_t GetLen() const override;
338 };
339 
340 // ---- class XclCodename --------------------------------------------
341 
342 class XclCodename : public ExcRecord
343 {
344 private:
346  virtual void SaveCont( XclExpStream& rStrm ) override;
347 public:
348  XclCodename( const OUString& );
349 
350  virtual sal_uInt16 GetNum() const override;
351  virtual std::size_t GetLen() const override;
352 };
353 
354 // ---- Scenarios ----------------------------------------------------
355 // - ExcEScenarioCell a cell of a scenario range
356 // - ExcEScenario all ranges of a scenario table
357 // - ExcEScenarioManager list of scenario tables
358 
360 {
361 private:
362  sal_uInt16 nCol;
363  sal_uInt16 nRow;
365 
366 protected:
367 public:
368  ExcEScenarioCell( sal_uInt16 nC, sal_uInt16 nR, const OUString& rTxt );
369 
370  std::size_t GetStringBytes() const
371  { return sText.GetSize(); }
372 
373  void WriteAddress( XclExpStream& rStrm ) const ;
374  void WriteText( XclExpStream& rStrm ) const;
375 
376  void SaveXml( XclExpXmlStream& rStrm ) const;
377 };
378 
379 class ExcEScenario : public ExcRecord
380 {
381 private:
382  std::size_t nRecLen;
387 
388  std::vector<ExcEScenarioCell> aCells;
389 
390  bool Append( sal_uInt16 nCol, sal_uInt16 nRow, const OUString& rTxt );
391 
392  virtual void SaveCont( XclExpStream& rStrm ) override;
393 
394 protected:
395 public:
396  ExcEScenario( const XclExpRoot& rRoot, SCTAB nTab );
397 
398  virtual sal_uInt16 GetNum() const override;
399  virtual std::size_t GetLen() const override;
400 
401  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
402 };
403 
405 {
406 private:
407  sal_uInt16 nActive;
408  std::vector<ExcEScenario> aScenes;
409 
410  virtual void SaveCont( XclExpStream& rStrm ) override;
411 
412 protected:
413 public:
414  ExcEScenarioManager( const XclExpRoot& rRoot, SCTAB nTab );
415  virtual ~ExcEScenarioManager() override;
416 
417  virtual void Save( XclExpStream& rStrm ) override;
418  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
419 
420  virtual sal_uInt16 GetNum() const override;
421  virtual std::size_t GetLen() const override;
422 };
423 
428 {
429 public:
430  explicit XclExpSheetProtectOptions( const XclExpRoot& rRoot, SCTAB nTab );
431 
432 private:
433  virtual void WriteBody( XclExpStream& rStrm ) override;
434 
435 private:
436  sal_uInt16 mnOptions;
437 };
438 
442 {
443 public:
444  explicit XclExpSheetEnhancedProtection( const XclExpRoot& rRoot, const ScEnhancedProtection& rProt );
445 
446 private:
447  virtual void WriteBody( XclExpStream& rStrm ) override;
448 
449 private:
452 };
453 
454 class XclCalccount : public ExcRecord
455 {
456 private:
457  sal_uInt16 nCount;
458 protected:
459  virtual void SaveCont( XclExpStream& rStrm ) override;
460 public:
461  XclCalccount( const ScDocument& );
462 
463  virtual sal_uInt16 GetNum() const override;
464  virtual std::size_t GetLen() const override;
465 
466  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
467 };
468 
469 class XclIteration : public ExcRecord
470 {
471 private:
472  sal_uInt16 nIter;
473 protected:
474  virtual void SaveCont( XclExpStream& rStrm ) override;
475 public:
476  XclIteration( const ScDocument& );
477 
478  virtual sal_uInt16 GetNum() const override;
479  virtual std::size_t GetLen() const override;
480 
481  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
482 };
483 
484 class XclDelta : public ExcRecord
485 {
486 private:
487  double fDelta;
488 protected:
489  virtual void SaveCont( XclExpStream& rStrm ) override;
490 public:
491  XclDelta( const ScDocument& );
492 
493  virtual sal_uInt16 GetNum() const override;
494  virtual std::size_t GetLen() const override;
495 
496  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
497 };
498 
500 {
501 public:
502  XclRefmode( const ScDocument& );
503 
504  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
505 };
506 
508 {
509 public:
510  explicit XclExpFileEncryption( const XclExpRoot& rRoot );
511  virtual ~XclExpFileEncryption() override;
512 
513 private:
514  virtual void WriteBody( XclExpStream& rStrm ) override;
515 
516 private:
518 };
519 
522 {
523 public:
524  explicit XclExpInterfaceHdr( sal_uInt16 nCodePage );
525 
526 private:
527  virtual void WriteBody( XclExpStream& rStrm ) override;
528 };
529 
532 {
533 public:
534  explicit XclExpInterfaceEnd();
535  virtual ~XclExpInterfaceEnd() override;
536 
537 private:
538  virtual void WriteBody( XclExpStream& rStrm ) override;
539 };
540 
544 {
545 public:
546  explicit XclExpWriteAccess();
547  virtual ~XclExpWriteAccess() override;
548 
549 private:
550  virtual void WriteBody( XclExpStream& rStrm ) override;
551 };
552 
554 {
555 public:
556  explicit XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly );
557 
558  virtual void Save( XclExpStream& rStrm ) override;
559 
560 private:
561  virtual void WriteBody( XclExpStream& rStrm ) override;
562 
563 private:
565  sal_uInt16 mnPasswordHash;
567 };
568 
570 {
571 public:
572  explicit XclExpProt4Rev();
573  virtual ~XclExpProt4Rev() override;
574 
575 private:
576  virtual void WriteBody( XclExpStream& rStrm ) override;
577 };
578 
580 {
581 public:
582  explicit XclExpProt4RevPass();
583  virtual ~XclExpProt4RevPass() override;
584 
585 private:
586  virtual void WriteBody( XclExpStream& rStrm ) override;
587 };
588 
590 {
591 public:
592  explicit XclExpRecalcId();
593 };
594 
596 {
597 public:
598  explicit XclExpBookExt();
599 };
600 
601 #endif // _XCL97REC_HXX
602 
603 /* 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:451
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1927
sal_uInt16 nActive
Definition: xcl97rec.hxx:407
sal_uInt16 nObjId
Definition: xcl97rec.hxx:105
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:48
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1394
bool mbOwnEscher
Definition: xcl97rec.hxx:110
ScDocument * mpDoc
Definition: xcl97rec.hxx:277
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:954
std::unique_ptr< XclObj > pop_back()
Remove last element in the list.
Definition: xcl97rec.cxx:125
OUString sUnicodeName
Definition: xcl97rec.hxx:317
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1068
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:931
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1268
sal_uInt16 mnPasswordHash
Definition: xcl97rec.hxx:565
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1837
XclIteration(const ScDocument &)
Definition: xcl97rec.cxx:1782
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
Definition: xcl97rec.cxx:1868
bool IsOwnEscher() const
If set to true, this object has created its own escher data.
Definition: xcl97rec.hxx:158
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:88
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1415
void SetAutoLine(bool b)
Definition: xcl97rec.hxx:136
tools::Rectangle maFrom
Definition: xcl97rec.hxx:176
std::unique_ptr< XclExpMsoDrawing > pClientTextbox
Definition: xcl97rec.hxx:102
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1607
size_t size() const
Definition: xcl97rec.hxx:71
This class is used to export Excel record streams.
Definition: xestream.hxx:73
sal_uInt16 nCount
Definition: xcl97rec.hxx:457
void SetEscherShapeTypeGroup()
Definition: xcl97rec.hxx:147
sal_uInt8 mnHorAlign
Text rotation.
Definition: xcl97rec.hxx:231
tools::Rectangle maTo
Definition: xcl97rec.hxx:177
virtual ~XclExpProt4Rev() override
Definition: xcl97rec.cxx:1943
void SetVerAlign(sal_uInt8 nVerAlign)
Definition: xcl97rec.hxx:218
XclTxo(const OUString &rString, sal_uInt16 nFontIx)
Definition: xcl97rec.cxx:839
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1599
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1797
XclExpString GetName() const
Definition: xcl97rec.hxx:318
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:790
SotStorage * pRootStorage
Definition: xcl97rec.hxx:242
XclExpFileEncryption(const XclExpRoot &rRoot)
Definition: xcl97rec.cxx:1827
void SetText(const XclExpRoot &rRoot, const SdrTextObj &rObj)
actually writes ESCHER_ClientTextbox
Definition: xcl97rec.cxx:438
XclExpFileSharing(const XclExpRoot &rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly)
Definition: xcl97rec.cxx:1916
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1767
ScAddress maScPos
Definition: xcl97rec.hxx:170
virtual OUString getTransformedString(const OUString &rURL) const override
Definition: xcl97rec.cxx:1256
virtual ~XclExpFileEncryption() override
Definition: xcl97rec.cxx:1833
void WriteAddress(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1434
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:621
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1558
void SetHorAlign(sal_uInt8 nHorAlign)
Definition: xcl97rec.hxx:217
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1042
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:749
void SetGrBit(bool b, int f)
Definition: xcl97rec.hxx:137
XclExpMsoDrawing * pMsodrawing
Definition: xcl97rec.hxx:101
Beginning of User Interface Records.
Definition: xcl97rec.hxx:521
void SaveTextRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:513
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1787
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1762
void SetPrintable(bool b)
Definition: xcl97rec.hxx:134
iterator begin()
Definition: xcl97rec.hxx:73
XclExpStringRef mpString
Definition: xcl97rec.hxx:229
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:478
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1553
virtual void WriteSubRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:491
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1313
ScURLTransformer(ScDocument &rDoc)
Definition: xcl97rec.cxx:1251
sal_uInt16 mnRotation
Text and formatting data.
Definition: xcl97rec.hxx:230
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1822
iterator end()
Definition: xcl97rec.hxx:75
void SetEscherShapeType(sal_uInt16 nType)
Definition: xcl97rec.cxx:409
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1321
XclExpInterfaceHdr(sal_uInt16 nCodePage)
Definition: xcl97rec.cxx:1863
Access to global data from other classes.
Definition: xeroot.hxx:113
void WriteText(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1439
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:534
Record which exports a memory data array.
Definition: xerecord.hxx:277
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1374
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1961
SCTAB GetTab() const
Definition: xcl97rec.hxx:131
void ImplWriteAnchor(const SdrObject *pSdrObj, const tools::Rectangle *pChildAnchor)
Definition: xcl97rec.cxx:396
const sal_uInt16 EXC_OBJTYPE_GROUP
Definition: xlescher.hxx:50
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1369
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1879
bool mbRecommendReadOnly
Definition: xcl97rec.hxx:566
void SetAutoFill(bool b)
Definition: xcl97rec.hxx:135
XclCalccount(const ScDocument &)
Definition: xcl97rec.cxx:1757
XclRefmode(const ScDocument &)
Definition: xcl97rec.cxx:1986
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1802
SdrCaptionObj * mpCaption
Definition: xcl97rec.hxx:173
bool bFirstOnSheet
Definition: xcl97rec.hxx:108
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1719
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1616
virtual ~XclObjComment() override
Definition: xcl97rec.cxx:615
XclCodename(const OUString &)
Definition: xcl97rec.cxx:1406
std::unique_ptr< XclExpMsoDrawing > pSolverContainer
Definition: xcl97rec.hxx:90
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:1548
ScDocument & mrDoc
Definition: xcl97rec.hxx:48
XclObjAny(XclExpObjectManager &rObjMgr, const css::uno::Reference< css::drawing::XShape > &rShape, ScDocument *pDoc)
Definition: xcl97rec.cxx:1050
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1777
void SetLocked(bool b)
Definition: xcl97rec.hxx:133
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1410
void ProcessEscherObj(const XclExpRoot &rRoot, const tools::Rectangle &rRect, SdrObject *pCaption, bool bVisible)
c'tor process for formatted text objects above .
Definition: xcl97rec.cxx:591
End of User Interface Records.
Definition: xcl97rec.hxx:531
virtual ~XclExpProt4RevPass() override
Definition: xcl97rec.cxx:1957
A record with a single value of type Type.
Definition: xerecord.hxx:198
ScEnhancedProtection maEnhancedProtection
Definition: xcl97rec.hxx:451
sal_uInt16 nIter
Definition: xcl97rec.hxx:472
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:959
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xcl97rec.cxx:1444
ExcEScenario(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1454
ExcEScenarioManager(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1575
bool bProtected
Definition: xcl97rec.hxx:386
const SdrObject & rOleObj
Definition: xcl97rec.hxx:241
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:915
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:100
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1326
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1061
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1522
static void WriteFromTo(XclExpXmlStream &rStrm, const XclObjAny &rObj)
Definition: xcl97rec.cxx:1146
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:356
XclExpSheetProtectOptions(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1654
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1991
ExcBundlesheet8(const RootData &rRootData, SCTAB nTab)
Definition: xcl97rec.cxx:1347
Represents a FEATHDR (SHEETPROTECTION) record that stores sheet protection options.
Definition: xcl97rec.hxx:427
sal_uInt16 GetObjType() const
Definition: xcl97rec.hxx:126
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:1511
virtual ~ExcEScenarioManager() override
Definition: xcl97rec.cxx:1595
sal_uInt8 mnVerAlign
Horizontal alignment.
Definition: xcl97rec.hxx:232
XclExpString sText
Definition: xcl97rec.hxx:364
SCTAB mnScTab
Definition: xcl97rec.hxx:107
XclObjOle(XclExpObjectManager &rObjMgr, const SdrObject &rObj)
Definition: xcl97rec.cxx:966
XclExpObjList(const XclExpRoot &rRoot, XclEscherEx &rEscherEx)
Definition: xcl97rec.cxx:84
XclExpString sName
Definition: xcl97rec.hxx:383
XclDelta(const ScDocument &)
Definition: xcl97rec.cxx:1807
XclExpString maUserName
Definition: xcl97rec.hxx:564
virtual ~XclObjAny() override
Definition: xcl97rec.cxx:1057
std::vector< std::unique_ptr< XclObj > > maObjs
Definition: xcl97rec.hxx:92
sal_uInt16 mnObjType
Definition: xcl97rec.hxx:104
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:517
std::unique_ptr< XclTxo > pTxo
Definition: xcl97rec.hxx:103
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:977
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:1399
void SetId(sal_uInt16 nId)
Definition: xcl97rec.hxx:128
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:1894
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xcl97rec.hxx:77
void SetTab(SCTAB nScTab)
Definition: xcl97rec.hxx:130
SCTAB mnScTab
Definition: xcl97rec.hxx:86
sal_uInt16 nGrbit
Definition: xcl97rec.hxx:106
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:363
std::size_t GetSize() const
Returns the byte count the whole string will take on export.
Definition: xestring.cxx:249
Write Access User Name - This record contains the user name, which is the name you type when you inst...
Definition: xcl97rec.hxx:543
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1792
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1933
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1634
Always use UCS-2 characters (default: try to compress). BIFF8 only.
css::uno::Reference< css::drawing::XShape > mxShape
Definition: xcl97rec.hxx:276
std::unique_ptr< XclExpMsoDrawing > pMsodrawingPerSheet
Definition: xcl97rec.hxx:89
XclExpString sComment
Definition: xcl97rec.hxx:384
virtual ~XclObj() override
Definition: xcl97rec.cxx:388
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1812
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:400
XclExpString sUserName
Definition: xcl97rec.hxx:385
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1691
virtual ~XclObjOle() override
Definition: xcl97rec.cxx:973
double fDelta
Definition: xcl97rec.hxx:487
std::vector< ExcEScenario > aScenes
Definition: xcl97rec.hxx:408
XclObj(XclExpObjectManager &rObjMgr, sal_uInt16 nObjType, bool bOwnEscher=false)
true = Escher part created on the fly.
Definition: xcl97rec.cxx:371
virtual ~XclExpWriteAccess() override
Definition: xcl97rec.cxx:1890
Represents one EnhancedProtection feature in a FEAT record.
Definition: xcl97rec.hxx:441
virtual ~XclObjDropDown() override
Definition: xcl97rec.cxx:786
virtual ~XclExpInterfaceEnd() override
Definition: xcl97rec.cxx:1877
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:36
sal_uInt16 nCol
Definition: xcl97rec.hxx:362
std::size_t nRecLen
Definition: xcl97rec.hxx:382
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1772
const css::uno::Reference< css::drawing::XShape > & GetShape() const
Definition: xcl97rec.hxx:267
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1752
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1817
XclExpString aName
Definition: xcl97rec.hxx:345
void SvStream & rStrm
virtual bool isExternalURL(const OUString &rURL) const override
Definition: xcl97rec.cxx:1263
XclExpSheetEnhancedProtection(const XclExpRoot &rRoot, const ScEnhancedProtection &rProt)
Definition: xcl97rec.cxx:1711
void EndSheet()
close groups and DgContainer opened in ctor
Definition: xcl97rec.cxx:132
std::size_t GetStringBytes() const
Definition: xcl97rec.hxx:370
std::vector< ExcEScenarioCell > aCells
Definition: xcl97rec.hxx:388
ExcEScenarioCell(sal_uInt16 nC, sal_uInt16 nR, const OUString &rTxt)
Definition: xcl97rec.cxx:1427
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:450
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1947
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1420
Base class for single records with any content.
Definition: xerecord.hxx:142
sal_Int16 SCTAB
Definition: types.hxx:23
Record which contains a Boolean value.
Definition: xerecord.hxx:254
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1639
XclObjDropDown(XclExpObjectManager &rObjMgr, const ScAddress &rPos, bool bFilt)
Definition: xcl97rec.cxx:757
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1359