LibreOffice Module sc (master) 1
xeescher.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <vcl/graph.hxx>
24#include "xcl97rec.hxx"
25#include "xlescher.hxx"
26#include "xlformula.hxx"
27#include <svx/sdtaitm.hxx>
28#include <rtl/ustring.hxx>
29#include <unotools/tempfile.hxx>
30#include <memory>
31#include <optional>
32
33class ScPostIt;
34
35namespace com::sun::star::chart { class XChartDocument; }
36namespace com::sun::star::script { struct ScriptEventDescriptor; }
37
38
39// DFF client anchor ==========================================================
40
43{
44public:
46 explicit XclExpDffAnchorBase( const XclExpRoot& rRoot, sal_uInt16 nFlags = 0 );
47
49 void SetFlags( const SdrObject& rSdrObj );
51 void SetSdrObject( const SdrObject& rSdrObj );
52
54 void WriteDffData( EscherEx& rEscherEx ) const;
55
58 virtual void WriteData( EscherEx& rEscherEx, const tools::Rectangle& rRect ) override;
59
60private:
61 virtual void ImplSetFlags( const SdrObject& rSdrObj );
62 virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit );
63
64protected: // for access in derived classes
66 sal_uInt16 mnFlags;
67};
68
71{
72public:
73 explicit XclExpDffSheetAnchor( const XclExpRoot& rRoot );
74
75private:
76 virtual void ImplSetFlags( const SdrObject& rSdrObj ) override;
77 virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit ) override;
78
79private:
81};
82
85{
86public:
87 explicit XclExpDffEmbeddedAnchor( const XclExpRoot& rRoot,
88 const Size& rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY );
89
90private:
91 virtual void ImplSetFlags( const SdrObject& rSdrObj ) override;
92 virtual void ImplCalcAnchorRect( const tools::Rectangle& rRect, MapUnit eMapUnit ) override;
93
94private:
96 sal_Int32 mnScaleX;
97 sal_Int32 mnScaleY;
98};
99
102{
103public:
104 explicit XclExpDffNoteAnchor( const XclExpRoot& rRoot, const tools::Rectangle& rRect );
105};
106
109{
110public:
111 explicit XclExpDffDropDownAnchor( const XclExpRoot& rRoot, const ScAddress& rScPos );
112};
113
114// MSODRAWING* records ========================================================
115
118{
119public:
120 explicit XclExpMsoDrawingBase( XclEscherEx& rEscherEx, sal_uInt16 nRecId );
121
122private:
123 virtual void WriteBody( XclExpStream& rStrm ) override;
124
125protected:
127 sal_uInt32 mnFragmentKey;
128};
129
134{
135public:
136 explicit XclExpMsoDrawingGroup( XclEscherEx& rEscherEx );
137};
138
143{
144public:
145 explicit XclExpMsoDrawing( XclEscherEx& rEscherEx );
146};
147
150{
151public:
152 explicit XclExpImgData( Graphic aGraphic, sal_uInt16 nRecId );
153
155 virtual void Save( XclExpStream& rStrm ) override;
156 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
157
158private:
160 sal_uInt16 mnRecId;
161};
162
165{
166public:
167 explicit XclExpControlHelper( const XclExpRoot& rRoot );
168 virtual ~XclExpControlHelper() override;
169
170protected:
173 css::uno::Reference< css::drawing::XShape > const & xShape );
174
176 const XclTokenArray* GetCellLinkTokArr() const { return mxCellLink.get(); }
178 const XclTokenArray* GetSourceRangeTokArr() const { return mxSrcRange.get(); }
180 sal_uInt16 GetSourceEntryCount() const { return mnEntryCount; }
181
183 static void WriteFormula( XclExpStream& rStrm, const XclTokenArray& rTokArr );
185 static void WriteFormulaSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId, const XclTokenArray& rTokArr );
186
187private:
190 sal_uInt16 mnEntryCount;
191protected:
193};
194
196{
198 OUString maMacroName;
199
200public:
201 explicit XclMacroHelper( const XclExpRoot& rRoot );
202 virtual ~XclMacroHelper() override;
204 void WriteMacroSubRec( XclExpStream& rStrm );
207 bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent, const XclTbxEventType& nEventType );
208
211 bool SetMacroLink( const OUString& rMacro );
212 const OUString& GetMacroName() const;
213};
214
216{
217public:
218 explicit XclExpShapeObj( XclExpObjectManager& rRoot, css::uno::Reference< css::drawing::XShape > const & xShape, ScDocument* pDoc );
219 virtual ~XclExpShapeObj() override;
220private:
221 virtual void WriteSubRecs( XclExpStream& rStrm ) override;
222};
223
224//delete for exporting OCX
225//#if EXC_EXP_OCX_CTRL
226
229{
230public:
231 explicit XclExpOcxControlObj(
232 XclExpObjectManager& rObjMgr,
233 css::uno::Reference< css::drawing::XShape > const & xShape,
234 const tools::Rectangle* pChildAnchor,
235 OUString aClassName,
236 sal_uInt32 nStrmStart, sal_uInt32 nStrmSize );
237
238private:
239 virtual void WriteSubRecs( XclExpStream& rStrm ) override;
240
241private:
242 OUString maClassName;
243 sal_uInt32 mnStrmStart;
244 sal_uInt32 mnStrmSize;
245};
246
247//#else
248
251{
252public:
253 explicit XclExpTbxControlObj(
254 XclExpObjectManager& rObjMgr,
255 css::uno::Reference< css::drawing::XShape > const & xShape,
256 const tools::Rectangle* pChildAnchor );
257
260 bool SetMacroLink( const css::script::ScriptEventDescriptor& rEvent );
261
262 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
263
265
267 void SaveSheetXml(XclExpXmlStream& rStrm, const OUString& aIdFormControlPr) const;
268
269 void setShapeId(sal_Int32 aShapeId);
270
271private:
272 virtual void WriteSubRecs( XclExpStream& rStrm ) override;
273
275 void WriteCellLinkSubRec( XclExpStream& rStrm, sal_uInt16 nSubRecId );
277 void WriteSbs( XclExpStream& rStrm );
278
279private:
280 const css::uno::Reference< css::drawing::XShape > mxShape;
283 sal_Int32 mnHeight;
284 sal_uInt16 mnState;
285 sal_Int16 mnLineCount;
286 sal_Int16 mnSelEntry;
287 sal_uInt16 mnScrollValue;
288 sal_uInt16 mnScrollMin;
289 sal_uInt16 mnScrollMax;
290 sal_uInt16 mnScrollStep;
291 sal_uInt16 mnScrollPage;
298 OUString msCtrlName;
299 OUString msLabel;
300 sal_Int32 mnShapeId;
304};
305
306//#endif
307
308class XclExpChart;
309
311class XclExpChartObj : public XclObj, protected XclExpRoot
312{
313public:
314 explicit XclExpChartObj(
315 XclExpObjectManager& rObjMgr,
316 css::uno::Reference< css::drawing::XShape > const & xShape,
317 const tools::Rectangle* pChildAnchor,
318 ScDocument* pDoc );
319 virtual ~XclExpChartObj() override;
320
322 virtual void Save( XclExpStream& rStrm ) override;
323 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
324
325 css::uno::Reference<css::chart::XChartDocument> GetChartDoc() const;
326
327private:
328 typedef std::shared_ptr< XclExpChart > XclExpChartRef;
330 css::uno::Reference< css::drawing::XShape > mxShape;
332};
333
344{
345public:
352 explicit XclExpNote(
353 const XclExpRoot& rRoot,
354 const ScAddress& rScPos,
355 const ScPostIt* pScNote,
356 std::u16string_view rAddText );
357
359 virtual void Save( XclExpStream& rStrm ) override;
360
361 void WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm );
362
363 const XclExpString& GetAuthor() const { return maAuthor; }
364private:
366 virtual void WriteBody( XclExpStream& rStrm ) override;
367
368private:
371 OString maNoteText;
374 sal_uInt16 mnObjId;
379 bool mbLocked;
385};
386
388{
389public:
391
392 virtual void SaveXml( XclExpXmlStream& rStrm ) override;
393
394private:
397};
398
399// object manager =============================================================
400
402{
403public:
404 explicit XclExpObjectManager( const XclExpRoot& rRoot );
405 virtual ~XclExpObjectManager() override;
406
409 virtual XclExpDffAnchorBase* CreateDffAnchor() const;
410
414
416 void StartSheet();
417
423 rtl::Reference< XclExpRecordBase > ProcessDrawing( const css::uno::Reference< css::drawing::XShapes >& rxShapes );
424
426 void EndDocument();
427
430 bool HasObj() const;
431 sal_uInt16 AddObj( std::unique_ptr<XclObj> pObjRec );
432 std::unique_ptr<XclObj> RemoveLastObj();
433
434protected:
435 explicit XclExpObjectManager( const XclExpObjectManager& rParent );
436
437private:
438 void InitStream( bool bTempFile );
439
440private:
441 std::optional< ::utl::TempFile > moTempFile;
442 SvStream* mpDffStrm = nullptr;
443 std::unique_ptr<SvMemoryStream> mpBackupStrm;
444 std::shared_ptr< XclEscherEx > mxEscherEx;
446};
447
449{
450public:
452 const XclExpObjectManager& rParent,
453 const Size& rPageSize,
454 sal_Int32 nScaleX, sal_Int32 nScaleY );
455
458 virtual XclExpDffAnchorBase* CreateDffAnchor() const override;
459
460private:
462 sal_Int32 mnScaleX;
463 sal_Int32 mnScaleY;
464};
465
466/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Additional class containing cell annotation data.
Definition: postit.hxx:58
A chart object.
Definition: xeescher.hxx:312
ScDocument * mpDoc
Definition: xeescher.hxx:331
css::uno::Reference< css::drawing::XShape > mxShape
The chart itself (BOF/EOF substream data).
Definition: xeescher.hxx:330
css::uno::Reference< css::chart::XChartDocument > GetChartDoc() const
Definition: xeescher.cxx:1597
virtual ~XclExpChartObj() override
Definition: xeescher.cxx:1557
std::shared_ptr< XclExpChart > XclExpChartRef
Definition: xeescher.hxx:328
virtual void Save(XclExpStream &rStrm) override
Writes the OBJ record and the entire chart substream.
Definition: xeescher.cxx:1561
XclExpChartObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor, ScDocument *pDoc)
Definition: xeescher.cxx:1516
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1569
XclExpChartRef mxChart
Definition: xeescher.hxx:329
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xechart.hxx:1184
XclExpComments(SCTAB nTab, XclExpRecordList< XclExpNote > &rNotes)
Definition: xeescher.cxx:1864
XclExpRecordList< XclExpNote > & mrNotes
Definition: xeescher.hxx:396
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1869
Helper class for form controls to manage spreadsheet links .
Definition: xeescher.hxx:165
sal_uInt16 mnEntryCount
Formula for source data range.
Definition: xeescher.hxx:190
static void WriteFormulaSubRec(XclExpStream &rStrm, sal_uInt16 nSubRecId, const XclTokenArray &rTokArr)
Writes a formula subrecord with special style only valid in OBJ records.
Definition: xeescher.cxx:518
XclExpControlHelper(const XclExpRoot &rRoot)
Definition: xeescher.cxx:446
sal_uInt16 GetSourceEntryCount() const
Returns the number of entries in the source range, or 0, if no source set.
Definition: xeescher.hxx:180
XclTokenArrayRef mxCellLink
Definition: xeescher.hxx:188
virtual ~XclExpControlHelper() override
Definition: xeescher.cxx:452
const XclTokenArray * GetCellLinkTokArr() const
Returns the Excel token array of the cell link, or 0, if no link present.
Definition: xeescher.hxx:176
XclTokenArrayRef mxSrcRange
Formula for linked cell.
Definition: xeescher.hxx:189
const XclTokenArray * GetSourceRangeTokArr() const
Returns the Excel token array of the source range, or 0, if no link present.
Definition: xeescher.hxx:178
ScAddress mxCellLinkAddress
Number of entries in source range.
Definition: xeescher.hxx:192
static void WriteFormula(XclExpStream &rStrm, const XclTokenArray &rTokArr)
Writes a formula with special style only valid in OBJ records.
Definition: xeescher.cxx:509
void ConvertSheetLinks(css::uno::Reference< css::drawing::XShape > const &xShape)
Tries to get spreadsheet cell link and source range link from the passed shape.
Definition: xeescher.cxx:456
Base class for DFF client anchor atoms used in spreadsheets.
Definition: xeescher.hxx:43
virtual void WriteData(EscherEx &rEscherEx, const tools::Rectangle &rRect) override
Called from SVX DFF converter.
Definition: xeescher.cxx:266
XclExpDffAnchorBase(const XclExpRoot &rRoot, sal_uInt16 nFlags=0)
Constructs a dummy client anchor.
Definition: xeescher.cxx:242
void SetFlags(const SdrObject &rSdrObj)
Sets the flags according to the passed SdrObject.
Definition: xeescher.cxx:248
void SetSdrObject(const SdrObject &rSdrObj)
Sets the anchor position and flags according to the passed SdrObject.
Definition: xeescher.cxx:253
virtual void ImplSetFlags(const SdrObject &rSdrObj)
Definition: xeescher.cxx:273
void WriteDffData(EscherEx &rEscherEx) const
Writes the DFF client anchor structure with the current anchor position.
Definition: xeescher.cxx:259
XclObjAnchor maAnchor
Definition: xeescher.hxx:65
sal_uInt16 mnFlags
The client anchor data.
Definition: xeescher.hxx:66
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit)
Definition: xeescher.cxx:278
Represents the position (anchor) of a cell dropdown object.
Definition: xeescher.hxx:109
XclExpDffDropDownAnchor(const XclExpRoot &rRoot, const ScAddress &rScPos)
Definition: xeescher.cxx:328
Represents the position (anchor) of a shape in an embedded draw page.
Definition: xeescher.hxx:85
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:317
XclExpDffEmbeddedAnchor(const XclExpRoot &rRoot, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:303
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:312
Represents the position (anchor) of a note object.
Definition: xeescher.hxx:102
XclExpDffNoteAnchor(const XclExpRoot &rRoot, const tools::Rectangle &rRect)
Definition: xeescher.cxx:322
Represents the position (anchor) of an object in a Calc sheet.
Definition: xeescher.hxx:71
virtual void ImplSetFlags(const SdrObject &rSdrObj) override
Definition: xeescher.cxx:289
virtual void ImplCalcAnchorRect(const tools::Rectangle &rRect, MapUnit eMapUnit) override
Definition: xeescher.cxx:298
XclExpDffSheetAnchor(const XclExpRoot &rRoot)
Definition: xeescher.cxx:283
virtual XclExpDffAnchorBase * CreateDffAnchor() const override
Creates a new DFF client anchor object for embedded objects according to the scaling data passed to t...
Definition: xeescher.cxx:2042
XclExpEmbeddedObjectManager(const XclExpObjectManager &rParent, const Size &rPageSize, sal_Int32 nScaleX, sal_Int32 nScaleY)
Definition: xeescher.cxx:2033
Provides export of bitmap data to an IMGDATA record.
Definition: xeescher.hxx:150
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:437
XclExpImgData(Graphic aGraphic, sal_uInt16 nRecId)
Definition: xeescher.cxx:388
virtual void Save(XclExpStream &rStrm) override
Writes the BITMAP record.
Definition: xeescher.cxx:394
sal_uInt16 mnRecId
The VCL graphic.
Definition: xeescher.hxx:160
Graphic maGraphic
Definition: xeescher.hxx:159
Base class for records holding DFF stream fragments.
Definition: xeescher.hxx:118
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xeescher.cxx:346
XclEscherEx & mrEscherEx
Definition: xeescher.hxx:126
sal_uInt32 mnFragmentKey
Reference to the DFF converter containing the DFF stream.
Definition: xeescher.hxx:127
XclExpMsoDrawingBase(XclEscherEx &rEscherEx, sal_uInt16 nRecId)
Definition: xeescher.cxx:339
The MSODRAWINGGROUP record contains the DGGCONTAINER with global DFF data such as the picture contain...
Definition: xeescher.hxx:134
XclExpMsoDrawingGroup(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:353
One or more MSODRAWING records contain the DFF stream data for a drawing shape.
Definition: xeescher.hxx:143
XclExpMsoDrawing(XclEscherEx &rEscherEx)
Definition: xeescher.cxx:383
Represents a NOTE record containing the relevant data of a cell note.
Definition: xeescher.hxx:344
bool mbLocked
Auto scale text.
Definition: xeescher.hxx:379
SdrTextHorzAdjust meTHA
true = permanently visible.
Definition: xeescher.hxx:376
bool mbColHidden
Auto Fill Style.
Definition: xeescher.hxx:381
tools::Rectangle maCommentTo
From and From Offset.
Definition: xeescher.hxx:384
ScAddress maScPos
Text and formatting data (OOXML)
Definition: xeescher.hxx:373
XclExpString maAuthor
Definition: xeescher.hxx:370
XclExpStringRef mpNoteContents
Main text of the note (<=BIFF7).
Definition: xeescher.hxx:372
void WriteXml(sal_Int32 nAuthorId, XclExpXmlStream &rStrm)
Definition: xeescher.cxx:1744
const XclExpRoot & mrRoot
Definition: xeescher.hxx:369
bool mbAutoScale
text vertical adjust
Definition: xeescher.hxx:378
bool mbAutoFill
Position & Size locked.
Definition: xeescher.hxx:380
const XclExpString & GetAuthor() const
Definition: xeescher.hxx:363
OString maNoteText
Name of the author.
Definition: xeescher.hxx:371
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the NOTE record.
Definition: xeescher.cxx:1728
sal_uInt16 mnObjId
Calc cell address of the note.
Definition: xeescher.hxx:374
SdrTextVertAdjust meTVA
text horizontal adjust
Definition: xeescher.hxx:377
XclExpNote(const XclExpRoot &rRoot, const ScAddress &rScPos, const ScPostIt *pScNote, std::u16string_view rAddText)
Constructs a NOTE record from the passed note object and/or the text.
Definition: xeescher.cxx:1607
bool mbVisible
Escher object ID (BIFF8).
Definition: xeescher.hxx:375
bool mbRowHidden
Column containing the comment is hidden.
Definition: xeescher.hxx:382
tools::Rectangle maCommentFrom
Row containing the comment is hidden.
Definition: xeescher.hxx:383
virtual void Save(XclExpStream &rStrm) override
Writes the NOTE record, if the respective Escher object is present.
Definition: xeescher.cxx:1681
rtl::Reference< XclExpRecordBase > ProcessDrawing(const css::uno::Reference< css::drawing::XShapes > &rxShapes)
Processes a collection of UNO shapes and returns the record block containing all related records (MSO...
std::unique_ptr< SvMemoryStream > mpBackupStrm
Definition: xeescher.hxx:443
XclExpObjectManager(const XclExpRoot &rRoot)
Definition: xeescher.cxx:1933
rtl::Reference< XclExpRecordBase > CreateDrawingGroup()
Creates and returns the MSODRAWINGGROUP record containing global DFF data in the DGGCONTAINER.
Definition: xeescher.cxx:1956
bool HasObj() const
Definition: xeescher.cxx:2000
virtual XclExpDffAnchorBase * CreateDffAnchor() const
Creates a new DFF client anchor object.
Definition: xeescher.cxx:1951
std::optional< ::utl::TempFile > moTempFile
Definition: xeescher.hxx:441
void StartSheet()
Initializes the object manager for a new sheet.
Definition: xeescher.cxx:1961
rtl::Reference< XclExpRecordBase > ProcessDrawing(const SdrPage *pSdrPage)
Processes a drawing page and returns the record block containing all related records (MSODRAWING,...
Definition: xeescher.cxx:1966
void EndDocument()
Finalizes the object manager after conversion of all sheets.
Definition: xeescher.cxx:1990
XclExpMsoDrawing * GetMsodrawingPerSheet()
Definition: xeescher.cxx:1995
XclEscherEx & GetEscherEx()
Definition: xeescher.hxx:428
sal_uInt16 AddObj(std::unique_ptr< XclObj > pObjRec)
Definition: xeescher.cxx:2005
virtual ~XclExpObjectManager() override
Definition: xeescher.cxx:1947
void InitStream(bool bTempFile)
Definition: xeescher.cxx:2015
SvStream * mpDffStrm
Definition: xeescher.hxx:442
rtl::Reference< XclExpObjList > mxObjList
Definition: xeescher.hxx:445
std::unique_ptr< XclObj > RemoveLastObj()
Definition: xeescher.cxx:2010
std::shared_ptr< XclEscherEx > mxEscherEx
Definition: xeescher.hxx:444
Represents an OBJ record for an OCX form control.
Definition: xeescher.hxx:229
XclExpOcxControlObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor, OUString aClassName, sal_uInt32 nStrmStart, sal_uInt32 nStrmSize)
Definition: xeescher.cxx:528
OUString maClassName
Definition: xeescher.hxx:242
sal_uInt32 mnStrmStart
Class name of the control.
Definition: xeescher.hxx:243
sal_uInt32 mnStrmSize
Start position in 'Ctls' stream.
Definition: xeescher.hxx:244
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:583
Base class for all Excel records.
Definition: xerecord.hxx:39
Base class for single records with any content.
Definition: xerecord.hxx:143
Access to global data from other classes.
Definition: xeroot.hxx:113
virtual ~XclExpShapeObj() override
Definition: xeescher.cxx:1854
XclExpShapeObj(XclExpObjectManager &rRoot, css::uno::Reference< css::drawing::XShape > const &xShape, ScDocument *pDoc)
Definition: xeescher.cxx:1840
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:1858
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
Represents an OBJ record for a TBX form control.
Definition: xeescher.hxx:251
const css::uno::Reference< css::drawing::XShape > mxShape
Definition: xeescher.hxx:280
sal_Int16 mnSelEntry
Combobox dropdown line count.
Definition: xeescher.hxx:286
XclExpTbxControlObj(XclExpObjectManager &rObjMgr, css::uno::Reference< css::drawing::XShape > const &xShape, const tools::Rectangle *pChildAnchor)
Definition: xeescher.cxx:634
sal_Int32 mnShapeId
Definition: xeescher.hxx:300
tools::Rectangle maAreaTo
Definition: xeescher.hxx:302
bool mbFlatButton
Scrollbar: Page step.
Definition: xeescher.hxx:292
sal_uInt16 mnScrollStep
Scrollbar: Maximum value.
Definition: xeescher.hxx:290
sal_uInt16 mnScrollValue
Selected entry in combobox (1-based).
Definition: xeescher.hxx:287
void SaveVml(XclExpXmlStream &rStrm)
Save into xl/drawings/vmlDrawing1.vml.
Definition: xeescher.cxx:1179
bool mbScrollHor
true = Multi selection in listbox.
Definition: xeescher.hxx:295
OUString SaveControlPropertiesXml(XclExpXmlStream &rStrm) const
Definition: xeescher.cxx:1341
void setShapeId(sal_Int32 aShapeId)
Definition: xeescher.cxx:1083
bool mbPrint
Scrollbar: true = horizontal.
Definition: xeescher.hxx:296
bool mbMultiSel
False = 3D border style; True = Flat border style.
Definition: xeescher.hxx:294
sal_uInt16 mnScrollMax
Scrollbar: Minimum value.
Definition: xeescher.hxx:289
XclTbxEventType meEventType
Indexes of all selected entries in a multi selection.
Definition: xeescher.hxx:282
void WriteSbs(XclExpStream &rStrm)
Writes the ftSbs sub structure containing scrollbar data.
Definition: xeescher.cxx:1063
sal_uInt16 mnState
Height of the control.
Definition: xeescher.hxx:284
virtual void SaveXml(XclExpXmlStream &rStrm) override
Definition: xeescher.cxx:1194
sal_Int16 mnLineCount
Checked/unchecked state.
Definition: xeescher.hxx:285
sal_Int32 mnHeight
Type of supported macro event.
Definition: xeescher.hxx:283
sal_uInt16 mnScrollPage
Scrollbar: Single step.
Definition: xeescher.hxx:291
tools::Rectangle maAreaFrom
Definition: xeescher.hxx:301
bool SetMacroLink(const css::script::ScriptEventDescriptor &rEvent)
Sets the name of a macro attached to this control.
Definition: xeescher.cxx:916
sal_uInt16 mnScrollMin
Scrollbar: Current value.
Definition: xeescher.hxx:288
XclExpObjectManager & mrRoot
Definition: xeescher.hxx:303
virtual void WriteSubRecs(XclExpStream &rStrm) override
Definition: xeescher.cxx:921
void SaveSheetXml(XclExpXmlStream &rStrm, const OUString &aIdFormControlPr) const
Definition: xeescher.cxx:1418
void WriteCellLinkSubRec(XclExpStream &rStrm, sal_uInt16 nSubRecId)
Writes a subrecord containing a cell link, or nothing, if no link present.
Definition: xeescher.cxx:1057
ScfInt16Vec maMultiSel
Definition: xeescher.hxx:281
bool mbFlatBorder
False = 3D button style; True = Flat button style.
Definition: xeescher.hxx:293
XclMacroHelper(const XclExpRoot &rRoot)
Definition: xeescher.cxx:1796
virtual ~XclMacroHelper() override
Definition: xeescher.cxx:1801
const OUString & GetMacroName() const
Definition: xeescher.cxx:1811
bool SetMacroLink(const css::script::ScriptEventDescriptor &rEvent, const XclTbxEventType &nEventType)
Sets the name of a macro for object of passed type.
void WriteMacroSubRec(XclExpStream &rStrm)
Writes an ftMacro subrecord containing a macro link, or nothing, if no macro present.
Definition: xeescher.cxx:1805
XclTokenArrayRef mxMacroLink
Definition: xeescher.hxx:197
OUString maMacroName
Token array containing a link to an attached macro.
Definition: xeescher.hxx:198
Binary representation of an Excel token array.
Definition: xlformula.hxx:377
::std::vector< sal_Int16 > ScfInt16Vec
Definition: ftools.hxx:254
MapUnit
void SvStream & rStrm
SdrTextVertAdjust
SdrTextHorzAdjust
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:284
sal_Int16 SCTAB
Definition: types.hxx:22
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:35
XclTbxEventType
Definition: xlescher.hxx:406
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:416