LibreOffice Module sc (master)  1
xiescher.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 
23 #include <vcl/graph.hxx>
24 #include "xlescher.hxx"
25 #include "xiroot.hxx"
26 #include <oox/ole/olehelper.hxx>
27 #include <rtl/ustring.hxx>
28 #include <svx/svdobj.hxx>
29 #include <map>
30 #include <memory>
31 #include <vector>
32 
33 namespace com::sun::star {
34  namespace drawing { class XShape; }
35  namespace form { class XForm; }
36 }
37 
38 namespace com::sun::star::container { class XNameContainer; }
39 
40 class SdrObjList;
41 class ScfProgressBar;
42 class ScfPropertySet;
43 class ScRangeList;
44 class XclImpChart;
45 class XclImpDffConverter;
46 class XclImpDrawing;
47 
48 // Drawing objects ============================================================
49 
51 typedef std::shared_ptr< XclImpDrawObjBase > XclImpDrawObjRef;
52 
54 class XclImpDrawObjBase : protected XclImpRoot
55 {
56 public:
57  explicit XclImpDrawObjBase( const XclImpRoot& rRoot );
58  virtual ~XclImpDrawObjBase() override;
59 
61  static XclImpDrawObjRef ReadObj3( const XclImpRoot& rRoot, XclImpStream& rStrm );
63  static XclImpDrawObjRef ReadObj4( const XclImpRoot& rRoot, XclImpStream& rStrm );
65  static XclImpDrawObjRef ReadObj5( const XclImpRoot& rRoot, XclImpStream& rStrm );
67  static XclImpDrawObjRef ReadObj8( const XclImpRoot& rRoot, XclImpStream& rStrm );
68 
70  void SetAreaObj( bool bAreaObj ) { mbAreaObj = bAreaObj; }
72  void SetSimpleMacro( bool bMacro ) { mbSimpleMacro = bMacro; }
73 
75  void SetAnchor( const XclObjAnchor& rAnchor );
77  void SetDffData(
78  const DffObjData& rDffObjData, const OUString& rObjName, const OUString& rHyperlink,
79  bool bVisible, bool bAutoMargin );
80 
82  void SetProcessSdrObj( bool bProcess ) { mbProcessSdr = bProcess; }
84  void SetInsertSdrObj( bool bInsert ) { mbInsertSdr = bInsert; }
86  void SetCustomDffObj( bool bCustom ) { mbCustomDff = bCustom; }
87 
89  sal_uInt16 GetObjId() const { return mnObjId; }
91  sal_uInt16 GetObjType() const { return mnObjType; }
93  virtual OUString GetObjName() const;
95  const OUString& GetMacroName() const { return maMacroName; }
96 
98  sal_uInt32 GetDffShapeId() const { return mnDffShapeId; }
100  ShapeFlag GetDffFlags() const { return mnDffFlags; }
101 
103  bool IsHidden() const { return mbHidden; }
105  bool IsVisible() const { return mbVisible; }
107  bool IsPrintable() const { return mbPrintable; }
108 
110  const XclObjAnchor* GetAnchor() const;
112  bool IsValidSize( const tools::Rectangle& rAnchorRect ) const;
114  ScRange GetUsedArea( SCTAB nScTab ) const;
115 
117  bool IsProcessSdrObj() const { return mbProcessSdr && !mbHidden; }
119  bool IsInsertSdrObj() const { return mbInsertSdr; }
120 
122  std::size_t GetProgressSize() const;
124  SdrObjectUniquePtr CreateSdrObject( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect, bool bIsDff ) const;
127  void PreProcessSdrObject( XclImpDffConverter& rDffConv, SdrObject& rSdrObj );
130  void PostProcessSdrObject( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const;
131  SCTAB GetTab() const { return mnTab; }
132 
133 protected:
135  void ReadName5( XclImpStream& rStrm, sal_uInt16 nNameLen );
137  void ReadMacro3( XclImpStream& rStrm, sal_uInt16 nMacroSize );
139  void ReadMacro4( XclImpStream& rStrm, sal_uInt16 nMacroSize );
141  void ReadMacro5( XclImpStream& rStrm, sal_uInt16 nMacroSize );
143  void ReadMacro8( XclImpStream& rStrm );
144 
146  void ConvertLineStyle( SdrObject& rSdrObj, const XclObjLineData& rLineData ) const;
148  void ConvertFillStyle( SdrObject& rSdrObj, const XclObjFillData& rFillData ) const;
150  void ConvertFrameStyle( SdrObject& rSdrObj, sal_uInt16 nFrameFlags ) const;
151 
153  Color GetSolidLineColor( const XclObjLineData& rLineData ) const;
155  Color GetSolidFillColor( const XclObjFillData& rFillData ) const;
156 
158  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize );
160  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize );
162  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize );
164  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize );
165 
167  virtual std::size_t DoGetProgressSize() const;
169  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const;
171  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const;
173  virtual void DoPostProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const;
174 
176  void NotifyMacroEventRead();
177 private:
179  void ImplReadObj3( XclImpStream& rStrm );
181  void ImplReadObj4( XclImpStream& rStrm );
183  void ImplReadObj5( XclImpStream& rStrm );
185  void ImplReadObj8( XclImpStream& rStrm );
186 
187 private:
189  sal_uInt16 mnObjId;
191  sal_uInt16 mnObjType;
192  sal_uInt32 mnDffShapeId;
194  OUString maObjName;
195  OUString maMacroName;
196  OUString maHyperlink;
197  bool mbHasAnchor;
198  bool mbHidden;
199  bool mbVisible;
200  bool mbPrintable;
201  bool mbAreaObj;
205  bool mbInsertSdr;
206  bool mbCustomDff;
208 };
209 
211 {
212 private:
213  std::vector< XclImpDrawObjRef > mObjs;
214 
215 public:
216  explicit XclImpDrawObjVector() : mObjs() {}
217 
218  std::vector< XclImpDrawObjRef >::const_iterator begin() const { return mObjs.begin(); }
219  std::vector< XclImpDrawObjRef >::const_iterator end() const { return mObjs.end(); }
220  void push_back(const XclImpDrawObjRef& rObj) { mObjs.push_back(rObj); }
221 
223  void InsertGrouped( XclImpDrawObjRef const & xDrawObj );
224 
226  std::size_t GetProgressSize() const;
227 };
228 
231 {
232 public:
233  explicit XclImpPhObj( const XclImpRoot& rRoot );
234 };
235 
237 class XclImpGroupObj final : public XclImpDrawObjBase
238 {
239 public:
240  explicit XclImpGroupObj( const XclImpRoot& rRoot );
241 
243  bool TryInsert( XclImpDrawObjRef const & xDrawObj );
244 
245 private:
247  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
249  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
251  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
253  virtual std::size_t DoGetProgressSize() const override;
255  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
256 
258  sal_uInt16 mnFirstUngrouped;
259 };
260 
262 class XclImpLineObj final : public XclImpDrawObjBase
263 {
264 public:
265  explicit XclImpLineObj( const XclImpRoot& rRoot );
266 
267 private:
269  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
271  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
273  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
275  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
276 
278  sal_uInt16 mnArrows;
280 };
281 
284 {
285 public:
286  explicit XclImpRectObj( const XclImpRoot& rRoot );
287 
288 protected:
291 
293  void ConvertRectStyle( SdrObject& rSdrObj ) const;
294 
296  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
298  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
300  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
302  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
303 
304 protected:
307  sal_uInt16 mnFrameFlags;
308 };
309 
312 {
313 public:
314  explicit XclImpOvalObj( const XclImpRoot& rRoot );
315 
316 protected:
318  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
319 };
320 
322 class XclImpArcObj final : public XclImpDrawObjBase
323 {
324 public:
325  explicit XclImpArcObj( const XclImpRoot& rRoot );
326 
327 private:
329  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
331  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
333  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
335  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
336 
340 };
341 
343 class XclImpPolygonObj final : public XclImpRectObj
344 {
345 public:
346  explicit XclImpPolygonObj( const XclImpRoot& rRoot );
347 
348 private:
351 
353  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
355  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
357  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
358 
359  typedef std::vector< Point > PointVector;
360  PointVector maCoords;
361  sal_uInt16 mnPolyFlags;
362  sal_uInt16 mnPointCount;
363 };
364 
366 {
369 
371  void ReadByteString( XclImpStream& rStrm );
373  void ReadFormats( XclImpStream& rStrm );
374 };
375 
378 {
379 public:
380  explicit XclImpTextObj( const XclImpRoot& rRoot );
381 
383  void SetTextData( const XclImpObjTextData& rTextData ) { maTextData = rTextData; }
384 
385 protected:
387  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
389  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
391  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
393  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
395  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
396 
397 protected:
399 };
400 
403 {
404 public:
406  explicit XclImpChartObj( const XclImpRoot& rRoot, bool bOwnTab = false );
407 
410 
411 protected:
413  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
415  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
417  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
419  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
421  virtual std::size_t DoGetProgressSize() const override;
423  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
425  virtual void DoPostProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
426 
427 private:
429  void FinalizeTabChart();
430 
431 private:
432  typedef std::shared_ptr< XclImpChart > XclImpChartRef;
433 
434  XclImpChartRef mxChart;
435  bool mbOwnTab;
436 };
437 
440 {
441 public:
442  explicit XclImpNoteObj( const XclImpRoot& rRoot );
443 
445  void SetNoteData( const ScAddress& rScPos, sal_uInt16 nNoteFlags );
446 
447 protected:
449  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
450 
451 private:
453  sal_uInt16 mnNoteFlags;
454 };
455 
458 {
459 public:
460  explicit XclImpControlHelper( const XclImpRoot& rRoot, XclCtrlBindMode eBindMode );
461  virtual ~XclImpControlHelper();
462 
464  bool HasCellLink() const { return mxCellLink != nullptr; }
465 
468  const css::uno::Reference< css::drawing::XShape >& rxShape,
469  const tools::Rectangle& rAnchorRect ) const;
470 
472  void ProcessControl( const XclImpDrawObjBase& rDrawObj ) const;
473 
474 protected:
476  void ReadCellLinkFormula( XclImpStream& rStrm, bool bWithBoundSize );
478  void ReadSourceRangeFormula( XclImpStream& rStrm, bool bWithBoundSize );
479 
481  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const;
482 
483  void ApplySheetLinkProps() const;
484  mutable css::uno::Reference< css::drawing::XShape >
486  std::shared_ptr< ScAddress > mxCellLink;
487 private:
489  void ReadRangeList( ScRangeList& rScRanges, XclImpStream& rStrm );
491  void ReadRangeList( ScRangeList& rScRanges, XclImpStream& rStrm, bool bWithBoundSize );
492 
493 private:
495  std::shared_ptr< ScRange > mxSrcRange;
497 };
498 
501 {
502 public:
503  explicit XclImpTbxObjBase( const XclImpRoot& rRoot );
504 
506  void SetDffProperties( const DffPropSet& rDffPropSet );
507 
509  OUString GetServiceName() const { return DoGetServiceName(); }
511  bool FillMacroDescriptor(
512  css::script::ScriptEventDescriptor& rDescriptor ) const;
513 
514 protected:
516  void ConvertFont( ScfPropertySet& rPropSet ) const;
518  void ConvertLabel( ScfPropertySet& rPropSet ) const;
519 
521  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
523  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
524 
526  virtual OUString DoGetServiceName() const = 0;
528  virtual XclTbxEventType DoGetEventType() const = 0;
529 };
530 
533 {
534 public:
535  explicit XclImpButtonObj( const XclImpRoot& rRoot );
536 
537 protected:
539  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
541  virtual OUString DoGetServiceName() const override;
543  virtual XclTbxEventType DoGetEventType() const override;
544 };
545 
548 {
549 public:
550  explicit XclImpCheckBoxObj( const XclImpRoot& rRoot );
551 
552 protected:
554  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
556  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
558  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
560  virtual OUString DoGetServiceName() const override;
562  virtual XclTbxEventType DoGetEventType() const override;
563 
564 protected:
565  sal_uInt16 mnState;
566  sal_uInt16 mnCheckBoxFlags;
567 };
568 
571 {
572 public:
573  explicit XclImpOptionButtonObj( const XclImpRoot& rRoot );
574 
575 private:
577  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
579  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
581  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
583  virtual OUString DoGetServiceName() const override;
585  virtual XclTbxEventType DoGetEventType() const override;
586 
587  sal_uInt16 mnNextInGroup;
588  sal_uInt16 mnFirstInGroup;
589 };
590 
593 {
594 public:
595  explicit XclImpLabelObj( const XclImpRoot& rRoot );
596 
597 protected:
599  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
601  virtual OUString DoGetServiceName() const override;
603  virtual XclTbxEventType DoGetEventType() const override;
604 };
605 
608 {
609 public:
610  explicit XclImpGroupBoxObj( const XclImpRoot& rRoot );
611 
612 private:
614  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
616  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
618  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
620  virtual OUString DoGetServiceName() const override;
622  virtual XclTbxEventType DoGetEventType() const override;
623 
624  sal_uInt16 mnGroupBoxFlags;
625 };
626 
629 {
630 public:
631  explicit XclImpDialogObj( const XclImpRoot& rRoot );
632 
633 protected:
635  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
637  virtual OUString DoGetServiceName() const override;
639  virtual XclTbxEventType DoGetEventType() const override;
640 };
641 
643 class XclImpEditObj final : public XclImpTbxObjBase
644 {
645 public:
646  explicit XclImpEditObj( const XclImpRoot& rRoot );
647 
648 private:
650  bool IsNumeric() const;
651 
653  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
655  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
657  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
659  virtual OUString DoGetServiceName() const override;
661  virtual XclTbxEventType DoGetEventType() const override;
662 
663  sal_uInt16 mnContentType;
664  sal_uInt16 mnMultiLine;
665  sal_uInt16 mnScrollBar;
666  sal_uInt16 mnListBoxObjId;
667 };
668 
671 {
672 public:
673  explicit XclImpTbxObjScrollableBase( const XclImpRoot& rRoot );
674 
675 protected:
677  void ReadSbs( XclImpStream& rStrm );
678 
680  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
681 
682 protected:
683  sal_uInt16 mnValue;
684  sal_uInt16 mnMin;
685  sal_uInt16 mnMax;
686  sal_uInt16 mnStep;
687  sal_uInt16 mnPageStep;
688  sal_uInt16 mnOrient;
689  sal_uInt16 mnThumbWidth;
690  sal_uInt16 mnScrollFlags;
691 };
692 
695 {
696 public:
697  explicit XclImpSpinButtonObj( const XclImpRoot& rRoot );
698 
699 protected:
701  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
703  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
705  virtual OUString DoGetServiceName() const override;
707  virtual XclTbxEventType DoGetEventType() const override;
708 };
709 
712 {
713 public:
714  explicit XclImpScrollBarObj( const XclImpRoot& rRoot );
715 
716 protected:
718  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
720  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
722  virtual OUString DoGetServiceName() const override;
724  virtual XclTbxEventType DoGetEventType() const override;
725 };
726 
729 {
730 public:
731  explicit XclImpTbxObjListBase( const XclImpRoot& rRoot );
732 
733 protected:
735  void ReadLbsData( XclImpStream& rStrm );
737  void SetBoxFormatting( ScfPropertySet& rPropSet ) const;
738 
739 protected:
740  sal_uInt16 mnEntryCount;
741  sal_uInt16 mnSelEntry;
742  sal_uInt16 mnListFlags;
743  sal_uInt16 mnEditObjId;
745 };
746 
749 {
750 public:
751  explicit XclImpListBoxObj( const XclImpRoot& rRoot );
752 
753 private:
755  void ReadFullLbsData( XclImpStream& rStrm, std::size_t nRecLeft );
756 
758  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
760  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
762  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
764  virtual OUString DoGetServiceName() const override;
766  virtual XclTbxEventType DoGetEventType() const override;
767 
769 };
770 
773 {
774 public:
775  explicit XclImpDropDownObj( const XclImpRoot& rRoot );
776 
777 private:
779  sal_uInt16 GetDropDownType() const;
780 
783 
785  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
787  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
789  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
791  virtual OUString DoGetServiceName() const override;
793  virtual XclTbxEventType DoGetEventType() const override;
794 
795  sal_uInt16 mnLeft;
796  sal_uInt16 mnTop;
797  sal_uInt16 mnRight;
798  sal_uInt16 mnBottom;
799  sal_uInt16 mnDropDownFlags;
800  sal_uInt16 mnLineCount;
801  sal_uInt16 mnMinWidth;
802 };
803 
806 {
807 public:
808  explicit XclImpPictureObj( const XclImpRoot& rRoot );
810  virtual OUString GetObjName() const override;
812  const Graphic& GetGraphic() const { return maGraphic; }
813 
815  bool IsSymbol() const { return mbSymbol; }
817  OUString GetOleStorageName() const;
818 
820  bool IsOcxControl() const { return mbEmbedded && mbControl && mbUseCtlsStrm; }
822  std::size_t GetCtlsStreamPos() const { return mnCtlsStrmPos; }
824  std::size_t GetCtlsStreamSize() const { return mnCtlsStrmSize; }
825 
826 protected:
828  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
830  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
832  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
834  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
836  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
838  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
839 
840 private:
842  void ReadFlags3( XclImpStream& rStrm );
844  void ReadFlags8( XclImpStream& rStrm );
846  void ReadPictFmla( XclImpStream& rStrm, sal_uInt16 nLinkSize );
847 
848 private:
850  OUString maClassName;
851  sal_uInt32 mnStorageId;
852  std::size_t mnCtlsStrmPos;
853  std::size_t mnCtlsStrmSize;
854  bool mbEmbedded;
855  bool mbLinked;
856  bool mbSymbol;
857  bool mbControl;
859 };
860 
861 // DFF stream conversion ======================================================
862 
865 {
866 public:
867 
869  void InsertSdrObjectInfo( SdrObject& rSdrObj, sal_uInt32 nDffShapeId, ShapeFlag nDffFlags );
871  void RemoveSdrObjectInfo( SdrObject& rSdrObj );
872 
874  void UpdateConnectorRules();
876  void RemoveConnectorRules();
877 
878 private:
880  void UpdateConnection( sal_uInt32 nDffShapeId, SdrObject*& rpSdrObj, ShapeFlag* pnDffFlags = nullptr );
881 
882 private:
885  {
888  explicit XclImpSdrInfo() : mpSdrObj( nullptr ), mnDffFlags( ShapeFlag::NONE ) {}
889  void Set( SdrObject* pSdrObj, ShapeFlag nDffFlags )
890  { mpSdrObj = pSdrObj; mnDffFlags = nDffFlags; }
891  };
892  typedef std::map< sal_uInt32, XclImpSdrInfo > XclImpSdrInfoMap;
893  typedef std::map< SdrObject*, sal_uInt32 > XclImpSdrObjMap;
894 
895  XclImpSdrInfoMap maSdrInfoMap;
896  XclImpSdrObjMap maSdrObjMap;
897 };
898 
903 {
904 public:
905  explicit XclImpSimpleDffConverter( const XclImpRoot& rRoot, SvStream& rDffStrm );
906  virtual ~XclImpSimpleDffConverter() override;
907 
908 protected:
910  virtual bool GetColorFromPalette( sal_uInt16 nIndex, Color& rColor ) const override;
911 };
912 
921 {
922 public:
923  explicit XclImpDffConverter( const XclImpRoot& rRoot, SvStream& rDffStrm );
924  virtual ~XclImpDffConverter() override;
925 
927  void StartProgressBar( std::size_t nProgressSize );
929  void Progress( std::size_t nDelta = 1 );
930 
932  void InitializeDrawing( XclImpDrawing& rDrawing, SdrModel& rSdrModel, SdrPage& rSdrPage );
934  void ProcessObject( SdrObjList& rObjList, XclImpDrawObjBase& rDrawObj );
936  void ProcessDrawing( const XclImpDrawObjVector& rDrawObjs );
938  void ProcessDrawing( SvStream& rDffStrm );
940  void FinalizeDrawing();
941 
943  SdrObjectUniquePtr CreateSdrObject( const XclImpTbxObjBase& rTbxObj, const tools::Rectangle& rAnchorRect );
945  SdrObjectUniquePtr CreateSdrObject( const XclImpPictureObj& rPicObj, const tools::Rectangle& rAnchorRect );
946 
948  bool SupportsOleObjects() const;
950  sal_Int32 GetDefaultTextMargin() const { return mnDefTextMargin; }
951 
952 private:
953  // virtual functions of SvxMSDffManager
954 
956  virtual void ProcessClientAnchor2(
957  SvStream& rDffStrm,
958  DffRecordHeader& rHeader,
959  DffObjData& rObjData ) override;
961  virtual SdrObject* ProcessObj(
962  SvStream& rDffStrm,
963  DffObjData& rDffObjData,
964  SvxMSDffClientData& rClientData,
965  tools::Rectangle& rTextRect,
966  SdrObject* pOldSdrObj ) override;
967 
969  virtual SdrObject* FinalizeObj(
970  DffObjData& rDffObjData,
971  SdrObject* pOldSdrObj ) override;
972 
973  // virtual functions of SvxMSConvertOCXControls
974 
976  virtual bool InsertControl(
977  const css::uno::Reference<
978  css::form::XFormComponent >& rxFormComp,
979  const css::awt::Size& rSize,
980  css::uno::Reference<
981  css::drawing::XShape >* pxShape,
982  bool bFloatingCtrl ) override;
983 
984 private:
987  {
992  css::uno::Reference< css::form::XForm >
994  sal_Int32 mnLastCtrlIndex;
996 
997  explicit XclImpDffConvData( XclImpDrawing& rDrawing,
998  SdrModel& rSdrModel, SdrPage& rSdrPage );
999  };
1000 
1004  const XclImpDffConvData& GetConvData() const;
1005 
1007  OUString ReadHlinkProperty( SvStream& rDffStrm ) const;
1008 
1010  bool ProcessDgContainer( SvStream& rDffStrm, const DffRecordHeader& rDgHeader );
1012  bool ProcessShGrContainer( SvStream& rDffStrm, const DffRecordHeader& rShGrHeader );
1014  bool ProcessSolverContainer( SvStream& rDffStrm, const DffRecordHeader& rSolverHeader );
1016  bool ProcessShContainer( SvStream& rDffStrm, const DffRecordHeader& rShHeader );
1017 
1019  void InsertSdrObject( SdrObjList& rObjList, const XclImpDrawObjBase& rDrawObj, SdrObject* pSdrObj );
1021  void InitControlForm();
1023  void NotifyMacroEventRead();
1024 
1025 private:
1026  typedef std::shared_ptr< ScfProgressBar > ScfProgressBarRef;
1027  typedef std::shared_ptr< XclImpDffConvData > XclImpDffConvDataRef;
1028 
1030  ScfProgressBarRef mxProgress;
1031  std::vector< XclImpDffConvDataRef >
1033  sal_uInt32 mnOleImpFlags;
1034  sal_Int32 mnDefTextMargin;
1036 };
1037 
1038 // Drawing manager ============================================================
1039 
1042 class XclImpDrawing : protected XclImpRoot
1043 {
1044 public:
1045  explicit XclImpDrawing( const XclImpRoot& rRoot, bool bOleObjects );
1046  virtual ~XclImpDrawing() override;
1047 
1049  static Graphic ReadImgData( const XclImpRoot& rRoot, XclImpStream& rStrm );
1050 
1052  void ReadObj( XclImpStream& rStrm );
1054  void ReadMsoDrawing( XclImpStream& rStrm );
1055 
1057  bool SupportsOleObjects() const { return mbOleObjs; }
1059  XclImpDrawObjRef FindDrawObj( const DffRecordHeader& rHeader ) const;
1061  XclImpDrawObjRef FindDrawObj( sal_uInt16 nObjId ) const;
1063  const XclImpObjTextData* FindTextData( const DffRecordHeader& rHeader ) const;
1064 
1066  void SetSkipObj( sal_uInt16 nObjId );
1068  std::size_t GetProgressSize() const;
1069 
1071  virtual tools::Rectangle CalcAnchorRect( const XclObjAnchor& rAnchor, bool bDffAnchor ) const = 0;
1073  virtual void OnObjectInserted( const XclImpDrawObjBase& rDrawObj ) = 0;
1074 
1075 protected:
1077  void AppendRawObject( const XclImpDrawObjRef& rxDrawObj );
1079  void ImplConvertObjects( XclImpDffConverter& rDffConv, SdrModel& rSdrModel, SdrPage& rSdrPage );
1080 
1081 private:
1083  static void ReadWmf( Graphic& rGraphic, XclImpStream& rStrm );
1085  static void ReadBmp( Graphic& rGraphic, const XclImpRoot& rRoot, XclImpStream& rStrm );
1086 
1088  void ReadDffRecord( XclImpStream& rStrm );
1090  void ReadObj8( XclImpStream& rStrm );
1092  void ReadTxo( XclImpStream& rStrm );
1093 
1094 private:
1095  typedef std::map< std::size_t, XclImpDrawObjRef > XclImpObjMap;
1096  typedef std::map< sal_uInt16, XclImpDrawObjRef > XclImpObjMapById;
1097  typedef std::shared_ptr< XclImpObjTextData > XclImpObjTextRef;
1098  typedef std::map< std::size_t, XclImpObjTextRef > XclImpObjTextMap;
1099 
1102  XclImpObjMap maObjMap;
1103  XclImpObjMapById maObjMapId;
1104  XclImpObjTextMap maTextMap;
1106  bool mbOleObjs;
1107 };
1108 
1111 {
1112 public:
1113  explicit XclImpSheetDrawing( const XclImpRoot& rRoot, SCTAB nScTab );
1114 
1116  void ReadNote( XclImpStream& rStrm );
1119  void ReadTabChart( XclImpStream& rStrm );
1120 
1122  const ScRange& GetUsedArea() const { return maScUsedArea; }
1124  void ConvertObjects( XclImpDffConverter& rDffConv );
1125 
1127  virtual tools::Rectangle CalcAnchorRect( const XclObjAnchor& rAnchor, bool bDffAnchor ) const override;
1129  virtual void OnObjectInserted( const XclImpDrawObjBase& rDrawObj ) override;
1130 
1131 private:
1133  void ReadNote3( XclImpStream& rStrm );
1135  void ReadNote8( XclImpStream& rStrm );
1136 
1137 private:
1139 };
1140 
1141 // The object manager =========================================================
1142 
1145 {
1146 public:
1147  explicit XclImpObjectManager( const XclImpRoot& rRoot );
1148  virtual ~XclImpObjectManager() override;
1149 
1152 
1156  void ConvertObjects();
1157 
1159  OUString GetDefaultObjName( const XclImpDrawObjBase& rDrawObj ) const;
1161  ScRange GetUsedArea( SCTAB nScTab ) const;
1164  void SetOleNameOverrideInfo( const css::uno::Reference< css::container::XNameContainer >& rxOverrideInfo ) { mxOleCtrlNameOverride = rxOverrideInfo; }
1167  OUString GetOleNameOverride( SCTAB nTab, sal_uInt16 nObjId );
1168 
1169 private:
1170  typedef std::map< sal_uInt16, OUString > DefObjNameMap;
1171  typedef std::shared_ptr< XclImpSheetDrawing > XclImpSheetDrawingRef;
1172  typedef std::map< SCTAB, XclImpSheetDrawingRef > XclImpSheetDrawingMap;
1173 
1174  css::uno::Reference< css::container::XNameContainer > mxOleCtrlNameOverride;
1175  DefObjNameMap maDefObjNames;
1177  XclImpSheetDrawingMap maSheetDrawings;
1178 };
1179 
1180 // DFF property set helper ====================================================
1181 
1187 class XclImpDffPropSet : protected XclImpRoot
1188 {
1189 public:
1190  explicit XclImpDffPropSet( const XclImpRoot& rRoot );
1191 
1194  void Read( XclImpStream& rStrm );
1195 
1197  sal_uInt32 GetPropertyValue( sal_uInt16 nPropId ) const;
1198 
1200  void FillToItemSet( SfxItemSet& rItemSet ) const;
1201 
1202 private:
1203  typedef std::unique_ptr<SvMemoryStream> SvMemoryStreamPtr;
1204 
1207  SvMemoryStreamPtr mxMemStrm;
1208 };
1209 
1211 
1212 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void StartProgressBar(std::size_t nProgressSize)
Initializes the internal progress bar with the passed size and starts it.
Definition: xiescher.cxx:3365
void ProcessObject(SdrObjList &rObjList, XclImpDrawObjBase &rDrawObj)
Processes BIFF5 drawing objects without DFF data, inserts into the passed object list.
Definition: xiescher.cxx:3385
std::map< SdrObject *, sal_uInt32 > XclImpSdrObjMap
Definition: xiescher.hxx:893
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2849
void ConvertLabel(ScfPropertySet &rPropSet) const
Sets control label and text formatting.
Definition: xiescher.cxx:2105
void ReadFullLbsData(XclImpStream &rStrm)
Reads dropdown box settings.
Definition: xiescher.cxx:2836
std::size_t GetProgressSize() const
Returns the needed size on the progress bar for all contained objects.
Definition: xiescher.cxx:992
std::map< std::size_t, XclImpObjTextRef > XclImpObjTextMap
Definition: xiescher.hxx:1098
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1049
void SetOleNameOverrideInfo(const css::uno::Reference< css::container::XNameContainer > &rxOverrideInfo)
Sets the container to receive overridden shape/ctrl names from the filter.
Definition: xiescher.hxx:1164
XclImpObjTextData maTextData
Definition: xiescher.hxx:398
XclImpDropDownObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2819
::std::vector< sal_uInt8 > ScfUInt8Vec
Definition: ftools.hxx:253
virtual ~XclImpSimpleDffConverter() override
Definition: xiescher.cxx:3297
std::vector< Point > PointVector
Definition: xiescher.hxx:359
OUString ReadHlinkProperty(SvStream &rDffStrm) const
Reads contents of a hyperlink property and returns the extracted URL.
Definition: xiescher.cxx:3777
SvMemoryStream maDummyStrm
Definition: xiescher.hxx:1205
XclImpPhObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:998
bool SupportsOleObjects() const
Returns true, if the conversion of OLE objects is supported.
Definition: xiescher.cxx:3555
Helper base class for TBX and OCX form controls to manage spreadsheet links.
Definition: xiescher.hxx:457
sal_Int32 nIndex
Drawing manager of a single sheet.
Definition: xiescher.hxx:1110
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2445
std::vector< XclImpDrawObjRef >::const_iterator end() const
Definition: xiescher.hxx:219
bool IsProcessSdrObj() const
Returns true, if the object is valid and will be processed.
Definition: xiescher.hxx:117
A note object, which is a specialized text box object.
Definition: xiescher.hxx:439
XclImpButtonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2148
std::map< sal_uInt16, XclImpDrawObjRef > XclImpObjMapById
Definition: xiescher.hxx:1096
void SetDffData(const DffObjData &rDffObjData, const OUString &rObjName, const OUString &rHyperlink, bool bVisible, bool bAutoMargin)
Sets shape data from DFF stream.
Definition: xiescher.cxx:381
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2470
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2880
std::size_t GetProgressSize() const
Returns the needed size on the progress bar (calls virtual DoGetProgressSize() function).
Definition: xiescher.cxx:430
XclImpTbxObjBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2054
const OUString & GetMacroName() const
Returns associated macro name, if set, otherwise zero length string.
Definition: xiescher.hxx:95
virtual OUString DoGetServiceName() const =0
Derived classes return the service name of the control component to be created.
virtual SdrObject * FinalizeObj(DffObjData &rDffObjData, SdrObject *pOldSdrObj) override
Finalize a DFF object, sets anchor after nested objs have been loaded.
Definition: xiescher.cxx:3708
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2328
virtual tools::Rectangle CalcAnchorRect(const XclObjAnchor &rAnchor, bool bDffAnchor) const =0
Derived classes calculate the resulting rectangle of the passed anchor.
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2309
const XclImpRoot & mrRoot
Definition: xiescher.hxx:494
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2648
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Inserts the contained text data at the passed object.
Definition: xiescher.cxx:1498
Stores all drawing and OLE objects and additional data related to these objects.
Definition: xiescher.hxx:1144
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2480
void FinalizeTabChart()
Calculates the object anchor of a sheet chart (chart fills one page).
Definition: xiescher.cxx:1809
virtual std::size_t DoGetProgressSize() const override
Returns a progress bar size that takes all group children into account.
Definition: xiescher.cxx:1044
std::shared_ptr< ScRange > mxSrcRange
Not derived from XclImpRoot to allow multiple inheritance.
Definition: xiescher.hxx:495
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Inserts the note into the document, sets visibility.
Definition: xiescher.cxx:1859
std::shared_ptr< XclImpChart > XclImpChartRef
Definition: xiescher.hxx:432
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2153
XclImpSpinButtonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2616
XclImpLineObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1062
sal_Int32 GetDefaultTextMargin() const
Returns the default text margin in drawing layer units.
Definition: xiescher.hxx:950
virtual SdrObject * ProcessObj(SvStream &rDffStrm, DffObjData &rDffObjData, SvxMSDffClientData &rClientData, tools::Rectangle &rTextRect, SdrObject *pOldSdrObj) override
Processes a DFF object, reads properties from DFF stream.
Definition: xiescher.cxx:3608
A polygon object.
Definition: xiescher.hxx:343
void NotifyMacroEventRead()
Notify that this document contains a macro event handler.
Definition: xiescher.cxx:3435
sal_uInt16 mnContentType
Definition: xiescher.hxx:663
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:1735
XclImpNoteObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1843
XclImpObjMap maObjMap
Copy of the DFF page stream in memory.
Definition: xiescher.hxx:1102
void PostProcessSdrObject(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const
Additional processing for the passed SdrObject after insertion into the drawing page (calls virtual D...
Definition: xiescher.cxx:567
XclImpChartObj(const XclImpRoot &rRoot, bool bOwnTab=false)
Definition: xiescher.cxx:1655
sal_uInt16 mnSelEntry
Definition: xiescher.hxx:741
XclImpTextObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1447
A group object.
Definition: xiescher.hxx:237
XclImpSdrInfo()
Shape flags from DFF stream.
Definition: xiescher.hxx:888
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:2964
XclImpListBoxObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2726
void ImplReadObj4(XclImpStream &rStrm)
Reads the contents of a BIFF4 OBJ record.
Definition: xiescher.cxx:864
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize)
Derived classes read the contents of the specified subrecord of a BIFF8 OBJ record from stream...
Definition: xiescher.cxx:819
SdrObjectUniquePtr CreateSdrObjectFromShape(const css::uno::Reference< css::drawing::XShape > &rxShape, const tools::Rectangle &rAnchorRect) const
Returns the SdrObject from the passed control shape and sets the bounding rectangle.
Definition: xiescher.cxx:1886
Base class for textbox based form controls.
Definition: xiescher.hxx:500
std::shared_ptr< XclImpDffConvData > XclImpDffConvDataRef
Definition: xiescher.hxx:1027
ShapeFlag GetDffFlags() const
Returns the shape flags from the DFF stream.
Definition: xiescher.hxx:100
XclImpDrawing(const XclImpRoot &rRoot, bool bOleObjects)
Definition: xiescher.cxx:3940
Color GetSolidLineColor(const XclObjLineData &rLineData) const
Returns a solid line color from the passed line data struct.
Definition: xiescher.cxx:773
void Set(SdrObject *pSdrObj, ShapeFlag nDffFlags)
Definition: xiescher.hxx:889
void ReadFlags3(XclImpStream &rStrm)
Reads and sets the picture flags from a BIFF3-BIFF5 OBJ picture record.
Definition: xiescher.cxx:3103
ScfProgressBarRef mxProgress
The 'Ctls' stream for OCX form controls.
Definition: xiescher.hxx:1030
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2297
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:1452
A button control.
Definition: xiescher.hxx:532
void ConvertObjects()
Inserts all objects into the Calc document.
Definition: xiescher.cxx:4374
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2809
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1369
std::shared_ptr< ScAddress > mxCellLink
The UNO wrapper of the control shape.
Definition: xiescher.hxx:486
bool mbHasCtrlForm
Last insertion index of a form control (for macro events).
Definition: xiescher.hxx:995
Color GetSolidFillColor(const XclObjFillData &rFillData) const
Returns a solid fill color from the passed fill data struct.
Definition: xiescher.cxx:789
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1481
std::unique_ptr< SvMemoryStream > SvMemoryStreamPtr
Definition: xiescher.hxx:1203
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:2135
void InsertSdrObjectInfo(SdrObject &rSdrObj, sal_uInt32 nDffShapeId, ShapeFlag nDffFlags)
Inserts information about a new SdrObject.
Definition: xiescher.cxx:3230
bool mbUseCtlsStrm
true = Form control, false = OLE object.
Definition: xiescher.hxx:858
ScRange GetUsedArea(SCTAB nScTab) const
Returns the used area in the sheet with the passed index.
Definition: xiescher.cxx:4405
A label control.
Definition: xiescher.hxx:592
XclImpObjTextMap maTextMap
Maps BIFF8 drawing objects to object ID.
Definition: xiescher.hxx:1104
bool IsSymbol() const
Returns true, if the OLE object will be shown as symbol.
Definition: xiescher.hxx:815
void ReadFullLbsData(XclImpStream &rStrm, std::size_t nRecLeft)
Reads listbox settings and selection.
Definition: xiescher.cxx:2731
const ScRange & GetUsedArea() const
Returns the total cell range covered by any shapes in the sheet.
Definition: xiescher.hxx:1122
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2979
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:1070
sal_uInt16 mnState
Definition: xiescher.hxx:565
sal_uInt16 mnLeft
Definition: xiescher.hxx:795
void ImplConvertObjects(XclImpDffConverter &rDffConv, SdrModel &rSdrModel, SdrPage &rSdrPage)
Converts all objects and inserts them into the current drawing page.
Definition: xiescher.cxx:4084
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1403
void ReadMacro8(XclImpStream &rStrm)
Reads the contents of the ftMacro sub structure in an OBJ record.
Definition: xiescher.cxx:607
void Progress(std::size_t nDelta=1)
Increase the progress bar by the passed value.
Definition: xiescher.cxx:3372
void InitControlForm()
Initializes the mxCtrlForm referring to the standard controls form.
Definition: xiescher.cxx:3908
XclObjAnchor maAnchor
Definition: xiescher.hxx:188
OUString maHyperlink
Name of an attached macro.
Definition: xiescher.hxx:196
void SetInsertSdrObj(bool bInsert)
If set to false, the SdrObject will be created or processed, but not be inserted into the draw page...
Definition: xiescher.hxx:84
bool mbNotifyMacroEventRead
Default margin in text boxes.
Definition: xiescher.hxx:1035
XclImpStream & operator>>(XclImpStream &rStrm, XclImpDffPropSet &rPropSet)
Definition: xiescher.cxx:4447
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2542
std::size_t GetProgressSize() const
Returns the size of the progress bar shown while processing all objects.
Definition: xiescher.cxx:4078
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:1219
XclImpDrawObjBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:163
A picture, an embedded or linked OLE object, or an OCX form control.
Definition: xiescher.hxx:805
void ReadRangeList(ScRangeList &rScRanges, XclImpStream &rStrm)
Linked cell in the Calc document.
Definition: xiescher.cxx:2025
virtual std::size_t DoGetProgressSize() const
Derived classes may return a progress bar size different from 1.
Definition: xiescher.cxx:823
XclImpDrawObjRef FindDrawObj(const DffRecordHeader &rHeader) const
Finds the OBJ record data related to the DFF shape at the passed position.
Definition: xiescher.cxx:4035
An oval object.
Definition: xiescher.hxx:311
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const
Derived classes may perform additional processing for the passed SdrObject before insertion...
Definition: xiescher.cxx:834
void SetCustomDffObj(bool bCustom)
If set to true, a new SdrObject will be created while in DFF import.
Definition: xiescher.hxx:86
void RemoveSdrObjectInfo(SdrObject &rSdrObj)
Removes information of an SdrObject (and all child objects if it is a group).
Definition: xiescher.cxx:3239
XclImpSolverContainer maSolverCont
The SdrPage of the drawing manager.
Definition: xiescher.hxx:991
sal_Int32 mnLastCtrlIndex
Controls form of current drawing page.
Definition: xiescher.hxx:994
bool TryInsert(XclImpDrawObjRef const &xDrawObj)
Tries to insert the drawing object into this or a nested group.
Definition: xiescher.cxx:1010
void ImplReadObj5(XclImpStream &rStrm)
Reads the contents of a BIFF5 OBJ record.
Definition: xiescher.cxx:884
OUString GetServiceName() const
Returns the service name of the control component to be created.
Definition: xiescher.hxx:509
sal_uInt16 mnListFlags
Definition: xiescher.hxx:742
XclImpSdrInfoMap maSdrInfoMap
Definition: xiescher.hxx:895
NONE
ScfUInt16Vec maSkipObjs
Maps BIFF8 TXO textbox data to DFF stream position.
Definition: xiescher.hxx:1105
bool ProcessShGrContainer(SvStream &rDffStrm, const DffRecordHeader &rShGrHeader)
Processes the global shape group container (all shapes of a sheet).
Definition: xiescher.cxx:3839
sal_uInt32 mnDffShapeId
The Excel object type from OBJ record.
Definition: xiescher.hxx:192
static XclImpDrawObjRef ReadObj8(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF8 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:309
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:1700
Stores data about an SdrObject processed during import.
Definition: xiescher.hxx:884
std::map< sal_uInt16, OUString > DefObjNameMap
Definition: xiescher.hxx:1170
void ConvertRectStyle(SdrObject &rSdrObj) const
Converts fill formatting, line formatting, and frame style.
Definition: xiescher.cxx:1212
void ImplReadObj8(XclImpStream &rStrm)
Reads the contents of a BIFF8 OBJ record.
Definition: xiescher.cxx:906
bool mbProcessSdr
true = Create simple macro link and hyperlink.
Definition: xiescher.hxx:204
void ReadObj(XclImpStream &rStrm)
Reads a plain OBJ record (without leading DFF data).
Definition: xiescher.cxx:3968
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2563
void AppendRawObject(const XclImpDrawObjRef &rxDrawObj)
Appends a new drawing object to the list of raw objects (without DFF data).
Definition: xiescher.cxx:4107
virtual OUString GetObjName() const override
Returns the ObjectName - can use non-obvious lookup for override in the associated vba document modul...
Definition: xiescher.cxx:3050
OUString GetDefaultObjName(const XclImpDrawObjBase &rDrawObj) const
Returns the default name for the passed object.
Definition: xiescher.cxx:4396
std::shared_ptr< XclImpDrawObjBase > XclImpDrawObjRef
Definition: xiescher.hxx:50
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2400
void ImplReadObj3(XclImpStream &rStrm)
Reads the contents of a BIFF3 OBJ record.
Definition: xiescher.cxx:845
css::uno::Reference< css::drawing::XShape > mxShape
Definition: xiescher.hxx:485
XclImpStringRef mxString
BIFF5 text data.
Definition: xiescher.hxx:368
A line object.
Definition: xiescher.hxx:262
XclCtrlBindMode
Automatic fill formatting.
Definition: xlescher.hxx:233
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2621
void RemoveConnectorRules()
Removes all contained connector rules.
Definition: xiescher.cxx:3272
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2688
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object)...
Definition: xiescher.hxx:1042
bool mbCustomDff
true = Insert the SdrObject into draw page.
Definition: xiescher.hxx:206
XclImpDffPropSet(const XclImpRoot &rRoot)
Definition: xiescher.cxx:4415
XclTbxEventType
Definition: xlescher.hxx:405
A spinbutton control.
Definition: xiescher.hxx:694
bool IsPrintable() const
Returns true, if the object is printable.
Definition: xiescher.hxx:107
XclImpOptionButtonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2302
SvMemoryStreamPtr mxMemStrm
DFF converter used to resolve palette colors.
Definition: xiescher.hxx:1207
A checkbox control.
Definition: xiescher.hxx:547
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2914
void ReadTxo(XclImpStream &rStrm)
Reads the TXO record and following CONTINUE records containing string and formatting.
Definition: xiescher.cxx:4183
void SetProcessSdrObj(bool bProcess)
If set to false, the SdrObject will not be created, processed, or inserted into the draw page...
Definition: xiescher.hxx:82
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:1019
virtual void DoPostProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Converts the chart document.
Definition: xiescher.cxx:1791
void ReadByteString(XclImpStream &rStrm)
Plain or rich string.
Definition: xiescher.cxx:1428
sal_Int32 mnDefTextMargin
Application OLE import settings.
Definition: xiescher.hxx:1034
void ReadName5(XclImpStream &rStrm, sal_uInt16 nNameLen)
Reads the object name in a BIFF5 OBJ record.
Definition: xiescher.cxx:575
XclImpLabelObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2395
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2234
void ReadMacro3(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Reads the macro link in a BIFF3 OBJ record.
Definition: xiescher.cxx:587
A listbox control.
Definition: xiescher.hxx:748
void NotifyMacroEventRead()
Notify that the document contains a macro event handler.
Definition: xiescher.cxx:516
PointVector maCoords
Definition: xiescher.hxx:360
bool mbVisible
true = Object is hidden.
Definition: xiescher.hxx:199
sal_uInt16 mnMultiLine
Definition: xiescher.hxx:664
virtual ~XclImpDrawObjBase() override
Definition: xiescher.cxx:184
Data per registered drawing manager, will be stacked for recursive calls.
Definition: xiescher.hxx:986
OUString GetOleStorageName() const
Returns the storage name for the OLE object.
Definition: xiescher.cxx:2936
ScfUInt8Vec maSelection
Definition: xiescher.hxx:768
XclImpGroupObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1004
void InsertSdrObject(SdrObjList &rObjList, const XclImpDrawObjBase &rDrawObj, SdrObject *pSdrObj)
Inserts the passed SdrObject into the document.
Definition: xiescher.cxx:3888
bool mbAreaObj
true = Object is printable.
Definition: xiescher.hxx:201
void ReadSourceRangeFormula(XclImpStream &rStrm, bool bWithBoundSize)
Reads the formula for the source range from the current position of the stream.
Definition: xiescher.cxx:2009
XclImpSheetDrawing & GetSheetDrawing(SCTAB nScTab)
Returns (initially creates) the drawing manager of the specified sheet.
Definition: xiescher.cxx:4366
virtual void OnObjectInserted(const XclImpDrawObjBase &rDrawObj)=0
Called whenever an object has been inserted into the draw page.
SdrObjectUniquePtr CreateSdrObject(const XclImpTbxObjBase &rTbxObj, const tools::Rectangle &rAnchorRect)
Creates the SdrObject for the passed Excel TBX form control object.
Definition: xiescher.cxx:3443
void ConvertObjects(XclImpDffConverter &rDffConv)
Converts all objects and inserts them into the sheet drawing page.
Definition: xiescher.cxx:4247
void ReadObj8(XclImpStream &rStrm)
Reads a BIFF8 OBJ record following an MSODRAWING record.
Definition: xiescher.cxx:4175
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1711
void SetAnchor(const XclObjAnchor &rAnchor)
Sets the object anchor explicitly.
Definition: xiescher.cxx:375
Base class of scrollable form controls (spin button, scrollbar, listbox, dropdown).
Definition: xiescher.hxx:670
std::vector< XclImpDffConvDataRef > maDataStack
The progress bar used in ProcessObj().
Definition: xiescher.hxx:1032
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2511
sal_uInt16 mnPolyFlags
Coordinates relative to bounding rectangle.
Definition: xiescher.hxx:361
sal_uInt16 mnFrameFlags
BIFF5 line formatting.
Definition: xiescher.hxx:307
void UpdateConnection(sal_uInt32 nDffShapeId, SdrObject *&rpSdrObj, ShapeFlag *pnDffFlags=nullptr)
Updates the data of a connected shape in a connector rule.
Definition: xiescher.cxx:3279
SCTAB GetTab() const
Definition: xiescher.hxx:131
std::vector< XclImpDrawObjRef >::const_iterator begin() const
Definition: xiescher.hxx:218
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1470
sal_uInt16 mnFirstInGroup
Next option button in a group.
Definition: xiescher.hxx:588
bool FillMacroDescriptor(css::script::ScriptEventDescriptor &rDescriptor) const
Fills the passed macro event descriptor.
Definition: xiescher.cxx:2088
ShapeFlag
sal_uInt16 mnLineCount
Definition: xiescher.hxx:800
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1289
Base class for drawing objects (OBJ records).
Definition: xiescher.hxx:54
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2341
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1035
void SetNoteData(const ScAddress &rScPos, sal_uInt16 nNoteFlags)
Sets note flags and the note position in the Calc sheet.
Definition: xiescher.cxx:1853
bool ProcessShContainer(SvStream &rDffStrm, const DffRecordHeader &rShHeader)
Processes a shape or shape group container (one top-level shape).
Definition: xiescher.cxx:3871
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2414
virtual std::size_t DoGetProgressSize() const override
Returns the needed size on the progress bar.
Definition: xiescher.cxx:1749
bool mbLinked
true = Embedded OLE object.
Definition: xiescher.hxx:855
void ProcessControl(const XclImpDrawObjBase &rDrawObj) const
Sets additional properties to the form control model, calls virtual DoProcessControl().
Definition: xiescher.cxx:1976
XclImpGroupBoxObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2424
virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent > &rxFormComp, const css::awt::Size &rSize, css::uno::Reference< css::drawing::XShape > *pxShape, bool bFloatingCtrl) override
Inserts the passed control rxFComp into the form.
Definition: xiescher.cxx:3730
void ProcessDrawing(const XclImpDrawObjVector &rDrawObjs)
Processes all objects in the passed list.
Definition: xiescher.cxx:3406
tools::SvRef< SotStorageStream > mxCtlsStrm
Definition: xiescher.hxx:1029
void ReadNote(XclImpStream &rStrm)
Reads the NOTE record.
Definition: xiescher.cxx:4220
sal_uInt16 mnFirstUngrouped
Grouped objects.
Definition: xiescher.hxx:258
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2658
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2643
A placeholder object for unknown object types.
Definition: xiescher.hxx:230
sal_uInt16 mnPointCount
Additional flags.
Definition: xiescher.hxx:362
void InsertGrouped(XclImpDrawObjRef const &xDrawObj)
Tries to insert the passed object into the last group or appends it.
Definition: xiescher.cxx:983
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2683
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1380
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2745
void ReadMacro5(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Reads the macro link in a BIFF5 OBJ record.
Definition: xiescher.cxx:601
void FinalizeDrawing()
Finally called after the objects of the passed drawing manager have been converted.
Definition: xiescher.cxx:3426
sal_uInt16 mnObjType
Location of object.
Definition: xiescher.hxx:191
XclCtrlBindMode meBindMode
Source data range in the Calc document.
Definition: xiescher.hxx:496
XclImpObjectManager(const XclImpRoot &rRoot)
Definition: xiescher.cxx:4326
An option button control.
Definition: xiescher.hxx:570
sal_uInt16 mnListBoxObjId
Definition: xiescher.hxx:666
A scrollbar control.
Definition: xiescher.hxx:711
virtual tools::Rectangle CalcAnchorRect(const XclObjAnchor &rAnchor, bool bDffAnchor) const override
Calculate the resulting rectangle of the passed anchor.
Definition: xiescher.cxx:4254
void Read(XclImpStream &rStrm)
Reads a DFF property set from the stream.
Definition: xiescher.cxx:4421
XclObjLineData maLineData
BIFF5 fill formatting.
Definition: xiescher.hxx:338
An edit control.
Definition: xiescher.hxx:643
ShapeFlag mnDffFlags
Pointer to an SdrObject.
Definition: xiescher.hxx:887
sal_uInt16 mnBottom
Definition: xiescher.hxx:798
SCTAB mnTab
The object identifier (unique per drawing).
Definition: xiescher.hxx:190
virtual ~XclImpDffConverter() override
Definition: xiescher.cxx:3346
sal_uInt16 mnGroupBoxFlags
Definition: xiescher.hxx:624
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xichart.hxx:1393
Simple implementation of the SVX DFF manager.
Definition: xiescher.hxx:902
XclImpDialogObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2475
bool mbNotifyMacroEventRead
true = Recreate SdrObject in DFF import.
Definition: xiescher.hxx:207
void ReadFormats(XclImpStream &rStrm)
Reads text formatting from the passed stream.
Definition: xiescher.cxx:1439
void ReadSbs(XclImpStream &rStrm)
Reads scrollbar data.
Definition: xiescher.cxx:2588
bool IsHidden() const
Returns true, if the object is hidden.
Definition: xiescher.hxx:103
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:283
XclImpCheckBoxObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2210
std::shared_ptr< XclImpSheetDrawing > XclImpSheetDrawingRef
Definition: xiescher.hxx:1171
std::size_t mnCtlsStrmPos
Identifier of the storage for this object.
Definition: xiescher.hxx:852
void SetSkipObj(sal_uInt16 nObjId)
Sets the object with the passed identification to be skipped on import.
Definition: xiescher.cxx:4073
XclImpControlHelper(const XclImpRoot &rRoot, XclCtrlBindMode eBindMode)
Definition: xiescher.cxx:1876
void ApplySheetLinkProps() const
Definition: xiescher.cxx:1900
void ReadDffRecord(XclImpStream &rStrm)
Reads contents of a DFF record and append data to internal DFF stream.
Definition: xiescher.cxx:4169
XclImpSheetDrawing(const XclImpRoot &rRoot, SCTAB nScTab)
Definition: xiescher.cxx:4212
virtual bool GetColorFromPalette(sal_uInt16 nIndex, Color &rColor) const override
Returns a color from the Excel color palette.
Definition: xiescher.cxx:3301
bool mbAutoMargin
true = Width and height must be greater than 0.
Definition: xiescher.hxx:202
bool IsNumeric() const
REturns true, if the field type is numeric.
Definition: xiescher.cxx:2506
sal_uInt32 mnOleImpFlags
Stack for registered drawing managers.
Definition: xiescher.hxx:1033
XclImpTbxObjListBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2693
sal_uInt16 mnDropDownFlags
Definition: xiescher.hxx:799
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Override to do additional processing on the SdrObject.
Definition: xiescher.cxx:3061
sal_uInt16 mnNoteFlags
Cell position of the note object.
Definition: xiescher.hxx:453
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2205
XclObjLineData maLineData
BIFF5 fill formatting.
Definition: xiescher.hxx:306
void PreProcessSdrObject(XclImpDffConverter &rDffConv, SdrObject &rSdrObj)
Additional processing for the passed SdrObject before insertion into the drawing page (calls virtual ...
Definition: xiescher.cxx:527
void FillToItemSet(SfxItemSet &rItemSet) const
Translates the properties and fills the item set.
Definition: xiescher.cxx:4441
XclImpChartRef mxChart
Definition: xiescher.hxx:434
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1088
void ReadNote3(XclImpStream &rStrm)
Reads a BIFF3-BIFF5 NOTE record.
Definition: xiescher.cxx:4268
bool IsVisible() const
Returns true, if the object is visible.
Definition: xiescher.hxx:105
Progress bar for complex progress representation.
XclImpSimpleDffConverter maDffConv
Dummy DGG stream for DFF manager.
Definition: xiescher.hxx:1206
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2430
void SetTextData(const XclImpObjTextData &rTextData)
Stores the passed textbox data.
Definition: xiescher.hxx:383
sal_uInt16 mnCheckBoxFlags
Definition: xiescher.hxx:566
XclImpDffConverter(const XclImpRoot &rRoot, SvStream &rDffStrm)
Standard name of control forms.
Definition: xiescher.cxx:3324
bool ProcessSolverContainer(SvStream &rDffStrm, const DffRecordHeader &rSolverHeader)
Processes the solver container (connectors of a sheet).
Definition: xiescher.cxx:3861
XclObjFillData maFillData
Definition: xiescher.hxx:305
sal_uInt16 mnEditObjId
Definition: xiescher.hxx:743
This is the central instance for converting binary DFF data into shape objects.
Definition: xiescher.hxx:920
XclImpScrollBarObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2653
void ReadTabChart(XclImpStream &rStrm)
Inserts a new chart object and reads the chart substream (BOF/EOF block).
Definition: xiescher.cxx:4238
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2254
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1225
bool mbSymbol
true = Linked OLE object.
Definition: xiescher.hxx:856
sal_uInt8 mnStartPoint
Line arrows.
Definition: xiescher.hxx:279
bool HasCellLink() const
Returns true, if a linked cell address is present.
Definition: xiescher.hxx:464
bool mbInsertSdr
true = Object is valid, do processing and insertion.
Definition: xiescher.hxx:205
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Derived classes read the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:807
A groupbox control.
Definition: xiescher.hxx:607
sal_uInt16 mnMinWidth
Definition: xiescher.hxx:801
XclImpSheetDrawingMap maSheetDrawings
Copy of global DFF data (DGG container) in memory.
Definition: xiescher.hxx:1177
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2814
bool mbEmbedded
Size in 'Ctls' stream for this control.
Definition: xiescher.hxx:854
void ReadFlags8(XclImpStream &rStrm)
Reads the contents of the OBJFLAGS subrecord.
Definition: xiescher.cxx:3110
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:2217
void ReadCoordList(XclImpStream &rStrm)
Reads the COORDLIST record following the OBJ record.
Definition: xiescher.cxx:1353
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:3017
virtual void DoPostProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const
Derived classes may perform additional processing for the passed SdrObject after insertion.
Definition: xiescher.cxx:841
XclObjTextData maData
Definition: xiescher.hxx:367
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2667
exports com.sun.star. form
bool ProcessDgContainer(SvStream &rDffStrm, const DffRecordHeader &rDgHeader)
Processes a drawing container (all drawing data of a sheet).
Definition: xiescher.cxx:3808
SdrObjectUniquePtr CreateSdrObject(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect, bool bIsDff) const
Creates and returns an SdrObject from the contained data.
Definition: xiescher.cxx:435
A wrapper for a UNO property set.
Definition: fapihelper.hxx:103
XclImpTbxObjScrollableBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2575
void push_back(const XclImpDrawObjRef &rObj)
Definition: xiescher.hxx:220
XclObjFillData maFillData
Definition: xiescher.hxx:337
css::uno::Reference< css::container::XNameContainer > mxOleCtrlNameOverride
Definition: xiescher.hxx:1174
sal_uInt16 mnArrows
BIFF5 line formatting.
Definition: xiescher.hxx:278
void SetSimpleMacro(bool bMacro)
If set to true, a new SdrObject will be created while in DFF import.
Definition: xiescher.hxx:72
void ConvertLineStyle(SdrObject &rSdrObj, const XclObjLineData &rLineData) const
Converts the passed line formatting to the passed SdrObject.
Definition: xiescher.cxx:632
XclImpPolygonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1345
OUString GetOleNameOverride(SCTAB nTab, sal_uInt16 nObjId)
Returns the name of overridden name ( or zero length string ) for associated object id...
Definition: xiescher.cxx:3350
XclImpSdrObjMap maSdrObjMap
Maps shape IDs to SdrObjects and flags.
Definition: xiescher.hxx:896
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2527
void SetAreaObj(bool bAreaObj)
Sets whether this is an area object (then its width and height must be greater than 0)...
Definition: xiescher.hxx:70
std::size_t GetCtlsStreamPos() const
Returns the position in the 'Ctls' stream for additional form control data.
Definition: xiescher.hxx:822
bool mbHasAnchor
On-click hyperlink URL.
Definition: xiescher.hxx:197
const XclObjAnchor * GetAnchor() const
Returns the object anchor if existing, null otherwise.
Definition: xiescher.cxx:402
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1098
::std::vector< sal_uInt16 > ScfUInt16Vec
Definition: ftools.hxx:255
ShapeFlag mnDffFlags
Shape ID from DFF stream.
Definition: xiescher.hxx:193
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:3002
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const
Derived classes create and return a new SdrObject from the contained data.
Definition: xiescher.cxx:828
XclImpRectObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1199
void ReadMsoDrawingGroup(XclImpStream &rStrm)
Reads the MSODRAWINGGROUP record.
Definition: xiescher.cxx:4357
bool mbOwnTab
The chart itself (BOF/EOF substream data).
Definition: xiescher.hxx:435
void ReadLbsData(XclImpStream &rStrm)
Reads common listbox settings.
Definition: xiescher.cxx:2703
sal_uInt16 GetObjType() const
Returns the Excel object type from OBJ record.
Definition: xiescher.hxx:91
This class reads a DFF property set (msofbtOPT record).
Definition: xiescher.hxx:1187
unsigned char sal_uInt8
bool mbPrintable
true = Object is visible.
Definition: xiescher.hxx:200
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:2949
An arc object.
Definition: xiescher.hxx:322
void ReadNote8(XclImpStream &rStrm)
Reads a BIFF8 NOTE record.
Definition: xiescher.cxx:4309
XclObjLineData maLineData
Definition: xiescher.hxx:277
static XclImpDrawObjRef ReadObj3(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF3 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:188
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Additional processing on the SdrObject, calls new virtual function DoProcessControl().
Definition: xiescher.cxx:2142
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2868
virtual ~XclImpControlHelper()
Definition: xiescher.cxx:1882
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1722
sal_uInt32 mnStorageId
Class name of embedded OLE object.
Definition: xiescher.hxx:851
OUString maMacroName
Name of the object.
Definition: xiescher.hxx:195
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1281
sal_uInt16 mnRight
Definition: xiescher.hxx:797
static void ReadWmf(Graphic &rGraphic, XclImpStream &rStrm)
Reads and returns a bitmap from WMF/PICT format.
Definition: xiescher.cxx:4115
static void ReadBmp(Graphic &rGraphic, const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads and returns a bitmap from BMP format.
Definition: xiescher.cxx:4128
std::shared_ptr< XclImpString > XclImpStringRef
Definition: xiroot.hxx:28
ScRange GetUsedArea(SCTAB nScTab) const
Returns the range in the sheet covered by this object.
Definition: xiescher.cxx:415
std::shared_ptr< XclImpObjTextData > XclImpObjTextRef
Definition: xiescher.hxx:1097
void SetBoxFormatting(ScfPropertySet &rPropSet) const
Sets common listbox/dropdown formatting attributes.
Definition: xiescher.cxx:2712
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2759
std::size_t mnCtlsStrmSize
Position in 'Ctls' stream for this control.
Definition: xiescher.hxx:853
XclImpPictureObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2919
bool IsValidSize(const tools::Rectangle &rAnchorRect) const
Returns true, if the passed size is valid for this object.
Definition: xiescher.cxx:407
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1754
std::size_t GetCtlsStreamSize() const
Returns the size in the 'Ctls' stream for additional form control data.
Definition: xiescher.hxx:824
XclImpDffConvData & GetConvData()
Returns the current drawing manager data struct from top of the stack.
Definition: xiescher.cxx:3765
sal_uInt16 GetObjId() const
Returns the sheet index and Excel object identifier from OBJ record.
Definition: xiescher.hxx:89
std::unique_ptr< SdrObject, SdrObjectFreeOp > SdrObjectUniquePtr
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2459
bool IsOcxControl() const
Returns true, if this object is an OCX form control.
Definition: xiescher.hxx:820
sal_uInt32 GetDffShapeId() const
Returns the shape identifier used in the DFF stream.
Definition: xiescher.hxx:98
void SetDffProperties(const DffPropSet &rDffPropSet)
Sets line and fill formatting from the passed DFF property set.
Definition: xiescher.cxx:2076
ScAddress maScPos
Definition: xiescher.hxx:452
virtual void DoReadObj3(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF3 OBJ record from the passed stream.
Definition: xiescher.cxx:1273
XclImpOvalObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1249
bool IsInsertSdrObj() const
Returns true, if the SdrObject will be created or processed, but not be inserted into the draw page...
Definition: xiescher.hxx:119
sal_uInt16 mnScrollBar
Definition: xiescher.hxx:665
XclImpObjMapById maObjMapId
Maps BIFF8 drawing objects to DFF stream position.
Definition: xiescher.hxx:1103
bool SupportsOleObjects() const
Returns true, if the conversion of OLE objects is supported.
Definition: xiescher.hxx:1057
XclImpEditObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2497
void ReadPictFmla(XclImpStream &rStrm, sal_uInt16 nLinkSize)
Reads the contents of the OBJPICTFMLA subrecord.
Definition: xiescher.cxx:3121
XclImpDffConvData(XclImpDrawing &rDrawing, SdrModel &rSdrModel, SdrPage &rSdrPage)
True = mxCtrlForm is initialized (but maybe still null).
Definition: xiescher.cxx:3312
DefObjNameMap maDefObjNames
Definition: xiescher.hxx:1175
void ConvertFrameStyle(SdrObject &rSdrObj, sal_uInt16 nFrameFlags) const
Converts the passed frame flags to the passed SdrObject.
Definition: xiescher.cxx:762
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2771
void ConvertFont(ScfPropertySet &rPropSet) const
Sets control text formatting.
Definition: xiescher.cxx:2093
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1254
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1298
std::shared_ptr< ScfProgressBar > ScfProgressBarRef
Definition: xiescher.hxx:1026
virtual ~XclImpObjectManager() override
Definition: xiescher.cxx:4353
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2390
void InitializeDrawing(XclImpDrawing &rDrawing, SdrModel &rSdrModel, SdrPage &rSdrPage)
Initially called before the objects of the passed drawing manager are converted.
Definition: xiescher.cxx:3378
XclImpSimpleDffConverter(const XclImpRoot &rRoot, SvStream &rDffStrm)
Definition: xiescher.cxx:3290
sal_uInt16 GetDropDownType() const
Returns the type of the dropdown control.
Definition: xiescher.cxx:2831
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2907
void ReadMacro4(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Reads the macro link in a BIFF4 OBJ record.
Definition: xiescher.cxx:595
OUString maObjName
Shape flags from DFF stream.
Definition: xiescher.hxx:194
const Graphic & GetGraphic() const
Returns the graphic imported from the IMGDATA record.
Definition: xiescher.hxx:812
XclImpDrawObjVector maRawObjs
Definition: xiescher.hxx:1100
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Derived classes read the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:811
sal_uInt16 mnNextInGroup
Definition: xiescher.hxx:587
XclImpArcObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1266
void UpdateConnectorRules()
Inserts the SdrObject pointers into all connector rules.
Definition: xiescher.cxx:3262
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1027
sal_uInt16 mnTop
Definition: xiescher.hxx:796
static XclImpDrawObjRef ReadObj4(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF4 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:224
The solver container collects all connector rules for connected objects.
Definition: xiescher.hxx:864
std::map< std::size_t, XclImpDrawObjRef > XclImpObjMap
Definition: xiescher.hxx:1095
XclImpDrawObjVector maChildren
Definition: xiescher.hxx:257
A dialog control.
Definition: xiescher.hxx:628
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:1231
virtual void DoReadObj8SubRec(XclImpStream &rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize) override
Reads the contents of the specified subrecord of a BIFF8 OBJ record from stream.
Definition: xiescher.cxx:2601
sal_uInt32 GetPropertyValue(sal_uInt16 nPropId) const
Returns the specified property or zero, if not extant.
Definition: xiescher.cxx:4436
This class is used to import record oriented streams.
Definition: xistream.hxx:277
bool mbSimpleMacro
true = Set automatic text margin.
Definition: xiescher.hxx:203
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1238
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2200
Base class for list controls (listbox, dropdown).
Definition: xiescher.hxx:728
bool mbHidden
true = maAnchor is initialized.
Definition: xiescher.hxx:198
Graphic maGraphic
Definition: xiescher.hxx:849
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2465
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2570
const XclImpObjTextData * FindTextData(const DffRecordHeader &rHeader) const
Finds the textbox data related to the DFF shape at the passed position.
Definition: xiescher.cxx:4059
virtual void DoProcessControl(ScfPropertySet &rPropSet) const
Derived classes will set additional properties for the current form control.
Definition: xiescher.cxx:2021
SdrPage & mrSdrPage
The SdrModel of the drawing manager.
Definition: xiescher.hxx:990
sal_uInt16 mnEntryCount
Definition: xiescher.hxx:740
virtual void DoReadObj5(XclImpStream &rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize)
Derived classes read the contents of the a BIFF5 OBJ record from the passed stream.
Definition: xiescher.cxx:815
void SvStream & rStrm
virtual XclTbxEventType DoGetEventType() const =0
Derived classes return the type of the macro event to be created.
Access to global data from other classes.
Definition: xiroot.hxx:125
void ReadChartSubStream(XclImpStream &rStrm)
Reads the complete chart substream (BOF/EOF block).
Definition: xiescher.cxx:1663
A dropdown listbox control.
Definition: xiescher.hxx:772
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1461
SvMemoryStream maDffStrm
BIFF5 objects without DFF data.
Definition: xiescher.hxx:1101
sal_uInt8 mnQuadrant
BIFF5 line formatting.
Definition: xiescher.hxx:339
virtual OUString GetObjName() const
Returns the name of this object, may generate a default name.
Definition: xiescher.cxx:393
static XclImpDrawObjRef ReadObj5(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF5 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:261
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2486
virtual void OnObjectInserted(const XclImpDrawObjBase &rDrawObj) override
On call, updates the used area of the sheet.
Definition: xiescher.cxx:4259
std::map< SCTAB, XclImpSheetDrawingRef > XclImpSheetDrawingMap
Definition: xiescher.hxx:1172
std::map< sal_uInt32, XclImpSdrInfo > XclImpSdrInfoMap
Definition: xiescher.hxx:892
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2292
virtual void ProcessClientAnchor2(SvStream &rDffStrm, DffRecordHeader &rHeader, DffObjData &rObjData) override
Reads the client anchor from the DFF stream and sets it at the correct object.
Definition: xiescher.cxx:3562
void ReadCellLinkFormula(XclImpStream &rStrm, bool bWithBoundSize)
Reads the formula for the linked cell from the current position of the stream.
Definition: xiescher.cxx:1997
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2630
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2385
A rectangle or oval object.
Definition: xiescher.hxx:283
void ConvertFillStyle(SdrObject &rSdrObj, const XclObjFillData &rFillData) const
Converts the passed fill formatting to the passed SdrObject.
Definition: xiescher.cxx:692
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2419
static Graphic ReadImgData(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads and returns a bitmap from the IMGDATA record.
Definition: xiescher.cxx:3950
void ReadFrameData(XclImpStream &rStrm)
Reads fil data, line data, and frame flags.
Definition: xiescher.cxx:1206
void ReadMsoDrawing(XclImpStream &rStrm)
Reads the MSODRAWING or MSODRAWINGSELECTION record.
Definition: xiescher.cxx:4001
sal_Int16 SCTAB
Definition: types.hxx:22
css::uno::Reference< css::form::XForm > mxCtrlForm
The solver container for connector rules.
Definition: xiescher.hxx:993
bool mbOleObjs
IDs of all objects to be skipped.
Definition: xiescher.hxx:1106
A chart object.
Definition: xiescher.hxx:402
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2492
SvMemoryStream maDggStrm
Default base names for all object types.
Definition: xiescher.hxx:1176
OUString maClassName
Picture or OLE placeholder graphic.
Definition: xiescher.hxx:850
virtual ~XclImpDrawing() override
Definition: xiescher.cxx:3946
SdrModel & mrSdrModel
Current drawing container with all drawing objects.
Definition: xiescher.hxx:989
bool mbControl
true = Show as symbol.
Definition: xiescher.hxx:857
sal_uInt16 mnObjId
The position of the object in its parent.
Definition: xiescher.hxx:189
A drawing object supporting text contents.
Definition: xiescher.hxx:377
std::vector< XclImpDrawObjRef > mObjs
Definition: xiescher.hxx:213
virtual void DoReadObj4(XclImpStream &rStrm, sal_uInt16 nMacroSize) override
Reads the contents of the a BIFF4 OBJ record from the passed stream.
Definition: xiescher.cxx:1079