LibreOffice Module sc (master)  1
xechart.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_XECHART_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XECHART_HXX
22 
23 #include "xerecord.hxx"
24 #include "xlchart.hxx"
25 #include "xlformula.hxx"
26 #include "xlstyle.hxx"
27 #include "xeroot.hxx"
28 #include "xestring.hxx"
29 
30 #include <memory>
31 #include <map>
32 
33 class Size;
34 namespace tools { class Rectangle; }
35 
36 namespace com::sun::star {
37  namespace awt
38  {
39  struct Rectangle;
40  }
41  namespace frame
42  {
43  class XModel;
44  }
45  namespace chart
46  {
47  class XAxis;
48  }
49  namespace chart2
50  {
51  struct ScaleData;
52  class XChartDocument;
53  class XDiagram;
54  class XCoordinateSystem;
55  class XChartType;
56  class XDataSeries;
57  class XAxis;
58  class XTitle;
59  class XFormattedString;
60  class XRegressionCurve;
61  namespace data
62  {
63  class XDataSequence;
64  class XLabeledDataSequence;
65  }
66  }
67 }
68 
69 // Common =====================================================================
70 
71 struct XclExpChRootData;
72 class XclExpChChart;
73 
80 class XclExpChRoot : public XclExpRoot
81 {
82 public:
83  explicit XclExpChRoot( const XclExpRoot& rRoot, XclExpChChart& rChartData );
84  virtual ~XclExpChRoot() override;
85 
86  XclExpChRoot(XclExpChRoot const &) = default;
87  XclExpChRoot(XclExpChRoot &&) = default;
88  XclExpChRoot & operator =(XclExpChRoot const &) = delete; // due to XclExpRoot
89  XclExpChRoot & operator =(XclExpChRoot &&) = delete; // due to XclExpRoot
90 
92  const XclExpChRoot& GetChRoot() const { return *this; }
94  css::uno::Reference< css::chart2::XChartDocument > const &
95  GetChartDocument() const;
97  XclExpChChart& GetChartData() const;
99  const XclChTypeInfo& GetChartTypeInfo( XclChTypeId eType ) const;
101  const XclChTypeInfo& GetChartTypeInfo( const OUString& rServiceName ) const;
102 
104  const XclChFormatInfo& GetFormatInfo( XclChObjectType eObjType ) const;
105 
107  void InitConversion( css::uno::Reference< css::chart2::XChartDocument > const & xChartDoc,
108  const tools::Rectangle& rChartRect ) const;
110  void FinishConversion() const;
111 
113  bool IsSystemColor( const Color& rColor, sal_uInt16 nSysColorIdx ) const;
115  void SetSystemColor( Color& rColor, sal_uInt32& rnColorId, sal_uInt16 nSysColorIdx ) const;
116 
118  sal_Int32 CalcChartXFromHmm( sal_Int32 nPosX ) const;
120  sal_Int32 CalcChartYFromHmm( sal_Int32 nPosY ) const;
122  XclChRectangle CalcChartRectFromHmm( const css::awt::Rectangle& rRect ) const;
123 
125  void ConvertLineFormat(
126  XclChLineFormat& rLineFmt,
127  const ScfPropertySet& rPropSet,
128  XclChPropertyMode ePropMode ) const;
131  bool ConvertAreaFormat(
132  XclChAreaFormat& rAreaFmt,
133  const ScfPropertySet& rPropSet,
134  XclChPropertyMode ePropMode ) const;
136  void ConvertEscherFormat(
137  XclChEscherFormat& rEscherFmt,
138  XclChPicFormat& rPicFmt,
139  const ScfPropertySet& rPropSet,
140  XclChPropertyMode ePropMode ) const;
142  sal_uInt16 ConvertFont(
143  const ScfPropertySet& rPropSet,
144  sal_Int16 nScript ) const;
145 
147  static sal_uInt16 ConvertPieRotation( const ScfPropertySet& rPropSet );
148 
149 protected:
151  void RegisterFutureRecBlock( const XclChFrBlock& rFrBlock );
153  void InitializeFutureRecBlock( XclExpStream& rStrm );
155  void FinalizeFutureRecBlock( XclExpStream& rStrm );
156 
157 private:
158  typedef std::shared_ptr< XclExpChRootData > XclExpChRootDataRef;
159  XclExpChRootDataRef mxChData;
160 };
161 
167 class XclExpChGroupBase : public XclExpRecord, protected XclExpChRoot
168 {
169 public:
170  explicit XclExpChGroupBase(
171  const XclExpChRoot& rRoot, sal_uInt16 nFrType,
172  sal_uInt16 nRecId, std::size_t nRecSize = 0 );
173  virtual ~XclExpChGroupBase() override;
174 
176  virtual void Save( XclExpStream& rStrm ) override;
178  virtual bool HasSubRecords() const;
180  virtual void WriteSubRecords( XclExpStream& rStrm ) = 0;
181 
182 protected:
184  void SetFutureRecordContext( sal_uInt16 nFrContext,
185  sal_uInt16 nFrValue1 = 0, sal_uInt16 nFrValue2 = 0 );
186 
187 private:
189 };
190 
195 {
196 public:
197  explicit XclExpChFutureRecordBase( const XclExpChRoot& rRoot,
198  XclFutureRecType eRecType, sal_uInt16 nRecId, std::size_t nRecSize );
199 
201  virtual void Save( XclExpStream& rStrm ) override;
202 };
203 
204 // Frame formatting ===========================================================
205 
207 {
208 public:
209  explicit XclExpChFramePos( sal_uInt16 nTLMode );
210 
213 
214 private:
215  virtual void WriteBody( XclExpStream& rStrm ) override;
216 
217 private:
219 };
220 
222 
224 {
225 public:
226  explicit XclExpChLineFormat( const XclExpChRoot& rRoot );
227 
229  void Convert( const XclExpChRoot& rRoot,
230  const ScfPropertySet& rPropSet, XclChObjectType eObjType );
232  void SetAuto( bool bAuto ) { ::set_flag( maData.mnFlags, EXC_CHLINEFORMAT_AUTO, bAuto ); }
234  void SetShowAxis( bool bShowAxis )
237  void SetDefault( XclChFrameType eDefFrameType );
238 
242  bool HasLine() const { return maData.mnPattern != EXC_CHLINEFORMAT_NONE; }
244  bool IsDefault( XclChFrameType eDefFrameType ) const;
245 
246 private:
247  virtual void WriteBody( XclExpStream& rStrm ) override;
248 
249 private:
251  sal_uInt32 mnColorId;
252 };
253 
255 
257 {
258 public:
259  explicit XclExpChAreaFormat( const XclExpChRoot& rRoot );
260 
263  bool Convert( const XclExpChRoot& rRoot,
264  const ScfPropertySet& rPropSet, XclChObjectType eObjType );
266  void SetAuto( bool bAuto ) { ::set_flag( maData.mnFlags, EXC_CHAREAFORMAT_AUTO, bAuto ); }
268  void SetDefault( XclChFrameType eDefFrameType );
269 
273  bool HasArea() const { return maData.mnPattern != EXC_PATT_NONE; }
275  bool IsDefault( XclChFrameType eDefFrameType ) const;
276 
277 private:
278  virtual void WriteBody( XclExpStream& rStrm ) override;
279 
280 private:
282  sal_uInt32 mnPattColorId;
283  sal_uInt32 mnBackColorId;
284 };
285 
287 
289 {
290 public:
291  explicit XclExpChEscherFormat( const XclExpChRoot& rRoot );
292 
294  void Convert( const ScfPropertySet& rPropSet, XclChObjectType eObjType );
295 
297  bool IsValid() const;
298 
300  virtual void Save( XclExpStream& rStrm ) override;
302  virtual bool HasSubRecords() const override;
304  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
305 
306 private:
308  sal_uInt32 RegisterColor( sal_uInt16 nPropId );
309 
310  virtual void WriteBody( XclExpStream& rStrm ) override;
311 
312 private:
315  sal_uInt32 mnColor1Id;
316  sal_uInt32 mnColor2Id;
317 };
318 
320 
328 {
329 public:
330  explicit XclExpChFrameBase();
331  virtual ~XclExpChFrameBase();
332 
333 protected:
335  void ConvertFrameBase( const XclExpChRoot& rRoot,
336  const ScfPropertySet& rPropSet, XclChObjectType eObjType );
338  void SetDefaultFrameBase( const XclExpChRoot& rRoot,
339  XclChFrameType eDefFrameType, bool bIsFrame );
340 
342  bool IsDefaultFrameBase( XclChFrameType eDefFrameType ) const;
343 
346 
347 private:
351 };
352 
359 {
360 public:
361  explicit XclExpChFrame( const XclExpChRoot& rRoot, XclChObjectType eObjType );
362 
364  void Convert( const ScfPropertySet& rPropSet );
366  void SetAutoFlags( bool bAutoPos, bool bAutoSize );
367 
369  bool IsDefault() const;
371  bool IsDeleteable() const;
372 
374  virtual void Save( XclExpStream& rStrm ) override;
376  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
377 
378 private:
379  virtual void WriteBody( XclExpStream& rStrm ) override;
380 
381 private:
384 };
385 
387 
388 // Source links ===============================================================
389 
391 {
392 public:
393  explicit XclExpChSourceLink( const XclExpChRoot& rRoot, sal_uInt8 nDestType );
394 
395  void ConvertString( const OUString& aString );
397  sal_uInt16 ConvertDataSequence( css::uno::Reference< css::chart2::data::XDataSequence > const & xDataSeq,
398  bool bSplitToColumns, sal_uInt16 nDefCount = 0 );
400  sal_uInt16 ConvertStringSequence( const css::uno::Sequence< css::uno::Reference< css::chart2::XFormattedString > >& rStringSeq );
402  void ConvertNumFmt( const ScfPropertySet& rPropSet, bool bPercent );
403 
404  void AppendString( const OUString& rStr );
405 
407  bool HasString() const { return mxString && !mxString->IsEmpty(); }
408 
410  virtual void Save( XclExpStream& rStrm ) override;
411 
412 private:
413  virtual void WriteBody( XclExpStream& rStrm ) override;
414 
415 private:
419 };
420 
422 
423 // Text =======================================================================
424 
427 {
428 public:
429  explicit XclExpChFont( sal_uInt16 nFontIdx );
430 };
431 
433 
436 {
437 public:
438  explicit XclExpChObjectLink( sal_uInt16 nLinkTarget, const XclChDataPointPos& rPointPos );
439 
440 private:
441  virtual void WriteBody( XclExpStream& rStrm ) override;
442 
443 private:
445 };
446 
448 
451 {
452 public:
453  explicit XclExpChFrLabelProps( const XclExpChRoot& rRoot );
454 
456  void Convert(
457  const ScfPropertySet& rPropSet,
458  bool bShowCateg, bool bShowValue,
459  bool bShowPercent, bool bShowBubble );
460 
461 private:
462  virtual void WriteBody( XclExpStream& rStrm ) override;
463 
464 private:
466 };
467 
469 
472 {
473 public:
474  virtual ~XclExpChFontBase();
475 
477  virtual void SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId ) = 0;
479  virtual void SetRotation( sal_uInt16 nRotation ) = 0;
480 
482  void ConvertFontBase( const XclExpChRoot& rRoot, sal_uInt16 nFontIdx );
484  void ConvertFontBase( const XclExpChRoot& rRoot, const ScfPropertySet& rPropSet );
486  void ConvertRotationBase( const ScfPropertySet& rPropSet, bool bSupportsStacked );
487 };
488 
495 {
496 public:
497  explicit XclExpChText( const XclExpChRoot& rRoot );
498 
500  virtual void SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId ) override;
502  virtual void SetRotation( sal_uInt16 nRotation ) override;
503 
505  void ConvertTitle( css::uno::Reference< css::chart2::XTitle > const & xTitle, sal_uInt16 nTarget, const OUString* pSubTitle );
507  void ConvertLegend( const ScfPropertySet& rPropSet );
509  bool ConvertDataLabel( const ScfPropertySet& rPropSet,
510  const XclChTypeInfo& rTypeInfo, const XclChDataPointPos& rPointPos );
512  void ConvertTrendLineEquation( const ScfPropertySet& rPropSet, const XclChDataPointPos& rPointPos );
513 
515  bool HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
517  sal_uInt16 GetAttLabelFlags() const;
518 
520  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
521 
522 private:
523  virtual void WriteBody( XclExpStream& rStrm ) override;
524 
525 private:
533  sal_uInt32 mnTextColorId;
534 };
535 
537 
538 // Data series ================================================================
539 
542 {
543 public:
544  explicit XclExpChMarkerFormat( const XclExpChRoot& rRoot );
545 
547  void Convert( const XclExpChRoot& rRoot,
548  const ScfPropertySet& rPropSet, sal_uInt16 nFormatIdx );
550  void ConvertStockSymbol( const XclExpChRoot& rRoot,
551  const ScfPropertySet& rPropSet, bool bCloseSymbol );
552 
559 
560 private:
562  void RegisterColors( const XclExpChRoot& rRoot );
563 
564  virtual void WriteBody( XclExpStream& rStrm ) override;
565 
566 private:
568  sal_uInt32 mnLineColorId;
569  sal_uInt32 mnFillColorId;
570 };
571 
573 
576 {
577 public:
578  explicit XclExpChPieFormat();
579 
581  void Convert( const ScfPropertySet& rPropSet );
582 };
583 
585 
588 {
589 public:
590  explicit XclExpCh3dDataFormat();
591 
593  void Convert( const ScfPropertySet& rPropSet );
594 
595 private:
596  virtual void WriteBody( XclExpStream& rStrm ) override;
597 
598 private:
600 };
601 
603 
606 {
607 public:
608  explicit XclExpChAttachedLabel( sal_uInt16 nFlags );
609 };
610 
612 
620 {
621 public:
622  explicit XclExpChDataFormat( const XclExpChRoot& rRoot,
623  const XclChDataPointPos& rPointPos, sal_uInt16 nFormatIdx );
624 
626  void ConvertDataSeries( const ScfPropertySet& rPropSet, const XclChExtTypeInfo& rTypeInfo );
628  void ConvertStockSeries( const ScfPropertySet& rPropSet, bool bCloseSymbol );
630  void ConvertLine( const ScfPropertySet& rPropSet, XclChObjectType eObjType );
631 
634 
636  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
637 
638 private:
639  virtual void WriteBody( XclExpStream& rStrm ) override;
640 
641 private:
648 };
649 
651 
654 {
655 public:
656  explicit XclExpChSerTrendLine( const XclExpChRoot& rRoot );
657 
659  bool Convert( css::uno::Reference< css::chart2::XRegressionCurve > const & xRegCurve,
660  sal_uInt16 nSeriesIdx );
661 
663  const XclExpChDataFormatRef& GetDataFormat() const { return mxDataFmt; }
665  const XclExpChTextRef& GetDataLabel() const { return mxLabel; }
666 
667 private:
668  virtual void WriteBody( XclExpStream& rStrm ) override;
669 
670 private:
674 };
675 
677 
680 {
681 public:
682  explicit XclExpChSerErrorBar( const XclExpChRoot& rRoot, sal_uInt8 nBarType );
683 
685  bool Convert( XclExpChSourceLink& rValueLink, sal_uInt16& rnValueCount, const ScfPropertySet& rPropSet );
686 
687 private:
688  virtual void WriteBody( XclExpStream& rStrm ) override;
689 
690 private:
692 };
693 
695 
703 {
704 public:
705  explicit XclExpChSeries( const XclExpChRoot& rRoot, sal_uInt16 nSeriesIdx );
706 
708  bool ConvertDataSeries(
709  css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
710  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries,
711  const XclChExtTypeInfo& rTypeInfo,
712  sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx );
714  bool ConvertStockSeries(
715  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries,
716  const OUString& rValueRole,
717  sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx, bool bCloseSymbol );
719  bool ConvertTrendLine( const XclExpChSeries& rParent,
720  css::uno::Reference< css::chart2::XRegressionCurve > const & xRegCurve );
722  bool ConvertErrorBar( const XclExpChSeries& rParent, const ScfPropertySet& rPropSet, sal_uInt8 nBarId );
724  void ConvertCategSequence( css::uno::Reference< css::chart2::data::XLabeledDataSequence > const & xCategSeq );
725 
727  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
728 
729 private:
731  void InitFromParent( const XclExpChSeries& rParent );
733  void CreateTrendLines( css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries );
735  void CreateErrorBars( const ScfPropertySet& rPropSet,
736  const OUString& rBarPropName,
737  sal_uInt8 nPosBarId, sal_uInt8 nNegBarId );
739  void CreateErrorBar( const ScfPropertySet& rPropSet,
740  const OUString& rShowPropName, sal_uInt8 nBarId );
741 
742  virtual void WriteBody( XclExpStream& rStrm ) override;
743 
744 private:
745 
746 private:
757  sal_uInt16 mnGroupIdx;
758  sal_uInt16 mnSeriesIdx;
759  sal_uInt16 mnParentIdx;
760 };
761 
763 
764 // Chart type groups ==========================================================
765 
767 class XclExpChType : public XclExpRecord, protected XclExpChRoot
768 {
769 public:
770  explicit XclExpChType( const XclExpChRoot& rRoot );
771 
773  void Convert( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
774  css::uno::Reference< css::chart2::XChartType > const & xChartType,
775  sal_Int32 nApiAxesSetIdx, bool bSwappedAxesSet, bool bHasXLabels );
777  void SetStacked( bool bPercent );
778 
782  const XclChTypeInfo& GetTypeInfo() const { return maTypeInfo; }
783 
784 private:
785  virtual void WriteBody( XclExpStream& rStrm ) override;
786 
787 private:
790 };
791 
794 {
795 public:
796  explicit XclExpChChart3d();
797 
799  void Convert( const ScfPropertySet& rPropSet, bool b3dWallChart );
802 
805 
806 private:
807  virtual void WriteBody( XclExpStream& rStrm ) override;
808 
809 private:
811 };
812 
814 
821 {
822 public:
823  explicit XclExpChLegend( const XclExpChRoot& rRoot );
824 
826  void Convert( const ScfPropertySet& rPropSet );
827 
829  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
830 
831 private:
832  virtual void WriteBody( XclExpStream& rStrm ) override;
833 
834 private:
839 };
840 
842 
849 {
850 public:
851  explicit XclExpChDropBar( const XclExpChRoot& rRoot, XclChObjectType eObjType );
852 
854  void Convert( const ScfPropertySet& rPropSet );
855 
857  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
858 
859 private:
860  virtual void WriteBody( XclExpStream& rStrm ) override;
861 
862 private:
864 };
865 
867 
876 {
877 public:
878  explicit XclExpChTypeGroup( const XclExpChRoot& rRoot, sal_uInt16 nGroupIdx );
879 
881  void ConvertType( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
882  css::uno::Reference< css::chart2::XChartType > const & xChartType,
883  sal_Int32 nApiAxesSetIdx, bool b3dChart, bool bSwappedAxesSet, bool bHasXLabels );
885  void ConvertSeries( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
886  css::uno::Reference< css::chart2::XChartType > const & xChartType,
887  sal_Int32 nGroupAxesSetIdx, bool bPercent, bool bConnectorLines );
889  void ConvertCategSequence( css::uno::Reference< css::chart2::data::XLabeledDataSequence > const & xCategSeq );
891  void ConvertLegend( const ScfPropertySet& rPropSet );
892 
894  bool IsValidGroup() const { return !maSeries.IsEmpty() && maType.IsValidType(); }
896  sal_uInt16 GetGroupIdx() const { return maData.mnGroupIdx; }
898  const XclChExtTypeInfo& GetTypeInfo() const { return maTypeInfo; }
900  bool Is3dChart() const { return maTypeInfo.mb3dChart; }
904  bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
906  bool IsCombinable2d() const { return !Is3dChart() && maTypeInfo.mbCombinable2d; }
907 
909  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
910 
911 private:
913  sal_uInt16 GetFreeFormatIdx() const;
915  void CreateDataSeries( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
916  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries );
918  void CreateAllStockSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
919  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries );
921  bool CreateStockSeries( css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries,
922  const OUString& rValueRole, bool bCloseSymbol );
923 
924  virtual void WriteBody( XclExpStream& rStrm ) override;
925 
926 private:
928 
932  XclExpChSeriesList maSeries;
937  std::map<sal_uInt16, std::unique_ptr<XclExpChLineFormat>>
939 };
940 
942 
943 // Axes =======================================================================
944 
946 {
947 public:
948  explicit XclExpChLabelRange( const XclExpChRoot& rRoot );
949 
951  void Convert( const css::chart2::ScaleData& rScaleData,
952  const ScfPropertySet& rChart1Axis, bool bMirrorOrient );
954  void ConvertAxisPosition( const ScfPropertySet& rPropSet );
956  void SetTicksBetweenCateg( bool bTicksBetween )
958 
959 private:
960  virtual void Save( XclExpStream& rStrm ) override;
961  virtual void WriteBody( XclExpStream& rStrm ) override;
962 
963 private:
966 };
967 
969 
971 {
972 public:
973  explicit XclExpChValueRange( const XclExpChRoot& rRoot );
974 
976  void Convert( const css::chart2::ScaleData& rScaleData );
978  void ConvertAxisPosition( const ScfPropertySet& rPropSet );
979 
980 private:
981  virtual void WriteBody( XclExpStream& rStrm ) override;
982 
983 private:
985 };
986 
988 
989 class XclExpChTick : public XclExpRecord, protected XclExpChRoot
990 {
991 public:
992  explicit XclExpChTick( const XclExpChRoot& rRoot );
993 
995  void Convert( const ScfPropertySet& rPropSet, const XclChExtTypeInfo& rTypeInfo, sal_uInt16 nAxisType );
997  void SetFontColor( const Color& rColor, sal_uInt32 nColorId );
999  void SetRotation( sal_uInt16 nRotation );
1000 
1001 private:
1002  virtual void WriteBody( XclExpStream& rStrm ) override;
1003 
1004 private:
1006  sal_uInt32 mnTextColorId;
1007 };
1008 
1010 
1018 {
1019 public:
1020  explicit XclExpChAxis( const XclExpChRoot& rRoot, sal_uInt16 nAxisType );
1021 
1023  virtual void SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId ) override;
1025  virtual void SetRotation( sal_uInt16 nRotation ) override;
1026 
1028  void Convert( css::uno::Reference< css::chart2::XAxis > const & xAxis,
1029  css::uno::Reference< css::chart2::XAxis > const & xCrossingAxis,
1030  css::uno::Reference< css::chart::XAxis > const & xChart1Axis,
1031  const XclChExtTypeInfo& rTypeInfo );
1033  void ConvertWall( css::uno::Reference< css::chart2::XDiagram > const & xDiagram );
1034 
1036  sal_uInt16 GetAxisType() const { return maData.mnType; }
1038  sal_Int32 GetApiAxisDimension() const { return maData.GetApiAxisDimension(); }
1039 
1041  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
1042 
1043 private:
1044  virtual void WriteBody( XclExpStream& rStrm ) override;
1045 
1046 private:
1056  sal_uInt16 mnNumFmtIdx;
1057 };
1058 
1060 
1068 {
1069 public:
1070  explicit XclExpChAxesSet( const XclExpChRoot& rRoot, sal_uInt16 nAxesSetId );
1071 
1074  sal_uInt16 Convert( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
1075  sal_uInt16 nFirstGroupIdx );
1076 
1078  bool IsValidAxesSet() const { return !maTypeGroups.IsEmpty(); }
1080  sal_uInt16 GetAxesSetId() const { return maData.mnAxesSetId; }
1082  sal_Int32 GetApiAxesSetIndex() const { return maData.GetApiAxesSetIndex(); }
1084  bool Is3dChart() const;
1085 
1087  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
1088 
1089 private:
1094 
1096  void ConvertAxis( XclExpChAxisRef& rxChAxis, sal_uInt16 nAxisType,
1097  XclExpChTextRef& rxChAxisTitle, sal_uInt16 nTitleTarget,
1098  css::uno::Reference< css::chart2::XCoordinateSystem > const & xCoordSystem,
1099  const XclChExtTypeInfo& rTypeInfo,
1100  sal_Int32 nCrossingAxisDim );
1101 
1102  virtual void WriteBody( XclExpStream& rStrm ) override;
1103 
1104 private:
1116 };
1117 
1118 typedef std::shared_ptr< XclExpChAxesSet > XclExpChAxesSetRef;
1119 
1120 // The chart object ===========================================================
1121 
1129 {
1130 public:
1131  explicit XclExpChChart( const XclExpRoot& rRoot,
1132  css::uno::Reference< css::chart2::XChartDocument > const & xChartDoc,
1133  const tools::Rectangle& rChartRect );
1134 
1138  void RemoveLastSeries();
1140  void SetDataLabel( XclExpChTextRef const & xText );
1142  void SetManualPlotArea();
1143 
1145  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
1146 
1147 private:
1148  virtual void WriteBody( XclExpStream& rStrm ) override;
1149 
1150 private:
1152 
1154  XclExpChSeriesList maSeries;
1162 };
1163 
1168 {
1169 public:
1170  explicit XclExpChartDrawing(
1171  const XclExpRoot& rRoot,
1172  const css::uno::Reference< css::frame::XModel >& rxModel,
1173  const Size& rChartSize );
1174  virtual ~XclExpChartDrawing() override;
1175 
1176  virtual void Save( XclExpStream& rStrm ) override;
1177 
1178 private:
1179  std::shared_ptr< XclExpObjectManager > mxObjMgr;
1181 };
1182 
1184 class XclExpChart : public XclExpSubStream, protected XclExpRoot
1185 {
1186 public:
1187  explicit XclExpChart( const XclExpRoot& rRoot,
1188  css::uno::Reference< css::frame::XModel > const & xModel,
1189  const tools::Rectangle& rChartRect );
1190 };
1191 
1192 #endif
1193 
1194 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:2501
XclChPropertyMode
Specifies the type of a formatting.
Definition: xlchart.hxx:1081
XclExpChAxis(const XclExpChRoot &rRoot, sal_uInt16 nAxisType)
Definition: xechart.cxx:2919
XclChDataFormat maData
Definition: xechart.hxx:642
XclExpChTextRef mxXAxisTitle
The Z axis (CHAXIS group).
Definition: xechart.hxx:1110
XclExpChFrLabelProps(const XclExpChRoot &rRoot)
Definition: xechart.cxx:1099
XclExpChSeriesRef CreateSeries()
Creates, registers and returns a new data series object.
Definition: xechart.cxx:3368
XclExpChLineFormat(const XclExpChRoot &rRoot)
Definition: xechart.cxx:493
const XclChTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
Definition: xechart.hxx:782
bool HasLine() const
Returns true, if the line style is set to something visible.
Definition: xechart.hxx:242
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:3041
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:692
XclExpChFrameRef mxPlotFrame
The Z axis title (CHTEXT group).
Definition: xechart.hxx:1113
const XclExpChRoot & GetChRoot() const
Returns this root instance - for code readability in derived classes.
Definition: xechart.hxx:92
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xechart.hxx:1184
XclExpChAreaFormat(const XclExpChRoot &rRoot)
Definition: xechart.cxx:574
XclExpChGroupBase(const XclExpChRoot &rRoot, sal_uInt16 nFrType, sal_uInt16 nRecId, std::size_t nRecSize=0)
Definition: xechart.cxx:422
XclExpChDropBarRef mxDownBar
White dropbars (CHDROPBAR group).
Definition: xechart.hxx:936
XclExpChSourceLinkRef mxSrcLink
Relative text frame position (CHFRAMEPOS record).
Definition: xechart.hxx:528
void RegisterFutureRecBlock(const XclChFrBlock &rFrBlock)
Called from XclExpChGroupBase::Save, registers a new future record level.
Definition: xechart.cxx:407
The CH3DDATAFORMAT record containing the bar type in 3D bar charts.
Definition: xechart.hxx:587
XclExpChFramePosRef mxFramePos
Contents of the CHAXESSET record.
Definition: xechart.hxx:1106
sal_uInt32 RegisterColor(sal_uInt16 nPropId)
Inserts a color from the contained Escher property set into the color palette.
Definition: xechart.cxx:699
rtl::Reference< XclExpChFrame > XclExpChFrameRef
Definition: xechart.hxx:386
Base class for complex chart classes, provides access to other components of the chart.
Definition: xechart.hxx:80
The CHPIEFORMAT record containing data point formatting data for pie segments.
Definition: xechart.hxx:575
bool Convert(const XclExpChRoot &rRoot, const ScfPropertySet &rPropSet, XclChObjectType eObjType)
Converts area formatting properties from the passed property set.
Definition: xechart.cxx:581
void SetStacked(bool bPercent)
Sets stacking mode (standard or percent) for the series in this chart type group. ...
Definition: xechart.cxx:2163
void CreateErrorBars(const ScfPropertySet &rPropSet, const OUString &rBarPropName, sal_uInt8 nPosBarId, sal_uInt8 nNegBarId)
Tries to create positive and negative error bar series objects (called at parent series).
Definition: xechart.cxx:2077
XclChLabelRange maLabelData
Definition: xechart.hxx:964
XclExpChSourceLinkRef mxValueLink
Link data for series title.
Definition: xechart.hxx:749
XclChFramePos & GetFramePosData()
Returns read/write access to the frame position data.
Definition: xechart.hxx:212
bool ConvertDataSeries(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries, const XclChExtTypeInfo &rTypeInfo, sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx)
Converts the passed data series (source links and formatting).
Definition: xechart.cxx:1836
XclExpRecordList< XclExpChSeries > XclExpChSeriesList
Definition: xechart.hxx:1151
Stores global data needed in various classes of the Chart export filter.
Definition: xechart.cxx:230
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:1614
Represents a complete substream of records enclosed into a pair of BOF/EOF records.
Definition: xerecord.hxx:396
This class is used to export Excel record streams.
Definition: xestream.hxx:71
Contains information for a chart type.
Definition: xlchart.hxx:1207
sal_uInt16 GetAxisType() const
Returns the type of this axis.
Definition: xechart.hxx:1036
sal_uInt16 mnFlags
Marker type (none, diamond, ...).
Definition: xlchart.hxx:893
XclChFrameType
Enumerates different types to handle missing frame objects.
Definition: xlchart.hxx:1132
XclExpRecordRef mxSeriesFmt
Pie segment format (CHPIEFORMAT record).
Definition: xechart.hxx:645
bool Convert(XclExpChSourceLink &rValueLink, sal_uInt16 &rnValueCount, const ScfPropertySet &rPropSet)
Converts the passed error bar settings, returns true if error bar type is supported.
Definition: xechart.cxx:1731
XclExpChAttLabelRef mxAttLabel
3D bar format (CH3DDATAFORMAT record).
Definition: xechart.hxx:647
void FinalizeFutureRecBlock(XclExpStream &rStrm)
Called from XclExpChGroupBase::Save, finalizes the current future record level.
Definition: xechart.cxx:417
bool IsValidType() const
Returns true, if this is object represents a valid chart type.
Definition: xechart.hxx:780
void SetAuto(bool bAuto)
Sets or clears the automatic flag.
Definition: xechart.hxx:266
virtual void Save(XclExpStream &rStrm) override
Saves the header record.
Definition: xechart.cxx:434
XclChFramePos maData
Definition: xechart.hxx:218
bool IsAuto() const
Returns true, if the line format is set to automatic.
Definition: xechart.hxx:240
bool IsDefault(XclChFrameType eDefFrameType) const
Returns true, if the area contains default formatting according to the passed frame type...
Definition: xechart.cxx:633
void ConvertLineFormat(XclChLineFormat &rLineFmt, const ScfPropertySet &rPropSet, XclChPropertyMode ePropMode) const
Reads all line properties from the passed property set.
Definition: xechart.cxx:372
bool Convert(css::uno::Reference< css::chart2::XRegressionCurve > const &xRegCurve, sal_uInt16 nSeriesIdx)
Converts the passed trend line, returns true if trend line type is supported.
Definition: xechart.cxx:1638
XclExpChType maType
Contents of the CHTYPEGROUP record.
Definition: xechart.hxx:930
virtual bool HasSubRecords() const
Derived classes return whether there are any records embedded in this group.
Definition: xechart.cxx:454
XclExpChLabelRange(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2597
XclExpChSerErrorBar(const XclExpChRoot &rRoot, sal_uInt8 nBarType)
Definition: xechart.cxx:1724
bool IsSeriesFormat() const
Returns true, if this objects describes the formatting of an entire series.
Definition: xechart.hxx:633
Represents the CHTYPEGROUP record group describing a group of series.
Definition: xechart.hxx:875
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:2349
XclExpChChart(const XclExpRoot &rRoot, css::uno::Reference< css::chart2::XChartDocument > const &xChartDoc, const tools::Rectangle &rChartRect)
Definition: xechart.cxx:3302
rtl::Reference< XclExpChSourceLink > XclExpChSourceLinkRef
Definition: xechart.hxx:421
XclExpRecordList< XclExpChText > maLabels
Chart title (CHTEXT group).
Definition: xechart.hxx:1161
std::map< sal_uInt16, std::unique_ptr< XclExpChLineFormat > > m_ChartLines
Black dropbars (CHDROPBAR group).
Definition: xechart.hxx:938
XclExpChAxesSet(const XclExpChRoot &rRoot, sal_uInt16 nAxesSetId)
Definition: xechart.cxx:3061
bool IsSystemColor(const Color &rColor, sal_uInt16 nSysColorIdx) const
Returns true, if the passed color equals to the specified system color.
Definition: xechart.cxx:339
sal_Int32 CalcChartYFromHmm(sal_Int32 nPosY) const
Converts the passed vertical coordinate from 1/100 mm to Excel chart units.
Definition: xechart.cxx:357
virtual ~XclExpChRoot() override
Definition: xechart.cxx:300
virtual void SetFont(XclExpChFontRef xFont, const Color &rColor, sal_uInt32 nColorId) override
Sets font color and color identifier to internal data structures.
Definition: xechart.cxx:2926
void SetDefaultFrameBase(const XclExpChRoot &rRoot, XclChFrameType eDefFrameType, bool bIsFrame)
Sets the frame formatting to the specified default type.
Definition: xechart.cxx:753
virtual void SetFont(XclExpChFontRef xFont, const Color &rColor, sal_uInt32 nColorId) override
Sets font color and color identifier to internal data structures.
Definition: xechart.cxx:1156
XclExpChFrameRef mxWallFrame
Minor grid line format (CHLINEFORMAT record).
Definition: xechart.hxx:1055
virtual void SetRotation(sal_uInt16 nRotation) override
Sets text rotation to internal data structures.
Definition: xechart.cxx:1164
Base class for chart future records.
Definition: xechart.hxx:194
void CreateDataSeries(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries)
Creates all data series of any chart type except stock charts.
Definition: xechart.cxx:2519
const XclExpChTextRef & GetDataLabel() const
Returns formatting of the equation text box, created in Convert().
Definition: xechart.hxx:665
void Convert(const XclExpChRoot &rRoot, const ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx)
Converts symbol properties from the passed property set.
Definition: xechart.cxx:1434
Represents the CHDROPBAR record group describing pos/neg bars in line charts.
Definition: xechart.hxx:848
Base class for chart record groups.
Definition: xechart.hxx:167
exports com.sun.star. awt
Contains information about auto formatting of a specific chart object type.
Definition: xlchart.hxx:1139
XclExpChFrLabelPropsRef mxLabelProps
Link target for this text object.
Definition: xechart.hxx:532
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:2375
rtl::Reference< XclExpChLegend > XclExpChLegendRef
Definition: xechart.hxx:841
bool Is3dDeepChart() const
Returns true, if the series in this chart type group are ordered on the Z axis.
Definition: xechart.hxx:904
void SetAuto(bool bAuto)
Sets or clears the automatic flag.
Definition: xechart.hxx:232
XclExpChTextRef mxYAxisTitle
The X axis title (CHTEXT group).
Definition: xechart.hxx:1111
XclExpChSeriesList maSeries
Extended chart type info.
Definition: xechart.hxx:932
XclExpChart(const XclExpRoot &rRoot, css::uno::Reference< css::frame::XModel > const &xModel, const tools::Rectangle &rChartRect)
Definition: xechart.cxx:3463
void Convert(const ScfPropertySet &rPropSet)
Converts all legend settings from the passed property set.
Definition: xechart.cxx:2269
rtl::Reference< XclExpChText > XclExpChTextRef
Definition: xechart.hxx:536
sal_uInt32 mnColor2Id
First fill color identifier.
Definition: xechart.hxx:316
void set_flag(Type &rnBitField, Type nMask, bool bSet=true)
Sets or clears (according to bSet) all set bits of nMask in rnBitField.
Definition: ftools.hxx:93
XclExpChartDrawing(const XclExpRoot &rRoot, const css::uno::Reference< css::frame::XModel > &rxModel, const Size &rChartSize)
Definition: xechart.cxx:3429
sal_uInt16 mnParentIdx
0-based series index.
Definition: xechart.hxx:759
XclExpChFrameRef mxFrame
List of series data (CHSERIES groups).
Definition: xechart.hxx:1155
virtual void Save(XclExpStream &rStrm) override
Writes the entire record group.
Definition: xechart.cxx:809
bool IsValidAxesSet() const
Returns true, if this axes set exists (returns false if this is a dummy object).
Definition: xechart.hxx:1078
sal_uInt16 GetGroupIdx() const
Returns the index of this chart type group format.
Definition: xechart.hxx:896
sal_uInt16 Convert(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, sal_uInt16 nFirstGroupIdx)
Converts the passed diagram to chart record data.
Definition: xechart.cxx:3077
Base class for record groups containing frame formatting.
Definition: xechart.hxx:327
XclExpChType(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2109
XclChSeries maData
Definition: xechart.hxx:747
void ConvertStockSeries(const ScfPropertySet &rPropSet, bool bCloseSymbol)
Sets default formatting for a series in a stock chart.
Definition: xechart.cxx:1600
XclExpChSourceLinkRef mxBubbleLink
Link data for series category names.
Definition: xechart.hxx:751
virtual ~XclExpChGroupBase() override
Definition: xechart.cxx:430
XclExpChValueRangeRef mxValueRange
Category scaling (CHLABELRANGE record).
Definition: xechart.hxx:1049
XclExpChDataFormatRef mxSeriesFmt
Link data for series bubble sizes.
Definition: xechart.hxx:752
sal_uInt16 ConvertFont(const ScfPropertySet &rPropSet, sal_Int16 nScript) const
Reads font properties from the passed property set.
Definition: xechart.cxx:393
void ConvertRotationBase(const ScfPropertySet &rPropSet, bool bSupportsStacked)
Converts rotation settings, calls virtual function SetRotation().
Definition: xechart.cxx:1144
void ConvertFontBase(const XclExpChRoot &rRoot, sal_uInt16 nFontIdx)
Creates a CHFONT record from the passed font index, calls virtual function SetFont().
Definition: xechart.cxx:1130
rtl::Reference< XclExpChAttachedLabel > XclExpChAttLabelRef
Definition: xechart.hxx:611
void Convert(const ScfPropertySet &rPropSet, XclChObjectType eObjType)
Converts complex area formatting from the passed property set.
Definition: xechart.cxx:658
XclExpChDataFormatRef mxDataFmt
Contents of the CHSERTRENDLINE record.
Definition: xechart.hxx:672
virtual ~XclExpChFontBase()
Definition: xechart.cxx:1126
XclFutureRecType
Enumerates different header types of future records.
Definition: xlconst.hxx:242
XclExpChRoot & operator=(XclExpChRoot const &)=delete
void SetTicksBetweenCateg(bool bTicksBetween)
Sets flag for tickmark position between categories or on categories.
Definition: xechart.hxx:956
XclExpChFramePosRef mxFramePos
Contents of the CHTEXT record.
Definition: xechart.hxx:527
void SetDataLabel(XclExpChTextRef const &xText)
Stores a CHTEXT group that describes a data point label.
Definition: xechart.cxx:3386
XclExpChFutureRecordBase(const XclExpChRoot &rRoot, XclFutureRecType eRecType, sal_uInt16 nRecId, std::size_t nRecSize)
Definition: xechart.cxx:466
void SetDefault(XclChFrameType eDefFrameType)
Sets the line format to the specified default type.
Definition: xechart.cxx:499
sal_uInt32 mnTextColorId
Extended data label properties (CHFRLABELPROPS record).
Definition: xechart.hxx:533
void Convert(const ScfPropertySet &rPropSet)
Converts and writes the contained frame data to the passed property set.
Definition: xechart.cxx:2367
XclExpChSourceLinkRef mxCategLink
Link data for series values.
Definition: xechart.hxx:750
XclExpChTextRef mxTitle
Secondary axes set (CHAXESSET group).
Definition: xechart.hxx:1159
XclExpChAxesSetRef mxPrimAxesSet
Chart properties (CHPROPERTIES record).
Definition: xechart.hxx:1157
Access to global data from other classes.
Definition: xeroot.hxx:113
exports com.sun.star. chart2
Extended chart type information and access functions.
Definition: xlchart.hxx:1229
XclChAxesSet maData
Definition: xechart.hxx:1105
XclChAxis maData
Definition: xechart.hxx:1047
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2253
Additional data label settings in the future record CHFRLABELPROPS.
Definition: xechart.hxx:450
sal_uInt32 mnPattColorId
Contents of the CHAREAFORMAT record.
Definition: xechart.hxx:282
sal_uInt16 mnPattern
Line color.
Definition: xlchart.hxx:792
void Convert(const ScfPropertySet &rPropSet, bool bShowCateg, bool bShowValue, bool bShowPercent, bool bShowBubble)
Converts separator and the passed data label flags.
Definition: xechart.cxx:1104
XclExpChDropBarRef mxUpBar
Chart legend (CHLEGEND group).
Definition: xechart.hxx:935
XclExpChPieFormatRef mxPieFmt
Data point marker (CHMARKERFORMAT record).
Definition: xechart.hxx:644
bool ConvertStockSeries(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries, const OUString &rValueRole, sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx, bool bCloseSymbol)
Converts the passed data series for stock charts.
Definition: xechart.cxx:1955
sal_uInt16 mnType
Definition: xlchart.hxx:1059
std::shared_ptr< XclExpObjectManager > mxObjMgr
Definition: xechart.hxx:1179
exports com.sun.star. frame
XclChTick maData
Definition: xechart.hxx:1005
XclCh3dDataFormat maData
Definition: xechart.hxx:599
void ConvertTrendLineEquation(const ScfPropertySet &rPropSet, const XclChDataPointPos &rPointPos)
Converts all settings of the passed trend line equation box.
Definition: xechart.cxx:1340
sal_uInt32 mnColor1Id
Image options, e.g. stretched, stacked (CHPICFORMAT record).
Definition: xechart.hxx:315
std::shared_ptr< XclExpChAxesSet > XclExpChAxesSetRef
Definition: xechart.hxx:1118
XclChObjectType meObjType
Definition: xechart.hxx:863
rtl::Reference< XclExpChLabelRange > XclExpChLabelRangeRef
Definition: xechart.hxx:968
sal_uInt16 mnFlags
Space between series.
Definition: xlchart.hxx:974
sal_uInt16 mnNumFmtIdx
Wall/floor format (sub records of CHFRAME group).
Definition: xechart.hxx:1056
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:3055
virtual void Save(XclExpStream &rStrm) override
Writes the record header and calls WriteBody().
Definition: xechart.cxx:2682
rtl::Reference< XclExpChValueRange > XclExpChValueRangeRef
Definition: xechart.hxx:987
virtual ~XclExpChartDrawing() override
Definition: xechart.cxx:3453
Represents the CHLEGEND record group describing the chart legend.
Definition: xechart.hxx:820
Base class for all Excel records.
Definition: xerecord.hxx:39
XclChMarkerFormat maData
Definition: xechart.hxx:567
bool IsCombinable2d() const
Returns true, if this chart type can be combined with other types.
Definition: xechart.hxx:906
sal_uInt16 GetFreeFormatIdx() const
Returns an unused format index to be used for the next created series.
Definition: xechart.cxx:2514
Represents the CHCHART3D record that contains 3D view settings.
Definition: xechart.hxx:793
void Convert(const ScfPropertySet &rPropSet, const XclChExtTypeInfo &rTypeInfo, sal_uInt16 nAxisType)
Converts axis tick mark settings.
Definition: xechart.cxx:2808
const XclExpChDataFormatRef & GetDataFormat() const
Returns formatting information of the trend line, created in Convert().
Definition: xechart.hxx:663
void Convert(const ScfPropertySet &rPropSet)
Sets 3d bar properties from the passed property set.
Definition: xechart.cxx:1511
rtl::Reference< XclExpChDataFormat > XclExpChDataFormatRef
Definition: xechart.hxx:650
XclExpChLegendRef mxLegend
3D settings (CHCHART3D record).
Definition: xechart.hxx:934
const sal_uInt16 EXC_CHMARKERFORMAT_NOFILL
Definition: xlchart.hxx:289
sal_uInt16 mnFlags
Line weight (hairline, single, ...).
Definition: xlchart.hxx:794
XclExpChSerErrorBarRef mxErrorBar
Trend line settings (CHSERTRENDLINE record).
Definition: xechart.hxx:756
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2778
XclExpChFrameRef mxFrame
Legend text format (CHTEXT group).
Definition: xechart.hxx:838
void RegisterColors(const XclExpChRoot &rRoot)
Registers marker colors in palette and stores color identifiers.
Definition: xechart.cxx:1473
void Convert(const css::chart2::ScaleData &rScaleData, const ScfPropertySet &rChart1Axis, bool bMirrorOrient)
Converts category axis scaling settings.
Definition: xechart.cxx:2603
Represents the CHDATAFORMAT record group containing data point properties.
Definition: xechart.hxx:619
bool IsDeleteable() const
Returns true, if the frame object can be deleted because it contains default formats.
Definition: xechart.cxx:804
XclChRectangle CalcChartRectFromHmm(const css::awt::Rectangle &rRect) const
Converts the passed rectangle from 1/100 mm to Excel chart units.
Definition: xechart.cxx:362
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xlchart.cxx:336
Contains the type and context of a block of future records which are guarded by CHFRBLOCKBEGIN and CH...
Definition: xlchart.hxx:768
void Convert(const ScfPropertySet &rPropSet)
Sets pie segment properties from the passed property set.
Definition: xechart.cxx:1499
XclChEscherFormat maData
Definition: xechart.hxx:313
Represents the CHAXESSET record group describing an axes set (X/Y/Z axes).
Definition: xechart.hxx:1067
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:3424
sal_uInt32 mnTextColorId
Contents of the CHTICK record.
Definition: xechart.hxx:1006
XclChObjectType
Enumerates different object types for specific automatic formatting behaviour.
Definition: xlchart.hxx:1111
bool mbCombinable2d
Default data label position (API constant).
Definition: xlchart.hxx:1215
void ConvertCategSequence(css::uno::Reference< css::chart2::data::XLabeledDataSequence > const &xCategSeq)
Converts and inserts category ranges for all inserted series.
Definition: xechart.cxx:2030
bool IsAuto() const
Returns true, if the area format is set to automatic.
Definition: xechart.hxx:271
Radar charts (linear or filled).
Definition: xlchart.hxx:1193
Represents the CHSERIES record group describing a data series in a chart.
Definition: xechart.hxx:702
XclExpChSeriesList maSeries
Position of the chart on the sheet (CHCHART record).
Definition: xechart.hxx:1154
XclExpRecordList< XclExpChDataFormat > maPointFmts
CHDATAFORMAT group for series format.
Definition: xechart.hxx:754
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:1369
virtual void Save(XclExpStream &rStrm) override
Writes the CHESCHERFORMAT record group to the stream, if complex formatting is extant.
Definition: xechart.cxx:672
A record with a single value of type Type.
Definition: xerecord.hxx:199
XclChValueRange maData
Definition: xechart.hxx:984
rtl::Reference< XclExpChFont > XclExpChFontRef
Definition: xechart.hxx:432
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:488
void CreateAllStockSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries)
Creates all data series of a stock chart.
Definition: xechart.cxx:2533
bool IsDefault() const
Returns true, if the frame object contains default formats.
Definition: xechart.cxx:799
XclExpChMarkerFormat(const XclExpChRoot &rRoot)
Definition: xechart.cxx:1427
XclExpChMarkerFormatRef mxMarkerFmt
Contents of the CHDATAFORMAT record.
Definition: xechart.hxx:643
const sal_uInt16 EXC_CHLINEFORMAT_NONE
Definition: xlchart.hxx:255
sal_uInt32 mnFillColorId
Border line color identifier.
Definition: xechart.hxx:569
rtl::Reference< XclExpChSerTrendLine > XclExpChSerTrendLineRef
Definition: xechart.hxx:676
sal_uInt16 mnFlags
Fill pattern.
Definition: xlchart.hxx:804
XclExpChAxesSetRef mxSecnAxesSet
Primary axes set (CHAXESSET group).
Definition: xechart.hxx:1158
XclExpChTick(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2801
Represents the CHSERTRENDLINE record containing settings for a trend line.
Definition: xechart.hxx:653
void WriteFrameRecords(XclExpStream &rStrm)
Writes all contained frame records to the passed stream.
Definition: xechart.cxx:775
void SetManualPlotArea()
Sets the plot area position and size to manual mode.
Definition: xechart.cxx:3392
void InitializeFutureRecBlock(XclExpStream &rStrm)
Called from XclExpChFutureRecordBase::Save, Initializes the current future record level...
Definition: xechart.cxx:412
const XclChExtTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
Definition: xechart.hxx:898
void ConvertFrameBase(const XclExpChRoot &rRoot, const ScfPropertySet &rPropSet, XclChObjectType eObjType)
Converts frame formatting properties from the passed property set.
Definition: xechart.cxx:730
XclExpChSerTrendLine(const XclExpChRoot &rRoot)
Definition: xechart.cxx:1632
sal_uInt16 mnSeriesIdx
Chart type group (CHTYPEGROUP group) this series is assigned to.
Definition: xechart.hxx:758
XclChDataPointPos maPointPos
Definition: xlchart.hxx:908
void ConvertCategSequence(css::uno::Reference< css::chart2::data::XLabeledDataSequence > const &xCategSeq)
Converts and inserts category ranges for all inserted series.
Definition: xechart.cxx:2486
bool ConvertAreaFormat(XclChAreaFormat &rAreaFmt, const ScfPropertySet &rPropSet, XclChPropertyMode ePropMode) const
Reads solid area properties from the passed property set.
Definition: xechart.cxx:379
XclChTypeGroup maData
Definition: xechart.hxx:929
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xechart.hxx:1082
XclExpChLabelRangeRef mxLabelRange
Contents of the CHAXIS record.
Definition: xechart.hxx:1048
XclExpChText(const XclExpChRoot &rRoot)
Definition: xechart.cxx:1150
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1120
bool IsDefaultFrameBase(XclChFrameType eDefFrameType) const
Returns true, if the frame contains default formatting (as if the frame is missing).
Definition: xechart.cxx:768
bool HasFillColor() const
Returns true, if fill area of markers is visible.
Definition: xechart.hxx:558
XclChExtTypeInfo maTypeInfo
Chart type (e.g. CHBAR, CHLINE, ...).
Definition: xechart.hxx:931
void SetShowAxis(bool bShowAxis)
Sets flag to show or hide an axis.
Definition: xechart.hxx:234
rtl::Reference< XclExpChMarkerFormat > XclExpChMarkerFormatRef
Definition: xechart.hxx:572
XclExpChEscherFormat(const XclExpChRoot &rRoot)
Definition: xechart.cxx:650
virtual void SetRotation(sal_uInt16 nRotation) override
Sets text rotation to internal data structures.
Definition: xechart.cxx:2933
XclChFrBlock maFrBlock
Definition: xechart.hxx:188
XclExpChChart3dRef mxChart3d
List of series data (CHSERIES groups).
Definition: xechart.hxx:933
XclExpChValueRange(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2709
XclExpChFontRef mxFont
Axis ticks (CHTICK record).
Definition: xechart.hxx:1051
static sal_uInt16 ConvertPieRotation(const ScfPropertySet &rPropSet)
Reads the pie rotation property and returns the converted angle.
Definition: xechart.cxx:400
void SetSystemColor(Color &rColor, sal_uInt32 &rnColorId, sal_uInt16 nSysColorIdx) const
Sets a system color and the respective color identifier.
Definition: xechart.cxx:345
sal_uInt16 mnAxesSetId
Position of the axes set (inner plot area).
Definition: xlchart.hxx:1070
XclExpChLineFormatRef mxAxisLine
Index into font buffer (CHFONT record).
Definition: xechart.hxx:1052
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
void SetDefault(XclChFrameType eDefFrameType)
Sets the area format to the specified default type.
Definition: xechart.cxx:617
XclChTypeInfo maTypeInfo
Contents of the chart type record.
Definition: xechart.hxx:789
XclExpChEscherFormatRef mxEscherFmt
Area format (CHAREAFORMAT record).
Definition: xechart.hxx:350
sal_Int32 CalcChartXFromHmm(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from 1/100 mm to Excel chart units.
Definition: xechart.cxx:352
const sal_uInt16 EXC_CHLINEFORMAT_SHOWAXIS
Definition: xlchart.hxx:266
rtl::Reference< XclExpChAreaFormat > XclExpChAreaFormatRef
Definition: xechart.hxx:286
const sal_uInt16 EXC_CHCHART3D_CLUSTER
true = real 3d perspective.
Definition: xlchart.hxx:538
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
Definition: xechart.cxx:3225
rtl::Reference< XclExpRecordBase > mxObjRecs
Definition: xechart.hxx:1180
The CHATTACHEDLABEL record that contains the type of a data point label.
Definition: xechart.hxx:605
sal_uInt16 mnFlags
Frequency of ticks.
Definition: xlchart.hxx:1012
XclExpChRoot(const XclExpRoot &rRoot, XclExpChChart &rChartData)
Definition: xechart.cxx:294
const sal_uInt16 EXC_CHMARKERFORMAT_NOSYMBOL
Definition: xlchart.hxx:272
XclChObjectType meObjType
Contents of the CHFRAME record.
Definition: xechart.hxx:383
XclExpChTypeGroupRef GetFirstTypeGroup() const
Returns first inserted chart type group.
Definition: xechart.cxx:3248
Represents the group of DFF and OBJ records containing all drawing shapes embedded in the chart objec...
Definition: xechart.hxx:1167
void ConvertLegend(const ScfPropertySet &rPropSet)
Creates a legend object and converts all legend settings.
Definition: xechart.cxx:2492
rtl::Reference< XclExpCh3dDataFormat > XclExpCh3dDataFormatRef
Definition: xechart.hxx:602
void ConvertDataSeries(const ScfPropertySet &rPropSet, const XclChExtTypeInfo &rTypeInfo)
Converts the passed data series or data point formatting.
Definition: xechart.cxx:1559
bool HasMarker() const
Returns true, if markers are enabled.
Definition: xechart.hxx:554
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1541
rtl::Reference< XclExpChTick > XclExpChTickRef
Definition: xechart.hxx:1009
Represents the CHCHART record group describing the chart contents.
Definition: xechart.hxx:1128
XclExpChChart & GetChartData() const
Returns a reference to the parent chart data object.
Definition: xechart.cxx:309
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:417
const sal_uInt16 EXC_CHLINEFORMAT_AUTO
Definition: xlchart.hxx:265
void SetFontColor(const Color &rColor, sal_uInt32 nColorId)
Sets font color and color identifier to internal data structures.
Definition: xechart.cxx:2849
XclChTypeId
Enumerates all kinds of different chart types.
Definition: xlchart.hxx:1169
void SetClustered()
Sets flag that the data points are clustered on the X axis.
Definition: xechart.hxx:801
bool HasString() const
Returns true, if the string object does not contain any text data.
Definition: xechart.hxx:515
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
Definition: xechart.hxx:900
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:3399
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1793
XclExpChRootDataRef mxChData
Definition: xechart.hxx:159
bool IsDefault(XclChFrameType eDefFrameType) const
Returns true, if the line contains default formatting according to the passed frame type...
Definition: xechart.cxx:544
exports com.sun.star.chart2. data
rtl::Reference< XclExpChFrLabelProps > XclExpChFrLabelPropsRef
Definition: xechart.hxx:468
void Convert(const css::chart2::ScaleData &rScaleData)
Converts value axis scaling settings.
Definition: xechart.cxx:2715
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:823
rtl::Reference< XclExpChAxis > XclExpChAxisRef
Definition: xechart.hxx:1059
XclExpChTypeGroupRef GetLastTypeGroup() const
Returns last inserted chart type group.
Definition: xechart.cxx:3253
XclExpChTextRef mxLabel
Formatting settings of the trend line.
Definition: xechart.hxx:673
rtl::Reference< XclExpChChart3d > XclExpChChart3dRef
Definition: xechart.hxx:813
sal_uInt16 mnGroupIdx
Error bar settings (CHSERERRORBAR record).
Definition: xechart.hxx:757
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:551
rtl::Reference< XclExpChPieFormat > XclExpChPieFormatRef
Definition: xechart.hxx:584
void InitFromParent(const XclExpChSeries &rParent)
Initializes members of this series to represent a child of the passed series.
Definition: xechart.cxx:2052
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:640
XclExpChAttachedLabel(sal_uInt16 nFlags)
Definition: xechart.cxx:1546
const XclChTypeInfo & GetChartTypeInfo(XclChTypeId eType) const
Returns chart type info for a unique chart type identifier.
Definition: xechart.cxx:314
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1713
A wrapper for a UNO property set.
Definition: fapihelper.hxx:104
virtual void WriteSubRecords(XclExpStream &rStrm)=0
Derived classes implement writing any records embedded in this group.
XclExpChFrame(const XclExpChRoot &rRoot, XclChObjectType eObjType)
Definition: xechart.cxx:782
XclExpChTextRef mxText
Legend frame position (CHFRAMEPOS record).
Definition: xechart.hxx:837
XclExpChLineFormatRef mxMinorGrid
Major grid line format (CHLINEFORMAT record).
Definition: xechart.hxx:1054
rtl::Reference< XclExpChObjectLink > XclExpChObjectLinkRef
Definition: xechart.hxx:447
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2704
void ConvertLine(const ScfPropertySet &rPropSet, XclChObjectType eObjType)
Converts line formatting for the specified object (e.g.
Definition: xechart.cxx:1609
The CHMARKERFORMAT record containing data point marker formatting data.
Definition: xechart.hxx:541
XclExpRecordList< XclExpChSeries > XclExpChSeriesList
Definition: xechart.hxx:927
bool ConvertErrorBar(const XclExpChSeries &rParent, const ScfPropertySet &rPropSet, sal_uInt8 nBarId)
Converts the passed error bar settings (called at error bar child series).
Definition: xechart.cxx:2015
void Convert(css::uno::Reference< css::chart2::XAxis > const &xAxis, css::uno::Reference< css::chart2::XAxis > const &xCrossingAxis, css::uno::Reference< css::chart::XAxis > const &xChart1Axis, const XclChExtTypeInfo &rTypeInfo)
Converts formatting and scaling settings from the passed axis.
Definition: xechart.cxx:2939
sal_uInt32 mnColorId
Contents of the CHLINEFORMAT record.
Definition: xechart.hxx:251
const XclChFormatInfo & GetFormatInfo(XclChObjectType eObjType) const
Returns an info struct about auto formatting for the passed object type.
Definition: xechart.cxx:324
Base class for objects with font settings.
Definition: xechart.hxx:471
void ConvertType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx, bool b3dChart, bool bSwappedAxesSet, bool bHasXLabels)
Converts the passed chart type to Excel type settings.
Definition: xechart.cxx:2393
rtl::Reference< XclExpChDropBar > XclExpChDropBarRef
Definition: xechart.hxx:866
bool IsValidGroup() const
Returns true, if this chart type group contains at least one valid series.
Definition: xechart.hxx:894
XclExpChTypeGroup(const XclExpChRoot &rRoot, sal_uInt16 nGroupIdx)
Definition: xechart.cxx:2385
void CreateTrendLines(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries)
Tries to create trend line series objects (called at parent series).
Definition: xechart.cxx:2062
rtl::Reference< XclExpChTypeGroup > XclExpChTypeGroupRef
Definition: xechart.hxx:941
void SetRotation(sal_uInt16 nRotation)
Sets text rotation to internal data structures.
Definition: xechart.cxx:2856
sal_uInt16 mnPointIdx
Series index of series or a data point.
Definition: xlchart.hxx:757
XclChLineFormat maData
Definition: xechart.hxx:250
XclExpRecordList< XclExpChTypeGroup > maTypeGroups
Plot area (CHPLOTFRAME group).
Definition: xechart.hxx:1115
XclChRectangle maRect
Definition: xechart.hxx:1153
Represents the CHSERERRORBAR record containing settings for error bars.
Definition: xechart.hxx:679
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2100
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1484
void ConvertAxisPosition(const ScfPropertySet &rPropSet)
Converts position settings of a crossing axis at this axis.
Definition: xechart.cxx:2652
unsigned char sal_uInt8
void SetAutoFlags(bool bAutoPos, bool bAutoSize)
Sets the specified automatic flags.
Definition: xechart.cxx:793
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:711
XclChFrame maData
Definition: xechart.hxx:382
Specifies the position of a data series or data point.
Definition: xlchart.hxx:754
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:3278
XclChType maData
Definition: xechart.hxx:788
const sal_uInt16 EXC_CHDATAFORMAT_ALLPOINTS
As point index: unknown format, don't use.
Definition: xlchart.hxx:242
bool HasLineColor() const
Returns true, if border line of markers is visible.
Definition: xechart.hxx:556
XclChLegend maData
Definition: xechart.hxx:835
Represents the CHAXIS record group describing an entire chart axis.
Definition: xechart.hxx:1017
virtual void SetRotation(sal_uInt16 nRotation)=0
Derived classes set text rotation to internal data structures.
void ConvertWall(css::uno::Reference< css::chart2::XDiagram > const &xDiagram)
Converts and writes 3D wall/floor properties from the passed diagram.
Definition: xechart.cxx:3017
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2180
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2863
XclChFrLabelProps maData
Definition: xechart.hxx:465
void ConvertSeries(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nGroupAxesSetIdx, bool bPercent, bool bConnectorLines)
Converts and inserts all series from the passed chart type.
Definition: xechart.cxx:2418
void ConvertLegend(const ScfPropertySet &rPropSet)
Converts all text settings of the passed legend.
Definition: xechart.cxx:1240
XclExpChSeries(const XclExpChRoot &rRoot, sal_uInt16 nSeriesIdx)
Definition: xechart.cxx:1822
sal_uInt32 mnBackColorId
Pattern color identifier.
Definition: xechart.hxx:283
XclChChart3d maData
Definition: xechart.hxx:810
XclExpChDropBar(const XclExpChRoot &rRoot, XclChObjectType eObjType)
Definition: xechart.cxx:2361
virtual void Save(XclExpStream &rStrm) override
Overwrite this method to do any operation while saving the record.
Definition: xechart.cxx:3457
rtl::Reference< XclExpChSeries > XclExpChSeriesRef
Definition: xechart.hxx:762
void ConvertTitle(css::uno::Reference< css::chart2::XTitle > const &xTitle, sal_uInt16 nTarget, const OUString *pSubTitle)
Converts all text settings of the passed title text object.
Definition: xechart.cxx:1170
Surface chart.
Definition: xlchart.hxx:1184
XclExpChFontRef mxFont
Text object frame properties (CHFRAME group).
Definition: xechart.hxx:530
XclChTypeCateg meTypeCateg
Unique chart type identifier.
Definition: xlchart.hxx:1210
void CreateErrorBar(const ScfPropertySet &rPropSet, const OUString &rShowPropName, sal_uInt8 nBarId)
Tries to create an error bar series object (called at parent series).
Definition: xechart.cxx:2089
rtl::Reference< XclExpChSerErrorBar > XclExpChSerErrorBarRef
Definition: xechart.hxx:694
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:828
void Convert(const ScfPropertySet &rPropSet, bool b3dWallChart)
Converts 3d settings for the passed chart type.
Definition: xechart.cxx:2216
bool ConvertTrendLine(const XclExpChSeries &rParent, css::uno::Reference< css::chart2::XRegressionCurve > const &xRegCurve)
Converts the passed error bar settings (called at trend line child series).
Definition: xechart.cxx:1996
void ConvertAxisPosition(const ScfPropertySet &rPropSet)
Converts position settings of a crossing axis at this axis.
Definition: xechart.cxx:2753
bool CreateStockSeries(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries, const OUString &rValueRole, bool bCloseSymbol)
Creates a single data series of a stock chart.
Definition: xechart.cxx:2571
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1624
XclChPicFormat maPicFmt
Fill properties for complex areas (CHESCHERFORMAT record).
Definition: xechart.hxx:314
XclExpChDataFormat(const XclExpChRoot &rRoot, const XclChDataPointPos &rPointPos, sal_uInt16 nFormatIdx)
Definition: xechart.cxx:1551
sal_uInt16 mnMarkerType
Size of a marker.
Definition: xlchart.hxx:892
Represents the chart type record for all supported chart types.
Definition: xechart.hxx:767
XclExpChLineFormatRef mxLineFmt
Definition: xechart.hxx:348
rtl::Reference< XclExpChLineFormat > XclExpChLineFormatRef
Definition: xechart.hxx:254
void FinishConversion() const
Finishes the API chart document conversion.
Definition: xechart.cxx:334
XclChSerErrorBar maData
Definition: xechart.hxx:691
XclChTypeId meTypeId
Definition: xlchart.hxx:1209
void RemoveLastSeries()
Removes the last created data series object from the series list.
Definition: xechart.cxx:3380
void Convert(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx, bool bSwappedAxesSet, bool bHasXLabels)
Converts the passed chart type and the contained data series.
Definition: xechart.cxx:2116
virtual ~XclExpChFrameBase()
Definition: xechart.cxx:726
void ConvertAxis(XclExpChAxisRef &rxChAxis, sal_uInt16 nAxisType, XclExpChTextRef &rxChAxisTitle, sal_uInt16 nTitleTarget, css::uno::Reference< css::chart2::XCoordinateSystem > const &xCoordSystem, const XclChExtTypeInfo &rTypeInfo, sal_Int32 nCrossingAxisDim)
Converts a complete axis object including axis title.
Definition: xechart.cxx:3258
const sal_uInt8 EXC_PATT_NONE
Definition: xlstyle.hxx:55
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2589
XclChText maData
Definition: xechart.hxx:526
virtual void Save(XclExpStream &rStrm) override
Writes missing CHFRBLOCKBEGIN records and this record.
Definition: xechart.cxx:473
Reference< XModel > xModel
sal_uInt16 mnPattern
Pattern background color.
Definition: xlchart.hxx:803
XclChAreaFormat maData
Definition: xechart.hxx:281
rtl::Reference< XclExpChEscherFormat > XclExpChEscherFormatRef
Definition: xechart.hxx:319
XclExpChLegend(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2264
XclExpChFramePosRef mxFramePos
Contents of the CHLEGEND record.
Definition: xechart.hxx:836
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2356
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:3231
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2380
std::shared_ptr< XclExpString > XclExpStringRef
Definition: xeroot.hxx:36
XclChDateRange maDateData
Contents of the CHLABELRANGE record.
Definition: xechart.hxx:965
bool IsValid() const
Returns true, if the object contains valid formatting data.
Definition: xechart.cxx:667
bool HasArea() const
Returns true, if the area style is set to something visible.
Definition: xechart.hxx:273
XclChSerTrendLine maData
Definition: xechart.hxx:671
XclExpChAxisRef mxZAxis
The Y axis (CHAXIS group).
Definition: xechart.hxx:1109
XclExpChFramePos(sal_uInt16 nTLMode)
Definition: xechart.cxx:481
XclExpChObjectLinkRef mxObjLink
Index into font buffer (CHFONT record).
Definition: xechart.hxx:531
const sal_uInt16 EXC_CHLABELRANGE_BETWEEN
Definition: xlchart.hxx:436
sal_uInt32 mnLineColorId
Contents of the CHMARKERFORMAT record.
Definition: xechart.hxx:568
XclExpChTickRef mxTick
Value scaling (CHVALUERANGE record).
Definition: xechart.hxx:1050
rtl::Reference< XclExpChFramePos > XclExpChFramePosRef
Definition: xechart.hxx:221
XclExpChSerTrendLineRef mxTrendLine
CHDATAFORMAT groups for data point formats.
Definition: xechart.hxx:755
css::uno::Reference< css::chart2::XChartDocument > const & GetChartDocument() const
Returns the API Chart document model.
Definition: xechart.cxx:304
bool IsEmpty() const
Definition: xerecord.hxx:327
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:1385
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:2036
The CHFONT record containing a font index for text objects.
Definition: xechart.hxx:426
void SvStream & rStrm
XclExpChAxisRef mxYAxis
The X axis (CHAXIS group).
Definition: xechart.hxx:1108
virtual void SetFont(XclExpChFontRef xFont, const Color &rColor, sal_uInt32 nColorId)=0
Derived classes set font color and color identifier to internal data structures.
Represents the CHTEXT record group containing text object properties.
Definition: xechart.hxx:494
const sal_uInt16 EXC_CHMARKERFORMAT_NOLINE
Definition: xlchart.hxx:290
void ConvertEscherFormat(XclChEscherFormat &rEscherFmt, XclChPicFormat &rPicFmt, const ScfPropertySet &rPropSet, XclChPropertyMode ePropMode) const
Reads gradient or bitmap area properties from the passed property set.
Definition: xechart.cxx:385
sal_uInt16 GetAttLabelFlags() const
Returns the flags needed for the CHATTACHEDLABEL record.
Definition: xechart.cxx:1359
std::shared_ptr< XclExpChRootData > XclExpChRootDataRef
Definition: xechart.hxx:158
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xlchart.cxx:319
bool ConvertDataLabel(const ScfPropertySet &rPropSet, const XclChTypeInfo &rTypeInfo, const XclChDataPointPos &rPointPos)
Converts all settings of the passed data point caption text object.
Definition: xechart.cxx:1247
Represents the CHFRAME record group containing object frame properties.
Definition: xechart.hxx:358
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xechart.hxx:1038
const sal_uInt16 EXC_CHAREAFORMAT_AUTO
Definition: xlchart.hxx:296
XclExpChFont(sal_uInt16 nFontIdx)
Definition: xechart.cxx:1082
sal_uInt16 mnGroupIdx
Additional flags.
Definition: xlchart.hxx:992
bool Is3dWallChart() const
Returns true, if chart type supports wall and floor format.
Definition: xechart.hxx:902
void ConvertStockSymbol(const XclExpChRoot &rRoot, const ScfPropertySet &rPropSet, bool bCloseSymbol)
Converts symbol properties for stock charts from the passed property set.
Definition: xechart.cxx:1447
XclExpChAxisRef mxXAxis
Outer plot area position (CHFRAMEPOS record).
Definition: xechart.hxx:1107
void InitConversion(css::uno::Reference< css::chart2::XChartDocument > const &xChartDoc, const tools::Rectangle &rChartRect) const
Starts the API chart document conversion.
Definition: xechart.cxx:329
Base class for single records with any content.
Definition: xerecord.hxx:143
void Convert(const XclExpChRoot &rRoot, const ScfPropertySet &rPropSet, XclChObjectType eObjType)
Converts line formatting properties from the passed property set.
Definition: xechart.cxx:515
XclExpChSourceLinkRef mxTitleLink
Contents of the CHSERIES record.
Definition: xechart.hxx:748
XclExpChFrameRef mxFrame
Linked data (CHSOURCELINK with CHSTRING record).
Definition: xechart.hxx:529
virtual bool HasSubRecords() const override
Returns true, if this record group contains a CHPICFORMAT record.
Definition: xechart.cxx:686
XclChProperties maProps
Chart frame format (CHFRAME group).
Definition: xechart.hxx:1156
XclExpChLineFormatRef mxMajorGrid
Axis line format (CHLINEFORMAT record).
Definition: xechart.hxx:1053
XclExpChAreaFormatRef mxAreaFmt
Line format (CHLINEFORMAT record).
Definition: xechart.hxx:349
void SetFutureRecordContext(sal_uInt16 nFrContext, sal_uInt16 nFrValue1=0, sal_uInt16 nFrValue2=0)
Sets context information for future record blocks.
Definition: xechart.cxx:459
bool IsClustered() const
Returns true, if the data points are clustered on the X axis.
Definition: xechart.hxx:804
void Convert(const ScfPropertySet &rPropSet)
Converts frame formatting properties from the passed property set.
Definition: xechart.cxx:788
sal_uInt16 GetAxesSetId() const
Returns the index of the axes set (primary/secondary).
Definition: xechart.hxx:1080
XclExpChTextRef mxZAxisTitle
The Y axis title (CHTEXT group).
Definition: xechart.hxx:1112
XclExpCh3dDataFormatRef mx3dDataFmt
Series properties (CHSERIESFORMAT record).
Definition: xechart.hxx:646