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 #pragma once
21 
22 #include <memory>
23 #include "excrecds.hxx"
24 #include "xlescher.hxx"
25 #include "xestring.hxx"
26 #include <tabprotection.hxx>
27 #include <svx/svdobj.hxx>
28 #include <oox/export/drawingml.hxx>
29 
30 class XclObj;
31 class XclExpMsoDrawing;
32 class SdrCaptionObj;
33 class SdrTextObj;
34 class XclTxo;
35 class XclEscherEx;
36 
38 {
39 public:
40  explicit ScURLTransformer(ScDocument& rDoc);
41 
42  virtual OUString getTransformedString(const OUString& rURL) const override;
43 
44  virtual bool isExternalURL(const OUString& rURL) const override;
45 
46 private:
48 };
49 
50 class XclExpObjList : public ExcEmptyRec, protected XclExpRoot
51 {
52 public:
53 
54  typedef std::vector<std::unique_ptr<XclObj>>::iterator iterator;
55 
56  explicit XclExpObjList( const XclExpRoot& rRoot, XclEscherEx& rEscherEx );
57  virtual ~XclExpObjList() override;
58 
61  sal_uInt16 Add( std::unique_ptr<XclObj> );
62 
66  std::unique_ptr<XclObj> pop_back ();
67 
68  bool empty () const { return maObjs.empty(); }
69 
70  size_t size () const { return maObjs.size(); }
71 
72  iterator begin () { return maObjs.begin(); }
73 
74  iterator end () { return maObjs.end(); }
75 
77 
79  void EndSheet();
80 
81  virtual void Save( XclExpStream& rStrm ) override;
82  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
83 
84 private:
86 
88  std::unique_ptr<XclExpMsoDrawing> pMsodrawingPerSheet;
89  std::unique_ptr<XclExpMsoDrawing> pSolverContainer;
90 
91  std::vector<std::unique_ptr<XclObj>> maObjs;
92 };
93 
94 // --- class XclObj --------------------------------------------------
95 
96 class XclObj : public XclExpRecord
97 {
98 protected:
101  std::unique_ptr<XclExpMsoDrawing> pClientTextbox;
102  std::unique_ptr<XclTxo> pTxo;
103  sal_uInt16 mnObjType;
104  sal_uInt16 nObjId;
105  sal_uInt16 nGrbit;
108 
109  bool mbOwnEscher;
110 
113  explicit XclObj( XclExpObjectManager& rObjMgr, sal_uInt16 nObjType, bool bOwnEscher = false );
114 
115  void ImplWriteAnchor( const SdrObject* pSdrObj, const tools::Rectangle* pChildAnchor );
116 
117  // overwritten for writing MSODRAWING record
118  virtual void WriteBody( XclExpStream& rStrm ) override;
119  virtual void WriteSubRecs( XclExpStream& rStrm );
120  void SaveTextRecs( XclExpStream& rStrm );
121 
122 public:
123  virtual ~XclObj() override;
124 
125  sal_uInt16 GetObjType() const { return mnObjType; }
126 
127  void SetId( sal_uInt16 nId ) { nObjId = nId; }
128 
129  void SetTab( SCTAB nScTab ) { mnScTab = nScTab; }
130  SCTAB GetTab() const { return mnScTab; }
131 
132  void SetLocked( bool b ) { SetGrBit(b, 0x0001); }
133  void SetPrintable( bool b ) { SetGrBit(b, 0x0010); }
134  void SetAutoFill( bool b ) { SetGrBit(b, 0x2000); }
135  void SetAutoLine( bool b ) { SetGrBit(b, 0x4000); }
136  void SetGrBit( bool b, int f )
137  {
138  if (b)
139  nGrbit |= f;
140  else
141  nGrbit &= ~f;
142  }
143 
144  // set corresponding Excel object type in OBJ/ftCmo
145  void SetEscherShapeType( sal_uInt16 nType );
147 
157  bool IsOwnEscher() const { return mbOwnEscher; }
158 
160  void SetText( const XclExpRoot& rRoot, const SdrTextObj& rObj );
161 
162  virtual void Save( XclExpStream& rStrm ) override;
163 };
164 
165 // --- class XclObjComment -------------------------------------------
166 
167 class XclObjComment : public XclObj
168 {
170 
171  // no need to use std::unique_ptr< SdrCaptionObj, SdrObjectFreeOp >
173 
174  bool mbVisible;
177 
178 public:
180  const tools::Rectangle& rRect, const EditTextObject& rEditObj, SdrCaptionObj* pCaption, bool bVisible, const ScAddress& rAddress, const tools::Rectangle &rFrom, const tools::Rectangle &To );
181  virtual ~XclObjComment() override;
182 
185  void ProcessEscherObj( const XclExpRoot& rRoot,
186  const tools::Rectangle& rRect, SdrObject* pCaption, bool bVisible );
187 
188  virtual void Save( XclExpStream& rStrm ) override;
189  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
190 };
191 
192 // --- class XclObjDropDown ------------------------------------------
193 
194 class XclObjDropDown : public XclObj
195 {
196 private:
198 
199  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
200 
201 protected:
202 public:
203  XclObjDropDown( XclExpObjectManager& rObjMgr, const ScAddress& rPos, bool bFilt );
204  virtual ~XclObjDropDown() override;
205 };
206 
207 // --- class XclTxo --------------------------------------------------
208 
209 class XclTxo : public ExcRecord
210 {
211 public:
212  XclTxo( const OUString& rString, sal_uInt16 nFontIx );
213  XclTxo( const XclExpRoot& rRoot, const SdrTextObj& rEditObj );
214  XclTxo( const XclExpRoot& rRoot, const EditTextObject& rEditObj, SdrObject* pCaption );
215 
216  void SetHorAlign( sal_uInt8 nHorAlign ) { mnHorAlign = nHorAlign; }
217  void SetVerAlign( sal_uInt8 nVerAlign ) { mnVerAlign = nVerAlign; }
218 
219  virtual void Save( XclExpStream& rStrm ) override;
220 
221  virtual sal_uInt16 GetNum() const override;
222  virtual std::size_t GetLen() const override;
223 
224 private:
225  virtual void SaveCont( XclExpStream& rStrm ) override;
226 
227 private:
229  sal_uInt16 mnRotation;
232 };
233 
234 // --- class XclObjOle -----------------------------------------------
235 
236 class XclObjOle : public XclObj
237 {
238 private:
239 
242 
243  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
244 
245 public:
246  XclObjOle( XclExpObjectManager& rObjMgr, const SdrObject& rObj );
247  virtual ~XclObjOle() override;
248 
249  virtual void Save( XclExpStream& rStrm ) override;
250 };
251 
252 // --- class XclObjAny -----------------------------------------------
253 
254 class XclObjAny : public XclObj
255 {
256 protected:
257  virtual void WriteSubRecs( XclExpStream& rStrm ) override;
258 
259 public:
260  XclObjAny( XclExpObjectManager& rObjMgr,
261  const css::uno::Reference< css::drawing::XShape >& rShape,
262  ScDocument* pDoc);
263  virtual ~XclObjAny() override;
264 
265  const css::uno::Reference< css::drawing::XShape >&
266  GetShape() const { return mxShape; }
267 
268  virtual void Save( XclExpStream& rStrm ) override;
269  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
270  static void WriteFromTo( XclExpXmlStream& rStrm, const XclObjAny& rObj );
271  static void WriteFromTo( XclExpXmlStream& rStrm, const css::uno::Reference< css::drawing::XShape >& rShape, SCTAB nTab );
272 
273 private:
274  css::uno::Reference< css::drawing::XShape >
277 };
278 
279 // --- class ExcBof8_Base --------------------------------------------
280 
281 class ExcBof8_Base : public ExcBof_Base
282 {
283 protected:
284  virtual void SaveCont( XclExpStream& rStrm ) override;
285 
286 public:
287  ExcBof8_Base();
288 
289  virtual sal_uInt16 GetNum() const override;
290  virtual std::size_t GetLen() const override;
291 };
292 
293 // --- class ExcBofW8 ------------------------------------------------
294 // Header Record for WORKBOOKS
295 
296 class ExcBofW8 : public ExcBof8_Base
297 {
298 public:
299  ExcBofW8();
300 };
301 
302 // --- class ExcBof8 -------------------------------------------------
303 // Header Record for WORKSHEETS
304 
305 class ExcBof8 : public ExcBof8_Base
306 {
307 public:
308  ExcBof8();
309 };
310 
311 // --- class ExcBundlesheet8 -----------------------------------------
312 
314 {
315 private:
316  OUString sUnicodeName;
317  XclExpString GetName() const { return XclExpString( sUnicodeName, XclStrFlags::EightBitLength );}
318 
319  virtual void SaveCont( XclExpStream& rStrm ) override;
320 
321 public:
322  ExcBundlesheet8( const RootData& rRootData, SCTAB nTab );
323  ExcBundlesheet8( const OUString& rString );
324 
325  virtual std::size_t GetLen() const override;
326 
327  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
328 };
329 
330 // --- class XclObproj -----------------------------------------------
331 
332 class XclObproj : public ExcRecord
333 {
334 public:
335  virtual sal_uInt16 GetNum() const override;
336  virtual std::size_t GetLen() const override;
337 };
338 
339 // ---- class XclCodename --------------------------------------------
340 
341 class XclCodename : public ExcRecord
342 {
343 private:
345  virtual void SaveCont( XclExpStream& rStrm ) override;
346 public:
347  XclCodename( const OUString& );
348 
349  virtual sal_uInt16 GetNum() const override;
350  virtual std::size_t GetLen() const override;
351 };
352 
353 // ---- Scenarios ----------------------------------------------------
354 // - ExcEScenarioCell a cell of a scenario range
355 // - ExcEScenario all ranges of a scenario table
356 // - ExcEScenarioManager list of scenario tables
357 
359 {
360 private:
361  sal_uInt16 nCol;
362  sal_uInt16 nRow;
364 
365 protected:
366 public:
367  ExcEScenarioCell( sal_uInt16 nC, sal_uInt16 nR, const OUString& rTxt );
368 
369  std::size_t GetStringBytes() const
370  { return sText.GetSize(); }
371 
372  void WriteAddress( XclExpStream& rStrm ) const ;
373  void WriteText( XclExpStream& rStrm ) const;
374 
375  void SaveXml( XclExpXmlStream& rStrm ) const;
376 };
377 
378 class ExcEScenario : public ExcRecord
379 {
380 private:
381  std::size_t nRecLen;
386 
387  std::vector<ExcEScenarioCell> aCells;
388 
389  bool Append( sal_uInt16 nCol, sal_uInt16 nRow, const OUString& rTxt );
390 
391  virtual void SaveCont( XclExpStream& rStrm ) override;
392 
393 protected:
394 public:
395  ExcEScenario( const XclExpRoot& rRoot, SCTAB nTab );
396 
397  virtual sal_uInt16 GetNum() const override;
398  virtual std::size_t GetLen() const override;
399 
400  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
401 };
402 
404 {
405 private:
406  sal_uInt16 nActive;
407  std::vector<ExcEScenario> aScenes;
408 
409  virtual void SaveCont( XclExpStream& rStrm ) override;
410 
411 protected:
412 public:
413  ExcEScenarioManager( const XclExpRoot& rRoot, SCTAB nTab );
414  virtual ~ExcEScenarioManager() override;
415 
416  virtual void Save( XclExpStream& rStrm ) override;
417  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
418 
419  virtual sal_uInt16 GetNum() const override;
420  virtual std::size_t GetLen() const override;
421 };
422 
427 {
428 public:
429  explicit XclExpSheetProtectOptions( const XclExpRoot& rRoot, SCTAB nTab );
430 
431 private:
432  virtual void WriteBody( XclExpStream& rStrm ) override;
433 
434 private:
435  sal_uInt16 mnOptions;
436 };
437 
441 {
442 public:
443  explicit XclExpSheetEnhancedProtection( const XclExpRoot& rRoot, const ScEnhancedProtection& rProt );
444 
445 private:
446  virtual void WriteBody( XclExpStream& rStrm ) override;
447 
448 private:
451 };
452 
453 class XclCalccount : public ExcRecord
454 {
455 private:
456  sal_uInt16 nCount;
457 protected:
458  virtual void SaveCont( XclExpStream& rStrm ) override;
459 public:
460  XclCalccount( const ScDocument& );
461 
462  virtual sal_uInt16 GetNum() const override;
463  virtual std::size_t GetLen() const override;
464 
465  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
466 };
467 
468 class XclIteration : public ExcRecord
469 {
470 private:
471  sal_uInt16 nIter;
472 protected:
473  virtual void SaveCont( XclExpStream& rStrm ) override;
474 public:
475  XclIteration( const ScDocument& );
476 
477  virtual sal_uInt16 GetNum() const override;
478  virtual std::size_t GetLen() const override;
479 
480  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
481 };
482 
483 class XclDelta : public ExcRecord
484 {
485 private:
486  double fDelta;
487 protected:
488  virtual void SaveCont( XclExpStream& rStrm ) override;
489 public:
490  XclDelta( const ScDocument& );
491 
492  virtual sal_uInt16 GetNum() const override;
493  virtual std::size_t GetLen() const override;
494 
495  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
496 };
497 
499 {
500 public:
501  XclRefmode( const ScDocument& );
502 
503  virtual void SaveXml( XclExpXmlStream& rStrm ) override;
504 };
505 
507 {
508 public:
509  explicit XclExpFileEncryption( const XclExpRoot& rRoot );
510  virtual ~XclExpFileEncryption() override;
511 
512 private:
513  virtual void WriteBody( XclExpStream& rStrm ) override;
514 
515 private:
517 };
518 
521 {
522 public:
523  explicit XclExpInterfaceHdr( sal_uInt16 nCodePage );
524 
525 private:
526  virtual void WriteBody( XclExpStream& rStrm ) override;
527 };
528 
531 {
532 public:
533  explicit XclExpInterfaceEnd();
534  virtual ~XclExpInterfaceEnd() override;
535 
536 private:
537  virtual void WriteBody( XclExpStream& rStrm ) override;
538 };
539 
543 {
544 public:
545  explicit XclExpWriteAccess();
546  virtual ~XclExpWriteAccess() override;
547 
548 private:
549  virtual void WriteBody( XclExpStream& rStrm ) override;
550 };
551 
553 {
554 public:
555  explicit XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly );
556 
557  virtual void Save( XclExpStream& rStrm ) override;
558 
559 private:
560  virtual void WriteBody( XclExpStream& rStrm ) override;
561 
562 private:
564  sal_uInt16 mnPasswordHash;
566 };
567 
569 {
570 public:
571  explicit XclExpProt4Rev();
572  virtual ~XclExpProt4Rev() override;
573 
574 private:
575  virtual void WriteBody( XclExpStream& rStrm ) override;
576 };
577 
579 {
580 public:
581  explicit XclExpProt4RevPass();
582  virtual ~XclExpProt4RevPass() override;
583 
584 private:
585  virtual void WriteBody( XclExpStream& rStrm ) override;
586 };
587 
589 {
590 public:
591  explicit XclExpRecalcId();
592 };
593 
595 {
596 public:
597  explicit XclExpBookExt();
598 };
599 
600 /* 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:462
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1942
sal_uInt16 nActive
Definition: xcl97rec.hxx:406
sal_uInt16 nObjId
Definition: xcl97rec.hxx:104
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:47
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1409
bool mbOwnEscher
Definition: xcl97rec.hxx:109
ScDocument * mpDoc
Definition: xcl97rec.hxx:276
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:965
std::unique_ptr< XclObj > pop_back()
Remove last element in the list.
Definition: xcl97rec.cxx:125
OUString sUnicodeName
Definition: xcl97rec.hxx:316
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1079
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:942
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1284
sal_uInt16 mnPasswordHash
Definition: xcl97rec.hxx:564
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1852
XclIteration(const ScDocument &)
Definition: xcl97rec.cxx:1797
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
Definition: xcl97rec.cxx:1883
bool IsOwnEscher() const
If set to true, this object has created its own escher data.
Definition: xcl97rec.hxx:157
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:87
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1430
void SetAutoLine(bool b)
Definition: xcl97rec.hxx:135
tools::Rectangle maFrom
Definition: xcl97rec.hxx:175
std::unique_ptr< XclExpMsoDrawing > pClientTextbox
Definition: xcl97rec.hxx:101
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1622
size_t size() const
Definition: xcl97rec.hxx:70
This class is used to export Excel record streams.
Definition: xestream.hxx:72
sal_uInt16 nCount
Definition: xcl97rec.hxx:456
void SetEscherShapeTypeGroup()
Definition: xcl97rec.hxx:146
sal_uInt8 mnHorAlign
Text rotation.
Definition: xcl97rec.hxx:230
tools::Rectangle maTo
Definition: xcl97rec.hxx:176
virtual ~XclExpProt4Rev() override
Definition: xcl97rec.cxx:1958
void SetVerAlign(sal_uInt8 nVerAlign)
Definition: xcl97rec.hxx:217
XclTxo(const OUString &rString, sal_uInt16 nFontIx)
Definition: xcl97rec.cxx:850
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1614
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1812
XclExpString GetName() const
Definition: xcl97rec.hxx:317
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:801
SotStorage * pRootStorage
Definition: xcl97rec.hxx:241
XclExpFileEncryption(const XclExpRoot &rRoot)
Definition: xcl97rec.cxx:1842
void SetText(const XclExpRoot &rRoot, const SdrTextObj &rObj)
actually writes ESCHER_ClientTextbox
Definition: xcl97rec.cxx:449
XclExpFileSharing(const XclExpRoot &rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly)
Definition: xcl97rec.cxx:1931
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1782
ScAddress maScPos
Definition: xcl97rec.hxx:169
virtual OUString getTransformedString(const OUString &rURL) const override
Definition: xcl97rec.cxx:1272
virtual ~XclExpFileEncryption() override
Definition: xcl97rec.cxx:1848
void WriteAddress(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1449
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:632
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1573
void SetHorAlign(sal_uInt8 nHorAlign)
Definition: xcl97rec.hxx:216
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1053
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:760
void SetGrBit(bool b, int f)
Definition: xcl97rec.hxx:136
XclExpMsoDrawing * pMsodrawing
Definition: xcl97rec.hxx:100
Beginning of User Interface Records.
Definition: xcl97rec.hxx:520
void SaveTextRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:524
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1802
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1777
void SetPrintable(bool b)
Definition: xcl97rec.hxx:133
iterator begin()
Definition: xcl97rec.hxx:72
XclExpStringRef mpString
Definition: xcl97rec.hxx:228
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:489
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1568
virtual void WriteSubRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:502
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1329
ScURLTransformer(ScDocument &rDoc)
Definition: xcl97rec.cxx:1267
sal_uInt16 mnRotation
Text and formatting data.
Definition: xcl97rec.hxx:229
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1837
iterator end()
Definition: xcl97rec.hxx:74
void SetEscherShapeType(sal_uInt16 nType)
Definition: xcl97rec.cxx:420
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1337
XclExpInterfaceHdr(sal_uInt16 nCodePage)
Definition: xcl97rec.cxx:1878
Access to global data from other classes.
Definition: xeroot.hxx:112
void WriteText(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1454
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:545
Record which exports a memory data array.
Definition: xerecord.hxx:276
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1389
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1976
SCTAB GetTab() const
Definition: xcl97rec.hxx:130
void ImplWriteAnchor(const SdrObject *pSdrObj, const tools::Rectangle *pChildAnchor)
Definition: xcl97rec.cxx:407
const sal_uInt16 EXC_OBJTYPE_GROUP
Definition: xlescher.hxx:49
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1384
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1894
bool mbRecommendReadOnly
Definition: xcl97rec.hxx:565
void SetAutoFill(bool b)
Definition: xcl97rec.hxx:134
XclCalccount(const ScDocument &)
Definition: xcl97rec.cxx:1772
XclRefmode(const ScDocument &)
Definition: xcl97rec.cxx:2001
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1817
SdrCaptionObj * mpCaption
Definition: xcl97rec.hxx:172
bool bFirstOnSheet
Definition: xcl97rec.hxx:107
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1734
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1631
virtual ~XclObjComment() override
Definition: xcl97rec.cxx:626
XclCodename(const OUString &)
Definition: xcl97rec.cxx:1421
std::unique_ptr< XclExpMsoDrawing > pSolverContainer
Definition: xcl97rec.hxx:89
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:1563
ScDocument & mrDoc
Definition: xcl97rec.hxx:47
XclObjAny(XclExpObjectManager &rObjMgr, const css::uno::Reference< css::drawing::XShape > &rShape, ScDocument *pDoc)
Definition: xcl97rec.cxx:1061
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1792
void SetLocked(bool b)
Definition: xcl97rec.hxx:132
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1425
void ProcessEscherObj(const XclExpRoot &rRoot, const tools::Rectangle &rRect, SdrObject *pCaption, bool bVisible)
c'tor process for formatted text objects above .
Definition: xcl97rec.cxx:602
End of User Interface Records.
Definition: xcl97rec.hxx:530
virtual ~XclExpProt4RevPass() override
Definition: xcl97rec.cxx:1972
A record with a single value of type Type.
Definition: xerecord.hxx:197
ScEnhancedProtection maEnhancedProtection
Definition: xcl97rec.hxx:450
sal_uInt16 nIter
Definition: xcl97rec.hxx:471
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:970
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xcl97rec.cxx:1459
ExcEScenario(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1469
ExcEScenarioManager(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1590
bool bProtected
Definition: xcl97rec.hxx:385
const SdrObject & rOleObj
Definition: xcl97rec.hxx:240
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:926
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:99
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1342
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1072
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1537
static void WriteFromTo(XclExpXmlStream &rStrm, const XclObjAny &rObj)
Definition: xcl97rec.cxx:1162
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:367
XclExpSheetProtectOptions(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1669
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:2006
ExcBundlesheet8(const RootData &rRootData, SCTAB nTab)
Definition: xcl97rec.cxx:1363
Represents a FEATHDR (SHEETPROTECTION) record that stores sheet protection options.
Definition: xcl97rec.hxx:426
sal_uInt16 GetObjType() const
Definition: xcl97rec.hxx:125
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:1526
virtual ~ExcEScenarioManager() override
Definition: xcl97rec.cxx:1610
sal_uInt8 mnVerAlign
Horizontal alignment.
Definition: xcl97rec.hxx:231
XclExpString sText
Definition: xcl97rec.hxx:363
SCTAB mnScTab
Definition: xcl97rec.hxx:106
XclObjOle(XclExpObjectManager &rObjMgr, const SdrObject &rObj)
Definition: xcl97rec.cxx:977
XclExpObjList(const XclExpRoot &rRoot, XclEscherEx &rEscherEx)
Definition: xcl97rec.cxx:84
XclExpString sName
Definition: xcl97rec.hxx:382
XclDelta(const ScDocument &)
Definition: xcl97rec.cxx:1822
XclExpString maUserName
Definition: xcl97rec.hxx:563
virtual ~XclObjAny() override
Definition: xcl97rec.cxx:1068
std::vector< std::unique_ptr< XclObj > > maObjs
Definition: xcl97rec.hxx:91
sal_uInt16 mnObjType
Definition: xcl97rec.hxx:103
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:516
std::unique_ptr< XclTxo > pTxo
Definition: xcl97rec.hxx:102
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:988
One or more MSODRAWING records contain the DFF stream data for a drawing shape.
Definition: xeescher.hxx:141
bool empty() const
Definition: xcl97rec.hxx:68
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1414
void SetId(sal_uInt16 nId)
Definition: xcl97rec.hxx:127
std::vector< std::unique_ptr< XclObj > >::iterator iterator
Definition: xcl97rec.hxx:54
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1909
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xcl97rec.hxx:76
void SetTab(SCTAB nScTab)
Definition: xcl97rec.hxx:129
SCTAB mnScTab
Definition: xcl97rec.hxx:85
sal_uInt16 nGrbit
Definition: xcl97rec.hxx:105
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:362
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:542
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1807
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1948
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1649
Always use UCS-2 characters (default: try to compress). BIFF8 only.
css::uno::Reference< css::drawing::XShape > mxShape
Definition: xcl97rec.hxx:275
std::unique_ptr< XclExpMsoDrawing > pMsodrawingPerSheet
Definition: xcl97rec.hxx:88
XclExpString sComment
Definition: xcl97rec.hxx:383
virtual ~XclObj() override
Definition: xcl97rec.cxx:399
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1827
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
XclExpString sUserName
Definition: xcl97rec.hxx:384
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1706
virtual ~XclObjOle() override
Definition: xcl97rec.cxx:984
double fDelta
Definition: xcl97rec.hxx:486
std::vector< ExcEScenario > aScenes
Definition: xcl97rec.hxx:407
XclObj(XclExpObjectManager &rObjMgr, sal_uInt16 nObjType, bool bOwnEscher=false)
true = Escher part created on the fly.
Definition: xcl97rec.cxx:382
virtual ~XclExpWriteAccess() override
Definition: xcl97rec.cxx:1905
Represents one EnhancedProtection feature in a FEAT record.
Definition: xcl97rec.hxx:440
virtual ~XclObjDropDown() override
Definition: xcl97rec.cxx:797
virtual ~XclExpInterfaceEnd() override
Definition: xcl97rec.cxx:1892
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:35
sal_uInt16 nCol
Definition: xcl97rec.hxx:361
std::size_t nRecLen
Definition: xcl97rec.hxx:381
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1787
const css::uno::Reference< css::drawing::XShape > & GetShape() const
Definition: xcl97rec.hxx:266
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1767
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1832
XclExpString aName
Definition: xcl97rec.hxx:344
void SvStream & rStrm
virtual bool isExternalURL(const OUString &rURL) const override
Definition: xcl97rec.cxx:1279
XclExpSheetEnhancedProtection(const XclExpRoot &rRoot, const ScEnhancedProtection &rProt)
Definition: xcl97rec.cxx:1726
void EndSheet()
close groups and DgContainer opened in ctor
Definition: xcl97rec.cxx:132
std::size_t GetStringBytes() const
Definition: xcl97rec.hxx:369
std::vector< ExcEScenarioCell > aCells
Definition: xcl97rec.hxx:387
ExcEScenarioCell(sal_uInt16 nC, sal_uInt16 nR, const OUString &rTxt)
Definition: xcl97rec.cxx:1442
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:449
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1962
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1435
Base class for single records with any content.
Definition: xerecord.hxx:141
sal_Int16 SCTAB
Definition: types.hxx:22
Record which contains a Boolean value.
Definition: xerecord.hxx:253
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1654
XclObjDropDown(XclExpObjectManager &rObjMgr, const ScAddress &rPos, bool bFilt)
Definition: xcl97rec.cxx:768
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1374