search/mag_sel search/close
ConditionalStyleCollection.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/shared_ptr.h>
12 #include <system/collections/ienumerator.h>
13 #include <system/collections/ienumerable.h>
14 #include <cstdint>
15 
16 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
17 
18 namespace System { namespace Collections { namespace Generic { template <typename> class ICollection; } } }
19 namespace Aspose { namespace Collections { template <typename> class IntToObjDictionary; } }
20 namespace Aspose { namespace Words { class ConditionalStyle; } }
21 namespace Aspose { namespace Words { namespace Themes { class ThemeColorUpdater; } } }
22 namespace Aspose { namespace Words { namespace Validation { class DuplicateStyleRemover; } } }
23 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class TablePrReader; } } } } }
24 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class ParaPrWriter; } } } } }
25 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class RunPrWriter; } } } } }
26 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class TablePrWriter; } } } } }
27 namespace Aspose { namespace Words { class TableStyle; } }
28 namespace Aspose { namespace Words { class Style; } }
29 namespace Aspose { namespace Words { namespace Tables { class TableFormattingExpander; } } }
30 namespace Aspose { namespace Words { namespace Validation { class RunPrCollectorBase; } } }
31 namespace Aspose { namespace Words { namespace RW { namespace Doc { class TableFontLookup; } } } }
32 namespace Aspose { namespace Words { class StyleCollection; } }
33 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxStylesWriter; } } } } }
34 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfStylesheetWriter; } } } } }
35 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfWriter; } } } } }
36 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlWriter; } } } } }
37 namespace Aspose { namespace Words { enum class TableStyleOverrideType; } }
38 namespace Aspose { namespace Words { enum class ConditionalStyleType; } }
39 
40 namespace Aspose {
41 
42 namespace Words {
43 
116 class ASPOSE_WORDS_SHARED_CLASS ConditionalStyleCollection final : public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Words::ConditionalStyle>>
117 {
120 
121  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
122  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
123 
124  friend class Aspose::Words::Themes::ThemeColorUpdater;
125  friend class Aspose::Words::Validation::DuplicateStyleRemover;
126  friend class Aspose::Words::RW::Doc::Reader::TablePrReader;
127  friend class Aspose::Words::RW::Doc::Writer::ParaPrWriter;
128  friend class Aspose::Words::RW::Doc::Writer::RunPrWriter;
129  friend class Aspose::Words::RW::Doc::Writer::TablePrWriter;
130  friend class Aspose::Words::TableStyle;
131  friend class Aspose::Words::Style;
132  friend class Aspose::Words::ConditionalStyle;
133  friend class Aspose::Words::Tables::TableFormattingExpander;
134  friend class Aspose::Words::Validation::RunPrCollectorBase;
135  friend class Aspose::Words::RW::Doc::TableFontLookup;
136  friend class Aspose::Words::StyleCollection;
137  friend class Aspose::Words::RW::Docx::Writer::DocxStylesWriter;
138  friend class Aspose::Words::RW::Rtf::Writer::RtfStylesheetWriter;
139  friend class Aspose::Words::RW::Rtf::Writer::RtfWriter;
140  friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
141 
142 private:
143 
144  class ConditionalStylesEnumerator final : public System::Collections::Generic::IEnumerator<System::SharedPtr<Aspose::Words::ConditionalStyle>>
145  {
146  typedef ConditionalStylesEnumerator ThisType;
148 
149  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
150  RTTI_INFO_DECL();
151 
152  public:
153 
154  System::SharedPtr<Aspose::Words::ConditionalStyle> get_Current() const override;
155 
156  ConditionalStylesEnumerator(System::SharedPtr<Aspose::Words::ConditionalStyleCollection> collection);
157 
158  void Dispose() override;
159  bool MoveNext() override;
160  void Reset() override;
161 
162  private:
163 
165  int32_t mIndex;
166 
167  };
168 
169 public:
170 
243  ASPOSE_WORDS_SHARED_API int32_t get_Count() const;
244 
318 
392 
466 
540 
614 
688 
762 
836 
910 
984 
1058 
1132 
1174  ASPOSE_WORDS_SHARED_API void ClearFormatting();
1175 
1249 
1323 
1398  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::ConditionalStyle> idx_get(int32_t index);
1399 
1400 protected:
1401 
1403 
1405 
1406  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ConditionalStyleCollection, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::TableStyle> parentStyle));
1407  void Add(System::SharedPtr<Aspose::Words::ConditionalStyle> conditionalStyle);
1408  void Clear();
1409  bool ContainsTableStyleOverride(Aspose::Words::TableStyleOverrideType type);
1410  bool ContainsConditionalStyle(Aspose::Words::ConditionalStyleType type);
1411 
1412  System::SharedPtr<Aspose::Words::ConditionalStyle> idx_get(Aspose::Words::TableStyleOverrideType overrideType);
1413 
1414  virtual ASPOSE_WORDS_SHARED_API ~ConditionalStyleCollection();
1415 
1416 private:
1417 
1420 
1421  static int32_t& gCount();
1422  static Aspose::Words::TableStyleOverrideType ConditionalStyleTypeToOverrideType(Aspose::Words::ConditionalStyleType value);
1423 
1424 };
1425 
1426 }
1427 }