LibreOffice Module sc (master)  1
xichart.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_XICHART_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XICHART_HXX
22 
24 #include <set>
25 #include <map>
26 #include <memory>
27 #include <vector>
28 
29 #include <types.hxx>
30 #include "xlchart.hxx"
31 #include "xlstyle.hxx"
32 #include "xiescher.hxx"
33 #include "xistring.hxx"
34 
35 namespace com::sun::star {
36  namespace awt
37  {
38  struct Rectangle;
39  }
40  namespace frame
41  {
42  class XModel;
43  }
44  namespace drawing
45  {
46  class XShape;
47  }
48  namespace chart2
49  {
50  struct ScaleData;
51  class XChartDocument;
52  class XDiagram;
53  class XCoordinateSystem;
54  class XChartType;
55  class XDataSeries;
56  class XRegressionCurve;
57  class XAxis;
58  class XLegend;
59  class XTitle;
60  class XFormattedString;
61  namespace data
62  {
63  class XDataProvider;
64  class XDataSequence;
65  class XLabeledDataSequence;
66  }
67  }
68 }
69 
70 struct XclObjLineData;
71 struct XclObjFillData;
72 
73 // Common =====================================================================
74 
75 struct XclImpChRootData;
76 class XclImpChChart;
77 class ScTokenArray;
78 
80 class XclImpChRoot : public XclImpRoot
81 {
82 public:
83  explicit XclImpChRoot( const XclImpRoot& rRoot, XclImpChChart& rChartData );
84  virtual ~XclImpChRoot() override;
85 
86  XclImpChRoot(XclImpChRoot const &) = default;
87  XclImpChRoot(XclImpChRoot &&) = default;
88  XclImpChRoot & operator =(XclImpChRoot const &) = delete; // due to XclImpRoot
89  XclImpChRoot & operator =(XclImpChRoot &&) = delete; // due to XclImpRoot
90 
92  const XclImpChRoot& GetChRoot() const { return *this; }
94  XclImpChChart& GetChartData() const;
96  const XclChTypeInfo& GetChartTypeInfo( XclChTypeId eType ) const;
98  const XclChTypeInfo& GetChartTypeInfo( sal_uInt16 nRecId ) const;
100  const XclChFormatInfo& GetFormatInfo( XclChObjectType eObjType ) const;
101 
103  Color GetFontAutoColor() const;
105  Color GetSeriesLineAutoColor( sal_uInt16 nFormatIdx ) const;
107  Color GetSeriesFillAutoColor( sal_uInt16 nFormatIdx ) const;
108 
110  void InitConversion(
111  const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc,
112  const tools::Rectangle& rChartRect ) const;
113 
115  void FinishConversion( XclImpDffConverter& rDffConv ) const;
116 
118  css::uno::Reference< css::chart2::data::XDataProvider >
119  GetDataProvider() const;
121  css::uno::Reference< css::drawing::XShape >
122  GetTitleShape( const XclChTextKey& rTitleKey ) const;
123 
125  sal_Int32 CalcHmmFromChartX( sal_Int32 nPosX ) const;
127  sal_Int32 CalcHmmFromChartY( sal_Int32 nPosY ) const;
129  css::awt::Rectangle CalcHmmFromChartRect( const XclChRectangle& rRect ) const;
130 
132  double CalcRelativeFromHmmX( sal_Int32 nPosX ) const;
134  double CalcRelativeFromHmmY( sal_Int32 nPosY ) const;
135 
137  double CalcRelativeFromChartX( sal_Int32 nPosX ) const;
139  double CalcRelativeFromChartY( sal_Int32 nPosY ) const;
140 
142  void ConvertLineFormat(
143  ScfPropertySet& rPropSet,
144  const XclChLineFormat& rLineFmt,
145  XclChPropertyMode ePropMode ) const;
147  void ConvertAreaFormat(
148  ScfPropertySet& rPropSet,
149  const XclChAreaFormat& rAreaFmt,
150  XclChPropertyMode ePropMode ) const;
152  void ConvertEscherFormat(
153  ScfPropertySet& rPropSet,
154  const XclChEscherFormat& rEscherFmt,
155  const XclChPicFormat* pPicFmt,
156  sal_uInt32 nDffFillType,
157  XclChPropertyMode ePropMode ) const;
159  void ConvertFont(
160  ScfPropertySet& rPropSet,
161  sal_uInt16 nFontIdx,
162  const Color* pFontColor = nullptr ) const;
163 
165  static void ConvertPieRotation(
166  ScfPropertySet& rPropSet,
167  sal_uInt16 nAngle );
168 
169 private:
170  typedef std::shared_ptr< XclImpChRootData > XclImpChRootDataRef;
171  XclImpChRootDataRef mxChData;
172 };
173 
180 {
181 public:
182  XclImpChGroupBase() = default;
183  XclImpChGroupBase(XclImpChGroupBase const &) = default;
184  XclImpChGroupBase(XclImpChGroupBase &&) = default;
185  XclImpChGroupBase & operator =(XclImpChGroupBase const &) = default;
187 
188  virtual ~XclImpChGroupBase();
189 
196 
198  static void SkipBlock( XclImpStream& rStrm );
199 
201  virtual void ReadHeaderRecord( XclImpStream& rStrm ) = 0;
203  virtual void ReadSubRecord( XclImpStream& rStrm ) = 0;
204 };
205 
206 // Frame formatting ===========================================================
207 
209 {
210 public:
213 
215  const XclChFramePos& GetFramePosData() const { return maData; }
216 
217 private:
219 };
220 
221 typedef std::shared_ptr< XclImpChFramePos > XclImpChFramePosRef;
222 
225 {
226 public:
228  explicit XclImpChLineFormat() {}
230  explicit XclImpChLineFormat( const XclChLineFormat& rLineFmt ) : maData( rLineFmt ) {}
231 
232  // this class is stored both ref-counted and by value
236  : salhelper::SimpleReferenceObject(), maData(std::move(rOther.maData)) {}
238  { maData = rOther.maData; return *this; }
240  { maData = std::move(rOther.maData); return *this; }
241 
243  void ReadChLineFormat( XclImpStream& rStrm );
244 
248  bool HasLine() const { return IsAuto() || (maData.mnPattern != EXC_CHLINEFORMAT_NONE); }
250  sal_Int16 GetWeight() const { return (IsAuto() || !HasLine()) ? EXC_CHLINEFORMAT_SINGLE : maData.mnWeight; }
253 
255  void Convert( const XclImpChRoot& rRoot,
256  ScfPropertySet& rPropSet, XclChObjectType eObjType,
257  sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN ) const;
258 
259 private:
261 };
262 
264 
267 {
268 public:
270  explicit XclImpChAreaFormat() {}
272  explicit XclImpChAreaFormat( const XclChAreaFormat& rAreaFmt ) : maData( rAreaFmt ) {}
273 
275  void ReadChAreaFormat( XclImpStream& rStrm );
276 
280  bool HasArea() const { return IsAuto() || (maData.mnPattern != EXC_PATT_NONE); }
281 
283  void Convert( const XclImpChRoot& rRoot,
284  ScfPropertySet& rPropSet, XclChObjectType eObjType,
285  sal_uInt16 nFormatIdx ) const;
286 
287 private:
289 };
290 
291 typedef std::shared_ptr< XclImpChAreaFormat > XclImpChAreaFormatRef;
292 
295 {
296 public:
297  explicit XclImpChEscherFormat( const XclImpRoot& rRoot );
298 
300  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
302  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
303 
305  void Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet,
306  XclChObjectType eObjType, bool bUsePicFmt ) const;
307 
308 private:
311  sal_uInt32 mnDffFillType;
312 };
313 
314 typedef std::shared_ptr< XclImpChEscherFormat > XclImpChEscherFormatRef;
315 
323 {
324 public:
326  explicit XclImpChFrameBase() {}
328  explicit XclImpChFrameBase( const XclChFormatInfo& rFmtInfo );
329 
331  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
332 
334  bool IsAutoLine() const { return !mxLineFmt || mxLineFmt->IsAuto(); }
336  bool HasLine() const { return IsAutoLine() || mxLineFmt->HasLine(); }
338  sal_Int16 GetLineWeight() const { return mxLineFmt ? mxLineFmt->GetWeight() : EXC_CHLINEFORMAT_SINGLE; }
339 
341  bool IsAutoArea() const { return !mxEscherFmt && (!mxAreaFmt || mxAreaFmt->IsAuto()); }
342 
343 protected:
345  void ConvertLineBase( const XclImpChRoot& rRoot,
346  ScfPropertySet& rPropSet, XclChObjectType eObjType,
347  sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN ) const;
349  void ConvertAreaBase( const XclImpChRoot& rRoot,
350  ScfPropertySet& rPropSet, XclChObjectType eObjType,
351  sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt = false ) const;
353  void ConvertFrameBase( const XclImpChRoot& rRoot,
354  ScfPropertySet& rPropSet, XclChObjectType eObjType,
355  sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt = false ) const;
356 
357 protected:
361 };
362 
369 {
370 public:
372  explicit XclImpChFrame(
373  const XclImpChRoot& rRoot,
374  XclChObjectType eObjType );
375 
377  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
378 
380  void UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData );
381 
383  void Convert( ScfPropertySet& rPropSet, bool bUsePicFmt = false ) const;
384 
385 private:
388 };
389 
390 typedef std::shared_ptr< XclImpChFrame > XclImpChFrameRef;
391 
392 // Source links ===============================================================
393 
395 {
396 public:
397  explicit XclImpChSourceLink( const XclImpChRoot& rRoot );
398  virtual ~XclImpChSourceLink() override;
399 
403  void SetString( const OUString& rString );
405  void SetTextFormats( const XclFormatRunVec& rFormats );
406 
411 
413  bool HasString() const { return mxString && !mxString->IsEmpty(); }
415  OUString GetString() const {
416  if (mxString) return mxString->GetText();
417  return OUString();
418  }
420  sal_uInt16 GetCellCount() const;
421 
423  void ConvertNumFmt( ScfPropertySet& rPropSet, bool bPercent ) const;
424 
426  css::uno::Reference< css::chart2::data::XDataSequence >
427  CreateDataSequence( const OUString& rRole ) const;
429  css::uno::Sequence< css::uno::Reference< css::chart2::XFormattedString > >
430  CreateStringSequence( const XclImpChRoot& rRoot,
431  sal_uInt16 nLeadFontIdx, const Color& rLeadFontColor ) const;
432 
433  void FillSourceLink(::std::vector<ScTokenRef>& rTokens) const;
434 
435 private:
438  std::shared_ptr< ScTokenArray> mxTokenArray;
439 };
440 
441 typedef std::shared_ptr< XclImpChSourceLink > XclImpChSourceLinkRef;
442 
443 // Text =======================================================================
444 
447 {
448 public:
449  XclImpChFontBase() = default;
450  XclImpChFontBase(XclImpChFontBase const &) = default;
451  XclImpChFontBase(XclImpChFontBase &&) = default;
452  XclImpChFontBase & operator =(XclImpChFontBase const &) = default;
454 
455  virtual ~XclImpChFontBase();
456 
458  virtual sal_uInt16 GetFontIndex() const = 0;
460  virtual Color GetFontColor() const = 0;
462  virtual sal_uInt16 GetRotation() const = 0;
463 
465  void ConvertFontBase( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet ) const;
467  void ConvertRotationBase( ScfPropertySet& rPropSet, bool bSupportsStacked ) const;
468 };
469 
472 {
473 public:
474  explicit XclImpChFont();
476  void ReadChFont( XclImpStream& rStrm );
477 
479  sal_uInt16 GetFontIndex() const { return mnFontIdx; }
480 
481 private:
482  sal_uInt16 mnFontIdx;
483 };
484 
485 typedef std::shared_ptr< XclImpChFont > XclImpChFontRef;
486 
493 {
494 public:
495  explicit XclImpChText( const XclImpChRoot& rRoot );
496 
498  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
500  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
501 
503  virtual sal_uInt16 GetFontIndex() const override;
505  virtual Color GetFontColor() const override;
507  virtual sal_uInt16 GetRotation() const override;
508 
510  void SetString( const OUString& rString );
512  void UpdateText( const XclImpChText* pParentText );
514  void UpdateDataLabel( bool bCateg, bool bValue, bool bPercent );
515 
517  sal_uInt16 GetLinkTarget() const { return maObjLink.mnTarget; }
521  bool HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
524 
526  void ConvertFont( ScfPropertySet& rPropSet ) const;
528  void ConvertRotation( ScfPropertySet& rPropSet, bool bSupportsStacked ) const;
530  void ConvertFrame( ScfPropertySet& rPropSet ) const;
532  void ConvertNumFmt( ScfPropertySet& rPropSet, bool bPercent ) const;
534  void ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeInfo& rTypeInfo, const ScfPropertySet* pGlobalPropSet ) const;
536  css::uno::Reference< css::chart2::XTitle >
537  CreateTitle() const;
539  void ConvertTitlePosition( const XclChTextKey& rTitleKey ) const;
540 
541 private:
543 
545  void ReadChFrLabelProps( XclImpStream& rStrm );
546 
547 private:
548  typedef std::shared_ptr< XclChFrLabelProps > XclChFrLabelPropsRef;
549 
557  XclChFrLabelPropsRef mxLabelProps;
558 };
559 
560 typedef std::shared_ptr< XclImpChText > XclImpChTextRef;
561 
562 // Data series ================================================================
563 
566 {
567 public:
570 
573 
575  void Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet,
576  sal_uInt16 nFormatIdx, sal_Int16 nLineWeight ) const;
578  void ConvertColor( const XclImpChRoot& rRoot,
579  ScfPropertySet& rPropSet, sal_uInt16 nFormatIdx ) const;
580 
581 private:
583 };
584 
585 typedef std::shared_ptr< XclImpChMarkerFormat > XclImpChMarkerFormatRef;
586 
589 {
590 public:
591  explicit XclImpChPieFormat();
595  void Convert( ScfPropertySet& rPropSet ) const;
596 
597 private:
598  sal_uInt16 mnPieDist;
599 };
600 
601 typedef std::shared_ptr< XclImpChPieFormat > XclImpChPieFormatRef;
602 
605 {
606 public:
607  explicit XclImpChSeriesFormat();
612 
613 private:
614  sal_uInt16 mnFlags;
615 };
616 
617 typedef std::shared_ptr< XclImpChSeriesFormat > XclImpChSeriesFormatRef;
618 
621 {
622 public:
626  void Convert( ScfPropertySet& rPropSet ) const;
627 
628 private:
630 };
631 
632 typedef std::shared_ptr< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef;
633 
636 {
637 public:
638  explicit XclImpChAttachedLabel( const XclImpChRoot& rRoot );
642  XclImpChTextRef CreateDataLabel( const XclImpChText* pParent ) const;
643 
644 private:
645  sal_uInt16 mnFlags;
646 };
647 
648 typedef std::shared_ptr< XclImpChAttachedLabel > XclImpChAttLabelRef;
649 
657 {
658 public:
659  explicit XclImpChDataFormat( const XclImpChRoot& rRoot );
660 
662  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
664  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
665 
667  void SetPointPos( const XclChDataPointPos& rPointPos, sal_uInt16 nFormatIdx );
669  void SetDataLabel( XclImpChTextRef xLabel ) { mxLabel = xLabel; }
670 
672  void UpdateGroupFormat( const XclChExtTypeInfo& rTypeInfo );
674  void UpdateSeriesFormat( const XclChExtTypeInfo& rTypeInfo, const XclImpChDataFormat* pGroupFmt );
676  void UpdatePointFormat( const XclChExtTypeInfo& rTypeInfo, const XclImpChDataFormat* pSeriesFmt );
678  void UpdateTrendLineFormat();
679 
681  const XclChDataPointPos& GetPointPos() const { return maData.maPointPos; }
683  sal_uInt16 GetFormatIdx() const { return maData.mnFormatIdx; }
685  bool IsAutoMarker() const { return !mxMarkerFmt || mxMarkerFmt->IsAuto(); }
687  bool HasSpline() const { return mxSeriesFmt && mxSeriesFmt->HasSpline(); }
689  const XclImpChText* GetDataLabel() const { return mxLabel.get(); }
690 
692  void Convert( ScfPropertySet& rPropSet, const XclChExtTypeInfo& rTypeInfo, const ScfPropertySet* pGlobalPropSet = nullptr ) const;
694  void ConvertLine( ScfPropertySet& rPropSet, XclChObjectType eObjType ) const;
696  void ConvertArea( ScfPropertySet& rPropSet, sal_uInt16 nFormatIdx ) const;
697 
698 private:
700  void RemoveUnusedFormats( const XclChExtTypeInfo& rTypeInfo );
702  void UpdateDataLabel( const XclImpChDataFormat* pParentFmt );
703 
704 private:
712 };
713 
714 typedef std::shared_ptr< XclImpChDataFormat > XclImpChDataFormatRef;
715 
718 {
719 public:
720  explicit XclImpChSerTrendLine( const XclImpChRoot& rRoot );
721 
725  void SetDataFormat( XclImpChDataFormatRef xDataFmt ) { mxDataFmt = xDataFmt; }
726 
727  void SetTrendlineName( const OUString& aTrendlineName) { maTrendLineName = aTrendlineName; }
728 
730  css::uno::Reference< css::chart2::XRegressionCurve >
731  CreateRegressionCurve() const;
732 
733 private:
734  OUString maTrendLineName;
737 };
738 
739 typedef std::shared_ptr< XclImpChSerTrendLine > XclImpChSerTrendLineRef;
740 
743 {
744 public:
745  explicit XclImpChSerErrorBar( const XclImpChRoot& rRoot );
746 
750  void SetSeriesData(
751  XclImpChSourceLinkRef const & xValueLink,
752  XclImpChDataFormatRef const & xDataFmt );
753 
755  sal_uInt8 GetBarType() const { return maData.mnBarType; }
757  css::uno::Reference< css::chart2::data::XLabeledDataSequence >
758  CreateValueSequence() const;
759 
761  static css::uno::Reference< css::beans::XPropertySet >
763  const XclImpChSerErrorBar* pPosBar,
764  const XclImpChSerErrorBar* pNegBar );
765 
766 private:
770 };
771 
772 
780 {
781 public:
782  explicit XclImpChSeries( const XclImpChRoot& rRoot, sal_uInt16 nSeriesIdx );
783 
785  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
787  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
788 
790  void SetDataFormat( const XclImpChDataFormatRef& xDataFmt );
792  void SetDataLabel( const XclImpChTextRef& xLabel );
794  void AddChildSeries( const XclImpChSeries& rSeries );
796  void FinalizeDataFormats();
797 
799  sal_uInt16 GetGroupIdx() const { return mnGroupIdx; }
801  sal_uInt16 GetParentIdx() const { return mnParentIdx; }
805  bool HasChildSeries() const { return !maTrendLines.empty() || !m_ErrorBars.empty(); }
807  OUString GetTitle() const { return mxTitleLink ? mxTitleLink->GetString() : OUString(); }
808 
810  bool HasSpline() const { return mxSeriesFmt && mxSeriesFmt->HasSpline(); }
811 
813  css::uno::Reference< css::chart2::data::XLabeledDataSequence >
814  CreateValueSequence( const OUString& rValueRole ) const;
816  css::uno::Reference< css::chart2::data::XLabeledDataSequence >
817  CreateCategSequence( const OUString& rCategRole ) const;
819  css::uno::Reference< css::chart2::XDataSeries >
820  CreateDataSeries() const;
821 
822  void FillAllSourceLinks(::std::vector<ScTokenRef>& rTokens) const;
823 
824 private:
826  void ReadChSourceLink( XclImpStream& rStrm );
828  void ReadChDataFormat( XclImpStream& rStrm );
830  void ReadChSerParent( XclImpStream& rStrm );
832  void ReadChSerTrendLine( XclImpStream& rStrm );
834  void ReadChSerErrorBar( XclImpStream& rStrm );
835 
836  void ReadChLegendException( XclImpStream& rStrm );
838  XclImpChDataFormatRef CreateDataFormat( sal_uInt16 nPointIdx, sal_uInt16 nFormatIdx );
839 
841  void ConvertTrendLines( css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries ) const;
843  css::uno::Reference< css::beans::XPropertySet >
844  CreateErrorBar( sal_uInt8 nPosBarId, sal_uInt8 nNegBarId ) const;
845 
846 private:
847  typedef ::std::map<sal_uInt16, XclImpChDataFormatRef> XclImpChDataFormatMap;
848  typedef ::std::map<sal_uInt16, XclImpChTextRef> XclImpChTextMap;
849  typedef ::std::map<sal_uInt8, std::unique_ptr<XclImpChSerErrorBar>> XclImpChSerErrorBarMap;
850 
857  XclImpChDataFormatMap maPointFmts;
858  XclImpChTextMap maLabels;
859  std::vector< XclImpChSerTrendLineRef > maTrendLines;
860  XclImpChSerErrorBarMap m_ErrorBars;
861  sal_uInt16 mnGroupIdx;
862  sal_uInt16 mnSeriesIdx;
863  sal_uInt16 mnParentIdx;
865 };
866 
867 typedef std::shared_ptr< XclImpChSeries > XclImpChSeriesRef;
868 
869 // Chart type groups ==========================================================
870 
871 class XclImpChType : protected XclImpChRoot
872 {
873 public:
874  explicit XclImpChType( const XclImpChRoot& rRoot );
875 
877  void ReadChType( XclImpStream& rStrm );
879  void Finalize( bool bStockChart );
880 
882  sal_uInt16 GetRecId() const { return mnRecId; }
884  const XclChTypeInfo& GetTypeInfo() const { return maTypeInfo; }
886  bool IsStacked() const;
888  bool IsPercent() const;
890  bool HasCategoryLabels() const;
891 
893  css::uno::Reference< css::chart2::XCoordinateSystem >
894  CreateCoordSystem( bool b3dChart ) const;
896  css::uno::Reference< css::chart2::XChartType >
897  CreateChartType( css::uno::Reference< css::chart2::XDiagram > const & xDiagram, bool b3dChart ) const;
898 
899 private:
901  sal_uInt16 mnRecId;
903 };
904 
907 {
908 public:
914  void Convert( ScfPropertySet& rPropSet, bool b3dWallChart ) const;
915 
916 private:
918 };
919 
920 typedef std::shared_ptr< XclImpChChart3d > XclImpChChart3dRef;
921 
928 {
929 public:
930  explicit XclImpChLegend( const XclImpChRoot& rRoot );
931 
933  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
935  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
937  void Finalize();
938 
940  css::uno::Reference< css::chart2::XLegend >
941  CreateLegend() const;
942 
943 private:
948 };
949 
950 typedef std::shared_ptr< XclImpChLegend > XclImpChLegendRef;
951 
958 {
959 public:
960  explicit XclImpChDropBar( sal_uInt16 nDropBar );
961 
963  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
964 
966  void Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet ) const;
967 
968 private:
969  sal_uInt16 mnDropBar;
970  sal_uInt16 mnBarDist;
971 };
972 
973 
983 {
984 public:
985  explicit XclImpChTypeGroup( const XclImpChRoot& rRoot );
986 
988  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
990  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
992  void Finalize();
993 
995  void AddSeries( XclImpChSeriesRef const & xSeries );
997  void SetUsedFormatIndex( sal_uInt16 nFormatIdx );
999  sal_uInt16 PopUnusedFormatIndex();
1000 
1002  sal_uInt16 GetGroupIdx() const { return maData.mnGroupIdx; }
1004  const XclChExtTypeInfo& GetTypeInfo() const { return maTypeInfo; }
1006  bool IsValidGroup() const { return !maSeries.empty(); }
1008  bool IsPercent() const { return maType.IsPercent(); }
1010  bool Is3dChart() const { return mxChart3d && maTypeInfo.mbSupports3d; }
1014  bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
1016  bool HasCategoryLabels() const { return maType.HasCategoryLabels(); }
1018  bool HasVarPointFormat() const;
1020  bool HasConnectorLines() const;
1021 
1023  const XclImpChLegendRef& GetLegend() const { return mxLegend; }
1027  OUString GetSingleSeriesTitle() const;
1028 
1030  void ConvertChart3d( ScfPropertySet& rPropSet ) const;
1032  css::uno::Reference< css::chart2::XCoordinateSystem >
1033  CreateCoordSystem() const;
1035  css::uno::Reference< css::chart2::XChartType >
1036  CreateChartType( css::uno::Reference< css::chart2::XDiagram > const & xDiagram, sal_Int32 nApiAxesSetIdx ) const;
1038  css::uno::Reference< css::chart2::data::XLabeledDataSequence >
1039  CreateCategSequence() const;
1040 
1041 private:
1043  void ReadChDropBar( XclImpStream& rStrm );
1045  void ReadChChartLine( XclImpStream& rStrm );
1047  void ReadChDataFormat( XclImpStream& rStrm );
1048 
1050  bool HasDropBars() const { return !m_DropBars.empty(); }
1051 
1053  void InsertDataSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
1054  css::uno::Reference< css::chart2::XDataSeries > const & xSeries,
1055  sal_Int32 nApiAxesSetIdx ) const;
1057  void CreateDataSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
1058  sal_Int32 nApiAxesSetIdx ) const;
1060  void CreateStockSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
1061  sal_Int32 nApiAxesSetIdx ) const;
1062 
1063 private:
1064  typedef ::std::vector< XclImpChSeriesRef > XclImpChSeriesVec;
1065  typedef ::std::map<sal_uInt16, std::unique_ptr<XclImpChDropBar>> XclImpChDropBarMap;
1066  typedef ::std::map<sal_uInt16, XclImpChLineFormat> XclImpChLineFormatMap;
1067 
1071  XclImpChSeriesVec maSeries;
1075  XclImpChDropBarMap m_DropBars;
1076  XclImpChLineFormatMap m_ChartLines;
1078  std::set< sal_uInt16 >
1080 };
1081 
1082 typedef std::shared_ptr< XclImpChTypeGroup > XclImpChTypeGroupRef;
1083 
1084 // Axes =======================================================================
1085 
1087 {
1088 public:
1089  explicit XclImpChLabelRange( const XclImpChRoot& rRoot );
1093  void ReadChDateRange( XclImpStream& rStrm );
1095  void Convert( ScfPropertySet& rPropSet, css::chart2::ScaleData& rScaleData, bool bMirrorOrient ) const;
1097  void ConvertAxisPosition( ScfPropertySet& rPropSet, bool b3dChart ) const;
1098 
1099 private:
1102 };
1103 
1104 typedef std::shared_ptr< XclImpChLabelRange > XclImpChLabelRangeRef;
1105 
1107 {
1108 public:
1109  explicit XclImpChValueRange( const XclImpChRoot& rRoot );
1113  void Convert( css::chart2::ScaleData& rScaleData, bool bMirrorOrient ) const;
1115  void ConvertAxisPosition( ScfPropertySet& rPropSet ) const;
1116 
1117 private:
1119 };
1120 
1121 typedef std::shared_ptr< XclImpChValueRange > XclImpChValueRangeRef;
1122 
1123 class XclImpChTick : protected XclImpChRoot
1124 {
1125 public:
1126  explicit XclImpChTick( const XclImpChRoot& rRoot );
1128  void ReadChTick( XclImpStream& rStrm );
1129 
1131  bool HasLabels() const { return maData.mnLabelPos != EXC_CHTICK_NOLABEL; }
1133  Color GetFontColor() const;
1135  sal_uInt16 GetRotation() const;
1136 
1138  void Convert( ScfPropertySet& rPropSet ) const;
1139 
1140 private:
1142 };
1143 
1144 typedef std::shared_ptr< XclImpChTick > XclImpChTickRef;
1145 
1153 {
1154 public:
1155  explicit XclImpChAxis( const XclImpChRoot& rRoot, sal_uInt16 nAxisType = EXC_CHAXIS_NONE );
1156 
1158  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
1160  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
1162  void Finalize();
1163 
1165  virtual sal_uInt16 GetFontIndex() const override;
1167  virtual Color GetFontColor() const override;
1169  virtual sal_uInt16 GetRotation() const override;
1170 
1172  sal_uInt16 GetAxisType() const { return maData.mnType; }
1174  sal_Int32 GetApiAxisDimension() const { return maData.GetApiAxisDimension(); }
1175 
1177  css::uno::Reference< css::chart2::XAxis >
1178  CreateAxis( const XclImpChTypeGroup& rTypeGroup, const XclImpChAxis* pCrossingAxis ) const;
1180  void ConvertWall( ScfPropertySet& rPropSet ) const;
1182  void ConvertAxisPosition( ScfPropertySet& rPropSet, const XclImpChTypeGroup& rTypeGroup ) const;
1183 
1184 private:
1186  void ReadChAxisLine( XclImpStream& rStrm );
1188  void CreateWallFrame();
1189 
1190 private:
1200  sal_uInt16 mnNumFmtIdx;
1201 };
1202 
1203 typedef std::shared_ptr< XclImpChAxis > XclImpChAxisRef;
1204 
1212 {
1213 public:
1214  explicit XclImpChAxesSet( const XclImpChRoot& rRoot, sal_uInt16 nAxesSetId );
1215 
1217  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
1219  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
1221  void Finalize();
1222 
1224  bool IsValidAxesSet() const { return !maTypeGroups.empty(); }
1226  sal_uInt16 GetAxesSetId() const { return maData.mnAxesSetId; }
1228  sal_Int32 GetApiAxesSetIndex() const { return maData.GetApiAxesSetIndex(); }
1229 
1233  XclImpChTypeGroupRef GetTypeGroup( sal_uInt16 nGroupIdx ) const;
1237  XclImpChLegendRef GetLegend() const;
1239  OUString GetSingleSeriesTitle() const;
1240 
1242  void Convert( css::uno::Reference< css::chart2::XDiagram > const & xDiagram ) const;
1244  void ConvertTitlePositions() const;
1245 
1246 private:
1248  void ReadChAxis( XclImpStream& rStrm );
1250  void ReadChText( XclImpStream& rStrm );
1252  void ReadChPlotFrame( XclImpStream& rStrm );
1254  void ReadChTypeGroup( XclImpStream& rStrm );
1255 
1257  css::uno::Reference< css::chart2::XCoordinateSystem >
1258  CreateCoordSystem( css::uno::Reference< css::chart2::XDiagram > const & xDiagram ) const;
1260  void ConvertAxis( XclImpChAxisRef const & xChAxis, XclImpChTextRef const & xChAxisTitle,
1261  css::uno::Reference< css::chart2::XCoordinateSystem > const & xCoordSystem,
1262  const XclImpChAxis* pCrossingAxis ) const;
1264  css::uno::Reference< css::chart2::XAxis >
1265  CreateAxis( const XclImpChAxis& rChAxis, const XclImpChAxis* pCrossingAxis ) const;
1267  void ConvertBackground( css::uno::Reference< css::chart2::XDiagram > const & xDiagram ) const;
1268 
1269 private:
1270  typedef ::std::map<sal_uInt16, XclImpChTypeGroupRef> XclImpChTypeGroupMap;
1271 
1281  XclImpChTypeGroupMap maTypeGroups;
1282 };
1283 
1284 typedef std::shared_ptr< XclImpChAxesSet > XclImpChAxesSetRef;
1285 
1286 // The chart object ===========================================================
1287 
1295 {
1296 public:
1297  explicit XclImpChChart( const XclImpRoot& rRoot );
1298  virtual ~XclImpChChart() override;
1299 
1301  virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
1303  virtual void ReadSubRecord( XclImpStream& rStrm ) override;
1305  void ReadChDefaultText( XclImpStream& rStrm );
1307  void ReadChDataFormat( XclImpStream& rStrm );
1308 
1310  void UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData );
1311 
1313  XclImpChTypeGroupRef GetTypeGroup( sal_uInt16 nGroupIdx ) const;
1315  const XclImpChText* GetDefaultText( XclChTextType eTextType ) const;
1317  bool IsManualPlotArea() const;
1319  static std::size_t GetProgressSize() { return 2 * EXC_CHART_PROGRESS_SIZE; }
1320 
1322  void Convert(
1323  const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc,
1324  XclImpDffConverter& rDffConv,
1325  const OUString& rObjName,
1326  const tools::Rectangle& rChartRect ) const;
1327 
1328 private:
1330  void ReadChSeries( XclImpStream& rStrm );
1332  void ReadChProperties( XclImpStream& rStrm );
1334  void ReadChAxesSet( XclImpStream& rStrm );
1336  void ReadChText( XclImpStream& rStrm );
1337 
1339  void Finalize();
1341  void FinalizeSeries();
1343  void FinalizeDataFormats();
1345  void FinalizeTitle();
1346 
1348  css::uno::Reference<css::chart2::XDiagram>
1349  CreateDiagram() const;
1350 
1351 private:
1352  typedef ::std::vector< XclImpChSeriesRef > XclImpChSeriesVec;
1353  typedef ::std::map<XclChDataPointPos, XclImpChDataFormatRef> XclImpChDataFormatMap;
1354  typedef ::std::map<sal_uInt16, std::unique_ptr<XclImpChText>> XclImpChTextMap;
1355 
1357  XclImpChSeriesVec maSeries;
1358  XclImpChDataFormatMap maDataFmts;
1361  XclImpChTextMap m_DefTexts;
1366 };
1367 
1368 typedef std::shared_ptr< XclImpChChart > XclImpChChartRef;
1369 
1372 {
1373 public:
1374  explicit XclImpChartDrawing( const XclImpRoot& rRoot, bool bOwnTab );
1375 
1377  void ConvertObjects(
1378  XclImpDffConverter& rDffConv,
1379  const css::uno::Reference< css::frame::XModel >& rxModel,
1380  const tools::Rectangle& rChartRect );
1381 
1383  virtual tools::Rectangle CalcAnchorRect( const XclObjAnchor& rAnchor, bool bDffAnchor ) const override;
1385  virtual void OnObjectInserted( const XclImpDrawObjBase& rDrawObj ) override;
1386 
1387 private:
1390  bool mbOwnTab;
1391 };
1392 
1394 class XclImpChart : protected XclImpRoot
1395 {
1396 public:
1399  explicit XclImpChart( const XclImpRoot& rRoot, bool bOwnTab );
1400  virtual ~XclImpChart() override;
1401 
1406  void UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData );
1407 
1409  std::size_t GetProgressSize() const;
1411  bool IsPivotChart() const { return mbIsPivotChart; }
1412 
1414  void Convert( css::uno::Reference< css::frame::XModel > const & xModel,
1415  XclImpDffConverter& rDffConv,
1416  const OUString& rObjName,
1417  const tools::Rectangle& rChartRect ) const;
1418 
1419 private:
1423  void ReadChChart( XclImpStream& rStrm );
1424 
1425 private:
1426  typedef std::shared_ptr< XclImpChartDrawing > XclImpChartDrawingRef;
1427 
1429  XclImpChartDrawingRef mxChartDrawing;
1430  bool mbOwnTab;
1432 };
1433 
1434 #endif
1435 
1436 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHTYPEGROUP group (called by base class).
Definition: xichart.cxx:2679
void UpdateDataLabel(bool bCateg, bool bValue, bool bPercent)
Updates display type of this data point label text object.
Definition: xichart.cxx:1046
XclChPropertyMode
Specifies the type of a formatting.
Definition: xlchart.hxx:1081
bool HasString() const
Returns true, if this text group contains string data.
Definition: xichart.hxx:521
XclImpChLegendRef mxLegend
3D settings (CHCHART3D record).
Definition: xichart.hxx:1074
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHCHART record (called by base class).
Definition: xichart.cxx:3862
XclImpChType(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2205
XclImpChSourceLinkRef mxSrcLink
Relative text frame position (CHFRAMEPOS record).
Definition: xichart.hxx:554
void ConvertAxisPosition(ScfPropertySet &rPropSet) const
Converts position settings of this axis at a crossing axis.
Definition: xichart.cxx:3137
void AddChildSeries(const XclImpChSeries &rSeries)
Adds error bar settings from the passed series to the own series.
Definition: xichart.cxx:1881
void ReadChLegendException(XclImpStream &rStrm)
Definition: xichart.cxx:2196
XclChSeries maData
Definition: xichart.hxx:851
void ConvertRotation(ScfPropertySet &rPropSet, bool bSupportsStacked) const
Converts and writes the contained rotation settings to the passed property set.
Definition: xichart.cxx:1060
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:3223
double CalcRelativeFromChartY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from Excel chart units into a relative position.
Definition: xichart.cxx:350
virtual Color GetFontColor() const override
Returns the leading font color for the text object.
Definition: xichart.cxx:1012
void ConvertAxis(XclImpChAxisRef const &xChAxis, XclImpChTextRef const &xChAxisTitle, css::uno::Reference< css::chart2::XCoordinateSystem > const &xCoordSystem, const XclImpChAxis *pCrossingAxis) const
Creates and inserts an axis into the container and registers the coordinate system.
Definition: xichart.cxx:3779
std::shared_ptr< XclImpChRootData > XclImpChRootDataRef
Definition: xichart.hxx:170
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHESCHERFORMAT record (complex fill data) (called by base class).
Definition: xichart.cxx:527
void ReadChSerParent(XclImpStream &rStrm)
Reads a CHSERPARENT record specifying the parent series of this series.
Definition: xichart.cxx:2130
virtual sal_uInt16 GetRotation() const override
Returns the rotation value for the text object.
Definition: xichart.cxx:1017
std::shared_ptr< XclImpChMarkerFormat > XclImpChMarkerFormatRef
Definition: xichart.hxx:585
void UpdateTrendLineFormat()
Updates default data format for trend lines.
Definition: xichart.cxx:1505
const XclImpChText * GetDataLabel() const
Returns the data label text object.
Definition: xichart.hxx:689
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
Definition: xichart.hxx:1010
css::uno::Reference< css::beans::XPropertySet > CreateErrorBar(sal_uInt8 nPosBarId, sal_uInt8 nNegBarId) const
Tries to create an error bar API object from the specified Excel error bars.
Definition: xichart.cxx:2185
void InsertDataSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, css::uno::Reference< css::chart2::XDataSeries > const &xSeries, sal_Int32 nApiAxesSetIdx) const
Inserts the passed series into the chart type.
Definition: xichart.cxx:2859
XclImpChFramePosRef mxFramePos
Formatting runs (CHFORMATRUNS record).
Definition: xichart.hxx:553
XclImpChAttachedLabel(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1357
std::shared_ptr< XclImpChSeries > XclImpChSeriesRef
Definition: xichart.hxx:867
void ReadChMarkerFormat(XclImpStream &rStrm)
Reads the CHMARKERFORMAT record (data point marker properties).
Definition: xichart.cxx:1265
XclImpChLabelRangeRef mxLabelRange
Contents of the CHAXIS record.
Definition: xichart.hxx:1192
XclChAxesSet maData
Definition: xichart.hxx:1272
sal_uInt16 GetAxesSetId() const
Returns the index of the axes set (primary/secondary).
Definition: xichart.hxx:1226
XclCh3dDataFormat maData
Definition: xichart.hxx:629
bool IsValidGroup() const
Returns true, if this chart type group contains at least one valid series.
Definition: xichart.hxx:1006
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHLEGEND record (called by base class).
Definition: xichart.cxx:2505
bool HasVarPointFormat() const
Returns true, if points of a series show varying automatic area format.
Definition: xichart.cxx:2752
void ConvertWall(ScfPropertySet &rPropSet) const
Converts and writes 3D wall/floor properties to the passed property set.
Definition: xichart.cxx:3446
void ConvertFrame(ScfPropertySet &rPropSet) const
Converts and writes the contained frame data to the passed property set.
Definition: xichart.cxx:1065
bool IsPivotChart() const
Returns true, if the chart is based on a pivot table.
Definition: xichart.hxx:1411
Represents the CHFRAME record group containing object frame properties.
Definition: xichart.hxx:368
XclImpChEscherFormatRef mxEscherFmt
Area format (CHAREAFORMAT record).
Definition: xichart.hxx:360
virtual ~XclImpChChart() override
Definition: xichart.cxx:3858
std::shared_ptr< XclImpChSerTrendLine > XclImpChSerTrendLineRef
Definition: xichart.hxx:739
void ConvertChart3d(ScfPropertySet &rPropSet) const
Converts and writes all 3D settings to the passed diagram.
Definition: xichart.cxx:2777
XclImpChTextRef mxText
Legend frame position (CHFRAMEPOS record).
Definition: xichart.hxx:946
XclImpChAreaFormatRef mxAreaFmt
Line format (CHLINEFORMAT record).
Definition: xichart.hxx:359
const XclChFormatInfo & GetFormatInfo(XclChObjectType eObjType) const
Returns an info struct about auto formatting for the passed object type.
Definition: xichart.cxx:240
void ReadChPieFormat(XclImpStream &rStrm)
Reads the CHPIEFORMAT record (pie segment properties).
Definition: xichart.cxx:1321
Contains information for a chart type.
Definition: xlchart.hxx:1207
sal_uInt16 mnFlags
Marker type (none, diamond, ...).
Definition: xlchart.hxx:893
Color GetFontAutoColor() const
Returns the default text color for charts.
Definition: xichart.cxx:245
XclChText maData
Definition: xichart.hxx:550
void UpdateDataLabel(const XclImpChDataFormat *pParentFmt)
Updates or creates the data point label.
Definition: xichart.cxx:1578
bool HasCategoryLabels() const
Returns true, if chart type has category labels enabled (may be disabled in radar charts)...
Definition: xichart.cxx:2348
void SetSeriesData(XclImpChSourceLinkRef const &xValueLink, XclImpChDataFormatRef const &xDataFmt)
Sets link and formatting information for the error bars.
Definition: xichart.cxx:1691
bool HasLine() const
Returns true, if the line style is set to something visible.
Definition: xichart.hxx:336
void ReadChTypeGroup(XclImpStream &rStrm)
Reads a CHTYPEGROUP record group containing chart type and chart settings.
Definition: xichart.cxx:3712
XclChTypeInfo maTypeInfo
Record identifier for chart type.
Definition: xichart.hxx:902
void Convert(css::uno::Reference< css::frame::XModel > const &xModel, XclImpDffConverter &rDffConv, const OUString &rObjName, const tools::Rectangle &rChartRect) const
Creates the chart object in the passed component.
Definition: xichart.cxx:4383
void Convert(ScfPropertySet &rPropSet, const XclChExtTypeInfo &rTypeInfo, const ScfPropertySet *pGlobalPropSet=nullptr) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1520
XclImpChDataFormatRef CreateDataFormat(sal_uInt16 nPointIdx, sal_uInt16 nFormatIdx)
Creates a new CHDATAFORMAT group with the specified point index.
Definition: xichart.cxx:2155
void ConvertAxisPosition(ScfPropertySet &rPropSet, bool b3dChart) const
Converts position settings of this axis at a crossing axis.
Definition: xichart.cxx:3045
void ConvertLine(ScfPropertySet &rPropSet, XclChObjectType eObjType) const
Writes the line format only, e.g.
Definition: xichart.cxx:1555
Represents the CHDATAFORMAT record group containing data point properties.
Definition: xichart.hxx:656
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHDATAFORMAT group (called by base class).
Definition: xichart.cxx:1399
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:501
XclFormatRunVec maFormats
Link target for this text object.
Definition: xichart.hxx:552
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, bool bUsePicFmt) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:552
void ConvertArea(ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx) const
Writes the area format only for the series or a data point.
Definition: xichart.cxx:1560
bool IsManualPlotArea() const
Returns true, if the plot area has benn moved and/or resized manually.
Definition: xichart.cxx:3958
void ReadChSeriesFormat(XclImpStream &rStrm)
Reads the CHSERIESFORMAT record (additional settings for a series).
Definition: xichart.cxx:1337
XclImpChAttLabelRef mxAttLabel
3D bar format (CH3DDATAFORMAT record).
Definition: xichart.hxx:710
bool IsAutoArea() const
Returns true, if the area format is set to automatic.
Definition: xichart.hxx:341
XclImpChDataFormatRef mxSeriesFmt
Link data for series bubble sizes.
Definition: xichart.hxx:856
static void ConvertPieRotation(ScfPropertySet &rPropSet, sal_uInt16 nAngle)
Writes the pie rotation property for the passed angle.
Definition: xichart.cxx:383
std::shared_ptr< XclImpChAreaFormat > XclImpChAreaFormatRef
Definition: xichart.hxx:291
virtual sal_uInt16 GetFontIndex() const override
Returns the leading font index for the text object.
Definition: xichart.cxx:1007
void Convert(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Creates a coordinate system and converts all series and axis settings.
Definition: xichart.cxx:3634
XclImpChDataFormatMap maPointFmts
CHDATAFORMAT group for series format.
Definition: xichart.hxx:857
XclImpChAxesSetRef mxSecnAxesSet
Primary axes set (CHAXESSET group).
Definition: xichart.hxx:1363
bool mbOwnTab
Drawing container for embedded shapes.
Definition: xichart.hxx:1430
bool mbIsPivotChart
true = own sheet; false = embedded object.
Definition: xichart.hxx:1431
sal_uInt16 mnBarDist
Drop bar identifier, needed for auto format.
Definition: xichart.hxx:970
std::shared_ptr< XclImpChartDrawing > XclImpChartDrawingRef
Definition: xichart.hxx:1426
void ConvertAxisPosition(ScfPropertySet &rPropSet, const XclImpChTypeGroup &rTypeGroup) const
Converts position settings of this axis at a crossing axis.
Definition: xichart.cxx:3453
XclImpChValueRangeRef mxValueRange
Category scaling (CHLABELRANGE record).
Definition: xichart.hxx:1193
void SetDataLabel(const XclImpChTextRef &xLabel)
Sets a label text (CHTEXT group) attached to a series or data point.
Definition: xichart.cxx:1863
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT group containing series and point formatting.
Definition: xichart.cxx:2124
XclChObjectType meObjType
Contents of the CHFRAME record.
Definition: xichart.hxx:387
XclImpChSeriesFormatRef mxSeriesFmt
Pie segment format (CHPIEFORMAT record).
Definition: xichart.hxx:708
XclChTypeGroup maData
Definition: xichart.hxx:1068
XclImpChLineFormatRef mxAxisLine
Index into font buffer (CHFONT record).
Definition: xichart.hxx:1196
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateValueSequence() const
Creates a labeled data sequence object from value data link.
Definition: xichart.cxx:1697
sal_uInt16 mnNumFmtIdx
Wall/floor format (sub records of CHFRAME group).
Definition: xichart.hxx:1200
XclImpChSerTrendLine(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1596
XclImpChPieFormatRef mxPieFmt
Data point marker (CHMARKERFORMAT record).
Definition: xichart.hxx:707
void ConvertRotationBase(ScfPropertySet &rPropSet, bool bSupportsStacked) const
Converts and writes the contained rotation settings to the passed property set.
Definition: xichart.cxx:923
exports com.sun.star. awt
Contains information about auto formatting of a specific chart object type.
Definition: xlchart.hxx:1139
bool HasSpline() const
Returns true, if the series line is smoothed.
Definition: xichart.hxx:611
std::shared_ptr< XclImpChLegend > XclImpChLegendRef
Definition: xichart.hxx:950
XclImpChChart & GetChartData() const
Returns a reference to the parent chart data object.
Definition: xichart.cxx:225
XclImpChSeriesVec maSeries
Extended chart type info.
Definition: xichart.hxx:1071
void ReadChDropBar(XclImpStream &rStrm)
Reads a CHDROPBAR record group.
Definition: xichart.cxx:2821
const std::size_t EXC_CHART_PROGRESS_SIZE
Definition: xlchart.hxx:152
XclImpChFrameRef mxPlotFrame
The Z axis title (CHTEXT group).
Definition: xichart.hxx:1280
void Finalize(bool bStockChart)
Final processing after reading the entire chart.
Definition: xichart.cxx:2270
XclImpChChart3dRef mxChart3d
First series in this chart type group (CHSERIES groups).
Definition: xichart.hxx:1073
void Convert(ScfPropertySet &rPropSet, bool b3dWallChart) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:2433
sal_uInt8 mnLabelPos
Type of tick marks of minor grid.
Definition: xlchart.hxx:1049
sal_uInt16 GetGroupIdx() const
Returns the axes set identifier this series is assigned to (primary/secondary).
Definition: xichart.hxx:799
static void SkipBlock(XclImpStream &rStrm)
Helper to skip a CHBEGIN/CHEND block, includes nested blocks.
Definition: xichart.cxx:423
bool IsAutoMarker() const
Returns true, if markers are set to automatic format.
Definition: xichart.hxx:685
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:2708
XclImpChAxesSet(const XclImpChRoot &rRoot, sal_uInt16 nAxesSetId)
Definition: xichart.cxx:3523
std::shared_ptr< XclImpChAxis > XclImpChAxisRef
Definition: xichart.hxx:1203
XclChExtTypeInfo maTypeInfo
Chart type (e.g. CHBAR, CHLINE, ...).
Definition: xichart.hxx:1070
XclChAreaFormat maData
Definition: xichart.hxx:288
Color GetFontColor() const
Returns the leading font color for the axis labels.
Definition: xichart.cxx:3208
std::shared_ptr< XclImpChChart > XclImpChChartRef
Definition: xichart.hxx:1368
XclImpChType maType
Contents of the CHTYPEGROUP record.
Definition: xichart.hxx:1069
sal_Int16 GetWeight() const
Returns the line width of this line format (returns 'single', if the line is invisible).
Definition: xichart.hxx:250
void ReadChLineFormat(XclImpStream &rStrm)
Reads the CHLINEFORMAT record (basic line properties).
Definition: xichart.cxx:452
void ReadChSourceLink(XclImpStream &rStrm)
Reads a CHSOURCELINK record.
Definition: xichart.cxx:2111
sal_uInt16 GetLinkTarget() const
Returns the target object this text is linked to.
Definition: xichart.hxx:517
Represents the CHSERIES record group describing a data series in a chart.
Definition: xichart.hxx:779
XclImpChSeriesRef mxFirstSeries
Series attached to this chart type group (CHSERIES groups).
Definition: xichart.hxx:1072
void ConvertTitlePosition(const XclChTextKey &rTitleKey) const
Converts the manual position of the specified title.
Definition: xichart.cxx:1168
XclChObjectLink maObjLink
Contents of the CHTEXT record.
Definition: xichart.hxx:551
XclImpChChart(const XclImpRoot &rRoot)
Definition: xichart.cxx:3851
XclChValueRange maData
Definition: xichart.hxx:1118
void FinalizeSeries()
Finalizes series list, assigns child series to parent series.
Definition: xichart.cxx:4131
XclImpChSourceLinkRef mxValueLink
Contents of the CHSERIES record.
Definition: xichart.hxx:852
virtual ~XclImpChGroupBase()
Definition: xichart.cxx:389
virtual tools::Rectangle CalcAnchorRect(const XclObjAnchor &rAnchor, bool bDffAnchor) const override
Calculate the resulting rectangle of the passed anchor.
Definition: xichart.cxx:4258
void ReadChType(XclImpStream &rStrm)
Reads a chart type record (e.g.
Definition: xichart.cxx:2212
css::uno::Reference< css::chart2::XDataSeries > CreateDataSeries() const
Creates a data series object with initialized source links.
Definition: xichart.cxx:2015
void Convert(ScfPropertySet &rPropSet, css::chart2::ScaleData &rScaleData, bool bMirrorOrient) const
Converts category axis scaling settings.
Definition: xichart.cxx:3002
const sal_uInt16 EXC_CHSERIES_INVALID
Maximum valid series index.
Definition: xlchart.hxx:233
sal_uInt16 GetAxisType() const
Returns the type of this axis.
Definition: xichart.hxx:1172
XclImpChAxisRef mxXAxis
Outer plot area position (CHFRAMEPOS record).
Definition: xichart.hxx:1274
css::uno::Reference< css::chart2::XRegressionCurve > CreateRegressionCurve() const
Creates an API object representing this trend line.
Definition: xichart.cxx:1612
::std::vector< XclImpChSeriesRef > XclImpChSeriesVec
Definition: xichart.hxx:1064
sal_uInt16 GetParentIdx() const
Returns the 0-based index of the parent series (e.g.
Definition: xichart.hxx:801
sal_uInt8 mnBarType
Number of custom error values.
Definition: xlchart.hxx:932
A map key for text and title objects.
Definition: xlchart.hxx:1278
virtual Color GetFontColor() const override
Returns the font color for the axis labels.
Definition: xichart.cxx:3310
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHESCHERFORMAT group (called by base class).
Definition: xichart.cxx:539
OUString GetTitle() const
Returns series title or an empty string, if the series does not contain a title.
Definition: xichart.hxx:807
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
Definition: xichart.cxx:3926
void Convert(ScfPropertySet &rPropSet, bool bUsePicFmt=false) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:693
XclImpChLegendRef GetLegend() const
Looks for a legend in all chart type groups and returns it.
Definition: xichart.cxx:3617
css::awt::Rectangle CalcHmmFromChartRect(const XclChRectangle &rRect) const
Converts the passed rectangle from Excel chart units into 1/100 mm.
Definition: xichart.cxx:320
XclChTextType
Enumerates different text box types for default text formatting and title positioning.
Definition: xlchart.hxx:1268
void FinishConversion(XclImpDffConverter &rDffConv) const
Finishes the API chart document conversion.
Definition: xichart.cxx:288
void ReadChSerTrendLine(XclImpStream &rStrm)
Reads the CHSERTRENDLINE record.
Definition: xichart.cxx:1601
XclImpChTextRef mxXAxisTitle
The Z axis (CHAXIS group).
Definition: xichart.hxx:1277
void ConvertAreaFormat(ScfPropertySet &rPropSet, const XclChAreaFormat &rAreaFmt, XclChPropertyMode ePropMode) const
Writes solid area properties to the passed property set.
Definition: xichart.cxx:362
sal_uInt16 mnFlags
Definition: xichart.hxx:645
The CHATTACHEDLABEL record that contains the type of a data point label.
Definition: xichart.hxx:635
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHDROPBAR record (called by base class).
Definition: xichart.cxx:2646
css::uno::Reference< css::chart2::XAxis > CreateAxis(const XclImpChAxis &rChAxis, const XclImpChAxis *pCrossingAxis) const
Creates and returns an API axis object.
Definition: xichart.cxx:3816
XclImpChAreaFormat()
Creates a new area format object with automatic formatting.
Definition: xichart.hxx:270
bool HasSpline() const
Returns true, if the series line is smoothed.
Definition: xichart.hxx:687
void ReadChFrLabelProps(XclImpStream &rStrm)
Reads a CHFRLABELPROPS record.
Definition: xichart.cxx:1220
XclChDateRange maDateData
Contents of the CHLABELRANGE record.
Definition: xichart.hxx:1101
void ReadChAttachedLabel(XclImpStream &rStrm)
Reads the CHATTACHEDLABEL record (data series/point labels).
Definition: xichart.cxx:1363
bool mbSupports3d
true = Types can be combined in one axes set.
Definition: xlchart.hxx:1216
bool Is3dDeepChart() const
Returns true, if the series in this chart type group are ordered on the Z axis.
Definition: xichart.hxx:1014
bool HasParentSeries() const
Returns true, if the series is child of another series (e.g.
Definition: xichart.hxx:803
void ReadChFont(XclImpStream &rStrm)
Reads the CHFONT record (font index).
Definition: xichart.cxx:933
XclImpChLineFormatRef mxMajorGrid
Axis line format (CHLINEFORMAT record).
Definition: xichart.hxx:1197
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:465
XclImpChLineFormatRef mxLineFmt
Definition: xichart.hxx:358
double CalcRelativeFromHmmX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from 1/100 mm into a relative position. ...
Definition: xichart.cxx:329
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet) const
Converts and writes the contained frame data to the passed property set.
Definition: xichart.cxx:2651
exports com.sun.star. chart2
Extended chart type information and access functions.
Definition: xlchart.hxx:1229
XclImpChGroupBase()=default
sal_uInt16 mnFlags
Background mode: transparent, opaque.
Definition: xlchart.hxx:878
void ReadChDateRange(XclImpStream &rStrm)
Reads the CHDATERANGE record (date axis scaling properties).
Definition: xichart.cxx:2989
bool HasConnectorLines() const
Returns true, if bars are connected with lines (stacked bar charts only).
Definition: xichart.cxx:2760
void ReadChTick(XclImpStream &rStrm)
Reads the CHTICK record (axis ticks properties).
Definition: xichart.cxx:3183
sal_uInt16 mnPattern
Line color.
Definition: xlchart.hxx:792
void RemoveUnusedFormats(const XclChExtTypeInfo &rTypeInfo)
Removes unused formatting (e.g.
Definition: xichart.cxx:1565
void ConvertBackground(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Writes all properties of the background area to the passed diagram.
Definition: xichart.cxx:3824
std::shared_ptr< XclImpChText > XclImpChTextRef
Definition: xichart.hxx:560
sal_Int32 CalcHmmFromChartY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from Excel chart units into 1/100 mm.
Definition: xichart.cxx:315
void ReadRecordGroup(XclImpStream &rStrm)
Reads the entire record group.
Definition: xichart.cxx:393
sal_uInt16 mnType
Definition: xlchart.hxx:1059
exports com.sun.star. frame
std::shared_ptr< XclChFrLabelProps > XclChFrLabelPropsRef
Definition: xichart.hxx:548
void ConvertEscherFormat(ScfPropertySet &rPropSet, const XclChEscherFormat &rEscherFmt, const XclChPicFormat *pPicFmt, sal_uInt32 nDffFillType, XclChPropertyMode ePropMode) const
Writes gradient or bitmap area properties to the passed property set.
Definition: xichart.cxx:368
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHCHART group (called by base class).
Definition: xichart.cxx:3868
virtual sal_uInt16 GetRotation() const override
Returns the rotation value for axis labels.
Definition: xichart.cxx:3315
const sal_uInt16 EXC_CHAXIS_NONE
Definition: xlchart.hxx:397
OUString maTrendLineName
Definition: xichart.hxx:734
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object)...
Definition: xiescher.hxx:1043
void CreateDataSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx) const
Creates all data series of any chart type except stock charts.
Definition: xichart.cxx:2890
void ConvertFrameBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt=false) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:627
XclImpChart(const XclImpRoot &rRoot, bool bOwnTab)
Constructs a new chart object.
Definition: xichart.cxx:4279
XclImpChLegend(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2500
sal_uInt16 mnDropBar
Definition: xichart.hxx:969
sal_Int16 mnWeight
Line pattern (solid, dashed, ...).
Definition: xlchart.hxx:793
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHTEXT group (called by base class).
Definition: xichart.cxx:968
void FinalizeDataFormats()
Updates missing series formatting by using default formatting from axes sets.
Definition: xichart.cxx:1900
Represents the CHSERTRENDLINE record containing settings for a trend line.
Definition: xichart.hxx:717
void ReadChChart(XclImpStream &rStrm)
Reads the CHCHART group (entire chart data).
Definition: xichart.cxx:4402
XclChLineFormat maData
Definition: xichart.hxx:260
virtual Color GetFontColor() const =0
Derived classes return the leading font color for the text object.
rtl::Reference< XclImpChLineFormat > XclImpChLineFormatRef
Definition: xichart.hxx:263
XclImpChSourceLinkRef mxBubbleLink
Link data for series title.
Definition: xichart.hxx:855
sal_uInt16 mnFlags
Space between series.
Definition: xlchart.hxx:974
std::set< sal_uInt16 > maUnusedFormats
Default format for all series (CHDATAFORMAT group).
Definition: xichart.hxx:1079
void ConvertFont(ScfPropertySet &rPropSet, sal_uInt16 nFontIdx, const Color *pFontColor=nullptr) const
Writes font properties to the passed property set.
Definition: xichart.cxx:377
bool IsShowAxis() const
Returns true, if the "show axis" flag is set.
Definition: xichart.hxx:252
Base class for record groups containing frame formatting.
Definition: xichart.hxx:322
std::shared_ptr< XclImpChEscherFormat > XclImpChEscherFormatRef
Definition: xichart.hxx:314
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Creates a coordinate system that contains all chart types for this axes set.
Definition: xichart.cxx:3726
sal_uInt16 GetRecId() const
Returns the record identifier of the chart type record.
Definition: xichart.hxx:882
sal_uInt16 mnRecId
Contents of the chart type record.
Definition: xichart.hxx:901
const sal_Int16 EXC_CHLINEFORMAT_SINGLE
Definition: xlchart.hxx:261
XclImpChTypeGroupMap maTypeGroups
Plot area (CHPLOTFRAME group).
Definition: xichart.hxx:1281
bool IsStacked() const
Returns true, if the series in this chart type group are stacked on each other (no percentage)...
Definition: xichart.cxx:2308
XclImpChRoot(const XclImpRoot &rRoot, XclImpChChart &rChartData)
Definition: xichart.cxx:215
void SetDataFormat(XclImpChDataFormatRef xDataFmt)
Sets formatting information for the trend line.
Definition: xichart.hxx:725
::std::vector< XclFormatRun > XclFormatRunVec
A vector with all formatting runs for a rich-string.
Definition: xlstring.hxx:85
bool HasCategoryLabels() const
Returns true, if category (X axis) labels are enabled (may be disabled in radar charts).
Definition: xichart.hxx:1016
XclImpChAxis(const XclImpChRoot &rRoot, sal_uInt16 nAxisType=EXC_CHAXIS_NONE)
Definition: xichart.cxx:3231
void ReadChValueRange(XclImpStream &rStrm)
Reads the CHVALUERANGE record (numeric axis scaling properties).
Definition: xichart.cxx:3081
XclImpChFrameRef mxWallFrame
Minor grid line format (CHLINEFORMAT record).
Definition: xichart.hxx:1199
bool IsDeleted() const
Returns true, if the text object is marked as deleted.
Definition: xichart.hxx:523
sal_uInt16 mnFlags
Line weight (hairline, single, ...).
Definition: xlchart.hxx:794
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
Definition: xichart.cxx:647
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx, sal_Int16 nLineWeight) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1283
void CreateWallFrame()
Creates a CHFRAME object and stores it into the mxWallFrame member.
Definition: xichart.cxx:3508
XclImpChLineFormat(const XclChLineFormat &rLineFmt)
Creates a new line format object with the passed formatting.
Definition: xichart.hxx:230
bool IsValidAxesSet() const
Returns true, if this axes set exists (returns false if this is a dummy object).
Definition: xichart.hxx:1224
static css::uno::Reference< css::beans::XPropertySet > CreateErrorBar(const XclImpChSerErrorBar *pPosBar, const XclImpChSerErrorBar *pNegBar)
Tries to create an error bar API object from the specified Excel error bars.
Definition: xichart.cxx:1702
void ReadChSerErrorBar(XclImpStream &rStrm)
Reads a CHSERERRORBAR record containing error bar settings.
Definition: xichart.cxx:2147
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT group describing a series format or a data point format.
Definition: xichart.cxx:3908
const XclChDataPointPos & GetPointPos() const
Returns the position of the data point described by this group.
Definition: xichart.hxx:681
sal_uInt16 mnParentIdx
0-based series index.
Definition: xichart.hxx:863
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xlchart.cxx:336
bool HasDropBars() const
Returns true, if the chart type group contains drop bar formats.
Definition: xichart.hxx:1050
const XclChDataPointPos & GetPointPos() const
Returns the position of the data point label this text is linked to.
Definition: xichart.hxx:519
void Convert(const css::uno::Reference< css::chart2::XChartDocument > &xChartDoc, XclImpDffConverter &rDffConv, const OUString &rObjName, const tools::Rectangle &rChartRect) const
Converts and writes all properties to the passed chart.
Definition: xichart.cxx:3964
::std::map< sal_uInt16, std::unique_ptr< XclImpChText > > XclImpChTextMap
Definition: xichart.hxx:1354
bool HasSpline() const
Returns true, if the series line is smoothed.
Definition: xichart.hxx:810
std::size_t GetProgressSize() const
Returns the number of units on the progress bar needed for the chart.
Definition: xichart.cxx:4376
virtual ~XclImpChRoot() override
Definition: xichart.cxx:221
std::shared_ptr< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef
Definition: xichart.hxx:632
XclImpChDataFormatMap maDataFmts
List of series data (CHSERIES groups).
Definition: xichart.hxx:1358
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem(bool b3dChart) const
Creates a coordinate system according to the contained chart type.
Definition: xichart.cxx:2354
Represents the CHTYPEGROUP record group describing a group of series.
Definition: xichart.hxx:982
::std::map< sal_uInt16, XclImpChTypeGroupRef > XclImpChTypeGroupMap
Definition: xichart.hxx:1270
XclChTick maData
Definition: xichart.hxx:1141
css::uno::Reference< css::chart2::XChartType > CreateChartType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, bool b3dChart) const
Creates and returns an object that represents the contained chart type.
Definition: xichart.cxx:2384
void ConvertAreaBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt=false) const
Converts and writes the contained area formatting to the passed property set.
Definition: xichart.cxx:614
XclChObjectType
Enumerates different object types for specific automatic formatting behaviour.
Definition: xlchart.hxx:1111
const XclChFramePos & GetFramePosData() const
Returns read-only access to the imported frame position data.
Definition: xichart.hxx:215
void SetDataLabel(XclImpChTextRef xLabel)
Sets type and text formatting for a data point label (CHTEXT group).
Definition: xichart.hxx:669
void ReadChSeries(XclImpStream &rStrm)
Reads a CHSERIES group (data series source and formatting).
Definition: xichart.cxx:4065
css::uno::Reference< css::chart2::data::XDataProvider > GetDataProvider() const
Returns the data provider for the chart document.
Definition: xichart.cxx:300
XclImpChDropBarMap m_DropBars
Chart legend (CHLEGEND group).
Definition: xichart.hxx:1075
The CHLINEFORMAT record containing line formatting data.
Definition: xichart.hxx:224
Base class for drawing objects (OBJ records).
Definition: xiescher.hxx:55
OUString GetSingleSeriesTitle() const
Returns series title, if the axes set contains only one single series.
Definition: xichart.cxx:3629
::std::vector< XclImpChSeriesRef > XclImpChSeriesVec
Definition: xichart.hxx:1352
Radar charts (linear or filled).
Definition: xlchart.hxx:1193
const XclChTypeInfo & GetChartTypeInfo(XclChTypeId eType) const
Returns chart type info for a unique chart type identifier.
Definition: xichart.cxx:230
XclChLabelRange maLabelData
Definition: xichart.hxx:1100
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHDATAFORMAT record (called by base class).
Definition: xichart.cxx:1391
Represents the CHLEGEND record group describing the chart legend.
Definition: xichart.hxx:927
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateValueSequence(const OUString &rValueRole) const
Creates a labeled data sequence object from value data link.
Definition: xichart.cxx:2005
The CHESCHERFORMAT record containing complex area formatting data (bitmaps, hatches).
Definition: xichart.hxx:294
sal_uInt16 GetRotation() const
Returns the rotation value for the axis labels.
Definition: xichart.cxx:3213
XclImpChSerErrorBar(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1676
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT record group (default series format).
Definition: xichart.cxx:2848
std::shared_ptr< XclImpChFrame > XclImpChFrameRef
Definition: xichart.hxx:390
const sal_uInt16 EXC_CHLINEFORMAT_NONE
Definition: xlchart.hxx:255
XclChChart3d maData
Definition: xichart.hxx:917
XclChProperties maProps
Chart frame format (CHFRAME group).
Definition: xichart.hxx:1360
sal_uInt16 mnFlags
Fill pattern.
Definition: xlchart.hxx:804
sal_uInt8 GetBarType() const
Returns the type of this error bar (X/Y, plus/minus).
Definition: xichart.hxx:755
Stores global data needed in various classes of the Chart import filter.
Definition: xichart.cxx:208
XclImpChTextRef CreateDataLabel(const XclImpChText *pParent) const
Creates a CHTEXT group for the label.
Definition: xichart.cxx:1368
XclImpChDataFormat(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1386
void ConvertTrendLines(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries) const
Converts all trend lines and inserts them into the passed API data series object. ...
Definition: xichart.cxx:2162
bool HasArea() const
Returns true, if the area style is set to something visible.
Definition: xichart.hxx:280
XclImpChartDrawingRef mxChartDrawing
The chart data (CHCHART group).
Definition: xichart.hxx:1429
XclChFrLabelPropsRef mxLabelProps
Index into font buffer (CHFONT record).
Definition: xichart.hxx:557
::std::map< sal_uInt16, XclImpChDataFormatRef > XclImpChDataFormatMap
Definition: xichart.hxx:847
XclChDataPointPos maPointPos
Definition: xlchart.hxx:908
Base class for objects with font settings.
Definition: xichart.hxx:446
XclImpChSourceLinkRef mxTitleLink
Link data for series category names.
Definition: xichart.hxx:854
XclImpChSeriesVec maSeries
Position of the chart on the sheet (CHCHART record).
Definition: xichart.hxx:1357
void SetUsedFormatIndex(sal_uInt16 nFormatIdx)
Marks the passed format index as used.
Definition: xichart.cxx:2739
sal_uInt16 GetGroupIdx() const
Returns the index of this chart type group.
Definition: xichart.hxx:1002
bool IsAuto() const
Returns true, if the line format is set to automatic.
Definition: xichart.hxx:246
void CreateStockSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx) const
Creates all data series of a stock chart.
Definition: xichart.cxx:2907
std::shared_ptr< XclImpChChart3d > XclImpChChart3dRef
Definition: xichart.hxx:920
bool HasLabels() const
Returns true, if the axis shows attached labels.
Definition: xichart.hxx:1131
void UpdateText(const XclImpChText *pParentText)
Updates missing parts of this text object from the passed object.
Definition: xichart.cxx:1029
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xichart.hxx:1394
double CalcRelativeFromChartX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from Excel chart units into a relative position.
Definition: xichart.cxx:345
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHSERIES record (called by base class).
Definition: xichart.cxx:1787
XclImpChTypeGroupRef GetTypeGroup(sal_uInt16 nGroupIdx) const
Returns the specified chart type group.
Definition: xichart.cxx:3603
void ConvertObjects(XclImpDffConverter &rDffConv, const css::uno::Reference< css::frame::XModel > &rxModel, const tools::Rectangle &rChartRect)
Converts all objects and inserts them into the chart drawing page.
Definition: xichart.cxx:4226
const XclChTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
Definition: xichart.hxx:884
virtual void ReadHeaderRecord(XclImpStream &rStrm)=0
Derived classes implement to read the group header record.
std::shared_ptr< XclImpChTick > XclImpChTickRef
Definition: xichart.hxx:1144
XclImpChLegendRef mxLegend
Chart title (CHTEXT group).
Definition: xichart.hxx:1365
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:284
void SetDataFormat(const XclImpChDataFormatRef &xDataFmt)
Sets a data point or series format (CHDATAFORMAT group) for this series.
Definition: xichart.cxx:1828
void ReadChChart3d(XclImpStream &rStrm)
Reads the CHCHART3D record (properties for 3D charts).
Definition: xichart.cxx:2422
sal_uInt16 mnAxesSetId
Position of the axes set (inner plot area).
Definition: xlchart.hxx:1070
bool get_flag(Type nBitField, Type nMask)
Returns true, if at least one of the bits set in nMask is set in nBitField.
Definition: ftools.hxx:73
::std::map< XclChDataPointPos, XclImpChDataFormatRef > XclImpChDataFormatMap
Definition: xichart.hxx:1353
XclChType maData
Definition: xichart.hxx:900
const XclImpChText * GetDefaultText(XclChTextType eTextType) const
Returns the specified default text.
Definition: xichart.cxx:3941
const sal_uInt16 EXC_CHLINEFORMAT_SHOWAXIS
Definition: xlchart.hxx:266
void ConvertFont(ScfPropertySet &rPropSet) const
Converts and writes the contained font settings to the passed property set.
Definition: xichart.cxx:1055
XclImpChChartRef mxChartData
Definition: xichart.hxx:1428
XclChFramePos maData
Definition: xichart.hxx:218
void Finalize()
Final processing after reading the entire chart data.
Definition: xichart.cxx:4109
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1348
css::uno::Reference< css::chart2::XLegend > CreateLegend() const
Creates a new legend object.
Definition: xichart.cxx:2550
bool mbLabelDeleted
0-based index of parent series (trend lines and error bars).
Definition: xichart.hxx:864
const sal_uInt16 EXC_CHCHART3D_CLUSTER
true = real 3d perspective.
Definition: xlchart.hxx:538
css::uno::Reference< css::chart2::XAxis > CreateAxis(const XclImpChTypeGroup &rTypeGroup, const XclImpChAxis *pCrossingAxis) const
Creates an API axis object.
Definition: xichart.cxx:3320
XclImpChLabelRange(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2976
void SetTrendlineName(const OUString &aTrendlineName)
Definition: xichart.hxx:727
XclImpChTextRef mxLabel
Data point label type (CHATTACHEDLABEL record).
Definition: xichart.hxx:711
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:2541
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHAXESSET record (called by base class).
Definition: xichart.cxx:3529
const sal_uInt16 EXC_CHSERIESFORMAT_SMOOTHED
Definition: xlchart.hxx:689
Color GetSeriesFillAutoColor(sal_uInt16 nFormatIdx) const
Returns the automatic fill color of filled series.
Definition: xichart.cxx:255
const XclImpChFramePosRef & GetPlotAreaFramePos() const
Returns the outer plot area position, if existing.
Definition: xichart.hxx:1231
The CHAREAFORMAT record containing simple area formatting data (solid or patterns).
Definition: xichart.hxx:266
void ReadChChartLine(XclImpStream &rStrm)
Reads a CHCHARTLINE record group.
Definition: xichart.cxx:2837
void ConvertTitlePositions() const
Converts the manual positions of all axis titles.
Definition: xichart.cxx:3667
void ReadChSerErrorBar(XclImpStream &rStrm)
Reads the CHSERERRORBAR record.
Definition: xichart.cxx:1681
XclImpChFrameRef mxFrame
All series and point formats (CHDATAFORMAT groups).
Definition: xichart.hxx:1359
XclImpChFrameRef mxFrame
Linked data (CHSOURCELINK with CHSTRING record).
Definition: xichart.hxx:555
XclImpChLineFormat(XclImpChLineFormat const &rOther)
Definition: xichart.hxx:233
std::shared_ptr< XclImpChAxesSet > XclImpChAxesSetRef
Definition: xichart.hxx:1284
XclChRectangle maRect
Definition: xichart.hxx:1356
void ConvertColor(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx) const
Sets the marker fill color as main color to the passed property set.
Definition: xichart.cxx:1309
void ReadChProperties(XclImpStream &rStrm)
Reads a CHPROPERTIES record (global chart properties).
Definition: xichart.cxx:4073
const sal_uInt16 EXC_CHLINEFORMAT_AUTO
Definition: xlchart.hxx:265
XclChTypeId
Enumerates all kinds of different chart types.
Definition: xlchart.hxx:1169
sal_uInt16 mnSeriesIdx
Chart type group (CHTYPEGROUP group) this series is assigned to.
Definition: xichart.hxx:862
This is the central instance for converting binary DFF data into shape objects.
Definition: xiescher.hxx:921
The CHSERIESFORMAT record containing additional settings for a data series.
Definition: xichart.hxx:604
XclImpChText(const XclImpChRoot &rRoot)
Definition: xichart.cxx:938
XclChSerErrorBar maData
Definition: xichart.hxx:767
::std::map< sal_uInt16, XclImpChTextRef > XclImpChTextMap
Definition: xichart.hxx:848
sal_uInt16 mnGroupIdx
Error bar settings (CHSERERRORBAR records).
Definition: xichart.hxx:861
::std::map< sal_uInt16, XclImpChLineFormat > XclImpChLineFormatMap
Definition: xichart.hxx:1066
exports com.sun.star.chart2. data
XclImpChRootDataRef mxChData
Definition: xichart.hxx:171
sal_Int32 CalcHmmFromChartX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from Excel chart units into 1/100 mm.
Definition: xichart.cxx:310
Represents the CHCHART3D record that contains 3D view settings.
Definition: xichart.hxx:906
sal_uInt16 mnFlags
Definition: xichart.hxx:614
bool HasLine() const
Returns true, if the line style is set to something visible.
Definition: xichart.hxx:248
XclImpChFontRef mxFont
Text object frame properties (CHFRAME group).
Definition: xichart.hxx:556
XclChPicFormat maPicFmt
Fill properties for complex areas (CHESCHERFORMAT record).
Definition: xichart.hxx:310
void ReadChLabelRange(XclImpStream &rStrm)
Reads the CHLABELRANGE record (category axis scaling properties).
Definition: xichart.cxx:2981
XclImpChTick(const XclImpChRoot &rRoot)
Definition: xichart.cxx:3178
XclImpChValueRange(const XclImpChRoot &rRoot)
Definition: xichart.cxx:3076
void UpdatePointFormat(const XclChExtTypeInfo &rTypeInfo, const XclImpChDataFormat *pSeriesFmt)
Updates missing data point settings from the passed series format.
Definition: xichart.cxx:1479
bool IsAuto() const
Returns true, if the marker format is set to automatic.
Definition: xichart.hxx:572
void Convert(css::chart2::ScaleData &rScaleData, bool bMirrorOrient) const
Converts value axis scaling settings.
Definition: xichart.cxx:3091
void ReadChSerTrendLine(XclImpStream &rStrm)
Reads a CHSERTRENDLINE record containing trend line settings.
Definition: xichart.cxx:2140
XclImpChTextMap maLabels
CHDATAFORMAT groups for data point formats.
Definition: xichart.hxx:858
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHFRAME record (called by base class).
Definition: xichart.cxx:641
XclImpChartDrawing & GetChartDrawing()
Returns (initially creates) the drawing container for embedded shapes.
Definition: xichart.cxx:4395
const XclChExtTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
Definition: xichart.hxx:1004
virtual sal_uInt16 GetRotation() const =0
Derived classes return the rotation value for the text object.
XclChMarkerFormat maData
Definition: xichart.hxx:582
std::shared_ptr< XclImpChSourceLink > XclImpChSourceLinkRef
Definition: xichart.hxx:441
Represents the CHAXIS record group describing an entire chart axis.
Definition: xichart.hxx:1152
std::shared_ptr< XclImpChFont > XclImpChFontRef
Definition: xichart.hxx:485
XclImpChLineFormatRef mxMinorGrid
Major grid line format (CHLINEFORMAT record).
Definition: xichart.hxx:1198
A wrapper for a UNO property set.
Definition: fapihelper.hxx:104
const sal_uInt16 EXC_CHMARKERFORMAT_AUTO
Automatic symbol size for triple lines.
Definition: xlchart.hxx:288
XclImpChTypeGroupRef GetTypeGroup(sal_uInt16 nGroupIdx) const
Returns the specified chart type group.
Definition: xichart.cxx:3933
virtual sal_uInt16 GetFontIndex() const =0
Derived classes return the leading font index for the text object.
Color GetSeriesLineAutoColor(sal_uInt16 nFormatIdx) const
Returns the automatic line color of linear series.
Definition: xichart.cxx:250
The CHPIEFORMAT record containing data point formatting data for pie segments.
Definition: xichart.hxx:588
const XclImpChRoot & GetChRoot() const
Returns this root instance - for code readability in derived classes.
Definition: xichart.hxx:92
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem() const
Creates a coordinate system according to the contained chart type.
Definition: xichart.cxx:2783
sal_uInt16 mnFontIdx
Definition: xichart.hxx:482
void SetString(const OUString &rString)
Sets explicit string data for this text object.
Definition: xichart.cxx:1022
void ReadChText(XclImpStream &rStrm)
Reads a CHTEXT record group containing an axis title.
Definition: xichart.cxx:3690
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHLEGEND group (called by base class).
Definition: xichart.cxx:2522
::std::map< sal_uInt16, std::unique_ptr< XclImpChDropBar > > XclImpChDropBarMap
Definition: xichart.hxx:1065
Represents the CHAXESSET record group describing an axes set (X/Y/Z axes).
Definition: xichart.hxx:1211
tools::Rectangle maChartRect
Definition: xichart.hxx:1388
void ReadChAreaFormat(XclImpStream &rStrm)
Reads the CHAREAFORMAT record (basic fill properties, e.g.
Definition: xichart.cxx:485
XclImpChAxisRef mxYAxis
The X axis (CHAXIS group).
Definition: xichart.hxx:1275
XclImpChFontRef mxFont
Axis ticks (CHTICK record).
Definition: xichart.hxx:1195
XclImpChTickRef mxTick
Value scaling (CHVALUERANGE record).
Definition: xichart.hxx:1194
XclImpChartDrawing(const XclImpRoot &rRoot, bool bOwnTab)
Definition: xichart.cxx:4219
std::shared_ptr< XclImpChDataFormat > XclImpChDataFormatRef
Definition: xichart.hxx:714
XclImpChTypeGroupRef GetFirstTypeGroup() const
Returns the first chart type group.
Definition: xichart.cxx:3609
void ReadChFramePos(XclImpStream &rStrm)
Reads the CHFRAMEPOS record (frame position and size).
Definition: xichart.cxx:440
void ConvertLineFormat(ScfPropertySet &rPropSet, const XclChLineFormat &rLineFmt, XclChPropertyMode ePropMode) const
Writes all line properties to the passed property set.
Definition: xichart.cxx:355
XclImpChLineFormat(XclImpChLineFormat &&rOther)
Definition: xichart.hxx:235
const sal_uInt16 EXC_CHDATAFORMAT_UNKNOWN
As format index: global default for an axes set.
Definition: xlchart.hxx:241
XclImpChSourceLinkRef mxCategLink
Link data for series values.
Definition: xichart.hxx:853
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHSERIES group (called by base class).
Definition: xichart.cxx:1800
XclImpChFramePosRef mxFramePos
Contents of the CHAXESSET record.
Definition: xichart.hxx:1273
void FillAllSourceLinks(::std::vector< ScTokenRef > &rTokens) const
Definition: xichart.cxx:2099
XclImpChAreaFormat(const XclChAreaFormat &rAreaFmt)
Creates a new area format object with the passed formatting.
Definition: xichart.hxx:272
std::shared_ptr< XclImpChPieFormat > XclImpChPieFormatRef
Definition: xichart.hxx:601
std::shared_ptr< XclImpChLabelRange > XclImpChLabelRangeRef
Definition: xichart.hxx:1104
unsigned char sal_uInt8
css::uno::Reference< css::chart2::XDiagram > CreateDiagram() const
Creates and returns a new diagram object and converts global chart settings.
Definition: xichart.cxx:4197
Specifies the position of a data series or data point.
Definition: xlchart.hxx:754
XclImpChFramePosRef mxFramePos
Contents of the CHLEGEND record.
Definition: xichart.hxx:945
bool Is3dWallChart() const
Returns true, if chart type supports wall and floor format in 3d mode.
Definition: xichart.hxx:1012
XclImpChDataFormatRef mxGroupFmt
Global line formats (CHCHARTLINE group).
Definition: xichart.hxx:1077
const sal_uInt16 EXC_CHTEXT_DELETED
Text object is inserted automatically.
Definition: xlchart.hxx:478
sal_uInt16 mnFormatIdx
Position of the data point or series.
Definition: xlchart.hxx:909
XclImpChTextRef mxZAxisTitle
The Y axis title (CHTEXT group).
Definition: xichart.hxx:1279
std::shared_ptr< XclImpChSeriesFormat > XclImpChSeriesFormatRef
Definition: xichart.hxx:617
void ConvertNumFmt(ScfPropertySet &rPropSet, bool bPercent) const
Converts and writes the contained number format to the passed property set.
Definition: xichart.cxx:1071
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xichart.hxx:1228
XclImpChDataFormatRef mxDataFmt
Contents of the CHSERTRENDLINE record.
Definition: xichart.hxx:736
std::shared_ptr< XclImpString > XclImpStringRef
Definition: xiroot.hxx:29
void ReadCh3dDataFormat(XclImpStream &rStrm)
Reads the CH3DDATAFORMAT record (3D bar properties).
Definition: xichart.cxx:1342
XclImpChEscherFormat(const XclImpRoot &rRoot)
Definition: xichart.cxx:520
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHAXIS record (called by base class).
Definition: xichart.cxx:3238
XclChTypeCateg meTypeCateg
Unique chart type identifier.
Definition: xlchart.hxx:1210
XclImpChLineFormatMap m_ChartLines
Dropbars (CHDROPBAR group).
Definition: xichart.hxx:1076
bool IsAutoLine() const
Returns true, if the line format is set to automatic.
Definition: xichart.hxx:334
std::shared_ptr< XclImpChAttachedLabel > XclImpChAttLabelRef
Definition: xichart.hxx:648
Drawing container of a chart.
Definition: xichart.hxx:1371
void ConvertFontBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet) const
Converts and writes the contained font settings to the passed property set.
Definition: xichart.cxx:917
XclChLegend maData
Definition: xichart.hxx:944
SCTAB mnScTab
Position and size of the chart shape in 1/100 mm.
Definition: xichart.hxx:1389
XclImpChRoot & operator=(XclImpChRoot const &)=delete
void ReadChPlotFrame(XclImpStream &rStrm)
Reads the CHPLOTFRAME record group containing diagram area formatting.
Definition: xichart.cxx:3703
double CalcRelativeFromHmmY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from 1/100 mm into a relative position.
Definition: xichart.cxx:337
XclChFrame maData
Definition: xichart.hxx:386
XclImpChFrameRef mxFrame
Legend text format (CHTEXT group).
Definition: xichart.hxx:947
XclImpChAxisRef mxZAxis
The Y axis (CHAXIS group).
Definition: xichart.hxx:1276
XclImpChSeries(const XclImpChRoot &rRoot, sal_uInt16 nSeriesIdx)
Definition: xichart.cxx:1778
XclImpChTypeGroup(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2662
XclChDataFormat maData
Definition: xichart.hxx:705
The CH3DDATAFORMAT record containing the bar type in 3D bar charts.
Definition: xichart.hxx:620
Base class for complex chart classes, provides access to other components of the chart.
Definition: xichart.hxx:80
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1326
void UpdateGroupFormat(const XclChExtTypeInfo &rTypeInfo)
Updates default data format for series group.
Definition: xichart.cxx:1434
XclImpChTextRef mxYAxisTitle
The X axis title (CHTEXT group).
Definition: xichart.hxx:1278
Represents the CHSERERRORBAR record containing settings for error bars.
Definition: xichart.hxx:742
virtual sal_uInt16 GetFontIndex() const override
Returns the font index for the axis labels.
Definition: xichart.cxx:3305
void ReadChAxisLine(XclImpStream &rStrm)
Reads a CHAXISLINE record specifying the target for following line properties.
Definition: xichart.cxx:3471
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a frame formatting record (called by base class).
Definition: xichart.cxx:588
bool HasChildSeries() const
Returns true, if the series contains child series (e.g.
Definition: xichart.hxx:805
bool mbOwnTab
Index of the sheet that contains the chart.
Definition: xichart.hxx:1390
std::shared_ptr< XclImpChFramePos > XclImpChFramePosRef
Definition: xichart.hxx:221
XclImpChFontBase & operator=(XclImpChFontBase const &)=default
void FinalizeTitle()
Finalizes chart title, tries to detect title auto-generated from series name.
Definition: xichart.cxx:4175
XclImpChGroupBase & operator=(XclImpChGroupBase const &)=default
The CHMARKERFORMAT record containing data point marker formatting data.
Definition: xichart.hxx:565
bool IsPercent() const
Returns true, if the series in this chart type group are stacked on each other as percentage...
Definition: xichart.hxx:1008
virtual void OnObjectInserted(const XclImpDrawObjBase &rDrawObj) override
Called whenever an object has been inserted into the draw page.
Definition: xichart.cxx:4275
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:3558
void InitConversion(const css::uno::Reference< css::chart2::XChartDocument > &xChartDoc, const tools::Rectangle &rChartRect) const
Starts the API chart document conversion.
Definition: xichart.cxx:263
const XclImpChLegendRef & GetLegend() const
Returns the legend object.
Definition: xichart.hxx:1023
XclImpChFrameBase()
Creates a new frame object without internal formatting objects.
Definition: xichart.hxx:326
sal_uInt16 GetFormatIdx() const
Returns the format index of the data point described by this group.
Definition: xichart.hxx:683
const sal_uInt8 EXC_PATT_NONE
Definition: xlstyle.hxx:55
void ReadChAxesSet(XclImpStream &rStrm)
Reads a CHAXESSET group (primary/secondary axes set).
Definition: xichart.cxx:4079
XclImpChLineFormat & operator=(XclImpChLineFormat &&rOther) noexcept
Definition: xichart.hxx:239
virtual void ReadSubRecord(XclImpStream &rStrm)=0
Derived classes implement to read a record from the group.
Base class for chart record groups.
Definition: xichart.hxx:179
sal_uInt16 mnPattern
Pattern background color.
Definition: xlchart.hxx:803
XclImpChMarkerFormatRef mxMarkerFmt
Contents of the CHDATAFORMAT record.
Definition: xichart.hxx:706
XclImpChDataFormatRef mxDataFmt
Link data for manual error bar values.
Definition: xichart.hxx:769
::std::map< sal_uInt8, std::unique_ptr< XclImpChSerErrorBar > > XclImpChSerErrorBarMap
Definition: xichart.hxx:849
OUString GetSingleSeriesTitle() const
Returns series title, if the chart type group contains only one single series.
Definition: xichart.cxx:2769
void ConvertDataLabel(ScfPropertySet &rPropSet, const XclChTypeInfo &rTypeInfo, const ScfPropertySet *pGlobalPropSet) const
Converts and writes all contained data to the passed data point label property set.
Definition: xichart.cxx:1077
css::uno::Reference< css::chart2::XTitle > CreateTitle() const
Creates a title text object.
Definition: xichart.cxx:1142
sal_uInt32 mnDffFillType
Image options, e.g. stretched, stacked (CHPICFORMAT record).
Definition: xichart.hxx:311
XclImpCh3dDataFormatRef mx3dDataFmt
Series properties (CHSERIESFORMAT record).
Definition: xichart.hxx:709
bool IsClustered() const
Returns true, if the data points are clustered on the X axis.
Definition: xichart.hxx:912
XclChSerTrendLine maData
Definition: xichart.hxx:735
void ReadChText(XclImpStream &rStrm)
Reads a CHTEXT group (chart title and series/point captions).
Definition: xichart.cxx:4090
XclChAxis maData
Definition: xichart.hxx:1191
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:3277
XclImpChFrame(const XclImpChRoot &rRoot, XclChObjectType eObjType)
Creates a new frame object with specific default formatting.
Definition: xichart.cxx:634
bool IsAuto() const
Returns true, if the area format is set to automatic.
Definition: xichart.hxx:278
This class is used to import record oriented streams.
Definition: xistream.hxx:278
void ConvertLineBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN) const
Converts and writes the contained line formatting to the passed property set.
Definition: xichart.cxx:607
void FinalizeDataFormats()
Assigns all imported CHDATAFORMAT groups to the respective series.
Definition: xichart.cxx:4151
XclImpChLineFormat & operator=(XclImpChLineFormat const &rOther)
Definition: xichart.hxx:237
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xichart.hxx:1174
XclImpChTextMap m_DefTexts
Chart properties (CHPROPERTIES record).
Definition: xichart.hxx:1361
std::shared_ptr< XclImpChValueRange > XclImpChValueRangeRef
Definition: xichart.hxx:1121
const sal_uInt8 EXC_CHTICK_NOLABEL
Definition: xlchart.hxx:406
css::uno::Reference< css::drawing::XShape > GetTitleShape(const XclChTextKey &rTitleKey) const
Returns the drawing shape interface of the specified title object.
Definition: xichart.cxx:305
void ReadChAxis(XclImpStream &rStrm)
Reads a CHAXIS record group containing a single axis.
Definition: xichart.cxx:3677
sal_uInt16 mnPieDist
Definition: xichart.hxx:598
Represents the CHCHART record group describing the chart contents.
Definition: xichart.hxx:1294
static std::size_t GetProgressSize()
Returns the number of units on the progress bar needed for the chart.
Definition: xichart.hxx:1319
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHTYPEGROUP record (called by base class).
Definition: xichart.cxx:2672
virtual ~XclImpChart() override
Definition: xichart.cxx:4286
Represents the CHDROPBAR record group describing pos/neg bars in line charts.
Definition: xichart.hxx:957
void ReadChDefaultText(XclImpStream &rStrm)
Reads a CHDEFAULTTEXT group (default text formats).
Definition: xichart.cxx:3897
void SvStream & rStrm
sal_uInt16 PopUnusedFormatIndex()
Returns the next unused format index and marks it as used.
Definition: xichart.cxx:2744
Access to global data from other classes.
Definition: xiroot.hxx:126
css::uno::Reference< css::chart2::XChartType > CreateChartType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, sal_Int32 nApiAxesSetIdx) const
Creates and returns an object that represents the contained chart type.
Definition: xichart.cxx:2788
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHAXIS group (called by base class).
Definition: xichart.cxx:3243
XclImpChTextRef mxTitle
Secondary axes set (CHAXESSET group).
Definition: xichart.hxx:1364
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateCategSequence() const
Creates a labeled data sequence object for axis categories.
Definition: xichart.cxx:2812
std::vector< XclImpChSerTrendLineRef > maTrendLines
Data point labels (CHTEXT groups).
Definition: xichart.hxx:859
sal_Int16 GetLineWeight() const
Returns the line weight used for this frame.
Definition: xichart.hxx:338
void UpdateSeriesFormat(const XclChExtTypeInfo &rTypeInfo, const XclImpChDataFormat *pGroupFmt)
Updates missing series settings from the passed chart type group data format.
Definition: xichart.cxx:1440
XclImpChFontBase()=default
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xlchart.cxx:319
XclImpChSerErrorBarMap m_ErrorBars
Trend line settings (CHSERTRENDLINE records).
Definition: xichart.hxx:860
XclImpChDropBar(sal_uInt16 nDropBar)
Definition: xichart.cxx:2640
XclImpChAxesSetRef mxPrimAxesSet
Default text objects (CHDEFAULTTEXT groups).
Definition: xichart.hxx:1362
const sal_uInt16 EXC_CHAREAFORMAT_AUTO
Definition: xlchart.hxx:296
void AddSeries(XclImpChSeriesRef const &xSeries)
Inserts a series attached to this chart type group.
Definition: xichart.cxx:2730
sal_uInt16 mnGroupIdx
Additional flags.
Definition: xlchart.hxx:992
const XclImpChDataFormatRef & GetGroupFormat() const
Returns the default series data format.
Definition: xichart.hxx:1025
sal_uInt16 GetFontIndex() const
Returns the contained font index.
Definition: xichart.hxx:479
The CHFONT record containing a font index for text objects.
Definition: xichart.hxx:471
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateCategSequence(const OUString &rCategRole) const
Creates a labeled data sequence object from category data link.
Definition: xichart.cxx:2010
XclImpChSourceLinkRef mxValueLink
Contents of the CHSERERRORBAR record.
Definition: xichart.hxx:768
sal_Int16 SCTAB
Definition: types.hxx:23
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHAXESSET group (called by base class).
Definition: xichart.cxx:3535
XclChEscherFormat maData
Definition: xichart.hxx:309
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
Definition: xichart.cxx:4369
void ReadChartSubStream(XclImpStream &rStrm)
Reads the complete chart substream (BOF/EOF block).
Definition: xichart.cxx:4290
XclImpChLineFormat()
Creates a new line format object with automatic formatting.
Definition: xichart.hxx:228
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHTEXT record (called by base class).
Definition: xichart.cxx:943
std::shared_ptr< XclImpChTypeGroup > XclImpChTypeGroupRef
Definition: xichart.hxx:1082
void SetPointPos(const XclChDataPointPos &rPointPos, sal_uInt16 nFormatIdx)
Sets this object to the specified data point position.
Definition: xichart.cxx:1428
virtual ~XclImpChFontBase()
Definition: xichart.cxx:913
bool IsPercent() const
Returns true, if the series in this chart type group are stacked on each other as percentage...
Definition: xichart.cxx:2328
Represents the CHTEXT record group containing text object properties.
Definition: xichart.hxx:492