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 #ifndef INCLUDED_SC_SOURCE_FILTER_INC_XIESCHER_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XIESCHER_HXX
22 
24 #include <vcl/graph.hxx>
25 #include "xlescher.hxx"
26 #include "xiroot.hxx"
27 #include <oox/ole/olehelper.hxx>
28 #include <rtl/ustring.hxx>
29 #include <svx/svdobj.hxx>
30 #include <map>
31 #include <memory>
32 #include <vector>
33 
34 namespace com::sun::star {
35  namespace drawing { class XShape; }
36  namespace form { class XForm; }
37 }
38 
39 namespace com::sun::star::container { class XNameContainer; }
40 
41 class SdrObjList;
42 class ScfProgressBar;
43 class ScfPropertySet;
44 class ScRangeList;
45 class XclImpChart;
46 class XclImpDffConverter;
47 class XclImpDrawing;
48 
49 // Drawing objects ============================================================
50 
52 typedef std::shared_ptr< XclImpDrawObjBase > XclImpDrawObjRef;
53 
55 class XclImpDrawObjBase : protected XclImpRoot
56 {
57 public:
58  explicit XclImpDrawObjBase( const XclImpRoot& rRoot );
59  virtual ~XclImpDrawObjBase() override;
60 
62  static XclImpDrawObjRef ReadObj3( const XclImpRoot& rRoot, XclImpStream& rStrm );
64  static XclImpDrawObjRef ReadObj4( const XclImpRoot& rRoot, XclImpStream& rStrm );
66  static XclImpDrawObjRef ReadObj5( const XclImpRoot& rRoot, XclImpStream& rStrm );
68  static XclImpDrawObjRef ReadObj8( const XclImpRoot& rRoot, XclImpStream& rStrm );
69 
71  void SetAreaObj( bool bAreaObj ) { mbAreaObj = bAreaObj; }
73  void SetSimpleMacro( bool bMacro ) { mbSimpleMacro = bMacro; }
74 
76  void SetAnchor( const XclObjAnchor& rAnchor );
78  void SetDffData(
79  const DffObjData& rDffObjData, const OUString& rObjName, const OUString& rHyperlink,
80  bool bVisible, bool bAutoMargin );
81 
83  void SetProcessSdrObj( bool bProcess ) { mbProcessSdr = bProcess; }
85  void SetInsertSdrObj( bool bInsert ) { mbInsertSdr = bInsert; }
87  void SetCustomDffObj( bool bCustom ) { mbCustomDff = bCustom; }
88 
90  sal_uInt16 GetObjId() const { return mnObjId; }
92  sal_uInt16 GetObjType() const { return mnObjType; }
94  virtual OUString GetObjName() const;
96  const OUString& GetMacroName() const { return maMacroName; }
97 
99  sal_uInt32 GetDffShapeId() const { return mnDffShapeId; }
101  ShapeFlag GetDffFlags() const { return mnDffFlags; }
102 
104  bool IsHidden() const { return mbHidden; }
106  bool IsVisible() const { return mbVisible; }
108  bool IsPrintable() const { return mbPrintable; }
109 
111  const XclObjAnchor* GetAnchor() const;
113  bool IsValidSize( const tools::Rectangle& rAnchorRect ) const;
115  ScRange GetUsedArea( SCTAB nScTab ) const;
116 
118  bool IsProcessSdrObj() const { return mbProcessSdr && !mbHidden; }
120  bool IsInsertSdrObj() const { return mbInsertSdr; }
121 
123  std::size_t GetProgressSize() const;
125  SdrObjectUniquePtr CreateSdrObject( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect, bool bIsDff ) const;
128  void PreProcessSdrObject( XclImpDffConverter& rDffConv, SdrObject& rSdrObj );
131  void PostProcessSdrObject( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const;
132  SCTAB GetTab() const { return mnTab; }
133 
134 protected:
136  void ReadName5( XclImpStream& rStrm, sal_uInt16 nNameLen );
138  void ReadMacro3( XclImpStream& rStrm, sal_uInt16 nMacroSize );
140  void ReadMacro4( XclImpStream& rStrm, sal_uInt16 nMacroSize );
142  void ReadMacro5( XclImpStream& rStrm, sal_uInt16 nMacroSize );
144  void ReadMacro8( XclImpStream& rStrm );
145 
147  void ConvertLineStyle( SdrObject& rSdrObj, const XclObjLineData& rLineData ) const;
149  void ConvertFillStyle( SdrObject& rSdrObj, const XclObjFillData& rFillData ) const;
151  void ConvertFrameStyle( SdrObject& rSdrObj, sal_uInt16 nFrameFlags ) const;
152 
154  Color GetSolidLineColor( const XclObjLineData& rLineData ) const;
156  Color GetSolidFillColor( const XclObjFillData& rFillData ) const;
157 
159  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize );
161  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize );
163  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize );
165  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize );
166 
168  virtual std::size_t DoGetProgressSize() const;
170  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const;
172  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const;
174  virtual void DoPostProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const;
175 
177  void NotifyMacroEventRead();
178 private:
180  void ImplReadObj3( XclImpStream& rStrm );
182  void ImplReadObj4( XclImpStream& rStrm );
184  void ImplReadObj5( XclImpStream& rStrm );
186  void ImplReadObj8( XclImpStream& rStrm );
187 
188 private:
190  sal_uInt16 mnObjId;
192  sal_uInt16 mnObjType;
193  sal_uInt32 mnDffShapeId;
195  OUString maObjName;
196  OUString maMacroName;
197  OUString maHyperlink;
198  bool mbHasAnchor;
199  bool mbHidden;
200  bool mbVisible;
201  bool mbPrintable;
202  bool mbAreaObj;
206  bool mbInsertSdr;
207  bool mbCustomDff;
209 };
210 
212 {
213 private:
214  std::vector< XclImpDrawObjRef > mObjs;
215 
216 public:
217  explicit XclImpDrawObjVector() : mObjs() {}
218 
219  std::vector< XclImpDrawObjRef >::const_iterator begin() const { return mObjs.begin(); }
220  std::vector< XclImpDrawObjRef >::const_iterator end() const { return mObjs.end(); }
221  void push_back(const XclImpDrawObjRef& rObj) { mObjs.push_back(rObj); }
222 
224  void InsertGrouped( XclImpDrawObjRef const & xDrawObj );
225 
227  std::size_t GetProgressSize() const;
228 };
229 
232 {
233 public:
234  explicit XclImpPhObj( const XclImpRoot& rRoot );
235 };
236 
238 class XclImpGroupObj final : public XclImpDrawObjBase
239 {
240 public:
241  explicit XclImpGroupObj( const XclImpRoot& rRoot );
242 
244  bool TryInsert( XclImpDrawObjRef const & xDrawObj );
245 
246 private:
248  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
250  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
252  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
254  virtual std::size_t DoGetProgressSize() const override;
256  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
257 
259  sal_uInt16 mnFirstUngrouped;
260 };
261 
263 class XclImpLineObj final : public XclImpDrawObjBase
264 {
265 public:
266  explicit XclImpLineObj( const XclImpRoot& rRoot );
267 
268 private:
270  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
272  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
274  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
276  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
277 
279  sal_uInt16 mnArrows;
281 };
282 
285 {
286 public:
287  explicit XclImpRectObj( const XclImpRoot& rRoot );
288 
289 protected:
292 
294  void ConvertRectStyle( SdrObject& rSdrObj ) const;
295 
297  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
299  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
301  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
303  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
304 
305 protected:
308  sal_uInt16 mnFrameFlags;
309 };
310 
313 {
314 public:
315  explicit XclImpOvalObj( const XclImpRoot& rRoot );
316 
317 protected:
319  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
320 };
321 
323 class XclImpArcObj final : public XclImpDrawObjBase
324 {
325 public:
326  explicit XclImpArcObj( const XclImpRoot& rRoot );
327 
328 private:
330  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
332  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
334  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
336  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
337 
341 };
342 
344 class XclImpPolygonObj final : public XclImpRectObj
345 {
346 public:
347  explicit XclImpPolygonObj( const XclImpRoot& rRoot );
348 
349 private:
352 
354  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
356  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
358  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
359 
360  typedef std::vector< Point > PointVector;
361  PointVector maCoords;
362  sal_uInt16 mnPolyFlags;
363  sal_uInt16 mnPointCount;
364 };
365 
367 {
370 
372  void ReadByteString( XclImpStream& rStrm );
374  void ReadFormats( XclImpStream& rStrm );
375 };
376 
379 {
380 public:
381  explicit XclImpTextObj( const XclImpRoot& rRoot );
382 
384  void SetTextData( const XclImpObjTextData& rTextData ) { maTextData = rTextData; }
385 
386 protected:
388  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
390  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
392  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
394  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
396  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
397 
398 protected:
400 };
401 
404 {
405 public:
407  explicit XclImpChartObj( const XclImpRoot& rRoot, bool bOwnTab = false );
408 
411 
412 protected:
414  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
416  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
418  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
420  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
422  virtual std::size_t DoGetProgressSize() const override;
424  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
426  virtual void DoPostProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
427 
428 private:
430  void FinalizeTabChart();
431 
432 private:
433  typedef std::shared_ptr< XclImpChart > XclImpChartRef;
434 
435  XclImpChartRef mxChart;
436  bool mbOwnTab;
437 };
438 
441 {
442 public:
443  explicit XclImpNoteObj( const XclImpRoot& rRoot );
444 
446  void SetNoteData( const ScAddress& rScPos, sal_uInt16 nNoteFlags );
447 
448 protected:
450  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
451 
452 private:
454  sal_uInt16 mnNoteFlags;
455 };
456 
459 {
460 public:
461  explicit XclImpControlHelper( const XclImpRoot& rRoot, XclCtrlBindMode eBindMode );
462  virtual ~XclImpControlHelper();
463 
465  bool HasCellLink() const { return mxCellLink != nullptr; }
466 
469  const css::uno::Reference< css::drawing::XShape >& rxShape,
470  const tools::Rectangle& rAnchorRect ) const;
471 
473  void ProcessControl( const XclImpDrawObjBase& rDrawObj ) const;
474 
475 protected:
477  void ReadCellLinkFormula( XclImpStream& rStrm, bool bWithBoundSize );
479  void ReadSourceRangeFormula( XclImpStream& rStrm, bool bWithBoundSize );
480 
482  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const;
483 
484  void ApplySheetLinkProps() const;
485  mutable css::uno::Reference< css::drawing::XShape >
487  std::shared_ptr< ScAddress > mxCellLink;
488 private:
490  void ReadRangeList( ScRangeList& rScRanges, XclImpStream& rStrm );
492  void ReadRangeList( ScRangeList& rScRanges, XclImpStream& rStrm, bool bWithBoundSize );
493 
494 private:
496  std::shared_ptr< ScRange > mxSrcRange;
498 };
499 
502 {
503 public:
504  explicit XclImpTbxObjBase( const XclImpRoot& rRoot );
505 
507  void SetDffProperties( const DffPropSet& rDffPropSet );
508 
510  OUString GetServiceName() const { return DoGetServiceName(); }
512  bool FillMacroDescriptor(
513  css::script::ScriptEventDescriptor& rDescriptor ) const;
514 
515 protected:
517  void ConvertFont( ScfPropertySet& rPropSet ) const;
519  void ConvertLabel( ScfPropertySet& rPropSet ) const;
520 
522  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
524  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
525 
527  virtual OUString DoGetServiceName() const = 0;
529  virtual XclTbxEventType DoGetEventType() const = 0;
530 };
531 
534 {
535 public:
536  explicit XclImpButtonObj( const XclImpRoot& rRoot );
537 
538 protected:
540  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
542  virtual OUString DoGetServiceName() const override;
544  virtual XclTbxEventType DoGetEventType() const override;
545 };
546 
549 {
550 public:
551  explicit XclImpCheckBoxObj( const XclImpRoot& rRoot );
552 
553 protected:
555  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
557  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
559  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
561  virtual OUString DoGetServiceName() const override;
563  virtual XclTbxEventType DoGetEventType() const override;
564 
565 protected:
566  sal_uInt16 mnState;
567  sal_uInt16 mnCheckBoxFlags;
568 };
569 
572 {
573 public:
574  explicit XclImpOptionButtonObj( const XclImpRoot& rRoot );
575 
576 private:
578  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
580  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
582  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
584  virtual OUString DoGetServiceName() const override;
586  virtual XclTbxEventType DoGetEventType() const override;
587 
588  sal_uInt16 mnNextInGroup;
589  sal_uInt16 mnFirstInGroup;
590 };
591 
594 {
595 public:
596  explicit XclImpLabelObj( const XclImpRoot& rRoot );
597 
598 protected:
600  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
602  virtual OUString DoGetServiceName() const override;
604  virtual XclTbxEventType DoGetEventType() const override;
605 };
606 
609 {
610 public:
611  explicit XclImpGroupBoxObj( const XclImpRoot& rRoot );
612 
613 private:
615  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
617  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
619  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
621  virtual OUString DoGetServiceName() const override;
623  virtual XclTbxEventType DoGetEventType() const override;
624 
625  sal_uInt16 mnGroupBoxFlags;
626 };
627 
630 {
631 public:
632  explicit XclImpDialogObj( const XclImpRoot& rRoot );
633 
634 protected:
636  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
638  virtual OUString DoGetServiceName() const override;
640  virtual XclTbxEventType DoGetEventType() const override;
641 };
642 
644 class XclImpEditObj final : public XclImpTbxObjBase
645 {
646 public:
647  explicit XclImpEditObj( const XclImpRoot& rRoot );
648 
649 private:
651  bool IsNumeric() const;
652 
654  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
656  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
658  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
660  virtual OUString DoGetServiceName() const override;
662  virtual XclTbxEventType DoGetEventType() const override;
663 
664  sal_uInt16 mnContentType;
665  sal_uInt16 mnMultiLine;
666  sal_uInt16 mnScrollBar;
667  sal_uInt16 mnListBoxObjId;
668 };
669 
672 {
673 public:
674  explicit XclImpTbxObjScrollableBase( const XclImpRoot& rRoot );
675 
676 protected:
678  void ReadSbs( XclImpStream& rStrm );
679 
681  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
682 
683 protected:
684  sal_uInt16 mnValue;
685  sal_uInt16 mnMin;
686  sal_uInt16 mnMax;
687  sal_uInt16 mnStep;
688  sal_uInt16 mnPageStep;
689  sal_uInt16 mnOrient;
690  sal_uInt16 mnThumbWidth;
691  sal_uInt16 mnScrollFlags;
692 };
693 
696 {
697 public:
698  explicit XclImpSpinButtonObj( const XclImpRoot& rRoot );
699 
700 protected:
702  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
704  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
706  virtual OUString DoGetServiceName() const override;
708  virtual XclTbxEventType DoGetEventType() const override;
709 };
710 
713 {
714 public:
715  explicit XclImpScrollBarObj( const XclImpRoot& rRoot );
716 
717 protected:
719  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
721  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
723  virtual OUString DoGetServiceName() const override;
725  virtual XclTbxEventType DoGetEventType() const override;
726 };
727 
730 {
731 public:
732  explicit XclImpTbxObjListBase( const XclImpRoot& rRoot );
733 
734 protected:
736  void ReadLbsData( XclImpStream& rStrm );
738  void SetBoxFormatting( ScfPropertySet& rPropSet ) const;
739 
740 protected:
741  sal_uInt16 mnEntryCount;
742  sal_uInt16 mnSelEntry;
743  sal_uInt16 mnListFlags;
744  sal_uInt16 mnEditObjId;
746 };
747 
750 {
751 public:
752  explicit XclImpListBoxObj( const XclImpRoot& rRoot );
753 
754 private:
756  void ReadFullLbsData( XclImpStream& rStrm, std::size_t nRecLeft );
757 
759  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
761  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
763  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
765  virtual OUString DoGetServiceName() const override;
767  virtual XclTbxEventType DoGetEventType() const override;
768 
770 };
771 
774 {
775 public:
776  explicit XclImpDropDownObj( const XclImpRoot& rRoot );
777 
778 private:
780  sal_uInt16 GetDropDownType() const;
781 
784 
786  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
788  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
790  virtual void DoProcessControl( ScfPropertySet& rPropSet ) const override;
792  virtual OUString DoGetServiceName() const override;
794  virtual XclTbxEventType DoGetEventType() const override;
795 
796  sal_uInt16 mnLeft;
797  sal_uInt16 mnTop;
798  sal_uInt16 mnRight;
799  sal_uInt16 mnBottom;
800  sal_uInt16 mnDropDownFlags;
801  sal_uInt16 mnLineCount;
802  sal_uInt16 mnMinWidth;
803 };
804 
807 {
808 public:
809  explicit XclImpPictureObj( const XclImpRoot& rRoot );
811  virtual OUString GetObjName() const override;
813  const Graphic& GetGraphic() const { return maGraphic; }
814 
816  bool IsSymbol() const { return mbSymbol; }
818  OUString GetOleStorageName() const;
819 
821  bool IsOcxControl() const { return mbEmbedded && mbControl && mbUseCtlsStrm; }
823  std::size_t GetCtlsStreamPos() const { return mnCtlsStrmPos; }
825  std::size_t GetCtlsStreamSize() const { return mnCtlsStrmSize; }
826 
827 protected:
829  virtual void DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
831  virtual void DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize ) override;
833  virtual void DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_uInt16 nMacroSize ) override;
835  virtual void DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId, sal_uInt16 nSubRecSize ) override;
837  virtual SdrObjectUniquePtr DoCreateSdrObj( XclImpDffConverter& rDffConv, const tools::Rectangle& rAnchorRect ) const override;
839  virtual void DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const override;
840 
841 private:
843  void ReadFlags3( XclImpStream& rStrm );
845  void ReadFlags8( XclImpStream& rStrm );
847  void ReadPictFmla( XclImpStream& rStrm, sal_uInt16 nLinkSize );
848 
849 private:
851  OUString maClassName;
852  sal_uInt32 mnStorageId;
853  std::size_t mnCtlsStrmPos;
854  std::size_t mnCtlsStrmSize;
855  bool mbEmbedded;
856  bool mbLinked;
857  bool mbSymbol;
858  bool mbControl;
860 };
861 
862 // DFF stream conversion ======================================================
863 
866 {
867 public:
868 
870  void InsertSdrObjectInfo( SdrObject& rSdrObj, sal_uInt32 nDffShapeId, ShapeFlag nDffFlags );
872  void RemoveSdrObjectInfo( SdrObject& rSdrObj );
873 
875  void UpdateConnectorRules();
877  void RemoveConnectorRules();
878 
879 private:
881  void UpdateConnection( sal_uInt32 nDffShapeId, SdrObject*& rpSdrObj, ShapeFlag* pnDffFlags = nullptr );
882 
883 private:
886  {
889  explicit XclImpSdrInfo() : mpSdrObj( nullptr ), mnDffFlags( ShapeFlag::NONE ) {}
890  void Set( SdrObject* pSdrObj, ShapeFlag nDffFlags )
891  { mpSdrObj = pSdrObj; mnDffFlags = nDffFlags; }
892  };
893  typedef std::map< sal_uInt32, XclImpSdrInfo > XclImpSdrInfoMap;
894  typedef std::map< SdrObject*, sal_uInt32 > XclImpSdrObjMap;
895 
896  XclImpSdrInfoMap maSdrInfoMap;
897  XclImpSdrObjMap maSdrObjMap;
898 };
899 
904 {
905 public:
906  explicit XclImpSimpleDffConverter( const XclImpRoot& rRoot, SvStream& rDffStrm );
907  virtual ~XclImpSimpleDffConverter() override;
908 
909 protected:
911  virtual bool GetColorFromPalette( sal_uInt16 nIndex, Color& rColor ) const override;
912 };
913 
922 {
923 public:
924  explicit XclImpDffConverter( const XclImpRoot& rRoot, SvStream& rDffStrm );
925  virtual ~XclImpDffConverter() override;
926 
928  void StartProgressBar( std::size_t nProgressSize );
930  void Progress( std::size_t nDelta = 1 );
931 
933  void InitializeDrawing( XclImpDrawing& rDrawing, SdrModel& rSdrModel, SdrPage& rSdrPage );
935  void ProcessObject( SdrObjList& rObjList, XclImpDrawObjBase& rDrawObj );
937  void ProcessDrawing( const XclImpDrawObjVector& rDrawObjs );
939  void ProcessDrawing( SvStream& rDffStrm );
941  void FinalizeDrawing();
942 
944  SdrObjectUniquePtr CreateSdrObject( const XclImpTbxObjBase& rTbxObj, const tools::Rectangle& rAnchorRect );
946  SdrObjectUniquePtr CreateSdrObject( const XclImpPictureObj& rPicObj, const tools::Rectangle& rAnchorRect );
947 
949  bool SupportsOleObjects() const;
951  sal_Int32 GetDefaultTextMargin() const { return mnDefTextMargin; }
952 
953 private:
954  // virtual functions of SvxMSDffManager
955 
957  virtual void ProcessClientAnchor2(
958  SvStream& rDffStrm,
959  DffRecordHeader& rHeader,
960  DffObjData& rObjData ) override;
962  virtual SdrObject* ProcessObj(
963  SvStream& rDffStrm,
964  DffObjData& rDffObjData,
965  SvxMSDffClientData& rClientData,
966  tools::Rectangle& rTextRect,
967  SdrObject* pOldSdrObj ) override;
968 
970  virtual SdrObject* FinalizeObj(
971  DffObjData& rDffObjData,
972  SdrObject* pOldSdrObj ) override;
973 
974  // virtual functions of SvxMSConvertOCXControls
975 
977  virtual bool InsertControl(
978  const css::uno::Reference<
979  css::form::XFormComponent >& rxFormComp,
980  const css::awt::Size& rSize,
981  css::uno::Reference<
982  css::drawing::XShape >* pxShape,
983  bool bFloatingCtrl ) override;
984 
985 private:
988  {
993  css::uno::Reference< css::form::XForm >
995  sal_Int32 mnLastCtrlIndex;
997 
998  explicit XclImpDffConvData( XclImpDrawing& rDrawing,
999  SdrModel& rSdrModel, SdrPage& rSdrPage );
1000  };
1001 
1005  const XclImpDffConvData& GetConvData() const;
1006 
1008  OUString ReadHlinkProperty( SvStream& rDffStrm ) const;
1009 
1011  bool ProcessDgContainer( SvStream& rDffStrm, const DffRecordHeader& rDgHeader );
1013  bool ProcessShGrContainer( SvStream& rDffStrm, const DffRecordHeader& rShGrHeader );
1015  bool ProcessSolverContainer( SvStream& rDffStrm, const DffRecordHeader& rSolverHeader );
1017  bool ProcessShContainer( SvStream& rDffStrm, const DffRecordHeader& rShHeader );
1018 
1020  void InsertSdrObject( SdrObjList& rObjList, const XclImpDrawObjBase& rDrawObj, SdrObject* pSdrObj );
1022  void InitControlForm();
1024  void NotifyMacroEventRead();
1025 
1026 private:
1027  typedef std::shared_ptr< ScfProgressBar > ScfProgressBarRef;
1028  typedef std::shared_ptr< XclImpDffConvData > XclImpDffConvDataRef;
1029 
1031  ScfProgressBarRef mxProgress;
1032  std::vector< XclImpDffConvDataRef >
1034  sal_uInt32 mnOleImpFlags;
1035  sal_Int32 mnDefTextMargin;
1037 };
1038 
1039 // Drawing manager ============================================================
1040 
1043 class XclImpDrawing : protected XclImpRoot
1044 {
1045 public:
1046  explicit XclImpDrawing( const XclImpRoot& rRoot, bool bOleObjects );
1047  virtual ~XclImpDrawing() override;
1048 
1050  static Graphic ReadImgData( const XclImpRoot& rRoot, XclImpStream& rStrm );
1051 
1053  void ReadObj( XclImpStream& rStrm );
1055  void ReadMsoDrawing( XclImpStream& rStrm );
1056 
1058  bool SupportsOleObjects() const { return mbOleObjs; }
1060  XclImpDrawObjRef FindDrawObj( const DffRecordHeader& rHeader ) const;
1062  XclImpDrawObjRef FindDrawObj( sal_uInt16 nObjId ) const;
1064  const XclImpObjTextData* FindTextData( const DffRecordHeader& rHeader ) const;
1065 
1067  void SetSkipObj( sal_uInt16 nObjId );
1069  std::size_t GetProgressSize() const;
1070 
1072  virtual tools::Rectangle CalcAnchorRect( const XclObjAnchor& rAnchor, bool bDffAnchor ) const = 0;
1074  virtual void OnObjectInserted( const XclImpDrawObjBase& rDrawObj ) = 0;
1075 
1076 protected:
1078  void AppendRawObject( const XclImpDrawObjRef& rxDrawObj );
1080  void ImplConvertObjects( XclImpDffConverter& rDffConv, SdrModel& rSdrModel, SdrPage& rSdrPage );
1081 
1082 private:
1084  static void ReadWmf( Graphic& rGraphic, XclImpStream& rStrm );
1086  static void ReadBmp( Graphic& rGraphic, const XclImpRoot& rRoot, XclImpStream& rStrm );
1087 
1089  void ReadDffRecord( XclImpStream& rStrm );
1091  void ReadObj8( XclImpStream& rStrm );
1093  void ReadTxo( XclImpStream& rStrm );
1094 
1095 private:
1096  typedef std::map< std::size_t, XclImpDrawObjRef > XclImpObjMap;
1097  typedef std::map< sal_uInt16, XclImpDrawObjRef > XclImpObjMapById;
1098  typedef std::shared_ptr< XclImpObjTextData > XclImpObjTextRef;
1099  typedef std::map< std::size_t, XclImpObjTextRef > XclImpObjTextMap;
1100 
1103  XclImpObjMap maObjMap;
1104  XclImpObjMapById maObjMapId;
1105  XclImpObjTextMap maTextMap;
1107  bool mbOleObjs;
1108 };
1109 
1112 {
1113 public:
1114  explicit XclImpSheetDrawing( const XclImpRoot& rRoot, SCTAB nScTab );
1115 
1117  void ReadNote( XclImpStream& rStrm );
1120  void ReadTabChart( XclImpStream& rStrm );
1121 
1123  const ScRange& GetUsedArea() const { return maScUsedArea; }
1125  void ConvertObjects( XclImpDffConverter& rDffConv );
1126 
1128  virtual tools::Rectangle CalcAnchorRect( const XclObjAnchor& rAnchor, bool bDffAnchor ) const override;
1130  virtual void OnObjectInserted( const XclImpDrawObjBase& rDrawObj ) override;
1131 
1132 private:
1134  void ReadNote3( XclImpStream& rStrm );
1136  void ReadNote8( XclImpStream& rStrm );
1137 
1138 private:
1140 };
1141 
1142 // The object manager =========================================================
1143 
1146 {
1147 public:
1148  explicit XclImpObjectManager( const XclImpRoot& rRoot );
1149  virtual ~XclImpObjectManager() override;
1150 
1153 
1157  void ConvertObjects();
1158 
1160  OUString GetDefaultObjName( const XclImpDrawObjBase& rDrawObj ) const;
1162  ScRange GetUsedArea( SCTAB nScTab ) const;
1165  void SetOleNameOverrideInfo( const css::uno::Reference< css::container::XNameContainer >& rxOverrideInfo ) { mxOleCtrlNameOverride = rxOverrideInfo; }
1168  OUString GetOleNameOverride( SCTAB nTab, sal_uInt16 nObjId );
1169 
1170 private:
1171  typedef std::map< sal_uInt16, OUString > DefObjNameMap;
1172  typedef std::shared_ptr< XclImpSheetDrawing > XclImpSheetDrawingRef;
1173  typedef std::map< SCTAB, XclImpSheetDrawingRef > XclImpSheetDrawingMap;
1174 
1175  css::uno::Reference< css::container::XNameContainer > mxOleCtrlNameOverride;
1176  DefObjNameMap maDefObjNames;
1178  XclImpSheetDrawingMap maSheetDrawings;
1179 };
1180 
1181 // DFF property set helper ====================================================
1182 
1188 class XclImpDffPropSet : protected XclImpRoot
1189 {
1190 public:
1191  explicit XclImpDffPropSet( const XclImpRoot& rRoot );
1192 
1195  void Read( XclImpStream& rStrm );
1196 
1198  sal_uInt32 GetPropertyValue( sal_uInt16 nPropId ) const;
1199 
1201  void FillToItemSet( SfxItemSet& rItemSet ) const;
1202 
1203 private:
1204  typedef std::unique_ptr<SvMemoryStream> SvMemoryStreamPtr;
1205 
1208  SvMemoryStreamPtr mxMemStrm;
1209 };
1210 
1212 
1213 #endif
1214 
1215 /* 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:3341
void ProcessObject(SdrObjList &rObjList, XclImpDrawObjBase &rDrawObj)
Processes BIFF5 drawing objects without DFF data, inserts into the passed object list.
Definition: xiescher.cxx:3361
std::map< SdrObject *, sal_uInt32 > XclImpSdrObjMap
Definition: xiescher.hxx:894
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:2825
void ConvertLabel(ScfPropertySet &rPropSet) const
Sets control label and text formatting.
Definition: xiescher.cxx:2085
void ReadFullLbsData(XclImpStream &rStrm)
Reads dropdown box settings.
Definition: xiescher.cxx:2812
std::size_t GetProgressSize() const
Returns the needed size on the progress bar for all contained objects.
Definition: xiescher.cxx:983
std::map< std::size_t, XclImpObjTextRef > XclImpObjTextMap
Definition: xiescher.hxx:1099
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1040
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:1165
XclImpObjTextData maTextData
Definition: xiescher.hxx:399
XclImpDropDownObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2795
::std::vector< sal_uInt8 > ScfUInt8Vec
Definition: ftools.hxx:251
virtual ~XclImpSimpleDffConverter() override
Definition: xiescher.cxx:3273
std::vector< Point > PointVector
Definition: xiescher.hxx:360
OUString ReadHlinkProperty(SvStream &rDffStrm) const
Reads contents of a hyperlink property and returns the extracted URL.
Definition: xiescher.cxx:3745
SvMemoryStream maDummyStrm
Definition: xiescher.hxx:1206
XclImpPhObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:989
bool SupportsOleObjects() const
Returns true, if the conversion of OLE objects is supported.
Definition: xiescher.cxx:3530
Helper base class for TBX and OCX form controls to manage spreadsheet links.
Definition: xiescher.hxx:458
sal_Int32 nIndex
Drawing manager of a single sheet.
Definition: xiescher.hxx:1111
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:2425
std::vector< XclImpDrawObjRef >::const_iterator end() const
Definition: xiescher.hxx:220
bool IsProcessSdrObj() const
Returns true, if the object is valid and will be processed.
Definition: xiescher.hxx:118
A note object, which is a specialized text box object.
Definition: xiescher.hxx:440
XclImpButtonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2128
std::map< sal_uInt16, XclImpDrawObjRef > XclImpObjMapById
Definition: xiescher.hxx:1097
void SetDffData(const DffObjData &rDffObjData, const OUString &rObjName, const OUString &rHyperlink, bool bVisible, bool bAutoMargin)
Sets shape data from DFF stream.
Definition: xiescher.cxx:380
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2450
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2856
std::size_t GetProgressSize() const
Returns the needed size on the progress bar (calls virtual DoGetProgressSize() function).
Definition: xiescher.cxx:429
XclImpTbxObjBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2034
const OUString & GetMacroName() const
Returns associated macro name, if set, otherwise zero length string.
Definition: xiescher.hxx:96
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:3676
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:2308
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:2289
const XclImpRoot & mrRoot
Definition: xiescher.hxx:495
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2628
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Inserts the contained text data at the passed object.
Definition: xiescher.cxx:1488
Stores all drawing and OLE objects and additional data related to these objects.
Definition: xiescher.hxx:1145
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2460
void FinalizeTabChart()
Calculates the object anchor of a sheet chart (chart fills one page).
Definition: xiescher.cxx:1793
virtual std::size_t DoGetProgressSize() const override
Returns a progress bar size that takes all group children into account.
Definition: xiescher.cxx:1035
std::shared_ptr< ScRange > mxSrcRange
Not derived from XclImpRoot to allow multiple inheritance.
Definition: xiescher.hxx:496
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Inserts the note into the document, sets visibility.
Definition: xiescher.cxx:1843
std::shared_ptr< XclImpChart > XclImpChartRef
Definition: xiescher.hxx:433
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2133
XclImpSpinButtonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2596
XclImpLineObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1053
sal_Int32 GetDefaultTextMargin() const
Returns the default text margin in drawing layer units.
Definition: xiescher.hxx:951
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:3576
A polygon object.
Definition: xiescher.hxx:344
void NotifyMacroEventRead()
Notify that this document contains a macro event handler.
Definition: xiescher.cxx:3410
sal_uInt16 mnContentType
Definition: xiescher.hxx:664
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:1719
XclImpNoteObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1827
XclImpObjMap maObjMap
Copy of the DFF page stream in memory.
Definition: xiescher.hxx:1103
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:565
XclImpChartObj(const XclImpRoot &rRoot, bool bOwnTab=false)
Definition: xiescher.cxx:1639
sal_uInt16 mnSelEntry
Definition: xiescher.hxx:742
XclImpTextObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1437
A group object.
Definition: xiescher.hxx:238
XclImpSdrInfo()
Shape flags from DFF stream.
Definition: xiescher.hxx:889
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:2940
XclImpListBoxObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2706
void ImplReadObj4(XclImpStream &rStrm)
Reads the contents of a BIFF4 OBJ record.
Definition: xiescher.cxx:862
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:817
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:1870
Base class for textbox based form controls.
Definition: xiescher.hxx:501
std::shared_ptr< XclImpDffConvData > XclImpDffConvDataRef
Definition: xiescher.hxx:1028
ShapeFlag GetDffFlags() const
Returns the shape flags from the DFF stream.
Definition: xiescher.hxx:101
XclImpDrawing(const XclImpRoot &rRoot, bool bOleObjects)
Definition: xiescher.cxx:3905
Color GetSolidLineColor(const XclObjLineData &rLineData) const
Returns a solid line color from the passed line data struct.
Definition: xiescher.cxx:771
void Set(SdrObject *pSdrObj, ShapeFlag nDffFlags)
Definition: xiescher.hxx:890
void ReadFlags3(XclImpStream &rStrm)
Reads and sets the picture flags from a BIFF3-BIFF5 OBJ picture record.
Definition: xiescher.cxx:3079
ScfProgressBarRef mxProgress
The 'Ctls' stream for OCX form controls.
Definition: xiescher.hxx:1031
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2277
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:1442
A button control.
Definition: xiescher.hxx:533
void ConvertObjects()
Inserts all objects into the Calc document.
Definition: xiescher.cxx:4334
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2785
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:1359
std::shared_ptr< ScAddress > mxCellLink
The UNO wrapper of the control shape.
Definition: xiescher.hxx:487
bool mbHasCtrlForm
Last insertion index of a form control (for macro events).
Definition: xiescher.hxx:996
Color GetSolidFillColor(const XclObjFillData &rFillData) const
Returns a solid fill color from the passed fill data struct.
Definition: xiescher.cxx:787
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1471
std::unique_ptr< SvMemoryStream > SvMemoryStreamPtr
Definition: xiescher.hxx:1204
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:2115
void InsertSdrObjectInfo(SdrObject &rSdrObj, sal_uInt32 nDffShapeId, ShapeFlag nDffFlags)
Inserts information about a new SdrObject.
Definition: xiescher.cxx:3206
bool mbUseCtlsStrm
true = Form control, false = OLE object.
Definition: xiescher.hxx:859
ScRange GetUsedArea(SCTAB nScTab) const
Returns the used area in the sheet with the passed index.
Definition: xiescher.cxx:4365
A label control.
Definition: xiescher.hxx:593
XclImpObjTextMap maTextMap
Maps BIFF8 drawing objects to object ID.
Definition: xiescher.hxx:1105
bool IsSymbol() const
Returns true, if the OLE object will be shown as symbol.
Definition: xiescher.hxx:816
void ReadFullLbsData(XclImpStream &rStrm, std::size_t nRecLeft)
Reads listbox settings and selection.
Definition: xiescher.cxx:2711
const ScRange & GetUsedArea() const
Returns the total cell range covered by any shapes in the sheet.
Definition: xiescher.hxx:1123
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:2955
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:1061
sal_uInt16 mnState
Definition: xiescher.hxx:566
sal_uInt16 mnLeft
Definition: xiescher.hxx:796
void ImplConvertObjects(XclImpDffConverter &rDffConv, SdrModel &rSdrModel, SdrPage &rSdrPage)
Converts all objects and inserts them into the current drawing page.
Definition: xiescher.cxx:4049
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1393
void ReadMacro8(XclImpStream &rStrm)
Reads the contents of the ftMacro sub structure in an OBJ record.
Definition: xiescher.cxx:605
void Progress(std::size_t nDelta=1)
Increase the progress bar by the passed value.
Definition: xiescher.cxx:3348
void InitControlForm()
Initializes the mxCtrlForm referring to the standard controls form.
Definition: xiescher.cxx:3876
XclObjAnchor maAnchor
Definition: xiescher.hxx:189
OUString maHyperlink
Name of an attached macro.
Definition: xiescher.hxx:197
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:85
bool mbNotifyMacroEventRead
Default margin in text boxes.
Definition: xiescher.hxx:1036
XclImpStream & operator>>(XclImpStream &rStrm, XclImpDffPropSet &rPropSet)
Definition: xiescher.cxx:4407
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2522
std::size_t GetProgressSize() const
Returns the size of the progress bar shown while processing all objects.
Definition: xiescher.cxx:4043
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:1210
XclImpDrawObjBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:162
A picture, an embedded or linked OLE object, or an OCX form control.
Definition: xiescher.hxx:806
void ReadRangeList(ScRangeList &rScRanges, XclImpStream &rStrm)
Linked cell in the Calc document.
Definition: xiescher.cxx:2005
virtual std::size_t DoGetProgressSize() const
Derived classes may return a progress bar size different from 1.
Definition: xiescher.cxx:821
XclImpDrawObjRef FindDrawObj(const DffRecordHeader &rHeader) const
Finds the OBJ record data related to the DFF shape at the passed position.
Definition: xiescher.cxx:4000
An oval object.
Definition: xiescher.hxx:312
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const
Derived classes may perform additional processing for the passed SdrObject before insertion...
Definition: xiescher.cxx:832
void SetCustomDffObj(bool bCustom)
If set to true, a new SdrObject will be created while in DFF import.
Definition: xiescher.hxx:87
void RemoveSdrObjectInfo(SdrObject &rSdrObj)
Removes information of an SdrObject (and all child objects if it is a group).
Definition: xiescher.cxx:3215
XclImpSolverContainer maSolverCont
The SdrPage of the drawing manager.
Definition: xiescher.hxx:992
sal_Int32 mnLastCtrlIndex
Controls form of current drawing page.
Definition: xiescher.hxx:995
bool TryInsert(XclImpDrawObjRef const &xDrawObj)
Tries to insert the drawing object into this or a nested group.
Definition: xiescher.cxx:1001
void ImplReadObj5(XclImpStream &rStrm)
Reads the contents of a BIFF5 OBJ record.
Definition: xiescher.cxx:882
OUString GetServiceName() const
Returns the service name of the control component to be created.
Definition: xiescher.hxx:510
sal_uInt16 mnListFlags
Definition: xiescher.hxx:743
XclImpSdrInfoMap maSdrInfoMap
Definition: xiescher.hxx:896
NONE
ScfUInt16Vec maSkipObjs
Maps BIFF8 TXO textbox data to DFF stream position.
Definition: xiescher.hxx:1106
bool ProcessShGrContainer(SvStream &rDffStrm, const DffRecordHeader &rShGrHeader)
Processes the global shape group container (all shapes of a sheet).
Definition: xiescher.cxx:3807
sal_uInt32 mnDffShapeId
The Excel object type from OBJ record.
Definition: xiescher.hxx:193
static XclImpDrawObjRef ReadObj8(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF8 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:308
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:1684
Stores data about an SdrObject processed during import.
Definition: xiescher.hxx:885
std::map< sal_uInt16, OUString > DefObjNameMap
Definition: xiescher.hxx:1171
void ConvertRectStyle(SdrObject &rSdrObj) const
Converts fill formatting, line formatting, and frame style.
Definition: xiescher.cxx:1203
void ImplReadObj8(XclImpStream &rStrm)
Reads the contents of a BIFF8 OBJ record.
Definition: xiescher.cxx:904
bool mbProcessSdr
true = Create simple macro link and hyperlink.
Definition: xiescher.hxx:205
void ReadObj(XclImpStream &rStrm)
Reads a plain OBJ record (without leading DFF data).
Definition: xiescher.cxx:3933
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2543
void AppendRawObject(const XclImpDrawObjRef &rxDrawObj)
Appends a new drawing object to the list of raw objects (without DFF data).
Definition: xiescher.cxx:4072
virtual OUString GetObjName() const override
Returns the ObjectName - can use non-obvious lookup for override in the associated vba document modul...
Definition: xiescher.cxx:3026
OUString GetDefaultObjName(const XclImpDrawObjBase &rDrawObj) const
Returns the default name for the passed object.
Definition: xiescher.cxx:4356
std::shared_ptr< XclImpDrawObjBase > XclImpDrawObjRef
Definition: xiescher.hxx:51
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2380
void ImplReadObj3(XclImpStream &rStrm)
Reads the contents of a BIFF3 OBJ record.
Definition: xiescher.cxx:843
css::uno::Reference< css::drawing::XShape > mxShape
Definition: xiescher.hxx:486
XclImpStringRef mxString
BIFF5 text data.
Definition: xiescher.hxx:369
A line object.
Definition: xiescher.hxx:263
XclCtrlBindMode
Automatic fill formatting.
Definition: xlescher.hxx:234
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:2601
void RemoveConnectorRules()
Removes all contained connector rules.
Definition: xiescher.cxx:3248
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2668
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object)...
Definition: xiescher.hxx:1043
bool mbCustomDff
true = Insert the SdrObject into draw page.
Definition: xiescher.hxx:207
XclImpDffPropSet(const XclImpRoot &rRoot)
Definition: xiescher.cxx:4375
XclTbxEventType
Definition: xlescher.hxx:406
A spinbutton control.
Definition: xiescher.hxx:695
bool IsPrintable() const
Returns true, if the object is printable.
Definition: xiescher.hxx:108
XclImpOptionButtonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2282
SvMemoryStreamPtr mxMemStrm
DFF converter used to resolve palette colors.
Definition: xiescher.hxx:1208
A checkbox control.
Definition: xiescher.hxx:548
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2890
void ReadTxo(XclImpStream &rStrm)
Reads the TXO record and following CONTINUE records containing string and formatting.
Definition: xiescher.cxx:4148
void SetProcessSdrObj(bool bProcess)
If set to false, the SdrObject will not be created, processed, or inserted into the draw page...
Definition: xiescher.hxx:83
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:1010
virtual void DoPostProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Converts the chart document.
Definition: xiescher.cxx:1775
void ReadByteString(XclImpStream &rStrm)
Plain or rich string.
Definition: xiescher.cxx:1418
sal_Int32 mnDefTextMargin
Application OLE import settings.
Definition: xiescher.hxx:1035
void ReadName5(XclImpStream &rStrm, sal_uInt16 nNameLen)
Reads the object name in a BIFF5 OBJ record.
Definition: xiescher.cxx:573
XclImpLabelObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2375
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:2214
void ReadMacro3(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Reads the macro link in a BIFF3 OBJ record.
Definition: xiescher.cxx:585
A listbox control.
Definition: xiescher.hxx:749
void NotifyMacroEventRead()
Notify that the document contains a macro event handler.
Definition: xiescher.cxx:515
PointVector maCoords
Definition: xiescher.hxx:361
bool mbVisible
true = Object is hidden.
Definition: xiescher.hxx:200
sal_uInt16 mnMultiLine
Definition: xiescher.hxx:665
virtual ~XclImpDrawObjBase() override
Definition: xiescher.cxx:183
Data per registered drawing manager, will be stacked for recursive calls.
Definition: xiescher.hxx:987
OUString GetOleStorageName() const
Returns the storage name for the OLE object.
Definition: xiescher.cxx:2912
ScfUInt8Vec maSelection
Definition: xiescher.hxx:769
XclImpGroupObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:995
void InsertSdrObject(SdrObjList &rObjList, const XclImpDrawObjBase &rDrawObj, SdrObject *pSdrObj)
Inserts the passed SdrObject into the document.
Definition: xiescher.cxx:3856
bool mbAreaObj
true = Object is printable.
Definition: xiescher.hxx:202
void ReadSourceRangeFormula(XclImpStream &rStrm, bool bWithBoundSize)
Reads the formula for the source range from the current position of the stream.
Definition: xiescher.cxx:1989
XclImpSheetDrawing & GetSheetDrawing(SCTAB nScTab)
Returns (initially creates) the drawing manager of the specified sheet.
Definition: xiescher.cxx:4326
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:3418
void ConvertObjects(XclImpDffConverter &rDffConv)
Converts all objects and inserts them into the sheet drawing page.
Definition: xiescher.cxx:4212
void ReadObj8(XclImpStream &rStrm)
Reads a BIFF8 OBJ record following an MSODRAWING record.
Definition: xiescher.cxx:4140
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:1695
void SetAnchor(const XclObjAnchor &rAnchor)
Sets the object anchor explicitly.
Definition: xiescher.cxx:374
Base class of scrollable form controls (spin button, scrollbar, listbox, dropdown).
Definition: xiescher.hxx:671
std::vector< XclImpDffConvDataRef > maDataStack
The progress bar used in ProcessObj().
Definition: xiescher.hxx:1033
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:2491
sal_uInt16 mnPolyFlags
Coordinates relative to bounding rectangle.
Definition: xiescher.hxx:362
sal_uInt16 mnFrameFlags
BIFF5 line formatting.
Definition: xiescher.hxx:308
void UpdateConnection(sal_uInt32 nDffShapeId, SdrObject *&rpSdrObj, ShapeFlag *pnDffFlags=nullptr)
Updates the data of a connected shape in a connector rule.
Definition: xiescher.cxx:3255
SCTAB GetTab() const
Definition: xiescher.hxx:132
std::vector< XclImpDrawObjRef >::const_iterator begin() const
Definition: xiescher.hxx:219
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:1460
sal_uInt16 mnFirstInGroup
Next option button in a group.
Definition: xiescher.hxx:589
bool FillMacroDescriptor(css::script::ScriptEventDescriptor &rDescriptor) const
Fills the passed macro event descriptor.
Definition: xiescher.cxx:2068
ShapeFlag
sal_uInt16 mnLineCount
Definition: xiescher.hxx:801
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:1280
Base class for drawing objects (OBJ records).
Definition: xiescher.hxx:55
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2321
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:1026
void SetNoteData(const ScAddress &rScPos, sal_uInt16 nNoteFlags)
Sets note flags and the note position in the Calc sheet.
Definition: xiescher.cxx:1837
bool ProcessShContainer(SvStream &rDffStrm, const DffRecordHeader &rShHeader)
Processes a shape or shape group container (one top-level shape).
Definition: xiescher.cxx:3839
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2394
virtual std::size_t DoGetProgressSize() const override
Returns the needed size on the progress bar.
Definition: xiescher.cxx:1733
bool mbLinked
true = Embedded OLE object.
Definition: xiescher.hxx:856
void ProcessControl(const XclImpDrawObjBase &rDrawObj) const
Sets additional properties to the form control model, calls virtual DoProcessControl().
Definition: xiescher.cxx:1956
XclImpGroupBoxObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2404
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:3698
void ProcessDrawing(const XclImpDrawObjVector &rDrawObjs)
Processes all objects in the passed list.
Definition: xiescher.cxx:3381
tools::SvRef< SotStorageStream > mxCtlsStrm
Definition: xiescher.hxx:1030
void ReadNote(XclImpStream &rStrm)
Reads the NOTE record.
Definition: xiescher.cxx:4185
sal_uInt16 mnFirstUngrouped
Grouped objects.
Definition: xiescher.hxx:259
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:2638
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2623
A placeholder object for unknown object types.
Definition: xiescher.hxx:231
sal_uInt16 mnPointCount
Additional flags.
Definition: xiescher.hxx:363
void InsertGrouped(XclImpDrawObjRef const &xDrawObj)
Tries to insert the passed object into the last group or appends it.
Definition: xiescher.cxx:974
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2663
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:1370
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:2721
void ReadMacro5(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Reads the macro link in a BIFF5 OBJ record.
Definition: xiescher.cxx:599
void FinalizeDrawing()
Finally called after the objects of the passed drawing manager have been converted.
Definition: xiescher.cxx:3401
sal_uInt16 mnObjType
Location of object.
Definition: xiescher.hxx:192
XclCtrlBindMode meBindMode
Source data range in the Calc document.
Definition: xiescher.hxx:497
XclImpObjectManager(const XclImpRoot &rRoot)
Definition: xiescher.cxx:4286
An option button control.
Definition: xiescher.hxx:571
sal_uInt16 mnListBoxObjId
Definition: xiescher.hxx:667
A scrollbar control.
Definition: xiescher.hxx:712
virtual tools::Rectangle CalcAnchorRect(const XclObjAnchor &rAnchor, bool bDffAnchor) const override
Calculate the resulting rectangle of the passed anchor.
Definition: xiescher.cxx:4219
void Read(XclImpStream &rStrm)
Reads a DFF property set from the stream.
Definition: xiescher.cxx:4381
XclObjLineData maLineData
BIFF5 fill formatting.
Definition: xiescher.hxx:339
An edit control.
Definition: xiescher.hxx:644
ShapeFlag mnDffFlags
Pointer to an SdrObject.
Definition: xiescher.hxx:888
sal_uInt16 mnBottom
Definition: xiescher.hxx:799
SCTAB mnTab
The object identifier (unique per drawing).
Definition: xiescher.hxx:191
virtual ~XclImpDffConverter() override
Definition: xiescher.cxx:3322
sal_uInt16 mnGroupBoxFlags
Definition: xiescher.hxx:625
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xichart.hxx:1394
Simple implementation of the SVX DFF manager.
Definition: xiescher.hxx:903
XclImpDialogObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2455
bool mbNotifyMacroEventRead
true = Recreate SdrObject in DFF import.
Definition: xiescher.hxx:208
void ReadFormats(XclImpStream &rStrm)
Reads text formatting from the passed stream.
Definition: xiescher.cxx:1429
void ReadSbs(XclImpStream &rStrm)
Reads scrollbar data.
Definition: xiescher.cxx:2568
bool IsHidden() const
Returns true, if the object is hidden.
Definition: xiescher.hxx:104
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:284
XclImpCheckBoxObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2190
std::shared_ptr< XclImpSheetDrawing > XclImpSheetDrawingRef
Definition: xiescher.hxx:1172
std::size_t mnCtlsStrmPos
Identifier of the storage for this object.
Definition: xiescher.hxx:853
void SetSkipObj(sal_uInt16 nObjId)
Sets the object with the passed identification to be skipped on import.
Definition: xiescher.cxx:4038
XclImpControlHelper(const XclImpRoot &rRoot, XclCtrlBindMode eBindMode)
Definition: xiescher.cxx:1860
void ApplySheetLinkProps() const
Definition: xiescher.cxx:1884
void ReadDffRecord(XclImpStream &rStrm)
Reads contents of a DFF record and append data to internal DFF stream.
Definition: xiescher.cxx:4134
XclImpSheetDrawing(const XclImpRoot &rRoot, SCTAB nScTab)
Definition: xiescher.cxx:4177
virtual bool GetColorFromPalette(sal_uInt16 nIndex, Color &rColor) const override
Returns a color from the Excel color palette.
Definition: xiescher.cxx:3277
bool mbAutoMargin
true = Width and height must be greater than 0.
Definition: xiescher.hxx:203
bool IsNumeric() const
REturns true, if the field type is numeric.
Definition: xiescher.cxx:2486
sal_uInt32 mnOleImpFlags
Stack for registered drawing managers.
Definition: xiescher.hxx:1034
XclImpTbxObjListBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2673
sal_uInt16 mnDropDownFlags
Definition: xiescher.hxx:800
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Override to do additional processing on the SdrObject.
Definition: xiescher.cxx:3037
sal_uInt16 mnNoteFlags
Cell position of the note object.
Definition: xiescher.hxx:454
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2185
XclObjLineData maLineData
BIFF5 fill formatting.
Definition: xiescher.hxx:307
void PreProcessSdrObject(XclImpDffConverter &rDffConv, SdrObject &rSdrObj)
Additional processing for the passed SdrObject before insertion into the drawing page (calls virtual ...
Definition: xiescher.cxx:526
void FillToItemSet(SfxItemSet &rItemSet) const
Translates the properties and fills the item set.
Definition: xiescher.cxx:4401
XclImpChartRef mxChart
Definition: xiescher.hxx:435
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:1079
void ReadNote3(XclImpStream &rStrm)
Reads a BIFF3-BIFF5 NOTE record.
Definition: xiescher.cxx:4233
bool IsVisible() const
Returns true, if the object is visible.
Definition: xiescher.hxx:106
Progress bar for complex progress representation.
XclImpSimpleDffConverter maDffConv
Dummy DGG stream for DFF manager.
Definition: xiescher.hxx:1207
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:2410
void SetTextData(const XclImpObjTextData &rTextData)
Stores the passed textbox data.
Definition: xiescher.hxx:384
sal_uInt16 mnCheckBoxFlags
Definition: xiescher.hxx:567
XclImpDffConverter(const XclImpRoot &rRoot, SvStream &rDffStrm)
Standard name of control forms.
Definition: xiescher.cxx:3300
bool ProcessSolverContainer(SvStream &rDffStrm, const DffRecordHeader &rSolverHeader)
Processes the solver container (connectors of a sheet).
Definition: xiescher.cxx:3829
XclObjFillData maFillData
Definition: xiescher.hxx:306
sal_uInt16 mnEditObjId
Definition: xiescher.hxx:744
This is the central instance for converting binary DFF data into shape objects.
Definition: xiescher.hxx:921
XclImpScrollBarObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2633
void ReadTabChart(XclImpStream &rStrm)
Inserts a new chart object and reads the chart substream (BOF/EOF block).
Definition: xiescher.cxx:4203
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2234
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:1216
bool mbSymbol
true = Linked OLE object.
Definition: xiescher.hxx:857
sal_uInt8 mnStartPoint
Line arrows.
Definition: xiescher.hxx:280
bool HasCellLink() const
Returns true, if a linked cell address is present.
Definition: xiescher.hxx:465
bool mbInsertSdr
true = Object is valid, do processing and insertion.
Definition: xiescher.hxx:206
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:805
A groupbox control.
Definition: xiescher.hxx:608
sal_uInt16 mnMinWidth
Definition: xiescher.hxx:802
XclImpSheetDrawingMap maSheetDrawings
Copy of global DFF data (DGG container) in memory.
Definition: xiescher.hxx:1178
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2790
bool mbEmbedded
Size in 'Ctls' stream for this control.
Definition: xiescher.hxx:855
void ReadFlags8(XclImpStream &rStrm)
Reads the contents of the OBJFLAGS subrecord.
Definition: xiescher.cxx:3086
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:2197
void ReadCoordList(XclImpStream &rStrm)
Reads the COORDLIST record following the OBJ record.
Definition: xiescher.cxx:1344
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:2993
virtual void DoPostProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const
Derived classes may perform additional processing for the passed SdrObject after insertion.
Definition: xiescher.cxx:839
XclObjTextData maData
Definition: xiescher.hxx:368
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2647
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:3776
SdrObjectUniquePtr CreateSdrObject(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect, bool bIsDff) const
Creates and returns an SdrObject from the contained data.
Definition: xiescher.cxx:434
A wrapper for a UNO property set.
Definition: fapihelper.hxx:104
XclImpTbxObjScrollableBase(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2555
void push_back(const XclImpDrawObjRef &rObj)
Definition: xiescher.hxx:221
XclObjFillData maFillData
Definition: xiescher.hxx:338
css::uno::Reference< css::container::XNameContainer > mxOleCtrlNameOverride
Definition: xiescher.hxx:1175
sal_uInt16 mnArrows
BIFF5 line formatting.
Definition: xiescher.hxx:279
void SetSimpleMacro(bool bMacro)
If set to true, a new SdrObject will be created while in DFF import.
Definition: xiescher.hxx:73
void ConvertLineStyle(SdrObject &rSdrObj, const XclObjLineData &rLineData) const
Converts the passed line formatting to the passed SdrObject.
Definition: xiescher.cxx:630
XclImpPolygonObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1336
OUString GetOleNameOverride(SCTAB nTab, sal_uInt16 nObjId)
Returns the name of overridden name ( or zero length string ) for associated object id...
Definition: xiescher.cxx:3326
XclImpSdrObjMap maSdrObjMap
Maps shape IDs to SdrObjects and flags.
Definition: xiescher.hxx:897
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:2507
void SetAreaObj(bool bAreaObj)
Sets whether this is an area object (then its width and height must be greater than 0)...
Definition: xiescher.hxx:71
std::size_t GetCtlsStreamPos() const
Returns the position in the 'Ctls' stream for additional form control data.
Definition: xiescher.hxx:823
bool mbHasAnchor
On-click hyperlink URL.
Definition: xiescher.hxx:198
const XclObjAnchor * GetAnchor() const
Returns the object anchor if existing, null otherwise.
Definition: xiescher.cxx:401
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1089
::std::vector< sal_uInt16 > ScfUInt16Vec
Definition: ftools.hxx:253
ShapeFlag mnDffFlags
Shape ID from DFF stream.
Definition: xiescher.hxx:194
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:2978
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:826
XclImpRectObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1190
void ReadMsoDrawingGroup(XclImpStream &rStrm)
Reads the MSODRAWINGGROUP record.
Definition: xiescher.cxx:4317
bool mbOwnTab
The chart itself (BOF/EOF substream data).
Definition: xiescher.hxx:436
void ReadLbsData(XclImpStream &rStrm)
Reads common listbox settings.
Definition: xiescher.cxx:2683
sal_uInt16 GetObjType() const
Returns the Excel object type from OBJ record.
Definition: xiescher.hxx:92
This class reads a DFF property set (msofbtOPT record).
Definition: xiescher.hxx:1188
unsigned char sal_uInt8
bool mbPrintable
true = Object is visible.
Definition: xiescher.hxx:201
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:2925
An arc object.
Definition: xiescher.hxx:323
void ReadNote8(XclImpStream &rStrm)
Reads a BIFF8 NOTE record.
Definition: xiescher.cxx:4269
XclObjLineData maLineData
Definition: xiescher.hxx:278
static XclImpDrawObjRef ReadObj3(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF3 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:187
virtual void DoPreProcessSdrObj(XclImpDffConverter &rDffConv, SdrObject &rSdrObj) const override
Additional processing on the SdrObject, calls new virtual function DoProcessControl().
Definition: xiescher.cxx:2122
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:2844
virtual ~XclImpControlHelper()
Definition: xiescher.cxx:1866
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:1706
sal_uInt32 mnStorageId
Class name of embedded OLE object.
Definition: xiescher.hxx:852
OUString maMacroName
Name of the object.
Definition: xiescher.hxx:196
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:1272
sal_uInt16 mnRight
Definition: xiescher.hxx:798
static void ReadWmf(Graphic &rGraphic, XclImpStream &rStrm)
Reads and returns a bitmap from WMF/PICT format.
Definition: xiescher.cxx:4080
static void ReadBmp(Graphic &rGraphic, const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads and returns a bitmap from BMP format.
Definition: xiescher.cxx:4093
std::shared_ptr< XclImpString > XclImpStringRef
Definition: xiroot.hxx:29
ScRange GetUsedArea(SCTAB nScTab) const
Returns the range in the sheet covered by this object.
Definition: xiescher.cxx:414
std::shared_ptr< XclImpObjTextData > XclImpObjTextRef
Definition: xiescher.hxx:1098
void SetBoxFormatting(ScfPropertySet &rPropSet) const
Sets common listbox/dropdown formatting attributes.
Definition: xiescher.cxx:2692
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:2735
std::size_t mnCtlsStrmSize
Position in 'Ctls' stream for this control.
Definition: xiescher.hxx:854
XclImpPictureObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2895
bool IsValidSize(const tools::Rectangle &rAnchorRect) const
Returns true, if the passed size is valid for this object.
Definition: xiescher.cxx:406
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1738
std::size_t GetCtlsStreamSize() const
Returns the size in the 'Ctls' stream for additional form control data.
Definition: xiescher.hxx:825
XclImpDffConvData & GetConvData()
Returns the current drawing manager data struct from top of the stack.
Definition: xiescher.cxx:3733
sal_uInt16 GetObjId() const
Returns the sheet index and Excel object identifier from OBJ record.
Definition: xiescher.hxx:90
std::unique_ptr< SdrObject, SdrObjectFreeOp > SdrObjectUniquePtr
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2439
bool IsOcxControl() const
Returns true, if this object is an OCX form control.
Definition: xiescher.hxx:821
sal_uInt32 GetDffShapeId() const
Returns the shape identifier used in the DFF stream.
Definition: xiescher.hxx:99
void SetDffProperties(const DffPropSet &rDffPropSet)
Sets line and fill formatting from the passed DFF property set.
Definition: xiescher.cxx:2056
ScAddress maScPos
Definition: xiescher.hxx:453
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:1264
XclImpOvalObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1240
bool IsInsertSdrObj() const
Returns true, if the SdrObject will be created or processed, but not be inserted into the draw page...
Definition: xiescher.hxx:120
sal_uInt16 mnScrollBar
Definition: xiescher.hxx:666
XclImpObjMapById maObjMapId
Maps BIFF8 drawing objects to DFF stream position.
Definition: xiescher.hxx:1104
bool SupportsOleObjects() const
Returns true, if the conversion of OLE objects is supported.
Definition: xiescher.hxx:1058
XclImpEditObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:2477
void ReadPictFmla(XclImpStream &rStrm, sal_uInt16 nLinkSize)
Reads the contents of the OBJPICTFMLA subrecord.
Definition: xiescher.cxx:3097
XclImpDffConvData(XclImpDrawing &rDrawing, SdrModel &rSdrModel, SdrPage &rSdrPage)
True = mxCtrlForm is initialized (but maybe still null).
Definition: xiescher.cxx:3288
DefObjNameMap maDefObjNames
Definition: xiescher.hxx:1176
void ConvertFrameStyle(SdrObject &rSdrObj, sal_uInt16 nFrameFlags) const
Converts the passed frame flags to the passed SdrObject.
Definition: xiescher.cxx:760
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2747
void ConvertFont(ScfPropertySet &rPropSet) const
Sets control text formatting.
Definition: xiescher.cxx:2073
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1245
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1289
std::shared_ptr< ScfProgressBar > ScfProgressBarRef
Definition: xiescher.hxx:1027
virtual ~XclImpObjectManager() override
Definition: xiescher.cxx:4313
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2370
void InitializeDrawing(XclImpDrawing &rDrawing, SdrModel &rSdrModel, SdrPage &rSdrPage)
Initially called before the objects of the passed drawing manager are converted.
Definition: xiescher.cxx:3354
XclImpSimpleDffConverter(const XclImpRoot &rRoot, SvStream &rDffStrm)
Definition: xiescher.cxx:3266
sal_uInt16 GetDropDownType() const
Returns the type of the dropdown control.
Definition: xiescher.cxx:2807
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2883
void ReadMacro4(XclImpStream &rStrm, sal_uInt16 nMacroSize)
Reads the macro link in a BIFF4 OBJ record.
Definition: xiescher.cxx:593
OUString maObjName
Shape flags from DFF stream.
Definition: xiescher.hxx:195
const Graphic & GetGraphic() const
Returns the graphic imported from the IMGDATA record.
Definition: xiescher.hxx:813
XclImpDrawObjVector maRawObjs
Definition: xiescher.hxx:1101
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:809
sal_uInt16 mnNextInGroup
Definition: xiescher.hxx:588
XclImpArcObj(const XclImpRoot &rRoot)
Definition: xiescher.cxx:1257
void UpdateConnectorRules()
Inserts the SdrObject pointers into all connector rules.
Definition: xiescher.cxx:3238
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:1018
sal_uInt16 mnTop
Definition: xiescher.hxx:797
static XclImpDrawObjRef ReadObj4(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF4 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:223
The solver container collects all connector rules for connected objects.
Definition: xiescher.hxx:865
std::map< std::size_t, XclImpDrawObjRef > XclImpObjMap
Definition: xiescher.hxx:1096
XclImpDrawObjVector maChildren
Definition: xiescher.hxx:258
A dialog control.
Definition: xiescher.hxx:629
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:1222
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:2581
sal_uInt32 GetPropertyValue(sal_uInt16 nPropId) const
Returns the specified property or zero, if not extant.
Definition: xiescher.cxx:4396
This class is used to import record oriented streams.
Definition: xistream.hxx:278
bool mbSimpleMacro
true = Set automatic text margin.
Definition: xiescher.hxx:204
virtual SdrObjectUniquePtr DoCreateSdrObj(XclImpDffConverter &rDffConv, const tools::Rectangle &rAnchorRect) const override
Creates and returns a new SdrObject from the contained data.
Definition: xiescher.cxx:1229
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2180
Base class for list controls (listbox, dropdown).
Definition: xiescher.hxx:729
bool mbHidden
true = maAnchor is initialized.
Definition: xiescher.hxx:199
Graphic maGraphic
Definition: xiescher.hxx:850
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2445
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2550
const XclImpObjTextData * FindTextData(const DffRecordHeader &rHeader) const
Finds the textbox data related to the DFF shape at the passed position.
Definition: xiescher.cxx:4024
virtual void DoProcessControl(ScfPropertySet &rPropSet) const
Derived classes will set additional properties for the current form control.
Definition: xiescher.cxx:2001
SdrPage & mrSdrPage
The SdrModel of the drawing manager.
Definition: xiescher.hxx:991
sal_uInt16 mnEntryCount
Definition: xiescher.hxx:741
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:813
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:126
void ReadChartSubStream(XclImpStream &rStrm)
Reads the complete chart substream (BOF/EOF block).
Definition: xiescher.cxx:1647
A dropdown listbox control.
Definition: xiescher.hxx:773
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:1451
SvMemoryStream maDffStrm
BIFF5 objects without DFF data.
Definition: xiescher.hxx:1102
sal_uInt8 mnQuadrant
BIFF5 line formatting.
Definition: xiescher.hxx:340
virtual OUString GetObjName() const
Returns the name of this object, may generate a default name.
Definition: xiescher.cxx:392
static XclImpDrawObjRef ReadObj5(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads the BIFF5 OBJ record, returns a new drawing object.
Definition: xiescher.cxx:260
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2466
virtual void OnObjectInserted(const XclImpDrawObjBase &rDrawObj) override
On call, updates the used area of the sheet.
Definition: xiescher.cxx:4224
std::map< SCTAB, XclImpSheetDrawingRef > XclImpSheetDrawingMap
Definition: xiescher.hxx:1173
std::map< sal_uInt32, XclImpSdrInfo > XclImpSdrInfoMap
Definition: xiescher.hxx:893
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2272
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:3537
void ReadCellLinkFormula(XclImpStream &rStrm, bool bWithBoundSize)
Reads the formula for the linked cell from the current position of the stream.
Definition: xiescher.cxx:1977
virtual void DoProcessControl(ScfPropertySet &rPropSet) const override
Sets additional properties for the current form control.
Definition: xiescher.cxx:2610
virtual OUString DoGetServiceName() const override
Returns the service name of the control component to be created.
Definition: xiescher.cxx:2365
A rectangle or oval object.
Definition: xiescher.hxx:284
void ConvertFillStyle(SdrObject &rSdrObj, const XclObjFillData &rFillData) const
Converts the passed fill formatting to the passed SdrObject.
Definition: xiescher.cxx:690
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2399
static Graphic ReadImgData(const XclImpRoot &rRoot, XclImpStream &rStrm)
Reads and returns a bitmap from the IMGDATA record.
Definition: xiescher.cxx:3915
void ReadFrameData(XclImpStream &rStrm)
Reads fil data, line data, and frame flags.
Definition: xiescher.cxx:1197
void ReadMsoDrawing(XclImpStream &rStrm)
Reads the MSODRAWING or MSODRAWINGSELECTION record.
Definition: xiescher.cxx:3966
sal_Int16 SCTAB
Definition: types.hxx:23
css::uno::Reference< css::form::XForm > mxCtrlForm
The solver container for connector rules.
Definition: xiescher.hxx:994
bool mbOleObjs
IDs of all objects to be skipped.
Definition: xiescher.hxx:1107
A chart object.
Definition: xiescher.hxx:403
virtual XclTbxEventType DoGetEventType() const override
Returns the type of the macro event to be created.
Definition: xiescher.cxx:2472
SvMemoryStream maDggStrm
Default base names for all object types.
Definition: xiescher.hxx:1177
OUString maClassName
Picture or OLE placeholder graphic.
Definition: xiescher.hxx:851
virtual ~XclImpDrawing() override
Definition: xiescher.cxx:3911
SdrModel & mrSdrModel
Current drawing container with all drawing objects.
Definition: xiescher.hxx:990
bool mbControl
true = Show as symbol.
Definition: xiescher.hxx:858
sal_uInt16 mnObjId
The position of the object in its parent.
Definition: xiescher.hxx:190
A drawing object supporting text contents.
Definition: xiescher.hxx:378
std::vector< XclImpDrawObjRef > mObjs
Definition: xiescher.hxx:214
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:1070