LibreOffice Module sc (master) 1
xichart.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
23#include <set>
24#include <map>
25#include <memory>
26#include <vector>
27
28#include <types.hxx>
29#include "xlchart.hxx"
30#include "xlstyle.hxx"
31#include "xiescher.hxx"
32#include "xistring.hxx"
33
34namespace com::sun::star {
35 namespace awt
36 {
37 struct Rectangle;
38 }
39 namespace frame
40 {
41 class XModel;
42 }
43 namespace drawing
44 {
45 class XShape;
46 }
47 namespace chart2
48 {
49 struct ScaleData;
50 class XChartDocument;
51 class XDiagram;
52 class XCoordinateSystem;
53 class XChartType;
54 class XDataSeries;
55 class XRegressionCurve;
56 class XAxis;
57 class XLegend;
58 class XTitle;
59 class XFormattedString;
60 namespace data
61 {
62 class XDataProvider;
63 class XDataSequence;
64 class XLabeledDataSequence;
65 }
66 }
67}
68
69struct XclObjLineData;
70struct XclObjFillData;
71
72// Common =====================================================================
73
74struct XclImpChRootData;
75class XclImpChChart;
76class ScTokenArray;
77
80{
81public:
82 explicit XclImpChRoot( const XclImpRoot& rRoot, XclImpChChart& rChartData );
83 virtual ~XclImpChRoot() override;
84
85 XclImpChRoot(XclImpChRoot const &) = default;
87 XclImpChRoot & operator =(XclImpChRoot const &) = delete; // due to XclImpRoot
88 XclImpChRoot & operator =(XclImpChRoot &&) = delete; // due to XclImpRoot
89
91 const XclImpChRoot& GetChRoot() const { return *this; }
95 const XclChTypeInfo& GetChartTypeInfo( XclChTypeId eType ) const;
97 const XclChTypeInfo& GetChartTypeInfo( sal_uInt16 nRecId ) const;
99 const XclChFormatInfo& GetFormatInfo( XclChObjectType eObjType ) const;
100
102 Color GetFontAutoColor() const;
104 Color GetSeriesLineAutoColor( sal_uInt16 nFormatIdx ) const;
106 Color GetSeriesFillAutoColor( sal_uInt16 nFormatIdx ) const;
107
109 void InitConversion(
110 const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc,
111 const tools::Rectangle& rChartRect ) const;
112
114 void FinishConversion( XclImpDffConverter& rDffConv ) const;
115
117 css::uno::Reference< css::chart2::data::XDataProvider >
118 GetDataProvider() const;
120 css::uno::Reference< css::drawing::XShape >
121 GetTitleShape( const XclChTextKey& rTitleKey ) const;
122
124 sal_Int32 CalcHmmFromChartX( sal_Int32 nPosX ) const;
126 sal_Int32 CalcHmmFromChartY( sal_Int32 nPosY ) const;
128 css::awt::Rectangle CalcHmmFromChartRect( const XclChRectangle& rRect ) const;
129
131 double CalcRelativeFromHmmX( sal_Int32 nPosX ) const;
133 double CalcRelativeFromHmmY( sal_Int32 nPosY ) const;
134
136 double CalcRelativeFromChartX( sal_Int32 nPosX ) const;
138 double CalcRelativeFromChartY( sal_Int32 nPosY ) const;
139
142 ScfPropertySet& rPropSet,
143 const XclChLineFormat& rLineFmt,
144 XclChPropertyMode ePropMode ) const;
147 ScfPropertySet& rPropSet,
148 const XclChAreaFormat& rAreaFmt,
149 XclChPropertyMode ePropMode ) const;
152 ScfPropertySet& rPropSet,
153 const XclChEscherFormat& rEscherFmt,
154 const XclChPicFormat* pPicFmt,
155 sal_uInt32 nDffFillType,
156 XclChPropertyMode ePropMode ) const;
158 void ConvertFont(
159 ScfPropertySet& rPropSet,
160 sal_uInt16 nFontIdx,
161 const Color* pFontColor = nullptr ) const;
162
164 static void ConvertPieRotation(
165 ScfPropertySet& rPropSet,
166 sal_uInt16 nAngle );
167
168private:
169 typedef std::shared_ptr< XclImpChRootData > XclImpChRootDataRef;
171};
172
179{
180public:
181 XclImpChGroupBase() = default;
186
187 virtual ~XclImpChGroupBase();
188
194 void ReadRecordGroup( XclImpStream& rStrm );
195
197 static void SkipBlock( XclImpStream& rStrm );
198
200 virtual void ReadHeaderRecord( XclImpStream& rStrm ) = 0;
202 virtual void ReadSubRecord( XclImpStream& rStrm ) = 0;
203};
204
205// Frame formatting ===========================================================
206
208{
209public:
212
214 const XclChFramePos& GetFramePosData() const { return maData; }
215
216private:
218};
219
220typedef std::shared_ptr< XclImpChFramePos > XclImpChFramePosRef;
221
224{
225public:
227 explicit XclImpChLineFormat() {}
229 explicit XclImpChLineFormat( const XclChLineFormat& rLineFmt ) : maData( rLineFmt ) {}
230
231 // this class is stored both ref-counted and by value
235 : salhelper::SimpleReferenceObject(), maData(std::move(rOther.maData)) {}
237 { maData = rOther.maData; return *this; }
239 { maData = std::move(rOther.maData); return *this; }
240
242 void ReadChLineFormat( XclImpStream& rStrm );
243
247 bool HasLine() const { return IsAuto() || (maData.mnPattern != EXC_CHLINEFORMAT_NONE); }
249 sal_Int16 GetWeight() const { return (IsAuto() || !HasLine()) ? EXC_CHLINEFORMAT_SINGLE : maData.mnWeight; }
252
254 void Convert( const XclImpChRoot& rRoot,
255 ScfPropertySet& rPropSet, XclChObjectType eObjType,
256 sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN ) const;
257
258private:
260};
261
263
266{
267public:
269 explicit XclImpChAreaFormat() {}
271 explicit XclImpChAreaFormat( const XclChAreaFormat& rAreaFmt ) : maData( rAreaFmt ) {}
272
274 void ReadChAreaFormat( XclImpStream& rStrm );
275
279 bool HasArea() const { return IsAuto() || (maData.mnPattern != EXC_PATT_NONE); }
280
282 void Convert( const XclImpChRoot& rRoot,
283 ScfPropertySet& rPropSet, XclChObjectType eObjType,
284 sal_uInt16 nFormatIdx ) const;
285
286private:
288};
289
290typedef std::shared_ptr< XclImpChAreaFormat > XclImpChAreaFormatRef;
291
294{
295public:
296 explicit XclImpChEscherFormat( const XclImpRoot& rRoot );
297
299 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
301 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
302
304 void Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet,
305 XclChObjectType eObjType, bool bUsePicFmt ) const;
306
307private:
310 sal_uInt32 mnDffFillType;
311};
312
313typedef std::shared_ptr< XclImpChEscherFormat > XclImpChEscherFormatRef;
314
322{
323public:
325 explicit XclImpChFrameBase() {}
327 explicit XclImpChFrameBase( const XclChFormatInfo& rFmtInfo );
328
330 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
331
333 bool IsAutoLine() const { return !mxLineFmt || mxLineFmt->IsAuto(); }
335 bool HasLine() const { return IsAutoLine() || mxLineFmt->HasLine(); }
337 sal_Int16 GetLineWeight() const { return mxLineFmt ? mxLineFmt->GetWeight() : EXC_CHLINEFORMAT_SINGLE; }
338
340 bool IsAutoArea() const { return !mxEscherFmt && (!mxAreaFmt || mxAreaFmt->IsAuto()); }
341
342protected:
344 void ConvertLineBase( const XclImpChRoot& rRoot,
345 ScfPropertySet& rPropSet, XclChObjectType eObjType,
346 sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN ) const;
348 void ConvertAreaBase( const XclImpChRoot& rRoot,
349 ScfPropertySet& rPropSet, XclChObjectType eObjType,
350 sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt = false ) const;
352 void ConvertFrameBase( const XclImpChRoot& rRoot,
353 ScfPropertySet& rPropSet, XclChObjectType eObjType,
354 sal_uInt16 nFormatIdx = EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt = false ) const;
355
356protected:
360};
361
368{
369public:
371 explicit XclImpChFrame(
372 const XclImpChRoot& rRoot,
373 XclChObjectType eObjType );
374
376 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
377
379 void UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData );
380
382 void Convert( ScfPropertySet& rPropSet, bool bUsePicFmt = false ) const;
383
384private:
387};
388
389typedef std::shared_ptr< XclImpChFrame > XclImpChFrameRef;
390
391// Source links ===============================================================
392
394{
395public:
396 explicit XclImpChSourceLink( const XclImpChRoot& rRoot );
397 virtual ~XclImpChSourceLink() override;
398
402 void SetString( const OUString& rString );
404 void SetTextFormats( XclFormatRunVec&& rFormats );
405
410
412 bool HasString() const { return mxString && !mxString->IsEmpty(); }
414 OUString GetString() const {
415 if (mxString) return mxString->GetText();
416 return OUString();
417 }
419 sal_uInt16 GetCellCount() const;
420
422 void ConvertNumFmt( ScfPropertySet& rPropSet, bool bPercent ) const;
423
425 css::uno::Reference< css::chart2::data::XDataSequence >
426 CreateDataSequence( const OUString& rRole ) const;
428 css::uno::Sequence< css::uno::Reference< css::chart2::XFormattedString > >
430 sal_uInt16 nLeadFontIdx, const Color& rLeadFontColor ) const;
431
432 void FillSourceLink(::std::vector<ScTokenRef>& rTokens) const;
433
434private:
437 std::shared_ptr< ScTokenArray> mxTokenArray;
438};
439
440typedef std::shared_ptr< XclImpChSourceLink > XclImpChSourceLinkRef;
441
442// Text =======================================================================
443
446{
447public:
448 XclImpChFontBase() = default;
453
454 virtual ~XclImpChFontBase();
455
457 virtual sal_uInt16 GetFontIndex() const = 0;
459 virtual Color GetFontColor() const = 0;
461 virtual sal_uInt16 GetRotation() const = 0;
462
464 void ConvertFontBase( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet ) const;
466 void ConvertRotationBase( ScfPropertySet& rPropSet, bool bSupportsStacked ) const;
467};
468
471{
472public:
473 explicit XclImpChFont();
476
478 sal_uInt16 GetFontIndex() const { return mnFontIdx; }
479
480private:
481 sal_uInt16 mnFontIdx;
482};
483
484typedef std::shared_ptr< XclImpChFont > XclImpChFontRef;
485
492{
493public:
494 explicit XclImpChText( const XclImpChRoot& rRoot );
495
497 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
499 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
500
502 virtual sal_uInt16 GetFontIndex() const override;
504 virtual Color GetFontColor() const override;
506 virtual sal_uInt16 GetRotation() const override;
507
509 void SetString( const OUString& rString );
511 void UpdateText( const XclImpChText* pParentText );
513 void UpdateDataLabel( bool bCateg, bool bValue, bool bPercent );
514
516 sal_uInt16 GetLinkTarget() const { return maObjLink.mnTarget; }
520 bool HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
523
525 void ConvertFont( ScfPropertySet& rPropSet ) const;
527 void ConvertRotation( ScfPropertySet& rPropSet, bool bSupportsStacked ) const;
529 void ConvertFrame( ScfPropertySet& rPropSet ) const;
531 void ConvertNumFmt( ScfPropertySet& rPropSet, bool bPercent ) const;
533 void ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeInfo& rTypeInfo, const ScfPropertySet* pGlobalPropSet ) const;
535 css::uno::Reference< css::chart2::XTitle >
536 CreateTitle() const;
538 void ConvertTitlePosition( const XclChTextKey& rTitleKey ) const;
539
540private:
542
544 void ReadChFrLabelProps( XclImpStream& rStrm );
545
546private:
547 typedef std::shared_ptr< XclChFrLabelProps > XclChFrLabelPropsRef;
548
557};
558
559typedef std::shared_ptr< XclImpChText > XclImpChTextRef;
560
561// Data series ================================================================
562
565{
566public:
569
572
574 void Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet,
575 sal_uInt16 nFormatIdx, sal_Int16 nLineWeight ) const;
577 void ConvertColor( const XclImpChRoot& rRoot,
578 ScfPropertySet& rPropSet, sal_uInt16 nFormatIdx ) const;
579
580private:
582};
583
584typedef std::shared_ptr< XclImpChMarkerFormat > XclImpChMarkerFormatRef;
585
588{
589public:
590 explicit XclImpChPieFormat();
594 void Convert( ScfPropertySet& rPropSet ) const;
595
596private:
597 sal_uInt16 mnPieDist;
598};
599
600typedef std::shared_ptr< XclImpChPieFormat > XclImpChPieFormatRef;
601
604{
605public:
606 explicit XclImpChSeriesFormat();
611
612private:
613 sal_uInt16 mnFlags;
614};
615
616typedef std::shared_ptr< XclImpChSeriesFormat > XclImpChSeriesFormatRef;
617
620{
621public:
625 void Convert( ScfPropertySet& rPropSet ) const;
626
627private:
629};
630
631typedef std::shared_ptr< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef;
632
635{
636public:
637 explicit XclImpChAttachedLabel( const XclImpChRoot& rRoot );
641 XclImpChTextRef CreateDataLabel( const XclImpChText* pParent ) const;
642
643private:
644 sal_uInt16 mnFlags;
645};
646
647typedef std::shared_ptr< XclImpChAttachedLabel > XclImpChAttLabelRef;
648
656{
657public:
658 explicit XclImpChDataFormat( const XclImpChRoot& rRoot );
659
661 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
663 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
664
666 void SetPointPos( const XclChDataPointPos& rPointPos, sal_uInt16 nFormatIdx );
668 void SetDataLabel( XclImpChTextRef xLabel ) { mxLabel = xLabel; }
669
671 void UpdateGroupFormat( const XclChExtTypeInfo& rTypeInfo );
673 void UpdateSeriesFormat( const XclChExtTypeInfo& rTypeInfo, const XclImpChDataFormat* pGroupFmt );
675 void UpdatePointFormat( const XclChExtTypeInfo& rTypeInfo, const XclImpChDataFormat* pSeriesFmt );
678
682 sal_uInt16 GetFormatIdx() const { return maData.mnFormatIdx; }
684 bool IsAutoMarker() const { return !mxMarkerFmt || mxMarkerFmt->IsAuto(); }
686 bool HasSpline() const { return mxSeriesFmt && mxSeriesFmt->HasSpline(); }
688 const XclImpChText* GetDataLabel() const { return mxLabel.get(); }
689
691 void Convert( ScfPropertySet& rPropSet, const XclChExtTypeInfo& rTypeInfo, const ScfPropertySet* pGlobalPropSet = nullptr ) const;
693 void ConvertLine( ScfPropertySet& rPropSet, XclChObjectType eObjType ) const;
695 void ConvertArea( ScfPropertySet& rPropSet, sal_uInt16 nFormatIdx ) const;
696
697private:
699 void RemoveUnusedFormats( const XclChExtTypeInfo& rTypeInfo );
701 void UpdateDataLabel( const XclImpChDataFormat* pParentFmt );
702
703private:
711};
712
713typedef std::shared_ptr< XclImpChDataFormat > XclImpChDataFormatRef;
714
717{
718public:
719 explicit XclImpChSerTrendLine( const XclImpChRoot& rRoot );
720
724 void SetDataFormat( XclImpChDataFormatRef xDataFmt ) { mxDataFmt = xDataFmt; }
725
726 void SetTrendlineName( const OUString& aTrendlineName) { maTrendLineName = aTrendlineName; }
727
729 css::uno::Reference< css::chart2::XRegressionCurve >
730 CreateRegressionCurve() const;
731
732private:
736};
737
738typedef std::shared_ptr< XclImpChSerTrendLine > XclImpChSerTrendLineRef;
739
742{
743public:
744 explicit XclImpChSerErrorBar( const XclImpChRoot& rRoot );
745
749 void SetSeriesData(
750 XclImpChSourceLinkRef const & xValueLink,
751 XclImpChDataFormatRef const & xDataFmt );
752
756 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
757 CreateValueSequence() const;
758
760 static css::uno::Reference< css::beans::XPropertySet >
762 const XclImpChSerErrorBar* pPosBar,
763 const XclImpChSerErrorBar* pNegBar );
764
765private:
769};
770
771
779{
780public:
781 explicit XclImpChSeries( const XclImpChRoot& rRoot, sal_uInt16 nSeriesIdx );
782
784 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
786 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
787
789 void SetDataFormat( const XclImpChDataFormatRef& xDataFmt );
791 void SetDataLabel( const XclImpChTextRef& xLabel );
793 void AddChildSeries( const XclImpChSeries& rSeries );
795 void FinalizeDataFormats();
796
798 sal_uInt16 GetGroupIdx() const { return mnGroupIdx; }
800 sal_uInt16 GetParentIdx() const { return mnParentIdx; }
804 bool HasChildSeries() const { return !maTrendLines.empty() || !m_ErrorBars.empty(); }
806 OUString GetTitle() const { return mxTitleLink ? mxTitleLink->GetString() : OUString(); }
807
809 bool HasSpline() const { return mxSeriesFmt && mxSeriesFmt->HasSpline(); }
810
812 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
813 CreateValueSequence( const OUString& rValueRole ) const;
815 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
816 CreateCategSequence( const OUString& rCategRole ) const;
818 css::uno::Reference< css::chart2::XDataSeries >
819 CreateDataSeries() const;
820
821 void FillAllSourceLinks(::std::vector<ScTokenRef>& rTokens) const;
822
823private:
825 void ReadChSourceLink( XclImpStream& rStrm );
827 void ReadChDataFormat( XclImpStream& rStrm );
829 void ReadChSerParent( XclImpStream& rStrm );
831 void ReadChSerTrendLine( XclImpStream& rStrm );
833 void ReadChSerErrorBar( XclImpStream& rStrm );
834
835 void ReadChLegendException( XclImpStream& rStrm );
837 XclImpChDataFormatRef CreateDataFormat( sal_uInt16 nPointIdx, sal_uInt16 nFormatIdx );
838
840 void ConvertTrendLines( css::uno::Reference< css::chart2::XDataSeries > const & xDataSeries ) const;
842 css::uno::Reference< css::beans::XPropertySet >
843 CreateErrorBar( sal_uInt8 nPosBarId, sal_uInt8 nNegBarId ) const;
844
845private:
846 typedef ::std::map<sal_uInt16, XclImpChDataFormatRef> XclImpChDataFormatMap;
847 typedef ::std::map<sal_uInt16, XclImpChTextRef> XclImpChTextMap;
848 typedef ::std::map<sal_uInt8, std::unique_ptr<XclImpChSerErrorBar>> XclImpChSerErrorBarMap;
849
858 std::vector< XclImpChSerTrendLineRef > maTrendLines;
860 sal_uInt16 mnGroupIdx;
861 sal_uInt16 mnSeriesIdx;
862 sal_uInt16 mnParentIdx;
864};
865
866typedef std::shared_ptr< XclImpChSeries > XclImpChSeriesRef;
867
868// Chart type groups ==========================================================
869
870class XclImpChType : protected XclImpChRoot
871{
872public:
873 explicit XclImpChType( const XclImpChRoot& rRoot );
874
878 void Finalize( bool bStockChart );
879
881 sal_uInt16 GetRecId() const { return mnRecId; }
883 const XclChTypeInfo& GetTypeInfo() const { return maTypeInfo; }
885 bool IsStacked() const;
887 bool IsPercent() const;
889 bool HasCategoryLabels() const;
890
892 css::uno::Reference< css::chart2::XCoordinateSystem >
893 CreateCoordSystem( bool b3dChart ) const;
895 css::uno::Reference< css::chart2::XChartType >
896 CreateChartType( css::uno::Reference< css::chart2::XDiagram > const & xDiagram, bool b3dChart ) const;
897
898private:
900 sal_uInt16 mnRecId;
902};
903
906{
907public:
913 void Convert( ScfPropertySet& rPropSet, bool b3dWallChart ) const;
914
915private:
917};
918
919typedef std::shared_ptr< XclImpChChart3d > XclImpChChart3dRef;
920
927{
928public:
929 explicit XclImpChLegend( const XclImpChRoot& rRoot );
930
932 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
934 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
936 void Finalize();
937
939 css::uno::Reference< css::chart2::XLegend >
940 CreateLegend() const;
941
942private:
947};
948
949typedef std::shared_ptr< XclImpChLegend > XclImpChLegendRef;
950
957{
958public:
959 explicit XclImpChDropBar( sal_uInt16 nDropBar );
960
962 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
963
965 void Convert( const XclImpChRoot& rRoot, ScfPropertySet& rPropSet ) const;
966
967private:
968 sal_uInt16 mnDropBar;
969 sal_uInt16 mnBarDist;
970};
971
972
982{
983public:
984 explicit XclImpChTypeGroup( const XclImpChRoot& rRoot );
985
987 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
989 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
991 void Finalize();
992
994 void AddSeries( XclImpChSeriesRef const & xSeries );
996 void SetUsedFormatIndex( sal_uInt16 nFormatIdx );
998 sal_uInt16 PopUnusedFormatIndex();
999
1001 sal_uInt16 GetGroupIdx() const { return maData.mnGroupIdx; }
1003 const XclChExtTypeInfo& GetTypeInfo() const { return maTypeInfo; }
1005 bool IsValidGroup() const { return !maSeries.empty(); }
1007 bool IsPercent() const { return maType.IsPercent(); }
1009 bool Is3dChart() const { return mxChart3d && maTypeInfo.mbSupports3d; }
1013 bool Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
1015 bool HasCategoryLabels() const { return maType.HasCategoryLabels(); }
1017 bool HasVarPointFormat() const;
1019 bool HasConnectorLines() const;
1020
1022 const XclImpChLegendRef& GetLegend() const { return mxLegend; }
1026 OUString GetSingleSeriesTitle() const;
1027
1029 void ConvertChart3d( ScfPropertySet& rPropSet ) const;
1031 css::uno::Reference< css::chart2::XCoordinateSystem >
1032 CreateCoordSystem() const;
1034 css::uno::Reference< css::chart2::XChartType >
1035 CreateChartType( css::uno::Reference< css::chart2::XDiagram > const & xDiagram, sal_Int32 nApiAxesSetIdx ) const;
1037 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
1038 CreateCategSequence() const;
1039
1040private:
1042 void ReadChDropBar( XclImpStream& rStrm );
1044 void ReadChChartLine( XclImpStream& rStrm );
1046 void ReadChDataFormat( XclImpStream& rStrm );
1047
1049 bool HasDropBars() const { return !m_DropBars.empty(); }
1050
1052 void InsertDataSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
1053 css::uno::Reference< css::chart2::XDataSeries > const & xSeries,
1054 sal_Int32 nApiAxesSetIdx ) const;
1056 void CreateDataSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
1057 sal_Int32 nApiAxesSetIdx ) const;
1059 void CreateStockSeries( css::uno::Reference< css::chart2::XChartType > const & xChartType,
1060 sal_Int32 nApiAxesSetIdx ) const;
1061
1062private:
1063 typedef ::std::vector< XclImpChSeriesRef > XclImpChSeriesVec;
1064 typedef ::std::map<sal_uInt16, std::unique_ptr<XclImpChDropBar>> XclImpChDropBarMap;
1065 typedef ::std::map<sal_uInt16, XclImpChLineFormat> XclImpChLineFormatMap;
1066
1077 std::set< sal_uInt16 >
1079};
1080
1081typedef std::shared_ptr< XclImpChTypeGroup > XclImpChTypeGroupRef;
1082
1083// Axes =======================================================================
1084
1086{
1087public:
1088 explicit XclImpChLabelRange( const XclImpChRoot& rRoot );
1094 void Convert( ScfPropertySet& rPropSet, css::chart2::ScaleData& rScaleData, bool bMirrorOrient ) const;
1096 void ConvertAxisPosition( ScfPropertySet& rPropSet, bool b3dChart ) const;
1097
1098private:
1101};
1102
1103typedef std::shared_ptr< XclImpChLabelRange > XclImpChLabelRangeRef;
1104
1106{
1107public:
1108 explicit XclImpChValueRange( const XclImpChRoot& rRoot );
1112 void Convert( css::chart2::ScaleData& rScaleData, bool bMirrorOrient ) const;
1114 void ConvertAxisPosition( ScfPropertySet& rPropSet ) const;
1115
1116private:
1118};
1119
1120typedef std::shared_ptr< XclImpChValueRange > XclImpChValueRangeRef;
1121
1123{
1124public:
1125 explicit XclImpChTick( const XclImpChRoot& rRoot );
1127 void ReadChTick( XclImpStream& rStrm );
1128
1130 bool HasLabels() const { return maData.mnLabelPos != EXC_CHTICK_NOLABEL; }
1132 Color GetFontColor() const;
1134 sal_uInt16 GetRotation() const;
1135
1137 void Convert( ScfPropertySet& rPropSet ) const;
1138
1139private:
1141};
1142
1143typedef std::shared_ptr< XclImpChTick > XclImpChTickRef;
1144
1152{
1153public:
1154 explicit XclImpChAxis( const XclImpChRoot& rRoot, sal_uInt16 nAxisType = EXC_CHAXIS_NONE );
1155
1157 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
1159 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
1161 void Finalize();
1162
1164 virtual sal_uInt16 GetFontIndex() const override;
1166 virtual Color GetFontColor() const override;
1168 virtual sal_uInt16 GetRotation() const override;
1169
1171 sal_uInt16 GetAxisType() const { return maData.mnType; }
1173 sal_Int32 GetApiAxisDimension() const { return maData.GetApiAxisDimension(); }
1174
1176 css::uno::Reference< css::chart2::XAxis >
1177 CreateAxis( const XclImpChTypeGroup& rTypeGroup, const XclImpChAxis* pCrossingAxis ) const;
1179 void ConvertWall( ScfPropertySet& rPropSet ) const;
1181 void ConvertAxisPosition( ScfPropertySet& rPropSet, const XclImpChTypeGroup& rTypeGroup ) const;
1182
1183private:
1185 void ReadChAxisLine( XclImpStream& rStrm );
1187 void CreateWallFrame();
1188
1189private:
1199 sal_uInt16 mnNumFmtIdx;
1200};
1201
1202typedef std::shared_ptr< XclImpChAxis > XclImpChAxisRef;
1203
1211{
1212public:
1213 explicit XclImpChAxesSet( const XclImpChRoot& rRoot, sal_uInt16 nAxesSetId );
1214
1216 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
1218 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
1220 void Finalize();
1221
1223 bool IsValidAxesSet() const { return !maTypeGroups.empty(); }
1225 sal_uInt16 GetAxesSetId() const { return maData.mnAxesSetId; }
1227 sal_Int32 GetApiAxesSetIndex() const { return maData.GetApiAxesSetIndex(); }
1228
1232 XclImpChTypeGroupRef GetTypeGroup( sal_uInt16 nGroupIdx ) const;
1238 OUString GetSingleSeriesTitle() const;
1239
1241 void Convert( css::uno::Reference< css::chart2::XDiagram > const & xDiagram ) const;
1243 void ConvertTitlePositions() const;
1244
1245private:
1247 void ReadChAxis( XclImpStream& rStrm );
1249 void ReadChText( XclImpStream& rStrm );
1251 void ReadChPlotFrame( XclImpStream& rStrm );
1253 void ReadChTypeGroup( XclImpStream& rStrm );
1254
1256 css::uno::Reference< css::chart2::XCoordinateSystem >
1257 CreateCoordSystem( css::uno::Reference< css::chart2::XDiagram > const & xDiagram ) const;
1259 void ConvertAxis( XclImpChAxisRef const & xChAxis, XclImpChTextRef const & xChAxisTitle,
1260 css::uno::Reference< css::chart2::XCoordinateSystem > const & xCoordSystem,
1261 const XclImpChAxis* pCrossingAxis ) const;
1263 css::uno::Reference< css::chart2::XAxis >
1264 CreateAxis( const XclImpChAxis& rChAxis, const XclImpChAxis* pCrossingAxis ) const;
1266 void ConvertBackground( css::uno::Reference< css::chart2::XDiagram > const & xDiagram ) const;
1267
1268private:
1269 typedef ::std::map<sal_uInt16, XclImpChTypeGroupRef> XclImpChTypeGroupMap;
1270
1281};
1282
1283typedef std::shared_ptr< XclImpChAxesSet > XclImpChAxesSetRef;
1284
1285// The chart object ===========================================================
1286
1294{
1295public:
1296 explicit XclImpChChart( const XclImpRoot& rRoot );
1297 virtual ~XclImpChChart() override;
1298
1300 virtual void ReadHeaderRecord( XclImpStream& rStrm ) override;
1302 virtual void ReadSubRecord( XclImpStream& rStrm ) override;
1307
1309 void UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData );
1310
1312 XclImpChTypeGroupRef GetTypeGroup( sal_uInt16 nGroupIdx ) const;
1314 const XclImpChText* GetDefaultText( XclChTextType eTextType ) const;
1316 bool IsManualPlotArea() const;
1318 static std::size_t GetProgressSize() { return 2 * EXC_CHART_PROGRESS_SIZE; }
1319
1321 void Convert(
1322 const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc,
1323 XclImpDffConverter& rDffConv,
1324 const OUString& rObjName,
1325 const tools::Rectangle& rChartRect ) const;
1326
1327private:
1329 void ReadChSeries( XclImpStream& rStrm );
1331 void ReadChProperties( XclImpStream& rStrm );
1333 void ReadChAxesSet( XclImpStream& rStrm );
1335 void ReadChText( XclImpStream& rStrm );
1336
1338 void Finalize();
1340 void FinalizeSeries();
1342 void FinalizeDataFormats();
1344 void FinalizeTitle();
1345
1347 css::uno::Reference<css::chart2::XDiagram>
1348 CreateDiagram() const;
1349
1350private:
1351 typedef ::std::vector< XclImpChSeriesRef > XclImpChSeriesVec;
1352 typedef ::std::map<XclChDataPointPos, XclImpChDataFormatRef> XclImpChDataFormatMap;
1353 typedef ::std::map<sal_uInt16, std::unique_ptr<XclImpChText>> XclImpChTextMap;
1354
1365};
1366
1367typedef std::shared_ptr< XclImpChChart > XclImpChChartRef;
1368
1371{
1372public:
1373 explicit XclImpChartDrawing( const XclImpRoot& rRoot, bool bOwnTab );
1374
1376 void ConvertObjects(
1377 XclImpDffConverter& rDffConv,
1378 const css::uno::Reference< css::frame::XModel >& rxModel,
1379 const tools::Rectangle& rChartRect );
1380
1382 virtual tools::Rectangle CalcAnchorRect( const XclObjAnchor& rAnchor, bool bDffAnchor ) const override;
1384 virtual void OnObjectInserted( const XclImpDrawObjBase& rDrawObj ) override;
1385
1386private:
1390};
1391
1393class XclImpChart : protected XclImpRoot
1394{
1395public:
1398 explicit XclImpChart( const XclImpRoot& rRoot, bool bOwnTab );
1399 virtual ~XclImpChart() override;
1400
1405 void UpdateObjFrame( const XclObjLineData& rLineData, const XclObjFillData& rFillData );
1406
1408 std::size_t GetProgressSize() const;
1410 bool IsPivotChart() const { return mbIsPivotChart; }
1411
1413 void Convert( css::uno::Reference< css::frame::XModel > const & xModel,
1414 XclImpDffConverter& rDffConv,
1415 const OUString& rObjName,
1416 const tools::Rectangle& rChartRect ) const;
1417
1418private:
1422 void ReadChChart( XclImpStream& rStrm );
1423
1424private:
1425 typedef std::shared_ptr< XclImpChartDrawing > XclImpChartDrawingRef;
1426
1431};
1432
1433/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
A wrapper for a UNO property set.
Definition: fapihelper.hxx:104
The CH3DDATAFORMAT record containing the bar type in 3D bar charts.
Definition: xichart.hxx:620
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1360
void ReadCh3dDataFormat(XclImpStream &rStrm)
Reads the CH3DDATAFORMAT record (3D bar properties).
Definition: xichart.cxx:1354
XclCh3dDataFormat maData
Definition: xichart.hxx:628
The CHAREAFORMAT record containing simple area formatting data (solid or patterns).
Definition: xichart.hxx:266
XclChAreaFormat maData
Definition: xichart.hxx:287
void ReadChAreaFormat(XclImpStream &rStrm)
Reads the CHAREAFORMAT record (basic fill properties, e.g.
Definition: xichart.cxx:486
bool IsAuto() const
Returns true, if the area format is set to automatic.
Definition: xichart.hxx:277
XclImpChAreaFormat()
Creates a new area format object with automatic formatting.
Definition: xichart.hxx:269
XclImpChAreaFormat(const XclChAreaFormat &rAreaFmt)
Creates a new area format object with the passed formatting.
Definition: xichart.hxx:271
bool HasArea() const
Returns true, if the area style is set to something visible.
Definition: xichart.hxx:279
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:502
The CHATTACHEDLABEL record that contains the type of a data point label.
Definition: xichart.hxx:635
sal_uInt16 mnFlags
Definition: xichart.hxx:644
void ReadChAttachedLabel(XclImpStream &rStrm)
Reads the CHATTACHEDLABEL record (data series/point labels).
Definition: xichart.cxx:1375
XclImpChAttachedLabel(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1369
XclImpChTextRef CreateDataLabel(const XclImpChText *pParent) const
Creates a CHTEXT group for the label.
Definition: xichart.cxx:1380
Represents the CHAXESSET record group describing an axes set (X/Y/Z axes).
Definition: xichart.hxx:1211
void ConvertBackground(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Writes all properties of the background area to the passed diagram.
Definition: xichart.cxx:3837
XclImpChTextRef mxXAxisTitle
The Z axis (CHAXIS group).
Definition: xichart.hxx:1276
::std::map< sal_uInt16, XclImpChTypeGroupRef > XclImpChTypeGroupMap
Definition: xichart.hxx:1269
XclChAxesSet maData
Definition: xichart.hxx:1271
void Convert(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Creates a coordinate system and converts all series and axis settings.
Definition: xichart.cxx:3647
XclImpChAxesSet(const XclImpChRoot &rRoot, sal_uInt16 nAxesSetId)
Definition: xichart.cxx:3536
const XclImpChFramePosRef & GetPlotAreaFramePos() const
Returns the outer plot area position, if existing.
Definition: xichart.hxx:1230
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xichart.hxx:1227
OUString GetSingleSeriesTitle() const
Returns series title, if the axes set contains only one single series.
Definition: xichart.cxx:3642
void ConvertTitlePositions() const
Converts the manual positions of all axis titles.
Definition: xichart.cxx:3680
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Creates a coordinate system that contains all chart types for this axes set.
Definition: xichart.cxx:3739
bool IsValidAxesSet() const
Returns true, if this axes set exists (returns false if this is a dummy object).
Definition: xichart.hxx:1223
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:3571
XclImpChTextRef mxYAxisTitle
The X axis title (CHTEXT group).
Definition: xichart.hxx:1277
XclImpChAxisRef mxXAxis
Outer plot area position (CHFRAMEPOS record).
Definition: xichart.hxx:1273
XclImpChAxisRef mxZAxis
The Y axis (CHAXIS group).
Definition: xichart.hxx:1275
XclImpChAxisRef mxYAxis
The X axis (CHAXIS group).
Definition: xichart.hxx:1274
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHAXESSET group (called by base class).
Definition: xichart.cxx:3548
void ReadChPlotFrame(XclImpStream &rStrm)
Reads the CHPLOTFRAME record group containing diagram area formatting.
Definition: xichart.cxx:3716
void ReadChAxis(XclImpStream &rStrm)
Reads a CHAXIS record group containing a single axis.
Definition: xichart.cxx:3690
void ReadChText(XclImpStream &rStrm)
Reads a CHTEXT record group containing an axis title.
Definition: xichart.cxx:3703
XclImpChLegendRef GetLegend() const
Looks for a legend in all chart type groups and returns it.
Definition: xichart.cxx:3630
css::uno::Reference< css::chart2::XAxis > CreateAxis(const XclImpChAxis &rChAxis, const XclImpChAxis *pCrossingAxis) const
Creates and returns an API axis object.
Definition: xichart.cxx:3829
void ConvertAxis(XclImpChAxisRef const &xChAxis, XclImpChTextRef const &xChAxisTitle, css::uno::Reference< css::chart2::XCoordinateSystem > const &xCoordSystem, const XclImpChAxis *pCrossingAxis) const
Creates and inserts an axis into the container and registers the coordinate system.
Definition: xichart.cxx:3792
sal_uInt16 GetAxesSetId() const
Returns the index of the axes set (primary/secondary).
Definition: xichart.hxx:1225
XclImpChTextRef mxZAxisTitle
The Y axis title (CHTEXT group).
Definition: xichart.hxx:1278
XclImpChFrameRef mxPlotFrame
The Z axis title (CHTEXT group).
Definition: xichart.hxx:1279
XclImpChFramePosRef mxFramePos
Contents of the CHAXESSET record.
Definition: xichart.hxx:1272
XclImpChTypeGroupRef GetTypeGroup(sal_uInt16 nGroupIdx) const
Returns the specified chart type group.
Definition: xichart.cxx:3616
XclImpChTypeGroupMap maTypeGroups
Plot area (CHPLOTFRAME group).
Definition: xichart.hxx:1280
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHAXESSET record (called by base class).
Definition: xichart.cxx:3542
void ReadChTypeGroup(XclImpStream &rStrm)
Reads a CHTYPEGROUP record group containing chart type and chart settings.
Definition: xichart.cxx:3725
XclImpChTypeGroupRef GetFirstTypeGroup() const
Returns the first chart type group.
Definition: xichart.cxx:3622
Represents the CHAXIS record group describing an entire chart axis.
Definition: xichart.hxx:1152
virtual sal_uInt16 GetFontIndex() const override
Returns the font index for the axis labels.
Definition: xichart.cxx:3318
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xichart.hxx:1173
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHAXIS record (called by base class).
Definition: xichart.cxx:3251
XclImpChFrameRef mxWallFrame
Minor grid line format (CHLINEFORMAT record).
Definition: xichart.hxx:1198
XclImpChValueRangeRef mxValueRange
Category scaling (CHLABELRANGE record).
Definition: xichart.hxx:1192
virtual Color GetFontColor() const override
Returns the font color for the axis labels.
Definition: xichart.cxx:3323
XclImpChFontRef mxFont
Axis ticks (CHTICK record).
Definition: xichart.hxx:1194
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:3290
void ConvertAxisPosition(ScfPropertySet &rPropSet, const XclImpChTypeGroup &rTypeGroup) const
Converts position settings of this axis at a crossing axis.
Definition: xichart.cxx:3466
XclImpChLineFormatRef mxMinorGrid
Major grid line format (CHLINEFORMAT record).
Definition: xichart.hxx:1197
void ConvertWall(ScfPropertySet &rPropSet) const
Converts and writes 3D wall/floor properties to the passed property set.
Definition: xichart.cxx:3459
sal_uInt16 mnNumFmtIdx
Wall/floor format (sub records of CHFRAME group).
Definition: xichart.hxx:1199
css::uno::Reference< css::chart2::XAxis > CreateAxis(const XclImpChTypeGroup &rTypeGroup, const XclImpChAxis *pCrossingAxis) const
Creates an API axis object.
Definition: xichart.cxx:3333
virtual sal_uInt16 GetRotation() const override
Returns the rotation value for axis labels.
Definition: xichart.cxx:3328
XclChAxis maData
Definition: xichart.hxx:1190
XclImpChAxis(const XclImpChRoot &rRoot, sal_uInt16 nAxisType=EXC_CHAXIS_NONE)
Definition: xichart.cxx:3244
void ReadChAxisLine(XclImpStream &rStrm)
Reads a CHAXISLINE record specifying the target for following line properties.
Definition: xichart.cxx:3484
XclImpChLabelRangeRef mxLabelRange
Contents of the CHAXIS record.
Definition: xichart.hxx:1191
XclImpChLineFormatRef mxMajorGrid
Axis line format (CHLINEFORMAT record).
Definition: xichart.hxx:1196
sal_uInt16 GetAxisType() const
Returns the type of this axis.
Definition: xichart.hxx:1171
XclImpChTickRef mxTick
Value scaling (CHVALUERANGE record).
Definition: xichart.hxx:1193
void CreateWallFrame()
Creates a CHFRAME object and stores it into the mxWallFrame member.
Definition: xichart.cxx:3521
XclImpChLineFormatRef mxAxisLine
Index into font buffer (CHFONT record).
Definition: xichart.hxx:1195
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHAXIS group (called by base class).
Definition: xichart.cxx:3256
Represents the CHCHART3D record that contains 3D view settings.
Definition: xichart.hxx:906
void ReadChChart3d(XclImpStream &rStrm)
Reads the CHCHART3D record (properties for 3D charts).
Definition: xichart.cxx:2433
bool IsClustered() const
Returns true, if the data points are clustered on the X axis.
Definition: xichart.hxx:911
void Convert(ScfPropertySet &rPropSet, bool b3dWallChart) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:2444
XclChChart3d maData
Definition: xichart.hxx:916
Represents the CHCHART record group describing the chart contents.
Definition: xichart.hxx:1294
XclImpChFrameRef mxFrame
All series and point formats (CHDATAFORMAT groups).
Definition: xichart.hxx:1358
XclImpChLegendRef mxLegend
Chart title (CHTEXT group).
Definition: xichart.hxx:1364
XclImpChSeriesVec maSeries
Position of the chart on the sheet (CHCHART record).
Definition: xichart.hxx:1356
XclImpChAxesSetRef mxPrimAxesSet
Default text objects (CHDEFAULTTEXT groups).
Definition: xichart.hxx:1361
XclImpChChart(const XclImpRoot &rRoot)
Definition: xichart.cxx:3864
XclImpChTextRef mxTitle
Secondary axes set (CHAXESSET group).
Definition: xichart.hxx:1363
void FinalizeDataFormats()
Assigns all imported CHDATAFORMAT groups to the respective series.
Definition: xichart.cxx:4165
static std::size_t GetProgressSize()
Returns the number of units on the progress bar needed for the chart.
Definition: xichart.hxx:1318
const XclImpChText * GetDefaultText(XclChTextType eTextType) const
Returns the specified default text.
Definition: xichart.cxx:3954
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHCHART record (called by base class).
Definition: xichart.cxx:3875
XclImpChTextMap m_DefTexts
Chart properties (CHPROPERTIES record).
Definition: xichart.hxx:1360
void Finalize()
Final processing after reading the entire chart data.
Definition: xichart.cxx:4123
bool IsManualPlotArea() const
Returns true, if the plot area has benn moved and/or resized manually.
Definition: xichart.cxx:3971
::std::vector< XclImpChSeriesRef > XclImpChSeriesVec
Definition: xichart.hxx:1351
::std::map< XclChDataPointPos, XclImpChDataFormatRef > XclImpChDataFormatMap
Definition: xichart.hxx:1352
void ReadChSeries(XclImpStream &rStrm)
Reads a CHSERIES group (data series source and formatting).
Definition: xichart.cxx:4079
XclImpChDataFormatMap maDataFmts
List of series data (CHSERIES groups).
Definition: xichart.hxx:1357
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
Definition: xichart.cxx:3939
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT group describing a series format or a data point format.
Definition: xichart.cxx:3921
virtual ~XclImpChChart() override
Definition: xichart.cxx:3871
void FinalizeSeries()
Finalizes series list, assigns child series to parent series.
Definition: xichart.cxx:4145
void ReadChAxesSet(XclImpStream &rStrm)
Reads a CHAXESSET group (primary/secondary axes set).
Definition: xichart.cxx:4093
XclImpChAxesSetRef mxSecnAxesSet
Primary axes set (CHAXESSET group).
Definition: xichart.hxx:1362
css::uno::Reference< css::chart2::XDiagram > CreateDiagram() const
Creates and returns a new diagram object and converts global chart settings.
Definition: xichart.cxx:4211
XclChProperties maProps
Chart frame format (CHFRAME group).
Definition: xichart.hxx:1359
void Convert(const css::uno::Reference< css::chart2::XChartDocument > &xChartDoc, XclImpDffConverter &rDffConv, const OUString &rObjName, const tools::Rectangle &rChartRect) const
Converts and writes all properties to the passed chart.
Definition: xichart.cxx:3977
::std::map< sal_uInt16, std::unique_ptr< XclImpChText > > XclImpChTextMap
Definition: xichart.hxx:1353
XclImpChTypeGroupRef GetTypeGroup(sal_uInt16 nGroupIdx) const
Returns the specified chart type group.
Definition: xichart.cxx:3946
void ReadChText(XclImpStream &rStrm)
Reads a CHTEXT group (chart title and series/point captions).
Definition: xichart.cxx:4104
XclChRectangle maRect
Definition: xichart.hxx:1355
void ReadChProperties(XclImpStream &rStrm)
Reads a CHPROPERTIES record (global chart properties).
Definition: xichart.cxx:4087
void FinalizeTitle()
Finalizes chart title, tries to detect title auto-generated from series name.
Definition: xichart.cxx:4189
void ReadChDefaultText(XclImpStream &rStrm)
Reads a CHDEFAULTTEXT group (default text formats).
Definition: xichart.cxx:3910
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHCHART group (called by base class).
Definition: xichart.cxx:3881
Represents the CHDATAFORMAT record group containing data point properties.
Definition: xichart.hxx:656
void Convert(ScfPropertySet &rPropSet, const XclChExtTypeInfo &rTypeInfo, const ScfPropertySet *pGlobalPropSet=nullptr) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1532
const XclImpChText * GetDataLabel() const
Returns the data label text object.
Definition: xichart.hxx:688
void RemoveUnusedFormats(const XclChExtTypeInfo &rTypeInfo)
Removes unused formatting (e.g.
Definition: xichart.cxx:1577
XclImpChMarkerFormatRef mxMarkerFmt
Contents of the CHDATAFORMAT record.
Definition: xichart.hxx:705
XclImpChDataFormat(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1398
XclImpCh3dDataFormatRef mx3dDataFmt
Series properties (CHSERIESFORMAT record).
Definition: xichart.hxx:708
bool IsAutoMarker() const
Returns true, if markers are set to automatic format.
Definition: xichart.hxx:684
XclImpChTextRef mxLabel
Data point label type (CHATTACHEDLABEL record).
Definition: xichart.hxx:710
XclImpChAttLabelRef mxAttLabel
3D bar format (CH3DDATAFORMAT record).
Definition: xichart.hxx:709
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHDATAFORMAT group (called by base class).
Definition: xichart.cxx:1411
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHDATAFORMAT record (called by base class).
Definition: xichart.cxx:1403
void SetPointPos(const XclChDataPointPos &rPointPos, sal_uInt16 nFormatIdx)
Sets this object to the specified data point position.
Definition: xichart.cxx:1440
const XclChDataPointPos & GetPointPos() const
Returns the position of the data point described by this group.
Definition: xichart.hxx:680
void ConvertLine(ScfPropertySet &rPropSet, XclChObjectType eObjType) const
Writes the line format only, e.g.
Definition: xichart.cxx:1567
XclChDataFormat maData
Definition: xichart.hxx:704
void SetDataLabel(XclImpChTextRef xLabel)
Sets type and text formatting for a data point label (CHTEXT group).
Definition: xichart.hxx:668
void UpdatePointFormat(const XclChExtTypeInfo &rTypeInfo, const XclImpChDataFormat *pSeriesFmt)
Updates missing data point settings from the passed series format.
Definition: xichart.cxx:1491
void UpdateGroupFormat(const XclChExtTypeInfo &rTypeInfo)
Updates default data format for series group.
Definition: xichart.cxx:1446
void UpdateDataLabel(const XclImpChDataFormat *pParentFmt)
Updates or creates the data point label.
Definition: xichart.cxx:1590
void UpdateSeriesFormat(const XclChExtTypeInfo &rTypeInfo, const XclImpChDataFormat *pGroupFmt)
Updates missing series settings from the passed chart type group data format.
Definition: xichart.cxx:1452
XclImpChSeriesFormatRef mxSeriesFmt
Pie segment format (CHPIEFORMAT record).
Definition: xichart.hxx:707
void UpdateTrendLineFormat()
Updates default data format for trend lines.
Definition: xichart.cxx:1517
bool HasSpline() const
Returns true, if the series line is smoothed.
Definition: xichart.hxx:686
void ConvertArea(ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx) const
Writes the area format only for the series or a data point.
Definition: xichart.cxx:1572
sal_uInt16 GetFormatIdx() const
Returns the format index of the data point described by this group.
Definition: xichart.hxx:682
XclImpChPieFormatRef mxPieFmt
Data point marker (CHMARKERFORMAT record).
Definition: xichart.hxx:706
Represents the CHDROPBAR record group describing pos/neg bars in line charts.
Definition: xichart.hxx:957
sal_uInt16 mnBarDist
Drop bar identifier, needed for auto format.
Definition: xichart.hxx:969
XclImpChDropBar(sal_uInt16 nDropBar)
Definition: xichart.cxx:2651
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHDROPBAR record (called by base class).
Definition: xichart.cxx:2657
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet) const
Converts and writes the contained frame data to the passed property set.
Definition: xichart.cxx:2662
sal_uInt16 mnDropBar
Definition: xichart.hxx:968
The CHESCHERFORMAT record containing complex area formatting data (bitmaps, hatches).
Definition: xichart.hxx:294
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, bool bUsePicFmt) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:553
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHESCHERFORMAT group (called by base class).
Definition: xichart.cxx:540
XclImpChEscherFormat(const XclImpRoot &rRoot)
Definition: xichart.cxx:521
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHESCHERFORMAT record (complex fill data) (called by base class).
Definition: xichart.cxx:528
sal_uInt32 mnDffFillType
Image options, e.g. stretched, stacked (CHPICFORMAT record).
Definition: xichart.hxx:310
XclChEscherFormat maData
Definition: xichart.hxx:308
XclChPicFormat maPicFmt
Fill properties for complex areas (CHESCHERFORMAT record).
Definition: xichart.hxx:309
Base class for objects with font settings.
Definition: xichart.hxx:446
XclImpChFontBase()=default
XclImpChFontBase(XclImpChFontBase const &)=default
virtual Color GetFontColor() const =0
Derived classes return the leading font color for the text object.
XclImpChFontBase & operator=(XclImpChFontBase const &)=default
virtual sal_uInt16 GetFontIndex() const =0
Derived classes return the leading font index for the text object.
virtual sal_uInt16 GetRotation() const =0
Derived classes return the rotation value for the text object.
XclImpChFontBase(XclImpChFontBase &&)=default
virtual ~XclImpChFontBase()
Definition: xichart.cxx:917
void ConvertFontBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet) const
Converts and writes the contained font settings to the passed property set.
Definition: xichart.cxx:921
void ConvertRotationBase(ScfPropertySet &rPropSet, bool bSupportsStacked) const
Converts and writes the contained rotation settings to the passed property set.
Definition: xichart.cxx:927
The CHFONT record containing a font index for text objects.
Definition: xichart.hxx:471
sal_uInt16 mnFontIdx
Definition: xichart.hxx:481
void ReadChFont(XclImpStream &rStrm)
Reads the CHFONT record (font index).
Definition: xichart.cxx:937
sal_uInt16 GetFontIndex() const
Returns the contained font index.
Definition: xichart.hxx:478
Base class for record groups containing frame formatting.
Definition: xichart.hxx:322
void ConvertFrameBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt=false) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:631
XclImpChAreaFormatRef mxAreaFmt
Line format (CHLINEFORMAT record).
Definition: xichart.hxx:358
bool IsAutoArea() const
Returns true, if the area format is set to automatic.
Definition: xichart.hxx:340
bool IsAutoLine() const
Returns true, if the line format is set to automatic.
Definition: xichart.hxx:333
bool HasLine() const
Returns true, if the line style is set to something visible.
Definition: xichart.hxx:335
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a frame formatting record (called by base class).
Definition: xichart.cxx:592
XclImpChFrameBase()
Creates a new frame object without internal formatting objects.
Definition: xichart.hxx:325
XclImpChLineFormatRef mxLineFmt
Definition: xichart.hxx:357
void ConvertLineBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN) const
Converts and writes the contained line formatting to the passed property set.
Definition: xichart.cxx:611
XclImpChEscherFormatRef mxEscherFmt
Area format (CHAREAFORMAT record).
Definition: xichart.hxx:359
void ConvertAreaBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt=false) const
Converts and writes the contained area formatting to the passed property set.
Definition: xichart.cxx:618
sal_Int16 GetLineWeight() const
Returns the line weight used for this frame.
Definition: xichart.hxx:337
const XclChFramePos & GetFramePosData() const
Returns read-only access to the imported frame position data.
Definition: xichart.hxx:214
void ReadChFramePos(XclImpStream &rStrm)
Reads the CHFRAMEPOS record (frame position and size).
Definition: xichart.cxx:441
XclChFramePos maData
Definition: xichart.hxx:217
Represents the CHFRAME record group containing object frame properties.
Definition: xichart.hxx:368
XclImpChFrame(const XclImpChRoot &rRoot, XclChObjectType eObjType)
Creates a new frame object with specific default formatting.
Definition: xichart.cxx:638
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHFRAME record (called by base class).
Definition: xichart.cxx:645
void Convert(ScfPropertySet &rPropSet, bool bUsePicFmt=false) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:697
XclChFrame maData
Definition: xichart.hxx:385
XclChObjectType meObjType
Contents of the CHFRAME record.
Definition: xichart.hxx:386
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
Definition: xichart.cxx:651
Base class for chart record groups.
Definition: xichart.hxx:179
virtual void ReadHeaderRecord(XclImpStream &rStrm)=0
Derived classes implement to read the group header record.
static void SkipBlock(XclImpStream &rStrm)
Helper to skip a CHBEGIN/CHEND block, includes nested blocks.
Definition: xichart.cxx:424
XclImpChGroupBase(XclImpChGroupBase const &)=default
XclImpChGroupBase(XclImpChGroupBase &&)=default
virtual ~XclImpChGroupBase()
Definition: xichart.cxx:390
void ReadRecordGroup(XclImpStream &rStrm)
Reads the entire record group.
Definition: xichart.cxx:394
virtual void ReadSubRecord(XclImpStream &rStrm)=0
Derived classes implement to read a record from the group.
XclImpChGroupBase()=default
XclImpChGroupBase & operator=(XclImpChGroupBase const &)=default
void ReadChLabelRange(XclImpStream &rStrm)
Reads the CHLABELRANGE record (category axis scaling properties).
Definition: xichart.cxx:2992
XclChLabelRange maLabelData
Definition: xichart.hxx:1099
void ConvertAxisPosition(ScfPropertySet &rPropSet, bool b3dChart) const
Converts position settings of this axis at a crossing axis.
Definition: xichart.cxx:3056
void ReadChDateRange(XclImpStream &rStrm)
Reads the CHDATERANGE record (date axis scaling properties).
Definition: xichart.cxx:3000
XclChDateRange maDateData
Contents of the CHLABELRANGE record.
Definition: xichart.hxx:1100
void Convert(ScfPropertySet &rPropSet, css::chart2::ScaleData &rScaleData, bool bMirrorOrient) const
Converts category axis scaling settings.
Definition: xichart.cxx:3013
XclImpChLabelRange(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2987
Represents the CHLEGEND record group describing the chart legend.
Definition: xichart.hxx:927
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHLEGEND record (called by base class).
Definition: xichart.cxx:2516
XclImpChFrameRef mxFrame
Legend text format (CHTEXT group).
Definition: xichart.hxx:946
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHLEGEND group (called by base class).
Definition: xichart.cxx:2533
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:2552
XclImpChTextRef mxText
Legend frame position (CHFRAMEPOS record).
Definition: xichart.hxx:945
XclImpChLegend(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2511
XclChLegend maData
Definition: xichart.hxx:943
XclImpChFramePosRef mxFramePos
Contents of the CHLEGEND record.
Definition: xichart.hxx:944
css::uno::Reference< css::chart2::XLegend > CreateLegend() const
Creates a new legend object.
Definition: xichart.cxx:2561
The CHLINEFORMAT record containing line formatting data.
Definition: xichart.hxx:224
void ReadChLineFormat(XclImpStream &rStrm)
Reads the CHLINEFORMAT record (basic line properties).
Definition: xichart.cxx:453
XclImpChLineFormat & operator=(XclImpChLineFormat &&rOther) noexcept
Definition: xichart.hxx:238
XclImpChLineFormat & operator=(XclImpChLineFormat const &rOther)
Definition: xichart.hxx:236
bool IsAuto() const
Returns true, if the line format is set to automatic.
Definition: xichart.hxx:245
XclImpChLineFormat(XclImpChLineFormat &&rOther)
Definition: xichart.hxx:234
XclChLineFormat maData
Definition: xichart.hxx:259
bool HasLine() const
Returns true, if the line style is set to something visible.
Definition: xichart.hxx:247
XclImpChLineFormat()
Creates a new line format object with automatic formatting.
Definition: xichart.hxx:227
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:466
XclImpChLineFormat(const XclChLineFormat &rLineFmt)
Creates a new line format object with the passed formatting.
Definition: xichart.hxx:229
bool IsShowAxis() const
Returns true, if the "show axis" flag is set.
Definition: xichart.hxx:251
XclImpChLineFormat(XclImpChLineFormat const &rOther)
Definition: xichart.hxx:232
sal_Int16 GetWeight() const
Returns the line width of this line format (returns 'single', if the line is invisible).
Definition: xichart.hxx:249
The CHMARKERFORMAT record containing data point marker formatting data.
Definition: xichart.hxx:565
XclChMarkerFormat maData
Definition: xichart.hxx:581
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx, sal_Int16 nLineWeight) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1295
bool IsAuto() const
Returns true, if the marker format is set to automatic.
Definition: xichart.hxx:571
void ReadChMarkerFormat(XclImpStream &rStrm)
Reads the CHMARKERFORMAT record (data point marker properties).
Definition: xichart.cxx:1277
void ConvertColor(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, sal_uInt16 nFormatIdx) const
Sets the marker fill color as main color to the passed property set.
Definition: xichart.cxx:1321
The CHPIEFORMAT record containing data point formatting data for pie segments.
Definition: xichart.hxx:588
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:1338
void ReadChPieFormat(XclImpStream &rStrm)
Reads the CHPIEFORMAT record (pie segment properties).
Definition: xichart.cxx:1333
sal_uInt16 mnPieDist
Definition: xichart.hxx:597
Base class for complex chart classes, provides access to other components of the chart.
Definition: xichart.hxx:80
void ConvertEscherFormat(ScfPropertySet &rPropSet, const XclChEscherFormat &rEscherFmt, const XclChPicFormat *pPicFmt, sal_uInt32 nDffFillType, XclChPropertyMode ePropMode) const
Writes gradient or bitmap area properties to the passed property set.
Definition: xichart.cxx:369
virtual ~XclImpChRoot() override
Definition: xichart.cxx:222
void ConvertAreaFormat(ScfPropertySet &rPropSet, const XclChAreaFormat &rAreaFmt, XclChPropertyMode ePropMode) const
Writes solid area properties to the passed property set.
Definition: xichart.cxx:363
void InitConversion(const css::uno::Reference< css::chart2::XChartDocument > &xChartDoc, const tools::Rectangle &rChartRect) const
Starts the API chart document conversion.
Definition: xichart.cxx:264
XclImpChRoot & operator=(XclImpChRoot const &)=delete
double CalcRelativeFromChartY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from Excel chart units into a relative position.
Definition: xichart.cxx:351
sal_Int32 CalcHmmFromChartY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from Excel chart units into 1/100 mm.
Definition: xichart.cxx:316
void FinishConversion(XclImpDffConverter &rDffConv) const
Finishes the API chart document conversion.
Definition: xichart.cxx:289
XclImpChRoot(XclImpChRoot &&)=default
double CalcRelativeFromHmmY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from 1/100 mm into a relative position.
Definition: xichart.cxx:338
css::uno::Reference< css::drawing::XShape > GetTitleShape(const XclChTextKey &rTitleKey) const
Returns the drawing shape interface of the specified title object.
Definition: xichart.cxx:306
css::uno::Reference< css::chart2::data::XDataProvider > GetDataProvider() const
Returns the data provider for the chart document.
Definition: xichart.cxx:301
XclImpChRoot(const XclImpRoot &rRoot, XclImpChChart &rChartData)
Definition: xichart.cxx:216
sal_Int32 CalcHmmFromChartX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from Excel chart units into 1/100 mm.
Definition: xichart.cxx:311
XclImpChChart & GetChartData() const
Returns a reference to the parent chart data object.
Definition: xichart.cxx:226
static void ConvertPieRotation(ScfPropertySet &rPropSet, sal_uInt16 nAngle)
Writes the pie rotation property for the passed angle.
Definition: xichart.cxx:384
void ConvertLineFormat(ScfPropertySet &rPropSet, const XclChLineFormat &rLineFmt, XclChPropertyMode ePropMode) const
Writes all line properties to the passed property set.
Definition: xichart.cxx:356
const XclChTypeInfo & GetChartTypeInfo(XclChTypeId eType) const
Returns chart type info for a unique chart type identifier.
Definition: xichart.cxx:231
XclImpChRoot(XclImpChRoot const &)=default
Color GetSeriesFillAutoColor(sal_uInt16 nFormatIdx) const
Returns the automatic fill color of filled series.
Definition: xichart.cxx:256
XclImpChRootDataRef mxChData
Definition: xichart.hxx:170
double CalcRelativeFromChartX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from Excel chart units into a relative position.
Definition: xichart.cxx:346
double CalcRelativeFromHmmX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from 1/100 mm into a relative position.
Definition: xichart.cxx:330
const XclImpChRoot & GetChRoot() const
Returns this root instance - for code readability in derived classes.
Definition: xichart.hxx:91
css::awt::Rectangle CalcHmmFromChartRect(const XclChRectangle &rRect) const
Converts the passed rectangle from Excel chart units into 1/100 mm.
Definition: xichart.cxx:321
void ConvertFont(ScfPropertySet &rPropSet, sal_uInt16 nFontIdx, const Color *pFontColor=nullptr) const
Writes font properties to the passed property set.
Definition: xichart.cxx:378
const XclChFormatInfo & GetFormatInfo(XclChObjectType eObjType) const
Returns an info struct about auto formatting for the passed object type.
Definition: xichart.cxx:241
std::shared_ptr< XclImpChRootData > XclImpChRootDataRef
Definition: xichart.hxx:169
Color GetSeriesLineAutoColor(sal_uInt16 nFormatIdx) const
Returns the automatic line color of linear series.
Definition: xichart.cxx:251
Color GetFontAutoColor() const
Returns the default text color for charts.
Definition: xichart.cxx:246
Represents the CHSERERRORBAR record containing settings for error bars.
Definition: xichart.hxx:742
XclImpChSerErrorBar(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1688
static css::uno::Reference< css::beans::XPropertySet > CreateErrorBar(const XclImpChSerErrorBar *pPosBar, const XclImpChSerErrorBar *pNegBar)
Tries to create an error bar API object from the specified Excel error bars.
Definition: xichart.cxx:1714
XclChSerErrorBar maData
Definition: xichart.hxx:766
sal_uInt8 GetBarType() const
Returns the type of this error bar (X/Y, plus/minus).
Definition: xichart.hxx:754
void ReadChSerErrorBar(XclImpStream &rStrm)
Reads the CHSERERRORBAR record.
Definition: xichart.cxx:1693
void SetSeriesData(XclImpChSourceLinkRef const &xValueLink, XclImpChDataFormatRef const &xDataFmt)
Sets link and formatting information for the error bars.
Definition: xichart.cxx:1703
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateValueSequence() const
Creates a labeled data sequence object from value data link.
Definition: xichart.cxx:1709
XclImpChDataFormatRef mxDataFmt
Link data for manual error bar values.
Definition: xichart.hxx:768
XclImpChSourceLinkRef mxValueLink
Contents of the CHSERERRORBAR record.
Definition: xichart.hxx:767
Represents the CHSERTRENDLINE record containing settings for a trend line.
Definition: xichart.hxx:717
OUString maTrendLineName
Definition: xichart.hxx:733
XclImpChDataFormatRef mxDataFmt
Contents of the CHSERTRENDLINE record.
Definition: xichart.hxx:735
css::uno::Reference< css::chart2::XRegressionCurve > CreateRegressionCurve() const
Creates an API object representing this trend line.
Definition: xichart.cxx:1624
XclImpChSerTrendLine(const XclImpChRoot &rRoot)
Definition: xichart.cxx:1608
void ReadChSerTrendLine(XclImpStream &rStrm)
Reads the CHSERTRENDLINE record.
Definition: xichart.cxx:1613
void SetDataFormat(XclImpChDataFormatRef xDataFmt)
Sets formatting information for the trend line.
Definition: xichart.hxx:724
void SetTrendlineName(const OUString &aTrendlineName)
Definition: xichart.hxx:726
XclChSerTrendLine maData
Definition: xichart.hxx:734
The CHSERIESFORMAT record containing additional settings for a data series.
Definition: xichart.hxx:604
sal_uInt16 mnFlags
Definition: xichart.hxx:613
void ReadChSeriesFormat(XclImpStream &rStrm)
Reads the CHSERIESFORMAT record (additional settings for a series).
Definition: xichart.cxx:1349
bool HasSpline() const
Returns true, if the series line is smoothed.
Definition: xichart.hxx:610
Represents the CHSERIES record group describing a data series in a chart.
Definition: xichart.hxx:779
XclImpChSourceLinkRef mxBubbleLink
Link data for series title.
Definition: xichart.hxx:854
XclImpChSeries(const XclImpChRoot &rRoot, sal_uInt16 nSeriesIdx)
Definition: xichart.cxx:1790
css::uno::Reference< css::chart2::XDataSeries > CreateDataSeries() const
Creates a data series object with initialized source links.
Definition: xichart.cxx:2027
XclImpChSourceLinkRef mxTitleLink
Link data for series category names.
Definition: xichart.hxx:853
OUString GetTitle() const
Returns series title or an empty string, if the series does not contain a title.
Definition: xichart.hxx:806
sal_uInt16 mnGroupIdx
Error bar settings (CHSERERRORBAR records).
Definition: xichart.hxx:860
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateValueSequence(const OUString &rValueRole) const
Creates a labeled data sequence object from value data link.
Definition: xichart.cxx:2017
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHSERIES group (called by base class).
Definition: xichart.cxx:1812
XclImpChSerErrorBarMap m_ErrorBars
Trend line settings (CHSERTRENDLINE records).
Definition: xichart.hxx:859
::std::map< sal_uInt8, std::unique_ptr< XclImpChSerErrorBar > > XclImpChSerErrorBarMap
Definition: xichart.hxx:848
XclImpChDataFormatRef CreateDataFormat(sal_uInt16 nPointIdx, sal_uInt16 nFormatIdx)
Creates a new CHDATAFORMAT group with the specified point index.
Definition: xichart.cxx:2167
sal_uInt16 mnSeriesIdx
Chart type group (CHTYPEGROUP group) this series is assigned to.
Definition: xichart.hxx:861
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT group containing series and point formatting.
Definition: xichart.cxx:2136
void AddChildSeries(const XclImpChSeries &rSeries)
Adds error bar settings from the passed series to the own series.
Definition: xichart.cxx:1893
bool HasParentSeries() const
Returns true, if the series is child of another series (e.g.
Definition: xichart.hxx:802
void SetDataLabel(const XclImpChTextRef &xLabel)
Sets a label text (CHTEXT group) attached to a series or data point.
Definition: xichart.cxx:1875
::std::map< sal_uInt16, XclImpChDataFormatRef > XclImpChDataFormatMap
Definition: xichart.hxx:846
XclImpChSourceLinkRef mxCategLink
Link data for series values.
Definition: xichart.hxx:852
sal_uInt16 mnParentIdx
0-based series index.
Definition: xichart.hxx:862
void ReadChSerTrendLine(XclImpStream &rStrm)
Reads a CHSERTRENDLINE record containing trend line settings.
Definition: xichart.cxx:2152
void ReadChSourceLink(XclImpStream &rStrm)
Reads a CHSOURCELINK record.
Definition: xichart.cxx:2123
std::vector< XclImpChSerTrendLineRef > maTrendLines
Data point labels (CHTEXT groups).
Definition: xichart.hxx:858
void SetDataFormat(const XclImpChDataFormatRef &xDataFmt)
Sets a data point or series format (CHDATAFORMAT group) for this series.
Definition: xichart.cxx:1840
XclImpChTextMap maLabels
CHDATAFORMAT groups for data point formats.
Definition: xichart.hxx:857
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateCategSequence(const OUString &rCategRole) const
Creates a labeled data sequence object from category data link.
Definition: xichart.cxx:2022
void ReadChLegendException(XclImpStream &rStrm)
Definition: xichart.cxx:2208
void ConvertTrendLines(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries) const
Converts all trend lines and inserts them into the passed API data series object.
Definition: xichart.cxx:2174
css::uno::Reference< css::beans::XPropertySet > CreateErrorBar(sal_uInt8 nPosBarId, sal_uInt8 nNegBarId) const
Tries to create an error bar API object from the specified Excel error bars.
Definition: xichart.cxx:2197
bool mbLabelDeleted
0-based index of parent series (trend lines and error bars).
Definition: xichart.hxx:863
void ReadChSerParent(XclImpStream &rStrm)
Reads a CHSERPARENT record specifying the parent series of this series.
Definition: xichart.cxx:2142
void FillAllSourceLinks(::std::vector< ScTokenRef > &rTokens) const
Definition: xichart.cxx:2111
::std::map< sal_uInt16, XclImpChTextRef > XclImpChTextMap
Definition: xichart.hxx:847
sal_uInt16 GetParentIdx() const
Returns the 0-based index of the parent series (e.g.
Definition: xichart.hxx:800
sal_uInt16 GetGroupIdx() const
Returns the axes set identifier this series is assigned to (primary/secondary).
Definition: xichart.hxx:798
bool HasSpline() const
Returns true, if the series line is smoothed.
Definition: xichart.hxx:809
XclChSeries maData
Definition: xichart.hxx:850
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHSERIES record (called by base class).
Definition: xichart.cxx:1799
XclImpChDataFormatMap maPointFmts
CHDATAFORMAT group for series format.
Definition: xichart.hxx:856
XclImpChDataFormatRef mxSeriesFmt
Link data for series bubble sizes.
Definition: xichart.hxx:855
XclImpChSourceLinkRef mxValueLink
Contents of the CHSERIES record.
Definition: xichart.hxx:851
bool HasChildSeries() const
Returns true, if the series contains child series (e.g.
Definition: xichart.hxx:804
void FinalizeDataFormats()
Updates missing series formatting by using default formatting from axes sets.
Definition: xichart.cxx:1912
void ReadChSerErrorBar(XclImpStream &rStrm)
Reads a CHSERERRORBAR record containing error bar settings.
Definition: xichart.cxx:2159
Represents the CHTEXT record group containing text object properties.
Definition: xichart.hxx:492
XclImpChFramePosRef mxFramePos
Formatting runs (CHFORMATRUNS record).
Definition: xichart.hxx:552
css::uno::Reference< css::chart2::XTitle > CreateTitle() const
Creates a title text object.
Definition: xichart.cxx:1151
XclFormatRunVec maFormats
Link target for this text object.
Definition: xichart.hxx:551
const XclChDataPointPos & GetPointPos() const
Returns the position of the data point label this text is linked to.
Definition: xichart.hxx:518
sal_uInt16 GetLinkTarget() const
Returns the target object this text is linked to.
Definition: xichart.hxx:516
virtual sal_uInt16 GetRotation() const override
Returns the rotation value for the text object.
Definition: xichart.cxx:1026
XclImpChSourceLinkRef mxSrcLink
Relative text frame position (CHFRAMEPOS record).
Definition: xichart.hxx:553
XclImpChFrameRef mxFrame
Linked data (CHSOURCELINK with CHSTRING record).
Definition: xichart.hxx:554
std::shared_ptr< XclChFrLabelProps > XclChFrLabelPropsRef
Definition: xichart.hxx:547
void UpdateText(const XclImpChText *pParentText)
Updates missing parts of this text object from the passed object.
Definition: xichart.cxx:1038
void UpdateDataLabel(bool bCateg, bool bValue, bool bPercent)
Updates display type of this data point label text object.
Definition: xichart.cxx:1055
void ConvertTitlePosition(const XclChTextKey &rTitleKey) const
Converts the manual position of the specified title.
Definition: xichart.cxx:1177
XclChObjectLink maObjLink
Contents of the CHTEXT record.
Definition: xichart.hxx:550
XclImpChText(const XclImpChRoot &rRoot)
Definition: xichart.cxx:942
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHTEXT record (called by base class).
Definition: xichart.cxx:947
void ConvertRotation(ScfPropertySet &rPropSet, bool bSupportsStacked) const
Converts and writes the contained rotation settings to the passed property set.
Definition: xichart.cxx:1069
void ConvertFont(ScfPropertySet &rPropSet) const
Converts and writes the contained font settings to the passed property set.
Definition: xichart.cxx:1064
void ConvertDataLabel(ScfPropertySet &rPropSet, const XclChTypeInfo &rTypeInfo, const ScfPropertySet *pGlobalPropSet) const
Converts and writes all contained data to the passed data point label property set.
Definition: xichart.cxx:1086
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHTEXT group (called by base class).
Definition: xichart.cxx:977
void SetString(const OUString &rString)
Sets explicit string data for this text object.
Definition: xichart.cxx:1031
bool IsDeleted() const
Returns true, if the text object is marked as deleted.
Definition: xichart.hxx:522
bool HasString() const
Returns true, if this text group contains string data.
Definition: xichart.hxx:520
virtual Color GetFontColor() const override
Returns the leading font color for the text object.
Definition: xichart.cxx:1021
XclImpChFontRef mxFont
Text object frame properties (CHFRAME group).
Definition: xichart.hxx:555
XclChFrLabelPropsRef mxLabelProps
Index into font buffer (CHFONT record).
Definition: xichart.hxx:556
XclChText maData
Definition: xichart.hxx:549
virtual sal_uInt16 GetFontIndex() const override
Returns the leading font index for the text object.
Definition: xichart.cxx:1016
void ConvertNumFmt(ScfPropertySet &rPropSet, bool bPercent) const
Converts and writes the contained number format to the passed property set.
Definition: xichart.cxx:1080
void ConvertFrame(ScfPropertySet &rPropSet) const
Converts and writes the contained frame data to the passed property set.
Definition: xichart.cxx:1074
void ReadChFrLabelProps(XclImpStream &rStrm)
Reads a CHFRLABELPROPS record.
Definition: xichart.cxx:1232
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
Definition: xichart.cxx:3236
void ReadChTick(XclImpStream &rStrm)
Reads the CHTICK record (axis ticks properties).
Definition: xichart.cxx:3194
XclImpChTick(const XclImpChRoot &rRoot)
Definition: xichart.cxx:3189
bool HasLabels() const
Returns true, if the axis shows attached labels.
Definition: xichart.hxx:1130
XclChTick maData
Definition: xichart.hxx:1140
sal_uInt16 GetRotation() const
Returns the rotation value for the axis labels.
Definition: xichart.cxx:3226
Color GetFontColor() const
Returns the leading font color for the axis labels.
Definition: xichart.cxx:3221
Represents the CHTYPEGROUP record group describing a group of series.
Definition: xichart.hxx:982
const XclImpChLegendRef & GetLegend() const
Returns the legend object.
Definition: xichart.hxx:1022
XclImpChType maType
Contents of the CHTYPEGROUP record.
Definition: xichart.hxx:1068
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHTYPEGROUP record (called by base class).
Definition: xichart.cxx:2683
OUString GetSingleSeriesTitle() const
Returns series title, if the chart type group contains only one single series.
Definition: xichart.cxx:2780
void CreateStockSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx) const
Creates all data series of a stock chart.
Definition: xichart.cxx:2918
XclImpChLineFormatMap m_ChartLines
Dropbars (CHDROPBAR group).
Definition: xichart.hxx:1075
XclImpChSeriesRef mxFirstSeries
Series attached to this chart type group (CHSERIES groups).
Definition: xichart.hxx:1071
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT record group (default series format).
Definition: xichart.cxx:2859
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHTYPEGROUP group (called by base class).
Definition: xichart.cxx:2690
bool HasConnectorLines() const
Returns true, if bars are connected with lines (stacked bar charts only).
Definition: xichart.cxx:2771
XclChTypeGroup maData
Definition: xichart.hxx:1067
bool IsValidGroup() const
Returns true, if this chart type group contains at least one valid series.
Definition: xichart.hxx:1005
bool IsPercent() const
Returns true, if the series in this chart type group are stacked on each other as percentage.
Definition: xichart.hxx:1007
void ReadChDropBar(XclImpStream &rStrm)
Reads a CHDROPBAR record group.
Definition: xichart.cxx:2832
void AddSeries(XclImpChSeriesRef const &xSeries)
Inserts a series attached to this chart type group.
Definition: xichart.cxx:2741
::std::map< sal_uInt16, std::unique_ptr< XclImpChDropBar > > XclImpChDropBarMap
Definition: xichart.hxx:1064
bool HasVarPointFormat() const
Returns true, if points of a series show varying automatic area format.
Definition: xichart.cxx:2763
sal_uInt16 PopUnusedFormatIndex()
Returns the next unused format index and marks it as used.
Definition: xichart.cxx:2755
const XclImpChDataFormatRef & GetGroupFormat() const
Returns the default series data format.
Definition: xichart.hxx:1024
const XclChExtTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
Definition: xichart.hxx:1003
std::set< sal_uInt16 > maUnusedFormats
Default format for all series (CHDATAFORMAT group).
Definition: xichart.hxx:1078
void SetUsedFormatIndex(sal_uInt16 nFormatIdx)
Marks the passed format index as used.
Definition: xichart.cxx:2750
XclChExtTypeInfo maTypeInfo
Chart type (e.g. CHBAR, CHLINE, ...).
Definition: xichart.hxx:1069
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateCategSequence() const
Creates a labeled data sequence object for axis categories.
Definition: xichart.cxx:2823
XclImpChDataFormatRef mxGroupFmt
Global line formats (CHCHARTLINE group).
Definition: xichart.hxx:1076
XclImpChLegendRef mxLegend
3D settings (CHCHART3D record).
Definition: xichart.hxx:1073
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
Definition: xichart.hxx:1009
XclImpChDropBarMap m_DropBars
Chart legend (CHLEGEND group).
Definition: xichart.hxx:1074
sal_uInt16 GetGroupIdx() const
Returns the index of this chart type group.
Definition: xichart.hxx:1001
bool HasDropBars() const
Returns true, if the chart type group contains drop bar formats.
Definition: xichart.hxx:1049
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem() const
Creates a coordinate system according to the contained chart type.
Definition: xichart.cxx:2794
void CreateDataSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx) const
Creates all data series of any chart type except stock charts.
Definition: xichart.cxx:2901
bool HasCategoryLabels() const
Returns true, if category (X axis) labels are enabled (may be disabled in radar charts).
Definition: xichart.hxx:1015
css::uno::Reference< css::chart2::XChartType > CreateChartType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, sal_Int32 nApiAxesSetIdx) const
Creates and returns an object that represents the contained chart type.
Definition: xichart.cxx:2799
void InsertDataSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, css::uno::Reference< css::chart2::XDataSeries > const &xSeries, sal_Int32 nApiAxesSetIdx) const
Inserts the passed series into the chart type.
Definition: xichart.cxx:2870
::std::map< sal_uInt16, XclImpChLineFormat > XclImpChLineFormatMap
Definition: xichart.hxx:1065
bool Is3dDeepChart() const
Returns true, if the series in this chart type group are ordered on the Z axis.
Definition: xichart.hxx:1013
::std::vector< XclImpChSeriesRef > XclImpChSeriesVec
Definition: xichart.hxx:1063
void ReadChChartLine(XclImpStream &rStrm)
Reads a CHCHARTLINE record group.
Definition: xichart.cxx:2848
XclImpChTypeGroup(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2673
XclImpChChart3dRef mxChart3d
First series in this chart type group (CHSERIES groups).
Definition: xichart.hxx:1072
void Finalize()
Final processing after reading the entire chart.
Definition: xichart.cxx:2719
bool Is3dWallChart() const
Returns true, if chart type supports wall and floor format in 3d mode.
Definition: xichart.hxx:1011
XclImpChSeriesVec maSeries
Extended chart type info.
Definition: xichart.hxx:1070
void ConvertChart3d(ScfPropertySet &rPropSet) const
Converts and writes all 3D settings to the passed diagram.
Definition: xichart.cxx:2788
css::uno::Reference< css::chart2::XChartType > CreateChartType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, bool b3dChart) const
Creates and returns an object that represents the contained chart type.
Definition: xichart.cxx:2396
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem(bool b3dChart) const
Creates a coordinate system according to the contained chart type.
Definition: xichart.cxx:2366
sal_uInt16 GetRecId() const
Returns the record identifier of the chart type record.
Definition: xichart.hxx:881
const XclChTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
Definition: xichart.hxx:883
void Finalize(bool bStockChart)
Final processing after reading the entire chart.
Definition: xichart.cxx:2282
XclChTypeInfo maTypeInfo
Record identifier for chart type.
Definition: xichart.hxx:901
XclImpChType(const XclImpChRoot &rRoot)
Definition: xichart.cxx:2217
sal_uInt16 mnRecId
Contents of the chart type record.
Definition: xichart.hxx:900
bool IsPercent() const
Returns true, if the series in this chart type group are stacked on each other as percentage.
Definition: xichart.cxx:2340
bool IsStacked() const
Returns true, if the series in this chart type group are stacked on each other (no percentage).
Definition: xichart.cxx:2320
bool HasCategoryLabels() const
Returns true, if chart type has category labels enabled (may be disabled in radar charts).
Definition: xichart.cxx:2360
XclChType maData
Definition: xichart.hxx:899
void ReadChType(XclImpStream &rStrm)
Reads a chart type record (e.g.
Definition: xichart.cxx:2224
XclImpChValueRange(const XclImpChRoot &rRoot)
Definition: xichart.cxx:3087
void ConvertAxisPosition(ScfPropertySet &rPropSet) const
Converts position settings of this axis at a crossing axis.
Definition: xichart.cxx:3148
XclChValueRange maData
Definition: xichart.hxx:1117
void Convert(css::chart2::ScaleData &rScaleData, bool bMirrorOrient) const
Converts value axis scaling settings.
Definition: xichart.cxx:3102
void ReadChValueRange(XclImpStream &rStrm)
Reads the CHVALUERANGE record (numeric axis scaling properties).
Definition: xichart.cxx:3092
Drawing container of a chart.
Definition: xichart.hxx:1371
bool mbOwnTab
Index of the sheet that contains the chart.
Definition: xichart.hxx:1389
tools::Rectangle maChartRect
Definition: xichart.hxx:1387
virtual tools::Rectangle CalcAnchorRect(const XclObjAnchor &rAnchor, bool bDffAnchor) const override
Calculate the resulting rectangle of the passed anchor.
Definition: xichart.cxx:4272
SCTAB mnScTab
Position and size of the chart shape in 1/100 mm.
Definition: xichart.hxx:1388
XclImpChartDrawing(const XclImpRoot &rRoot, bool bOwnTab)
Definition: xichart.cxx:4233
virtual void OnObjectInserted(const XclImpDrawObjBase &rDrawObj) override
Called whenever an object has been inserted into the draw page.
Definition: xichart.cxx:4289
void ConvertObjects(XclImpDffConverter &rDffConv, const css::uno::Reference< css::frame::XModel > &rxModel, const tools::Rectangle &rChartRect)
Converts all objects and inserts them into the chart drawing page.
Definition: xichart.cxx:4240
Represents the entire chart substream (all records in BOF/EOF block).
Definition: xichart.hxx:1394
bool mbIsPivotChart
true = own sheet; false = embedded object.
Definition: xichart.hxx:1430
void ReadChartSubStream(XclImpStream &rStrm)
Reads the complete chart substream (BOF/EOF block).
Definition: xichart.cxx:4304
virtual ~XclImpChart() override
Definition: xichart.cxx:4300
XclImpChChartRef mxChartData
Definition: xichart.hxx:1427
std::shared_ptr< XclImpChartDrawing > XclImpChartDrawingRef
Definition: xichart.hxx:1425
void Convert(css::uno::Reference< css::frame::XModel > const &xModel, XclImpDffConverter &rDffConv, const OUString &rObjName, const tools::Rectangle &rChartRect) const
Creates the chart object in the passed component.
Definition: xichart.cxx:4397
XclImpChartDrawingRef mxChartDrawing
The chart data (CHCHART group).
Definition: xichart.hxx:1428
std::size_t GetProgressSize() const
Returns the number of units on the progress bar needed for the chart.
Definition: xichart.cxx:4390
bool mbOwnTab
Drawing container for embedded shapes.
Definition: xichart.hxx:1429
XclImpChartDrawing & GetChartDrawing()
Returns (initially creates) the drawing container for embedded shapes.
Definition: xichart.cxx:4409
void ReadChChart(XclImpStream &rStrm)
Reads the CHCHART group (entire chart data).
Definition: xichart.cxx:4416
bool IsPivotChart() const
Returns true, if the chart is based on a pivot table.
Definition: xichart.hxx:1410
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
Definition: xichart.cxx:4383
XclImpChart(const XclImpRoot &rRoot, bool bOwnTab)
Constructs a new chart object.
Definition: xichart.cxx:4293
This is the central instance for converting binary DFF data into shape objects.
Definition: xiescher.hxx:925
Base class for drawing objects (OBJ records).
Definition: xiescher.hxx:55
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object).
Definition: xiescher.hxx:1047
Access to global data from other classes.
Definition: xiroot.hxx:129
This class is used to import record oriented streams.
Definition: xistream.hxx:278
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 SvStream & rStrm
sal_uInt16 mnFlags
Fill pattern.
Definition: xlchart.hxx:804
sal_uInt16 mnPattern
Pattern background color.
Definition: xlchart.hxx:803
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
Definition: xlchart.cxx:338
sal_uInt16 mnAxesSetId
Position of the axes set (inner plot area).
Definition: xlchart.hxx:1071
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
Definition: xlchart.cxx:321
sal_uInt16 mnType
Definition: xlchart.hxx:1060
sal_uInt16 mnFlags
Space between series.
Definition: xlchart.hxx:975
XclChDataPointPos maPointPos
Definition: xlchart.hxx:909
sal_uInt16 mnFormatIdx
Position of the data point or series.
Definition: xlchart.hxx:910
Specifies the position of a data series or data point.
Definition: xlchart.hxx:755
Extended chart type information and access functions.
Definition: xlchart.hxx:1231
Contains information about auto formatting of a specific chart object type.
Definition: xlchart.hxx:1141
sal_uInt16 mnFlags
Line weight (hairline, single, ...).
Definition: xlchart.hxx:794
sal_uInt16 mnPattern
Line color.
Definition: xlchart.hxx:792
sal_Int16 mnWeight
Line pattern (solid, dashed, ...).
Definition: xlchart.hxx:793
sal_uInt16 mnFlags
Marker type (none, diamond, ...).
Definition: xlchart.hxx:894
sal_uInt8 mnBarType
Number of custom error values.
Definition: xlchart.hxx:933
A map key for text and title objects.
Definition: xlchart.hxx:1280
sal_uInt16 mnFlags
Background mode: transparent, opaque.
Definition: xlchart.hxx:879
sal_uInt8 mnLabelPos
Type of tick marks of minor grid.
Definition: xlchart.hxx:1050
sal_uInt16 mnGroupIdx
Additional flags.
Definition: xlchart.hxx:993
Contains information for a chart type.
Definition: xlchart.hxx:1209
bool mbSupports3d
true = Types can be combined in one axes set.
Definition: xlchart.hxx:1217
XclChTypeCateg meTypeCateg
Unique chart type identifier.
Definition: xlchart.hxx:1211
Stores global data needed in various classes of the Chart import filter.
Definition: xichart.cxx:210
Represents the position (anchor) of an object in a Calc document.
Definition: xlescher.hxx:284
unsigned char sal_uInt8
sal_Int16 SCTAB
Definition: types.hxx:22
std::shared_ptr< XclImpChDataFormat > XclImpChDataFormatRef
Definition: xichart.hxx:713
std::shared_ptr< XclImpChTick > XclImpChTickRef
Definition: xichart.hxx:1143
std::shared_ptr< XclImpChSeries > XclImpChSeriesRef
Definition: xichart.hxx:866
std::shared_ptr< XclImpChLegend > XclImpChLegendRef
Definition: xichart.hxx:949
std::shared_ptr< XclImpChFramePos > XclImpChFramePosRef
Definition: xichart.hxx:220
std::shared_ptr< XclImpChSourceLink > XclImpChSourceLinkRef
Definition: xichart.hxx:440
std::shared_ptr< XclImpChAreaFormat > XclImpChAreaFormatRef
Definition: xichart.hxx:290
std::shared_ptr< XclImpChSerTrendLine > XclImpChSerTrendLineRef
Definition: xichart.hxx:738
std::shared_ptr< XclImpChFrame > XclImpChFrameRef
Definition: xichart.hxx:389
std::shared_ptr< XclImpChAxesSet > XclImpChAxesSetRef
Definition: xichart.hxx:1283
rtl::Reference< XclImpChLineFormat > XclImpChLineFormatRef
Definition: xichart.hxx:262
std::shared_ptr< XclImpChSeriesFormat > XclImpChSeriesFormatRef
Definition: xichart.hxx:616
std::shared_ptr< XclImpChText > XclImpChTextRef
Definition: xichart.hxx:559
std::shared_ptr< XclImpChEscherFormat > XclImpChEscherFormatRef
Definition: xichart.hxx:313
std::shared_ptr< XclImpChAttachedLabel > XclImpChAttLabelRef
Definition: xichart.hxx:647
std::shared_ptr< XclImpChTypeGroup > XclImpChTypeGroupRef
Definition: xichart.hxx:1081
std::shared_ptr< XclImpChFont > XclImpChFontRef
Definition: xichart.hxx:484
std::shared_ptr< XclImpChValueRange > XclImpChValueRangeRef
Definition: xichart.hxx:1120
std::shared_ptr< XclImpChAxis > XclImpChAxisRef
Definition: xichart.hxx:1202
std::shared_ptr< XclImpChChart > XclImpChChartRef
Definition: xichart.hxx:1367
std::shared_ptr< XclImpChPieFormat > XclImpChPieFormatRef
Definition: xichart.hxx:600
std::shared_ptr< XclImpChChart3d > XclImpChChart3dRef
Definition: xichart.hxx:919
std::shared_ptr< XclImpChMarkerFormat > XclImpChMarkerFormatRef
Definition: xichart.hxx:584
std::shared_ptr< XclImpChLabelRange > XclImpChLabelRangeRef
Definition: xichart.hxx:1103
std::shared_ptr< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef
Definition: xichart.hxx:631
std::shared_ptr< XclImpString > XclImpStringRef
Definition: xiroot.hxx:28
@ EXC_CHTYPECATEG_PIE
Radar charts (linear or filled).
Definition: xlchart.hxx:1194
const sal_uInt16 EXC_CHCHART3D_CLUSTER
true = real 3d perspective.
Definition: xlchart.hxx:538
const sal_Int16 EXC_CHLINEFORMAT_SINGLE
Definition: xlchart.hxx:261
const sal_uInt16 EXC_CHMARKERFORMAT_AUTO
Automatic symbol size for triple lines.
Definition: xlchart.hxx:288
const sal_uInt16 EXC_CHLINEFORMAT_NONE
Definition: xlchart.hxx:255
const sal_uInt16 EXC_CHSERIESFORMAT_SMOOTHED
Definition: xlchart.hxx:689
XclChTextType
Enumerates different text box types for default text formatting and title positioning.
Definition: xlchart.hxx:1270
XclChPropertyMode
Specifies the type of a formatting.
Definition: xlchart.hxx:1083
const sal_uInt16 EXC_CHTEXT_DELETED
Text object is inserted automatically.
Definition: xlchart.hxx:478
const sal_uInt16 EXC_CHAREAFORMAT_AUTO
Definition: xlchart.hxx:296
XclChObjectType
Enumerates different object types for specific automatic formatting behaviour.
Definition: xlchart.hxx:1113
const std::size_t EXC_CHART_PROGRESS_SIZE
Definition: xlchart.hxx:152
const sal_uInt16 EXC_CHLINEFORMAT_AUTO
Definition: xlchart.hxx:265
XclChTypeId
Enumerates all kinds of different chart types.
Definition: xlchart.hxx:1171
const sal_uInt16 EXC_CHSERIES_INVALID
Maximum valid series index.
Definition: xlchart.hxx:233
const sal_uInt16 EXC_CHDATAFORMAT_UNKNOWN
As format index: global default for an axes set.
Definition: xlchart.hxx:241
const sal_uInt8 EXC_CHTICK_NOLABEL
Definition: xlchart.hxx:406
const sal_uInt16 EXC_CHLINEFORMAT_SHOWAXIS
Definition: xlchart.hxx:266
const sal_uInt16 EXC_CHAXIS_NONE
Definition: xlchart.hxx:397
::std::vector< XclFormatRun > XclFormatRunVec
A vector with all formatting runs for a rich-string.
Definition: xlstring.hxx:85
const sal_uInt8 EXC_PATT_NONE
Definition: xlstyle.hxx:55