search/mag_sel search/close
ChartDataLabelCollection.h
1 // Copyright 2001-2021 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/collections/ienumerator.h>
12 #include <system/collections/ienumerable.h>
13 #include <system/array.h>
14 #include <cstdint>
15 
16 #include <Aspose.Words.Cpp/Drawing/Charts/Core/INumberFormatProvider.h>
17 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
18 
19 namespace System { namespace Collections { namespace Generic { template <typename, typename> class SortedList; } } }
20 namespace System { namespace Collections { namespace Generic { template <typename> class List; } } }
21 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { class ChartDataLabel; } } } }
22 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { class ChartSeriesHelper; } } } } }
23 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { class DmlChart; } } } } }
24 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverter; } } } } }
25 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlChartComplexTypesReader; } } } } }
26 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { class DmlChartPr; } } } } }
27 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { class ChartSeries; } } } }
28 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Charts { class DmlChartDataLabelRenderer; } } } } }
29 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlChartCommonWriter; } } } } }
30 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { class ChartNumberFormat; } } } }
31 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { namespace ComplexTypes { class DmlChartDataLabelPr; } } } } } }
32 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { namespace ComplexTypes { class DmlChartNumFormat; } } } } } }
33 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { namespace ComplexTypes { enum class DmlChartDataLabelAttrs; } } } } } }
34 namespace Aspose { namespace Collections { class IntList; } }
35 
36 namespace Aspose {
37 
38 namespace Words {
39 
40 namespace Drawing {
41 
42 namespace Charts {
43 
120 class ASPOSE_WORDS_SHARED_CLASS ChartDataLabelCollection : public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Words::Drawing::Charts::ChartDataLabel>>, public Aspose::Words::Drawing::Charts::Core::INumberFormatProvider
121 {
124  typedef Aspose::Words::Drawing::Charts::Core::INumberFormatProvider BaseType1;
125 
126  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
127  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
128 
129  friend class Aspose::Words::Drawing::Charts::Core::ChartSeriesHelper;
130  friend class Aspose::Words::Drawing::Charts::Core::DmlChart;
131  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverter;
132  friend class Aspose::Words::RW::Dml::Reader::DmlChartComplexTypesReader;
133  friend class Aspose::Words::Drawing::Charts::Core::DmlChartPr;
135  friend class Aspose::Words::ApsBuilder::Dml::Charts::DmlChartDataLabelRenderer;
136  friend class Aspose::Words::RW::Dml::Writer::DmlChartCommonWriter;
137 
138 private:
139 
140  class Enumerator final : public System::Collections::Generic::IEnumerator<System::SharedPtr<Aspose::Words::Drawing::Charts::ChartDataLabel>>
141  {
142  typedef Enumerator ThisType;
144 
145  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
146  RTTI_INFO_DECL();
147 
148  public:
149 
151 
153 
154  bool MoveNext() override;
155  void Reset() override;
156  void Dispose() override;
157 
158  private:
159 
162  int32_t mLastUsedIndex;
163  int32_t mCurrentIndex;
164 
165  };
166 
167 public:
168 
245  ASPOSE_WORDS_SHARED_API int32_t get_Count();
246 
276  ASPOSE_WORDS_SHARED_API bool get_ShowCategoryName();
277 
279  ASPOSE_WORDS_SHARED_API void set_ShowCategoryName(bool value);
280 
311  ASPOSE_WORDS_SHARED_API bool get_ShowBubbleSize();
312 
314  ASPOSE_WORDS_SHARED_API void set_ShowBubbleSize(bool value);
315 
346  ASPOSE_WORDS_SHARED_API bool get_ShowLegendKey();
347 
349  ASPOSE_WORDS_SHARED_API void set_ShowLegendKey(bool value);
350 
381  ASPOSE_WORDS_SHARED_API bool get_ShowPercentage();
382 
384  ASPOSE_WORDS_SHARED_API void set_ShowPercentage(bool value);
385 
415  ASPOSE_WORDS_SHARED_API bool get_ShowSeriesName();
416 
418  ASPOSE_WORDS_SHARED_API void set_ShowSeriesName(bool value);
419 
450  ASPOSE_WORDS_SHARED_API bool get_ShowValue();
451 
453  ASPOSE_WORDS_SHARED_API void set_ShowValue(bool value);
454 
491  ASPOSE_WORDS_SHARED_API bool get_ShowLeaderLines();
492 
494  ASPOSE_WORDS_SHARED_API void set_ShowLeaderLines(bool value);
495 
498  ASPOSE_WORDS_SHARED_API bool get_ShowDataLabelsRange();
499 
502  ASPOSE_WORDS_SHARED_API void set_ShowDataLabelsRange(bool value);
503 
560  ASPOSE_WORDS_SHARED_API System::String get_Separator();
561 
563  ASPOSE_WORDS_SHARED_API void set_Separator(System::String value);
564 
599  ASPOSE_WORDS_SHARED_API bool get_IsInherited() override;
600 
678 
756 
836  [[deprecated("When ChartSeries.HasDataLabels is 'true', all data labels are available in this collection.")]]
838 
918  [[deprecated("Use the ChartDataLabel.ClearFormat method instead.")]]
919  ASPOSE_WORDS_SHARED_API void RemoveAt(int32_t index);
920 
998  [[deprecated("Use the ClearFormat method instead.")]]
999  ASPOSE_WORDS_SHARED_API void Clear();
1000 
1002  ASPOSE_WORDS_SHARED_API void ClearFormat();
1003 
1004 protected:
1005 
1011  bool get_HasItems();
1012  bool get_HasItemWithNonDefaultFormatting();
1013  bool get_HasNonDefaultFormatting();
1015 
1017 
1022  bool HasNonDefaultItemFormatting(int32_t index);
1024  void NormalizeAfterLoad();
1025 
1026  virtual ASPOSE_WORDS_SHARED_API ~ChartDataLabelCollection();
1027 
1028 private:
1029 
1035 
1039  void FixNumberFormatInheritance(System::SharedPtr<Aspose::Words::Drawing::Charts::ChartDataLabel> label);
1040  void CollapsePropertiesExpandedForSaving(System::SharedPtr<Aspose::Words::Drawing::Charts::ChartDataLabel> label);
1041  void SetPropertiesWithVersionDependentDefaults();
1043  int32_t CountLabelsFrom(int32_t labelIndex);
1044 
1045 };
1046 
1047 }
1048 }
1049 }
1050 }