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>
29
30class XclObj;
32class SdrCaptionObj;
33class SdrTextObj;
34class XclTxo;
35class XclEscherEx;
36
38{
39public:
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
46private:
48};
49
50class XclExpObjList : public ExcEmptyRec, protected XclExpRoot
51{
52public:
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
84private:
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
96class XclObj : public XclExpRecord
97{
98protected:
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
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
122public:
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
167class XclObjComment : public XclObj
168{
170
171 // no need to use std::unique_ptr< SdrCaptionObj >
173
177
178public:
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
194class XclObjDropDown : public XclObj
195{
196private:
198
199 virtual void WriteSubRecs( XclExpStream& rStrm ) override;
200
201protected:
202public:
203 XclObjDropDown( XclExpObjectManager& rObjMgr, const ScAddress& rPos, bool bFilt );
204 virtual ~XclObjDropDown() override;
205};
206
207// --- class XclTxo --------------------------------------------------
208
209class XclTxo : public ExcRecord
210{
211public:
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
224private:
225 virtual void SaveCont( XclExpStream& rStrm ) override;
226
227private:
229 sal_uInt16 mnRotation;
232};
233
234// --- class XclObjOle -----------------------------------------------
235
236class XclObjOle : public XclObj
237{
238private:
239
242
243 virtual void WriteSubRecs( XclExpStream& rStrm ) override;
244
245public:
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
254class XclObjAny : public XclObj
255{
256protected:
257 virtual void WriteSubRecs( XclExpStream& rStrm ) override;
258
259public:
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
273private:
274 css::uno::Reference< css::drawing::XShape >
277};
278
279// --- class ExcBof8_Base --------------------------------------------
280
282{
283protected:
284 virtual void SaveCont( XclExpStream& rStrm ) override;
285
286public:
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
296class ExcBofW8 : public ExcBof8_Base
297{
298public:
299 ExcBofW8();
300};
301
302// --- class ExcBof8 -------------------------------------------------
303// Header Record for WORKSHEETS
304
305class ExcBof8 : public ExcBof8_Base
306{
307public:
308 ExcBof8();
309};
310
311// --- class ExcBundlesheet8 -----------------------------------------
312
314{
315private:
316 OUString sUnicodeName;
318
319 virtual void SaveCont( XclExpStream& rStrm ) override;
320
321public:
322 ExcBundlesheet8( const RootData& rRootData, SCTAB nTab );
323 ExcBundlesheet8( OUString aString );
324
325 virtual std::size_t GetLen() const override;
326
327 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
328};
329
330// --- class XclObproj -----------------------------------------------
331
332class XclObproj : public ExcRecord
333{
334public:
335 virtual sal_uInt16 GetNum() const override;
336 virtual std::size_t GetLen() const override;
337};
338
339// ---- class XclCodename --------------------------------------------
340
341class XclCodename : public ExcRecord
342{
343private:
345 virtual void SaveCont( XclExpStream& rStrm ) override;
346public:
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{
360private:
361 sal_uInt16 nCol;
362 sal_uInt16 nRow;
364
365protected:
366public:
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
379{
380private:
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
393protected:
394public:
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{
405private:
406 sal_uInt16 nActive;
407 std::vector<ExcEScenario> aScenes;
408
409 virtual void SaveCont( XclExpStream& rStrm ) override;
410
411protected:
412public:
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{
428public:
429 explicit XclExpSheetProtectOptions( const XclExpRoot& rRoot, SCTAB nTab );
430
431private:
432 virtual void WriteBody( XclExpStream& rStrm ) override;
433
434private:
435 sal_uInt16 mnOptions;
436};
437
441{
442public:
443 explicit XclExpSheetEnhancedProtection( const XclExpRoot& rRoot, ScEnhancedProtection aProt );
444
445private:
446 virtual void WriteBody( XclExpStream& rStrm ) override;
447
448private:
451};
452
454{
455private:
456 sal_uInt16 nCount;
457protected:
458 virtual void SaveCont( XclExpStream& rStrm ) override;
459public:
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
469{
470private:
471 sal_uInt16 nIter;
472protected:
473 virtual void SaveCont( XclExpStream& rStrm ) override;
474public:
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
483class XclDelta : public ExcRecord
484{
485private:
486 double fDelta;
487protected:
488 virtual void SaveCont( XclExpStream& rStrm ) override;
489public:
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{
500public:
501 XclRefmode( const ScDocument& );
502
503 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
504};
505
507{
508public:
509 explicit XclExpFileEncryption( const XclExpRoot& rRoot );
510 virtual ~XclExpFileEncryption() override;
511
512private:
513 virtual void WriteBody( XclExpStream& rStrm ) override;
514
515private:
517};
518
521{
522public:
523 explicit XclExpInterfaceHdr( sal_uInt16 nCodePage );
524
525private:
526 virtual void WriteBody( XclExpStream& rStrm ) override;
527};
528
531{
532public:
533 explicit XclExpInterfaceEnd();
534 virtual ~XclExpInterfaceEnd() override;
535
536private:
537 virtual void WriteBody( XclExpStream& rStrm ) override;
538};
539
543{
544public:
545 explicit XclExpWriteAccess();
546 virtual ~XclExpWriteAccess() override;
547
548private:
549 virtual void WriteBody( XclExpStream& rStrm ) override;
550};
551
553{
554public:
555 explicit XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly );
556
557 virtual void Save( XclExpStream& rStrm ) override;
558
559private:
560 virtual void WriteBody( XclExpStream& rStrm ) override;
561
562private:
564 sal_uInt16 mnPasswordHash;
566};
567
569{
570public:
571 explicit XclExpProt4Rev();
572 virtual ~XclExpProt4Rev() override;
573
574private:
575 virtual void WriteBody( XclExpStream& rStrm ) override;
576};
577
579{
580public:
581 explicit XclExpProt4RevPass();
582 virtual ~XclExpProt4RevPass() override;
583
584private:
585 virtual void WriteBody( XclExpStream& rStrm ) override;
586};
587
589{
590public:
591 explicit XclExpRecalcId();
592};
593
595{
596public:
597 explicit XclExpBookExt();
598};
599
600/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1359
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1354
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1346
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1406
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1401
XclExpString GetName() const
Definition: xcl97rec.hxx:317
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1391
OUString sUnicodeName
Definition: xcl97rec.hxx:316
ExcBundlesheet8(const RootData &rRootData, SCTAB nTab)
Definition: xcl97rec.cxx:1380
std::size_t GetStringBytes() const
Definition: xcl97rec.hxx:369
sal_uInt16 nRow
Definition: xcl97rec.hxx:362
sal_uInt16 nCol
Definition: xcl97rec.hxx:361
void SaveXml(XclExpXmlStream &rStrm) const
Definition: xcl97rec.cxx:1476
void WriteText(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1471
void WriteAddress(XclExpStream &rStrm) const
Definition: xcl97rec.cxx:1466
XclExpString sText
Definition: xcl97rec.hxx:363
ExcEScenarioCell(sal_uInt16 nC, sal_uInt16 nR, const OUString &rTxt)
Definition: xcl97rec.cxx:1459
ExcEScenarioManager(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1607
std::vector< ExcEScenario > aScenes
Definition: xcl97rec.hxx:407
virtual ~ExcEScenarioManager() override
Definition: xcl97rec.cxx:1627
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1666
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1648
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1631
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1639
sal_uInt16 nActive
Definition: xcl97rec.hxx:406
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1671
XclExpString sComment
Definition: xcl97rec.hxx:383
ExcEScenario(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1486
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1585
bool Append(sal_uInt16 nCol, sal_uInt16 nRow, const OUString &rTxt)
Definition: xcl97rec.cxx:1543
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1580
std::vector< ExcEScenarioCell > aCells
Definition: xcl97rec.hxx:387
bool bProtected
Definition: xcl97rec.hxx:385
std::size_t nRecLen
Definition: xcl97rec.hxx:381
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1590
XclExpString sName
Definition: xcl97rec.hxx:382
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1554
XclExpString sUserName
Definition: xcl97rec.hxx:384
ScURLTransformer(ScDocument &rDoc)
Definition: xcl97rec.cxx:1289
virtual bool isExternalURL(const OUString &rURL) const override
Definition: xcl97rec.cxx:1301
virtual OUString getTransformedString(const OUString &rURL) const override
Definition: xcl97rec.cxx:1294
ScDocument & mrDoc
Definition: xcl97rec.hxx:47
sal_uInt16 nCount
Definition: xcl97rec.hxx:456
XclCalccount(const ScDocument &)
Definition: xcl97rec.cxx:1789
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1794
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1784
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1799
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1804
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1452
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1447
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1442
XclCodename(const OUString &)
Definition: xcl97rec.cxx:1438
XclExpString aName
Definition: xcl97rec.hxx:344
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1834
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1849
double fDelta
Definition: xcl97rec.hxx:486
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1844
XclDelta(const ScDocument &)
Definition: xcl97rec.cxx:1839
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1854
Record which contains a Boolean value.
Definition: xerecord.hxx:255
Record which exports a memory data array.
Definition: xerecord.hxx:278
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:516
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1869
XclExpFileEncryption(const XclExpRoot &rRoot)
Definition: xcl97rec.cxx:1859
virtual ~XclExpFileEncryption() override
Definition: xcl97rec.cxx:1865
XclExpString maUserName
Definition: xcl97rec.hxx:563
XclExpFileSharing(const XclExpRoot &rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly)
Definition: xcl97rec.cxx:1948
sal_uInt16 mnPasswordHash
Definition: xcl97rec.hxx:564
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1959
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1965
bool mbRecommendReadOnly
Definition: xcl97rec.hxx:565
End of User Interface Records.
Definition: xcl97rec.hxx:531
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1911
virtual ~XclExpInterfaceEnd() override
Definition: xcl97rec.cxx:1909
Beginning of User Interface Records.
Definition: xcl97rec.hxx:521
XclExpInterfaceHdr(sal_uInt16 nCodePage)
Definition: xcl97rec.cxx:1895
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record.
Definition: xcl97rec.cxx:1900
One or more MSODRAWING records contain the DFF stream data for a drawing shape.
Definition: xeescher.hxx:143
void EndSheet()
close groups and DgContainer opened in ctor
Definition: xcl97rec.cxx:134
sal_uInt16 Add(std::unique_ptr< XclObj >)
return: 1-based ObjId count>=0xFFFF: Obj will be deleted, return 0
Definition: xcl97rec.cxx:106
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:390
std::unique_ptr< XclExpMsoDrawing > pSolverContainer
Definition: xcl97rec.hxx:89
std::unique_ptr< XclObj > pop_back()
Remove last element in the list.
Definition: xcl97rec.cxx:127
iterator end()
Definition: xcl97rec.hxx:74
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xcl97rec.hxx:76
bool empty() const
Definition: xcl97rec.hxx:68
std::unique_ptr< XclExpMsoDrawing > pMsodrawingPerSheet
Definition: xcl97rec.hxx:88
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:87
virtual ~XclExpObjList() override
Definition: xcl97rec.cxx:99
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:144
iterator begin()
Definition: xcl97rec.hxx:72
std::vector< std::unique_ptr< XclObj > >::iterator iterator
Definition: xcl97rec.hxx:54
size_t size() const
Definition: xcl97rec.hxx:70
std::vector< std::unique_ptr< XclObj > > maObjs
Definition: xcl97rec.hxx:91
XclExpObjList(const XclExpRoot &rRoot, XclEscherEx &rEscherEx)
Definition: xcl97rec.cxx:86
SCTAB mnScTab
Definition: xcl97rec.hxx:85
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1993
virtual ~XclExpProt4RevPass() override
Definition: xcl97rec.cxx:1989
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1979
virtual ~XclExpProt4Rev() override
Definition: xcl97rec.cxx:1975
Base class for single records with any content.
Definition: xerecord.hxx:143
Access to global data from other classes.
Definition: xeroot.hxx:113
Represents one EnhancedProtection feature in a FEAT record.
Definition: xcl97rec.hxx:441
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1751
ScEnhancedProtection maEnhancedProtection
Definition: xcl97rec.hxx:450
XclExpSheetEnhancedProtection(const XclExpRoot &rRoot, ScEnhancedProtection aProt)
Definition: xcl97rec.cxx:1743
const XclExpRoot & mrRoot
Definition: xcl97rec.hxx:449
Represents a FEATHDR (SHEETPROTECTION) record that stores sheet protection options.
Definition: xcl97rec.hxx:427
XclExpSheetProtectOptions(const XclExpRoot &rRoot, SCTAB nTab)
Definition: xcl97rec.cxx:1686
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1723
This class is used to export Excel record streams.
Definition: xestream.hxx:73
This class stores an unformatted or formatted string for Excel export.
Definition: xestring.hxx:48
std::size_t GetSize() const
Returns the byte count the whole string will take on export.
Definition: xestring.cxx:249
A record with a single value of type Type.
Definition: xerecord.hxx:199
Write Access User Name - This record contains the user name, which is the name you type when you inst...
Definition: xcl97rec.hxx:543
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:1926
virtual ~XclExpWriteAccess() override
Definition: xcl97rec.cxx:1922
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1824
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1809
XclIteration(const ScDocument &)
Definition: xcl97rec.cxx:1814
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1829
sal_uInt16 nIter
Definition: xcl97rec.hxx:471
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1819
XclObjAny(XclExpObjectManager &rObjMgr, const css::uno::Reference< css::drawing::XShape > &rShape, ScDocument *pDoc)
Definition: xcl97rec.cxx:1083
css::uno::Reference< css::drawing::XShape > mxShape
Definition: xcl97rec.hxx:275
const css::uno::Reference< css::drawing::XShape > & GetShape() const
Definition: xcl97rec.hxx:266
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1101
static void WriteFromTo(XclExpXmlStream &rStrm, const XclObjAny &rObj)
Definition: xcl97rec.cxx:1184
ScDocument * mpDoc
Definition: xcl97rec.hxx:276
virtual ~XclObjAny() override
Definition: xcl97rec.cxx:1090
static void WriteFromTo(XclExpXmlStream &rStrm, const css::uno::Reference< css::drawing::XShape > &rShape, SCTAB nTab)
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1094
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:1306
virtual ~XclObjComment() override
Definition: xcl97rec.cxx:649
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:568
void ProcessEscherObj(const XclExpRoot &rRoot, const tools::Rectangle &rRect, SdrObject *pCaption, bool bVisible)
c'tor process for formatted text objects above .
Definition: xcl97rec.cxx:625
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:655
tools::Rectangle maTo
Definition: xcl97rec.hxx:176
tools::Rectangle maFrom
Definition: xcl97rec.hxx:175
SdrCaptionObj * mpCaption
Definition: xcl97rec.hxx:172
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:783
ScAddress maScPos
Definition: xcl97rec.hxx:169
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:824
virtual ~XclObjDropDown() override
Definition: xcl97rec.cxx:820
XclObjDropDown(XclExpObjectManager &rObjMgr, const ScAddress &rPos, bool bFilt)
Definition: xcl97rec.cxx:791
virtual ~XclObjOle() override
Definition: xcl97rec.cxx:1006
XclObjOle(XclExpObjectManager &rObjMgr, const SdrObject &rObj)
Definition: xcl97rec.cxx:999
const SdrObject & rOleObj
Definition: xcl97rec.hxx:240
SotStorage * pRootStorage
Definition: xcl97rec.hxx:241
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:1010
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:1075
sal_uInt16 nObjId
Definition: xcl97rec.hxx:104
bool mbOwnEscher
Definition: xcl97rec.hxx:109
void SaveTextRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:547
void SetEscherShapeTypeGroup()
Definition: xcl97rec.hxx:146
bool bFirstOnSheet
Definition: xcl97rec.hxx:107
XclEscherEx & mrEscherEx
Definition: xcl97rec.hxx:99
sal_uInt16 GetObjType() const
Definition: xcl97rec.hxx:125
SCTAB GetTab() const
Definition: xcl97rec.hxx:130
sal_uInt16 mnObjType
Definition: xcl97rec.hxx:103
void SetId(sal_uInt16 nId)
Definition: xcl97rec.hxx:127
XclExpMsoDrawing * pMsodrawing
Definition: xcl97rec.hxx:100
void ImplWriteAnchor(const SdrObject *pSdrObj, const tools::Rectangle *pChildAnchor)
Definition: xcl97rec.cxx:430
void SetTab(SCTAB nScTab)
Definition: xcl97rec.hxx:129
void SetEscherShapeType(sal_uInt16 nType)
Definition: xcl97rec.cxx:443
SCTAB mnScTab
Definition: xcl97rec.hxx:106
virtual void WriteSubRecs(XclExpStream &rStrm)
Definition: xcl97rec.cxx:525
void SetGrBit(bool b, int f)
Definition: xcl97rec.hxx:136
void SetPrintable(bool b)
Definition: xcl97rec.hxx:133
bool IsOwnEscher() const
If set to true, this object has created its own escher data.
Definition: xcl97rec.hxx:157
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:512
void SetAutoLine(bool b)
Definition: xcl97rec.hxx:135
std::unique_ptr< XclExpMsoDrawing > pClientTextbox
Definition: xcl97rec.hxx:101
XclObj(XclExpObjectManager &rObjMgr, sal_uInt16 nObjType, bool bOwnEscher=false)
true = Escher part created on the fly.
Definition: xcl97rec.cxx:405
sal_uInt16 nGrbit
Definition: xcl97rec.hxx:105
std::unique_ptr< XclTxo > pTxo
Definition: xcl97rec.hxx:102
virtual ~XclObj() override
Definition: xcl97rec.cxx:422
void SetLocked(bool b)
Definition: xcl97rec.hxx:132
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xcl97rec.cxx:485
void SetAutoFill(bool b)
Definition: xcl97rec.hxx:134
void SetText(const XclExpRoot &rRoot, const SdrTextObj &rObj)
actually writes ESCHER_ClientTextbox
Definition: xcl97rec.cxx:472
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:1426
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:1431
XclRefmode(const ScDocument &)
Definition: xcl97rec.cxx:2018
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xcl97rec.cxx:2023
XclTxo(const OUString &rString, sal_uInt16 nFontIx)
Definition: xcl97rec.cxx:873
sal_uInt16 mnRotation
Text and formatting data.
Definition: xcl97rec.hxx:229
sal_uInt8 mnVerAlign
Horizontal alignment.
Definition: xcl97rec.hxx:231
XclExpStringRef mpString
Definition: xcl97rec.hxx:228
virtual std::size_t GetLen() const override
Definition: xcl97rec.cxx:992
void SetHorAlign(sal_uInt8 nHorAlign)
Definition: xcl97rec.hxx:216
virtual sal_uInt16 GetNum() const override
Definition: xcl97rec.cxx:987
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xcl97rec.cxx:964
void SetVerAlign(sal_uInt8 nVerAlign)
Definition: xcl97rec.hxx:217
virtual void SaveCont(XclExpStream &rStrm) override
Definition: xcl97rec.cxx:948
sal_uInt8 mnHorAlign
Text rotation.
Definition: xcl97rec.hxx:230
void SvStream & rStrm
sal_Int16 nId
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
Container for the Excel EnhancedProtection feature.
unsigned char sal_uInt8
sal_Int16 SCTAB
Definition: types.hxx:22
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:35
const sal_uInt16 EXC_OBJTYPE_GROUP
Definition: xlescher.hxx:49
@ EightBitLength
Always use UCS-2 characters (default: try to compress). BIFF8 only.