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 #pragma once
21 
22 #include "xerecord.hxx"
23 #include "xlchart.hxx"
24 #include "xlformula.hxx"
25 #include "xlstyle.hxx"
26 #include "xeroot.hxx"
27 #include "xestring.hxx"
28 
29 #include <memory>
30 #include <map>
31 
32 class Size;
33 namespace tools { class Rectangle; }
34 
35 namespace com::sun::star {
36  namespace awt
37  {
38  struct Rectangle;
39  }
40  namespace frame
41  {
42  class XModel;
43  }
44  namespace chart
45  {
46  class XAxis;
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 XAxis;
57  class XTitle;
58  class XFormattedString;
59  class XRegressionCurve;
60  namespace data
61  {
62  class XDataSequence;
63  class XLabeledDataSequence;
64  }
65  }
66 }
67 
68 // Common =====================================================================
69 
70 struct XclExpChRootData;
71 class XclExpChChart;
72 
79 class XclExpChRoot : public XclExpRoot
80 {
81 public:
82  explicit XclExpChRoot( const XclExpRoot& rRoot, XclExpChChart& rChartData );
83  virtual ~XclExpChRoot() override;
84 
85  XclExpChRoot(XclExpChRoot const &) = default;
86  XclExpChRoot(XclExpChRoot &&) = default;
87  XclExpChRoot & operator =(XclExpChRoot const &) = delete; // due to XclExpRoot
88  XclExpChRoot & operator =(XclExpChRoot &&) = delete; // due to XclExpRoot
89 
91  const XclExpChRoot& GetChRoot() const { return *this; }
93  css::uno::Reference< css::chart2::XChartDocument > const &
94  GetChartDocument() const;
96  XclExpChChart& GetChartData() const;
98  const XclChTypeInfo& GetChartTypeInfo( XclChTypeId eType ) const;
100  const XclChTypeInfo& GetChartTypeInfo( const OUString& rServiceName ) const;
101 
103  const XclChFormatInfo& GetFormatInfo( XclChObjectType eObjType ) const;
104 
106  void InitConversion( css::uno::Reference< css::chart2::XChartDocument > const & xChartDoc,
107  const tools::Rectangle& rChartRect ) const;
109  void FinishConversion() const;
110 
112  bool IsSystemColor( const Color& rColor, sal_uInt16 nSysColorIdx ) const;
114  void SetSystemColor( Color& rColor, sal_uInt32& rnColorId, sal_uInt16 nSysColorIdx ) const;
115 
117  sal_Int32 CalcChartXFromHmm( sal_Int32 nPosX ) const;
119  sal_Int32 CalcChartYFromHmm( sal_Int32 nPosY ) const;
121  XclChRectangle CalcChartRectFromHmm( const css::awt::Rectangle& rRect ) const;
122 
124  void ConvertLineFormat(
125  XclChLineFormat& rLineFmt,
126  const ScfPropertySet& rPropSet,
127  XclChPropertyMode ePropMode ) const;
130  bool ConvertAreaFormat(
131  XclChAreaFormat& rAreaFmt,
132  const ScfPropertySet& rPropSet,
133  XclChPropertyMode ePropMode ) const;
135  void ConvertEscherFormat(
136  XclChEscherFormat& rEscherFmt,
137  XclChPicFormat& rPicFmt,
138  const ScfPropertySet& rPropSet,
139  XclChPropertyMode ePropMode ) const;
141  sal_uInt16 ConvertFont(
142  const ScfPropertySet& rPropSet,
143  sal_Int16 nScript ) const;
144 
146  static sal_uInt16 ConvertPieRotation( const ScfPropertySet& rPropSet );
147 
148 protected:
150  void RegisterFutureRecBlock( const XclChFrBlock& rFrBlock );
152  void InitializeFutureRecBlock( XclExpStream& rStrm );
154  void FinalizeFutureRecBlock( XclExpStream& rStrm );
155 
156 private:
157  typedef std::shared_ptr< XclExpChRootData > XclExpChRootDataRef;
158  XclExpChRootDataRef mxChData;
159 };
160 
166 class XclExpChGroupBase : public XclExpRecord, protected XclExpChRoot
167 {
168 public:
169  explicit XclExpChGroupBase(
170  const XclExpChRoot& rRoot, sal_uInt16 nFrType,
171  sal_uInt16 nRecId, std::size_t nRecSize = 0 );
172  virtual ~XclExpChGroupBase() override;
173 
175  virtual void Save( XclExpStream& rStrm ) override;
177  virtual bool HasSubRecords() const;
179  virtual void WriteSubRecords( XclExpStream& rStrm ) = 0;
180 
181 protected:
183  void SetFutureRecordContext( sal_uInt16 nFrContext,
184  sal_uInt16 nFrValue1 = 0, sal_uInt16 nFrValue2 = 0 );
185 
186 private:
188 };
189 
194 {
195 public:
196  explicit XclExpChFutureRecordBase( const XclExpChRoot& rRoot,
197  XclFutureRecType eRecType, sal_uInt16 nRecId, std::size_t nRecSize );
198 
200  virtual void Save( XclExpStream& rStrm ) override;
201 };
202 
203 // Frame formatting ===========================================================
204 
206 {
207 public:
208  explicit XclExpChFramePos( sal_uInt16 nTLMode );
209 
212 
213 private:
214  virtual void WriteBody( XclExpStream& rStrm ) override;
215 
216 private:
218 };
219 
221 
223 {
224 public:
225  explicit XclExpChLineFormat( const XclExpChRoot& rRoot );
226 
228  void Convert( const XclExpChRoot& rRoot,
229  const ScfPropertySet& rPropSet, XclChObjectType eObjType );
231  void SetAuto( bool bAuto ) { ::set_flag( maData.mnFlags, EXC_CHLINEFORMAT_AUTO, bAuto ); }
233  void SetShowAxis( bool bShowAxis )
236  void SetDefault( XclChFrameType eDefFrameType );
237 
241  bool HasLine() const { return maData.mnPattern != EXC_CHLINEFORMAT_NONE; }
243  bool IsDefault( XclChFrameType eDefFrameType ) const;
244 
245 private:
246  virtual void WriteBody( XclExpStream& rStrm ) override;
247 
248 private:
250  sal_uInt32 mnColorId;
251 };
252 
254 
256 {
257 public:
258  explicit XclExpChAreaFormat( const XclExpChRoot& rRoot );
259 
262  bool Convert( const XclExpChRoot& rRoot,
263  const ScfPropertySet& rPropSet, XclChObjectType eObjType );
265  void SetAuto( bool bAuto ) { ::set_flag( maData.mnFlags, EXC_CHAREAFORMAT_AUTO, bAuto ); }
267  void SetDefault( XclChFrameType eDefFrameType );
268 
272  bool HasArea() const { return maData.mnPattern != EXC_PATT_NONE; }
274  bool IsDefault( XclChFrameType eDefFrameType ) const;
275 
276 private:
277  virtual void WriteBody( XclExpStream& rStrm ) override;
278 
279 private:
281  sal_uInt32 mnPattColorId;
282  sal_uInt32 mnBackColorId;
283 };
284 
286 
288 {
289 public:
290  explicit XclExpChEscherFormat( const XclExpChRoot& rRoot );
291 
293  void Convert( const ScfPropertySet& rPropSet, XclChObjectType eObjType );
294 
296  bool IsValid() const;
297 
299  virtual void Save( XclExpStream& rStrm ) override;
301  virtual bool HasSubRecords() const override;
303  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
304 
305 private:
307  sal_uInt32 RegisterColor( sal_uInt16 nPropId );
308 
309  virtual void WriteBody( XclExpStream& rStrm ) override;
310 
311 private:
314  sal_uInt32 mnColor1Id;
315  sal_uInt32 mnColor2Id;
316 };
317 
319 
327 {
328 public:
329  explicit XclExpChFrameBase();
330  virtual ~XclExpChFrameBase();
331 
332 protected:
334  void ConvertFrameBase( const XclExpChRoot& rRoot,
335  const ScfPropertySet& rPropSet, XclChObjectType eObjType );
337  void SetDefaultFrameBase( const XclExpChRoot& rRoot,
338  XclChFrameType eDefFrameType, bool bIsFrame );
339 
341  bool IsDefaultFrameBase( XclChFrameType eDefFrameType ) const;
342 
345 
346 private:
350 };
351 
358 {
359 public:
360  explicit XclExpChFrame( const XclExpChRoot& rRoot, XclChObjectType eObjType );
361 
363  void Convert( const ScfPropertySet& rPropSet );
365  void SetAutoFlags( bool bAutoPos, bool bAutoSize );
366 
368  bool IsDefault() const;
370  bool IsDeleteable() const;
371 
373  virtual void Save( XclExpStream& rStrm ) override;
375  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
376 
377 private:
378  virtual void WriteBody( XclExpStream& rStrm ) override;
379 
380 private:
383 };
384 
386 
387 // Source links ===============================================================
388 
390 {
391 public:
392  explicit XclExpChSourceLink( const XclExpChRoot& rRoot, sal_uInt8 nDestType );
393 
394  void ConvertString( const OUString& aString );
396  sal_uInt16 ConvertDataSequence( css::uno::Reference< css::chart2::data::XDataSequence > const & xDataSeq,
397  bool bSplitToColumns, sal_uInt16 nDefCount = 0 );
399  sal_uInt16 ConvertStringSequence( const css::uno::Sequence< css::uno::Reference< css::chart2::XFormattedString > >& rStringSeq );
401  void ConvertNumFmt( const ScfPropertySet& rPropSet, bool bPercent );
402 
403  void AppendString( const OUString& rStr );
404 
406  bool HasString() const { return mxString && !mxString->IsEmpty(); }
407 
409  virtual void Save( XclExpStream& rStrm ) override;
410 
411 private:
412  virtual void WriteBody( XclExpStream& rStrm ) override;
413 
414 private:
418 };
419 
421 
422 // Text =======================================================================
423 
426 {
427 public:
428  explicit XclExpChFont( sal_uInt16 nFontIdx );
429 };
430 
432 
435 {
436 public:
437  explicit XclExpChObjectLink( sal_uInt16 nLinkTarget, const XclChDataPointPos& rPointPos );
438 
439 private:
440  virtual void WriteBody( XclExpStream& rStrm ) override;
441 
442 private:
444 };
445 
447 
450 {
451 public:
452  explicit XclExpChFrLabelProps( const XclExpChRoot& rRoot );
453 
455  void Convert(
456  const ScfPropertySet& rPropSet,
457  bool bShowCateg, bool bShowValue,
458  bool bShowPercent, bool bShowBubble );
459 
460 private:
461  virtual void WriteBody( XclExpStream& rStrm ) override;
462 
463 private:
465 };
466 
468 
471 {
472 public:
473  virtual ~XclExpChFontBase();
474 
476  virtual void SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId ) = 0;
478  virtual void SetRotation( sal_uInt16 nRotation ) = 0;
479 
481  void ConvertFontBase( const XclExpChRoot& rRoot, sal_uInt16 nFontIdx );
483  void ConvertFontBase( const XclExpChRoot& rRoot, const ScfPropertySet& rPropSet );
485  void ConvertRotationBase( const ScfPropertySet& rPropSet, bool bSupportsStacked );
486 };
487 
494 {
495 public:
496  explicit XclExpChText( const XclExpChRoot& rRoot );
497 
499  virtual void SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId ) override;
501  virtual void SetRotation( sal_uInt16 nRotation ) override;
502 
504  void ConvertTitle( css::uno::Reference< css::chart2::XTitle > const & xTitle, sal_uInt16 nTarget, const OUString* pSubTitle );
506  void ConvertLegend( const ScfPropertySet& rPropSet );
508  bool ConvertDataLabel( const ScfPropertySet& rPropSet,
509  const XclChTypeInfo& rTypeInfo, const XclChDataPointPos& rPointPos );
511  void ConvertTrendLineEquation( const ScfPropertySet& rPropSet, const XclChDataPointPos& rPointPos );
512 
514  bool HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
516  sal_uInt16 GetAttLabelFlags() const;
517 
519  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
520 
521 private:
522  virtual void WriteBody( XclExpStream& rStrm ) override;
523 
524 private:
532  sal_uInt32 mnTextColorId;
533 };
534 
536 
537 // Data series ================================================================
538 
541 {
542 public:
543  explicit XclExpChMarkerFormat( const XclExpChRoot& rRoot );
544 
546  void Convert( const XclExpChRoot& rRoot,
547  const ScfPropertySet& rPropSet, sal_uInt16 nFormatIdx );
549  void ConvertStockSymbol( const XclExpChRoot& rRoot,
550  const ScfPropertySet& rPropSet, bool bCloseSymbol );
551 
558 
559 private:
561  void RegisterColors( const XclExpChRoot& rRoot );
562 
563  virtual void WriteBody( XclExpStream& rStrm ) override;
564 
565 private:
567  sal_uInt32 mnLineColorId;
568  sal_uInt32 mnFillColorId;
569 };
570 
572 
575 {
576 public:
577  explicit XclExpChPieFormat();
578 
580  void Convert( const ScfPropertySet& rPropSet );
581 };
582 
584 
587 {
588 public:
589  explicit XclExpCh3dDataFormat();
590 
592  void Convert( const ScfPropertySet& rPropSet );
593 
594 private:
595  virtual void WriteBody( XclExpStream& rStrm ) override;
596 
597 private:
599 };
600 
602 
605 {
606 public:
607  explicit XclExpChAttachedLabel( sal_uInt16 nFlags );
608 };
609 
611 
619 {
620 public:
621  explicit XclExpChDataFormat( const XclExpChRoot& rRoot,
622  const XclChDataPointPos& rPointPos, sal_uInt16 nFormatIdx );
623 
625  void ConvertDataSeries( const ScfPropertySet& rPropSet, const XclChExtTypeInfo& rTypeInfo );
627  void ConvertStockSeries( const ScfPropertySet& rPropSet, bool bCloseSymbol );
629  void ConvertLine( const ScfPropertySet& rPropSet, XclChObjectType eObjType );
630 
633 
635  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
636 
637 private:
638  virtual void WriteBody( XclExpStream& rStrm ) override;
639 
640 private:
647 };
648 
650 
653 {
654 public:
655  explicit XclExpChSerTrendLine( const XclExpChRoot& rRoot );
656 
658  bool Convert( css::uno::Reference< css::chart2::XRegressionCurve > const & xRegCurve,
659  sal_uInt16 nSeriesIdx );
660 
662  const XclExpChDataFormatRef& GetDataFormat() const { return mxDataFmt; }
664  const XclExpChTextRef& GetDataLabel() const { return mxLabel; }
665 
666 private:
667  virtual void WriteBody( XclExpStream& rStrm ) override;
668 
669 private:
673 };
674 
676 
679 {
680 public:
681  explicit XclExpChSerErrorBar( const XclExpChRoot& rRoot, sal_uInt8 nBarType );
682 
684  bool Convert( XclExpChSourceLink& rValueLink, sal_uInt16& rnValueCount, const ScfPropertySet& rPropSet );
685 
686 private:
687  virtual void WriteBody( XclExpStream& rStrm ) override;
688 
689 private:
691 };
692 
694 
702 {
703 public:
704  explicit XclExpChSeries( const XclExpChRoot& rRoot, sal_uInt16 nSeriesIdx );
705 
707  bool ConvertDataSeries(
708  css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
709  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries,
710  const XclChExtTypeInfo& rTypeInfo,
711  sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx );
713  bool ConvertStockSeries(
714  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries,
715  std::u16string_view rValueRole,
716  sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx, bool bCloseSymbol );
718  bool ConvertTrendLine( const XclExpChSeries& rParent,
719  css::uno::Reference< css::chart2::XRegressionCurve > const & xRegCurve );
721  bool ConvertErrorBar( const XclExpChSeries& rParent, const ScfPropertySet& rPropSet, sal_uInt8 nBarId );
723  void ConvertCategSequence( css::uno::Reference< css::chart2::data::XLabeledDataSequence > const & xCategSeq );
724 
726  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
727 
728 private:
730  void InitFromParent( const XclExpChSeries& rParent );
732  void CreateTrendLines( css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries );
734  void CreateErrorBars( const ScfPropertySet& rPropSet,
735  const OUString& rBarPropName,
736  sal_uInt8 nPosBarId, sal_uInt8 nNegBarId );
738  void CreateErrorBar( const ScfPropertySet& rPropSet,
739  const OUString& rShowPropName, sal_uInt8 nBarId );
740 
741  virtual void WriteBody( XclExpStream& rStrm ) override;
742 
743 private:
744 
745 private:
756  sal_uInt16 mnGroupIdx;
757  sal_uInt16 mnSeriesIdx;
758  sal_uInt16 mnParentIdx;
759 };
760 
762 
763 // Chart type groups ==========================================================
764 
766 class XclExpChType : public XclExpRecord, protected XclExpChRoot
767 {
768 public:
769  explicit XclExpChType( const XclExpChRoot& rRoot );
770 
772  void Convert( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
773  css::uno::Reference< css::chart2::XChartType > const & xChartType,
774  sal_Int32 nApiAxesSetIdx, bool bSwappedAxesSet, bool bHasXLabels );
776  void SetStacked( bool bPercent );
777 
781  const XclChTypeInfo& GetTypeInfo() const { return maTypeInfo; }
782 
783 private:
784  virtual void WriteBody( XclExpStream& rStrm ) override;
785 
786 private:
789 };
790 
793 {
794 public:
795  explicit XclExpChChart3d();
796 
798  void Convert( const ScfPropertySet& rPropSet, bool b3dWallChart );
801 
804 
805 private:
806  virtual void WriteBody( XclExpStream& rStrm ) override;
807 
808 private:
810 };
811 
813 
820 {
821 public:
822  explicit XclExpChLegend( const XclExpChRoot& rRoot );
823 
825  void Convert( const ScfPropertySet& rPropSet );
826 
828  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
829 
830 private:
831  virtual void WriteBody( XclExpStream& rStrm ) override;
832 
833 private:
838 };
839 
841 
848 {
849 public:
850  explicit XclExpChDropBar( const XclExpChRoot& rRoot, XclChObjectType eObjType );
851 
853  void Convert( const ScfPropertySet& rPropSet );
854 
856  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
857 
858 private:
859  virtual void WriteBody( XclExpStream& rStrm ) override;
860 
861 private:
863 };
864 
866 
875 {
876 public:
877  explicit XclExpChTypeGroup( const XclExpChRoot& rRoot, sal_uInt16 nGroupIdx );
878 
880  void ConvertType( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
881  css::uno::Reference< css::chart2::XChartType > const & xChartType,
882  sal_Int32 nApiAxesSetIdx, bool b3dChart, bool bSwappedAxesSet, bool bHasXLabels );
884  void ConvertSeries( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
885  css::uno::Reference< css::chart2::XChartType > const & xChartType,
886  sal_Int32 nGroupAxesSetIdx, bool bPercent, bool bConnectorLines );
888  void ConvertCategSequence( css::uno::Reference< css::chart2::data::XLabeledDataSequence > const & xCategSeq );
890  void ConvertLegend( const ScfPropertySet& rPropSet );
891 
893  bool IsValidGroup() const { return !maSeries.IsEmpty() && maType.IsValidType(); }
895  sal_uInt16 GetGroupIdx() const { return maData.mnGroupIdx; }
897  const XclChExtTypeInfo& GetTypeInfo() const { return maTypeInfo; }
899  bool Is3dChart() const { return maTypeInfo.mb3dChart; }
903  bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
905  bool IsCombinable2d() const { return !Is3dChart() && maTypeInfo.mbCombinable2d; }
906 
908  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
909 
910 private:
912  sal_uInt16 GetFreeFormatIdx() const;
914  void CreateDataSeries( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
915  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries );
917  void CreateAllStockSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
918  css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries );
920  bool CreateStockSeries( css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries,
921  std::u16string_view rValueRole, bool bCloseSymbol );
922 
923  virtual void WriteBody( XclExpStream& rStrm ) override;
924 
925 private:
927 
931  XclExpChSeriesList maSeries;
936  std::map<sal_uInt16, std::unique_ptr<XclExpChLineFormat>>
938 };
939 
941 
942 // Axes =======================================================================
943 
945 {
946 public:
947  explicit XclExpChLabelRange( const XclExpChRoot& rRoot );
948 
950  void Convert( const css::chart2::ScaleData& rScaleData,
951  const ScfPropertySet& rChart1Axis, bool bMirrorOrient );
953  void ConvertAxisPosition( const ScfPropertySet& rPropSet );
955  void SetTicksBetweenCateg( bool bTicksBetween )
957 
958 private:
959  virtual void Save( XclExpStream& rStrm ) override;
960  virtual void WriteBody( XclExpStream& rStrm ) override;
961 
962 private:
965 };
966 
968 
970 {
971 public:
972  explicit XclExpChValueRange( const XclExpChRoot& rRoot );
973 
975  void Convert( const css::chart2::ScaleData& rScaleData );
977  void ConvertAxisPosition( const ScfPropertySet& rPropSet );
978 
979 private:
980  virtual void WriteBody( XclExpStream& rStrm ) override;
981 
982 private:
984 };
985 
987 
988 class XclExpChTick : public XclExpRecord, protected XclExpChRoot
989 {
990 public:
991  explicit XclExpChTick( const XclExpChRoot& rRoot );
992 
994  void Convert( const ScfPropertySet& rPropSet, const XclChExtTypeInfo& rTypeInfo, sal_uInt16 nAxisType );
996  void SetFontColor( const Color& rColor, sal_uInt32 nColorId );
998  void SetRotation( sal_uInt16 nRotation );
999 
1000 private:
1001  virtual void WriteBody( XclExpStream& rStrm ) override;
1002 
1003 private:
1005  sal_uInt32 mnTextColorId;
1006 };
1007 
1009 
1017 {
1018 public:
1019  explicit XclExpChAxis( const XclExpChRoot& rRoot, sal_uInt16 nAxisType );
1020 
1022  virtual void SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId ) override;
1024  virtual void SetRotation( sal_uInt16 nRotation ) override;
1025 
1027  void Convert( css::uno::Reference< css::chart2::XAxis > const & xAxis,
1028  css::uno::Reference< css::chart2::XAxis > const & xCrossingAxis,
1029  css::uno::Reference< css::chart::XAxis > const & xChart1Axis,
1030  const XclChExtTypeInfo& rTypeInfo );
1032  void ConvertWall( css::uno::Reference< css::chart2::XDiagram > const & xDiagram );
1033 
1035  sal_uInt16 GetAxisType() const { return maData.mnType; }
1037  sal_Int32 GetApiAxisDimension() const { return maData.GetApiAxisDimension(); }
1038 
1040  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
1041 
1042 private:
1043  virtual void WriteBody( XclExpStream& rStrm ) override;
1044 
1045 private:
1055  sal_uInt16 mnNumFmtIdx;
1056 };
1057 
1059 
1067 {
1068 public:
1069  explicit XclExpChAxesSet( const XclExpChRoot& rRoot, sal_uInt16 nAxesSetId );
1070 
1073  sal_uInt16 Convert( css::uno::Reference< css::chart2::XDiagram > const & xDiagram,
1074  sal_uInt16 nFirstGroupIdx );
1075 
1077  bool IsValidAxesSet() const { return !maTypeGroups.IsEmpty(); }
1079  sal_uInt16 GetAxesSetId() const { return maData.mnAxesSetId; }
1081  sal_Int32 GetApiAxesSetIndex() const { return maData.GetApiAxesSetIndex(); }
1083  bool Is3dChart() const;
1084 
1086  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
1087 
1088 private:
1093 
1095  void ConvertAxis( XclExpChAxisRef& rxChAxis, sal_uInt16 nAxisType,
1096  XclExpChTextRef& rxChAxisTitle, sal_uInt16 nTitleTarget,
1097  css::uno::Reference< css::chart2::XCoordinateSystem > const & xCoordSystem,
1098  const XclChExtTypeInfo& rTypeInfo,
1099  sal_Int32 nCrossingAxisDim );
1100 
1101  virtual void WriteBody( XclExpStream& rStrm ) override;
1102 
1103 private:
1115 };
1116 
1117 typedef std::shared_ptr< XclExpChAxesSet > XclExpChAxesSetRef;
1118 
1119 // The chart object ===========================================================
1120 
1128 {
1129 public:
1130  explicit XclExpChChart( const XclExpRoot& rRoot,
1131  css::uno::Reference< css::chart2::XChartDocument > const & xChartDoc,
1132  const tools::Rectangle& rChartRect );
1133 
1137  void RemoveLastSeries();
1139  void SetDataLabel( XclExpChTextRef const & xText );
1141  void SetManualPlotArea();
1142 
1144  virtual void WriteSubRecords( XclExpStream& rStrm ) override;
1145 
1146 private:
1147  virtual void WriteBody( XclExpStream& rStrm ) override;
1148 
1149 private:
1151 
1153  XclExpChSeriesList maSeries;
1161 };
1162 
1167 {
1168 public:
1169  explicit XclExpChartDrawing(
1170  const XclExpRoot& rRoot,
1171  const css::uno::Reference< css::frame::XModel >& rxModel,
1172  const Size& rChartSize );
1173  virtual ~XclExpChartDrawing() override;
1174 
1175  virtual void Save( XclExpStream& rStrm ) override;
1176 
1177 private:
1178  std::shared_ptr< XclExpObjectManager > mxObjMgr;
1180 };
1181 
1183 class XclExpChart : public XclExpSubStream, protected XclExpRoot
1184 {
1185 public:
1186  explicit XclExpChart( const XclExpRoot& rRoot,
1187  css::uno::Reference< css::frame::XModel > const & xModel,
1188  const tools::Rectangle& rChartRect );
1189 };
1190 
1191 /* 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:1080
XclExpChAxis(const XclExpChRoot &rRoot, sal_uInt16 nAxisType)
Definition: xechart.cxx:2919
XclChDataFormat maData
Definition: xechart.hxx:641
XclExpChTextRef mxXAxisTitle
The Z axis (CHAXIS group).
Definition: xechart.hxx:1109
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:781
bool HasLine() const
Returns true, if the line style is set to something visible.
Definition: xechart.hxx:241
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:1112
const XclExpChRoot & GetChRoot() const
Returns this root instance - for code readability in derived classes.
Definition: xechart.hxx:91
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xechart.hxx:1183
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:935
XclExpChSourceLinkRef mxSrcLink
Relative text frame position (CHFRAMEPOS record).
Definition: xechart.hxx:527
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:586
XclExpChFramePosRef mxFramePos
Contents of the CHAXESSET record.
Definition: xechart.hxx:1105
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:385
Base class for complex chart classes, provides access to other components of the chart.
Definition: xechart.hxx:79
The CHPIEFORMAT record containing data point formatting data for pie segments.
Definition: xechart.hxx:574
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:963
XclExpChSourceLinkRef mxValueLink
Link data for series title.
Definition: xechart.hxx:748
XclChFramePos & GetFramePosData()
Returns read/write access to the frame position data.
Definition: xechart.hxx:211
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:1150
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:394
This class is used to export Excel record streams.
Definition: xestream.hxx:72
Contains information for a chart type.
Definition: xlchart.hxx:1206
sal_uInt16 GetAxisType() const
Returns the type of this axis.
Definition: xechart.hxx:1035
sal_uInt16 mnFlags
Marker type (none, diamond, ...).
Definition: xlchart.hxx:892
XclChFrameType
Enumerates different types to handle missing frame objects.
Definition: xlchart.hxx:1131
XclExpRecordRef mxSeriesFmt
Pie segment format (CHPIEFORMAT record).
Definition: xechart.hxx:644
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:646
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:779
void SetAuto(bool bAuto)
Sets or clears the automatic flag.
Definition: xechart.hxx:265
virtual void Save(XclExpStream &rStrm) override
Saves the header record.
Definition: xechart.cxx:434
XclChFramePos maData
Definition: xechart.hxx:217
bool IsAuto() const
Returns true, if the line format is set to automatic.
Definition: xechart.hxx:239
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:929
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:632
Represents the CHTYPEGROUP record group describing a group of series.
Definition: xechart.hxx:874
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:420
XclExpRecordList< XclExpChText > maLabels
Chart title (CHTEXT group).
Definition: xechart.hxx:1160
std::map< sal_uInt16, std::unique_ptr< XclExpChLineFormat > > m_ChartLines
Black dropbars (CHDROPBAR group).
Definition: xechart.hxx:937
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:1054
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:193
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:664
bool CreateStockSeries(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries, std::u16string_view rValueRole, bool bCloseSymbol)
Creates a single data series of a stock chart.
Definition: xechart.cxx:2571
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:847
Base class for chart record groups.
Definition: xechart.hxx:166
exports com.sun.star. awt
Contains information about auto formatting of a specific chart object type.
Definition: xlchart.hxx:1138
XclExpChFrLabelPropsRef mxLabelProps
Link target for this text object.
Definition: xechart.hxx:531
virtual void WriteSubRecords(XclExpStream &rStrm) override
Writes all embedded records.
Definition: xechart.cxx:2375
rtl::Reference< XclExpChLegend > XclExpChLegendRef
Definition: xechart.hxx:840
bool Is3dDeepChart() const
Returns true, if the series in this chart type group are ordered on the Z axis.
Definition: xechart.hxx:903
void SetAuto(bool bAuto)
Sets or clears the automatic flag.
Definition: xechart.hxx:231
XclExpChTextRef mxYAxisTitle
The X axis title (CHTEXT group).
Definition: xechart.hxx:1110
XclExpChSeriesList maSeries
Extended chart type info.
Definition: xechart.hxx:931
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:535
sal_uInt32 mnColor2Id
First fill color identifier.
Definition: xechart.hxx:315
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:95
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:758
XclExpChFrameRef mxFrame
List of series data (CHSERIES groups).
Definition: xechart.hxx:1154
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:1077
sal_uInt16 GetGroupIdx() const
Returns the index of this chart type group format.
Definition: xechart.hxx:895
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:326
XclExpChType(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2109
XclChSeries maData
Definition: xechart.hxx:746
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:750
virtual ~XclExpChGroupBase() override
Definition: xechart.cxx:430
XclExpChValueRangeRef mxValueRange
Category scaling (CHLABELRANGE record).
Definition: xechart.hxx:1048
XclExpChDataFormatRef mxSeriesFmt
Link data for series bubble sizes.
Definition: xechart.hxx:751
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:610
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:671
virtual ~XclExpChFontBase()
Definition: xechart.cxx:1126
XclFutureRecType
Enumerates different header types of future records.
Definition: xlconst.hxx:236
XclExpChRoot & operator=(XclExpChRoot const &)=delete
void SetTicksBetweenCateg(bool bTicksBetween)
Sets flag for tickmark position between categories or on categories.
Definition: xechart.hxx:955
XclExpChFramePosRef mxFramePos
Contents of the CHTEXT record.
Definition: xechart.hxx:526
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:532
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:749
XclExpChTextRef mxTitle
Secondary axes set (CHAXESSET group).
Definition: xechart.hxx:1158
XclExpChAxesSetRef mxPrimAxesSet
Chart properties (CHPROPERTIES record).
Definition: xechart.hxx:1156
Access to global data from other classes.
Definition: xeroot.hxx:112
exports com.sun.star. chart2
Extended chart type information and access functions.
Definition: xlchart.hxx:1228
XclChAxesSet maData
Definition: xechart.hxx:1104
XclChAxis maData
Definition: xechart.hxx:1046
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:449
sal_uInt32 mnPattColorId
Contents of the CHAREAFORMAT record.
Definition: xechart.hxx:281
sal_uInt16 mnPattern
Line color.
Definition: xlchart.hxx:791
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:934
XclExpChPieFormatRef mxPieFmt
Data point marker (CHMARKERFORMAT record).
Definition: xechart.hxx:643
sal_uInt16 mnType
Definition: xlchart.hxx:1058
std::shared_ptr< XclExpObjectManager > mxObjMgr
Definition: xechart.hxx:1178
exports com.sun.star. frame
XclChTick maData
Definition: xechart.hxx:1004
XclCh3dDataFormat maData
Definition: xechart.hxx:598
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:314
std::shared_ptr< XclExpChAxesSet > XclExpChAxesSetRef
Definition: xechart.hxx:1117
XclChObjectType meObjType
Definition: xechart.hxx:862
rtl::Reference< XclExpChLabelRange > XclExpChLabelRangeRef
Definition: xechart.hxx:967
sal_uInt16 mnFlags
Space between series.
Definition: xlchart.hxx:973
sal_uInt16 mnNumFmtIdx
Wall/floor format (sub records of CHFRAME group).
Definition: xechart.hxx:1055
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:986
virtual ~XclExpChartDrawing() override
Definition: xechart.cxx:3453
Represents the CHLEGEND record group describing the chart legend.
Definition: xechart.hxx:819
Base class for all Excel records.
Definition: xerecord.hxx:37
XclChMarkerFormat maData
Definition: xechart.hxx:566
bool IsCombinable2d() const
Returns true, if this chart type can be combined with other types.
Definition: xechart.hxx:905
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:792
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:662
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:649
XclExpChLegendRef mxLegend
3D settings (CHCHART3D record).
Definition: xechart.hxx:933
const sal_uInt16 EXC_CHMARKERFORMAT_NOFILL
Definition: xlchart.hxx:288
sal_uInt16 mnFlags
Line weight (hairline, single, ...).
Definition: xlchart.hxx:793
XclExpChSerErrorBarRef mxErrorBar
Trend line settings (CHSERTRENDLINE record).
Definition: xechart.hxx:755
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:837
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:618
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:767
void Convert(const ScfPropertySet &rPropSet)
Sets pie segment properties from the passed property set.
Definition: xechart.cxx:1499
XclChEscherFormat maData
Definition: xechart.hxx:312
Represents the CHAXESSET record group describing an axes set (X/Y/Z axes).
Definition: xechart.hxx:1066
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:1005
XclChObjectType
Enumerates different object types for specific automatic formatting behaviour.
Definition: xlchart.hxx:1110
bool mbCombinable2d
Default data label position (API constant).
Definition: xlchart.hxx:1214
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:270
Radar charts (linear or filled).
Definition: xlchart.hxx:1192
Represents the CHSERIES record group describing a data series in a chart.
Definition: xechart.hxx:701
XclExpChSeriesList maSeries
Position of the chart on the sheet (CHCHART record).
Definition: xechart.hxx:1153
XclExpRecordList< XclExpChDataFormat > maPointFmts
CHDATAFORMAT group for series format.
Definition: xechart.hxx:753
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:197
XclChValueRange maData
Definition: xechart.hxx:983
rtl::Reference< XclExpChFont > XclExpChFontRef
Definition: xechart.hxx:431
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:642
const sal_uInt16 EXC_CHLINEFORMAT_NONE
Definition: xlchart.hxx:254
sal_uInt32 mnFillColorId
Border line color identifier.
Definition: xechart.hxx:568
rtl::Reference< XclExpChSerTrendLine > XclExpChSerTrendLineRef
Definition: xechart.hxx:675
sal_uInt16 mnFlags
Fill pattern.
Definition: xlchart.hxx:803
XclExpChAxesSetRef mxSecnAxesSet
Primary axes set (CHAXESSET group).
Definition: xechart.hxx:1157
XclExpChTick(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2801
Represents the CHSERTRENDLINE record containing settings for a trend line.
Definition: xechart.hxx:652
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:897
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:757
XclChDataPointPos maPointPos
Definition: xlchart.hxx:907
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:928
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xechart.hxx:1081
XclExpChLabelRangeRef mxLabelRange
Contents of the CHAXIS record.
Definition: xechart.hxx:1047
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:557
XclChExtTypeInfo maTypeInfo
Chart type (e.g. CHBAR, CHLINE, ...).
Definition: xechart.hxx:930
void SetShowAxis(bool bShowAxis)
Sets flag to show or hide an axis.
Definition: xechart.hxx:233
rtl::Reference< XclExpChMarkerFormat > XclExpChMarkerFormatRef
Definition: xechart.hxx:571
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:187
XclExpChChart3dRef mxChart3d
List of series data (CHSERIES groups).
Definition: xechart.hxx:932
XclExpChValueRange(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2709
XclExpChFontRef mxFont
Axis ticks (CHTICK record).
Definition: xechart.hxx:1050
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:1069
XclExpChLineFormatRef mxAxisLine
Index into font buffer (CHFONT record).
Definition: xechart.hxx:1051
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:75
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:788
XclExpChEscherFormatRef mxEscherFmt
Area format (CHAREAFORMAT record).
Definition: xechart.hxx:349
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:265
rtl::Reference< XclExpChAreaFormat > XclExpChAreaFormatRef
Definition: xechart.hxx:285
const sal_uInt16 EXC_CHCHART3D_CLUSTER
true = real 3d perspective.
Definition: xlchart.hxx:537
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
Definition: xechart.cxx:3225
rtl::Reference< XclExpRecordBase > mxObjRecs
Definition: xechart.hxx:1179
The CHATTACHEDLABEL record that contains the type of a data point label.
Definition: xechart.hxx:604
sal_uInt16 mnFlags
Frequency of ticks.
Definition: xlchart.hxx:1011
XclExpChRoot(const XclExpRoot &rRoot, XclExpChChart &rChartData)
Definition: xechart.cxx:294
const sal_uInt16 EXC_CHMARKERFORMAT_NOSYMBOL
Definition: xlchart.hxx:271
XclChObjectType meObjType
Contents of the CHFRAME record.
Definition: xechart.hxx:382
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:1166
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:601
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:553
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:1008
Represents the CHCHART record group describing the chart contents.
Definition: xechart.hxx:1127
XclExpChChart & GetChartData() const
Returns a reference to the parent chart data object.
Definition: xechart.cxx:309
std::shared_ptr< XclTokenArray > XclTokenArrayRef
Definition: xlformula.hxx:416
const sal_uInt16 EXC_CHLINEFORMAT_AUTO
Definition: xlchart.hxx:264
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:1168
void SetClustered()
Sets flag that the data points are clustered on the X axis.
Definition: xechart.hxx:800
bool HasString() const
Returns true, if the string object does not contain any text data.
Definition: xechart.hxx:514
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
Definition: xechart.hxx:899
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:158
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:467
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:1058
XclExpChTypeGroupRef GetLastTypeGroup() const
Returns last inserted chart type group.
Definition: xechart.cxx:3253
XclExpChTextRef mxLabel
Formatting settings of the trend line.
Definition: xechart.hxx:672
rtl::Reference< XclExpChChart3d > XclExpChChart3dRef
Definition: xechart.hxx:812
sal_uInt16 mnGroupIdx
Error bar settings (CHSERERRORBAR record).
Definition: xechart.hxx:756
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:583
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:103
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:836
XclExpChLineFormatRef mxMinorGrid
Major grid line format (CHLINEFORMAT record).
Definition: xechart.hxx:1053
rtl::Reference< XclExpChObjectLink > XclExpChObjectLinkRef
Definition: xechart.hxx:446
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:540
XclExpRecordList< XclExpChSeries > XclExpChSeriesList
Definition: xechart.hxx:926
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:250
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:470
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:865
bool IsValidGroup() const
Returns true, if this chart type group contains at least one valid series.
Definition: xechart.hxx:893
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:940
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:756
XclChLineFormat maData
Definition: xechart.hxx:249
XclExpRecordList< XclExpChTypeGroup > maTypeGroups
Plot area (CHPLOTFRAME group).
Definition: xechart.hxx:1114
XclChRectangle maRect
Definition: xechart.hxx:1152
Represents the CHSERERRORBAR record containing settings for error bars.
Definition: xechart.hxx:678
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:381
Specifies the position of a data series or data point.
Definition: xlchart.hxx:753
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:3278
XclChType maData
Definition: xechart.hxx:787
const sal_uInt16 EXC_CHDATAFORMAT_ALLPOINTS
As point index: unknown format, don't use.
Definition: xlchart.hxx:241
bool HasLineColor() const
Returns true, if border line of markers is visible.
Definition: xechart.hxx:555
XclChLegend maData
Definition: xechart.hxx:834
Represents the CHAXIS record group describing an entire chart axis.
Definition: xechart.hxx:1016
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:464
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:282
XclChChart3d maData
Definition: xechart.hxx:809
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:761
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:1183
XclExpChFontRef mxFont
Text object frame properties (CHFRAME group).
Definition: xechart.hxx:529
XclChTypeCateg meTypeCateg
Unique chart type identifier.
Definition: xlchart.hxx:1209
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:693
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
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:313
XclExpChDataFormat(const XclExpChRoot &rRoot, const XclChDataPointPos &rPointPos, sal_uInt16 nFormatIdx)
Definition: xechart.cxx:1551
sal_uInt16 mnMarkerType
Size of a marker.
Definition: xlchart.hxx:891
Represents the chart type record for all supported chart types.
Definition: xechart.hxx:766
XclExpChLineFormatRef mxLineFmt
Definition: xechart.hxx:347
rtl::Reference< XclExpChLineFormat > XclExpChLineFormatRef
Definition: xechart.hxx:253
void FinishConversion() const
Finishes the API chart document conversion.
Definition: xechart.cxx:334
XclChSerErrorBar maData
Definition: xechart.hxx:690
XclChTypeId meTypeId
Definition: xlchart.hxx:1208
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:54
virtual void WriteBody(XclExpStream &rStrm) override
Writes the body of the record (without record header).
Definition: xechart.cxx:2589
XclChText maData
Definition: xechart.hxx:525
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:802
XclChAreaFormat maData
Definition: xechart.hxx:280
rtl::Reference< XclExpChEscherFormat > XclExpChEscherFormatRef
Definition: xechart.hxx:318
XclExpChLegend(const XclExpChRoot &rRoot)
Definition: xechart.cxx:2264
XclExpChFramePosRef mxFramePos
Contents of the CHLEGEND record.
Definition: xechart.hxx:835
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:35
XclChDateRange maDateData
Contents of the CHLABELRANGE record.
Definition: xechart.hxx:964
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:272
XclChSerTrendLine maData
Definition: xechart.hxx:670
XclExpChAxisRef mxZAxis
The Y axis (CHAXIS group).
Definition: xechart.hxx:1108
XclExpChFramePos(sal_uInt16 nTLMode)
Definition: xechart.cxx:481
XclExpChObjectLinkRef mxObjLink
Index into font buffer (CHFONT record).
Definition: xechart.hxx:530
const sal_uInt16 EXC_CHLABELRANGE_BETWEEN
Definition: xlchart.hxx:435
sal_uInt32 mnLineColorId
Contents of the CHMARKERFORMAT record.
Definition: xechart.hxx:567
XclExpChTickRef mxTick
Value scaling (CHVALUERANGE record).
Definition: xechart.hxx:1049
rtl::Reference< XclExpChFramePos > XclExpChFramePosRef
Definition: xechart.hxx:220
XclExpChSerTrendLineRef mxTrendLine
CHDATAFORMAT groups for data point formats.
Definition: xechart.hxx:754
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:325
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:425
void SvStream & rStrm
XclExpChAxisRef mxYAxis
The X axis (CHAXIS group).
Definition: xechart.hxx:1107
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:493
const sal_uInt16 EXC_CHMARKERFORMAT_NOLINE
Definition: xlchart.hxx:289
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:157
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:357
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xechart.hxx:1037
const sal_uInt16 EXC_CHAREAFORMAT_AUTO
Definition: xlchart.hxx:295
XclExpChFont(sal_uInt16 nFontIdx)
Definition: xechart.cxx:1082
sal_uInt16 mnGroupIdx
Additional flags.
Definition: xlchart.hxx:991
bool Is3dWallChart() const
Returns true, if chart type supports wall and floor format.
Definition: xechart.hxx:901
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:1106
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:141
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:747
XclExpChFrameRef mxFrame
Linked data (CHSOURCELINK with CHSTRING record).
Definition: xechart.hxx:528
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:1155
XclExpChLineFormatRef mxMajorGrid
Axis line format (CHLINEFORMAT record).
Definition: xechart.hxx:1052
XclExpChAreaFormatRef mxAreaFmt
Line format (CHLINEFORMAT record).
Definition: xechart.hxx:348
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:803
bool ConvertStockSeries(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries, std::u16string_view rValueRole, sal_uInt16 nGroupIdx, sal_uInt16 nFormatIdx, bool bCloseSymbol)
Converts the passed data series for stock charts.
Definition: xechart.cxx:1955
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:1079
XclExpChTextRef mxZAxisTitle
The Y axis title (CHTEXT group).
Definition: xechart.hxx:1111
XclExpCh3dDataFormatRef mx3dDataFmt
Series properties (CHSERIESFORMAT record).
Definition: xechart.hxx:645