Aspose.Tasks for C++
OutlineCodeDefinition.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="OutlineCodeDefinition.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/string.h>
9 #include <system/collections/icomparer.h>
10 
11 #include "aspose.tasks.cpp/NullableBool.h"
12 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
13 
14 namespace Aspose
15 {
16 namespace Tasks
17 {
18 namespace Connectivity
19 {
20 class MpdOutlineCodeDefinitionMapper;
21 } // namespace Connectivity
22 class ExtendedAttributeDefinition;
23 namespace IO
24 {
25 namespace MSProject
26 {
27 class CustomFieldTypeReader;
28 class MPP12OutlineCodeDefinitionReader;
29 class MPP12Reader;
30 class MPP14OutlineCodeDefinitionReader;
31 class MPP14Reader;
32 class MPP9OutlineCodeDefinitionReader;
33 class MPP9OutlineCodeDefinitionWriter;
34 class MPPOutlineCodeDefinitionWriter;
35 } // namespace MSProject
36 namespace PrimaveraXml
37 {
38 class PrimaveraActivityCodeValueNodeReader;
39 } // namespace PrimaveraXml
40 namespace Pwa
41 {
42 namespace InternalApi
43 {
44 namespace Mapping
45 {
46 class ExtendedAttributeDefinitionMapper;
47 class ExtendedAttributeDefinitionToRawValuesMapper;
48 } // namespace Mapping
49 } // namespace InternalApi
50 } // namespace Pwa
51 namespace Xer
52 {
53 class PrimaveraExtendedAttributeLookupBuilder;
54 } // namespace Xer
55 namespace Xml
56 {
57 class ExtendedAttributeNodeReader;
58 class OutlineCodeDefinitionReader;
59 class OutlineCodeDefinitionXml;
60 class XmlReader;
61 class XmlWriter;
62 } // namespace Xml
63 } // namespace IO
64 class OutlineCode;
65 class OutlineCodesSynchronizer;
66 class OutlineMaskCollection;
67 class OutlineValueCollection;
68 class Project;
69 namespace Visualization
70 {
71 template <typename> class FieldToColumnText;
72 } // namespace Visualization
73 } // namespace Tasks
74 } // namespace Aspose
75 
76 namespace Aspose {
77 
78 namespace Tasks {
79 
80 /// <summary>
81 /// Represents an outline code definition.
82 /// </summary>
83 class ASPOSE_TASKS_SHARED_CLASS OutlineCodeDefinition : public System::Object
84 {
86  typedef System::Object BaseType;
87 
88  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
89  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
90 
91  friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraActivityCodeValueNodeReader;
92  friend class Aspose::Tasks::IO::Xer::PrimaveraExtendedAttributeLookupBuilder;
93  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ExtendedAttributeDefinitionToRawValuesMapper;
94  friend class Aspose::Tasks::Connectivity::MpdOutlineCodeDefinitionMapper;
95  friend class Aspose::Tasks::IO::MSProject::CustomFieldTypeReader;
96  friend class Aspose::Tasks::IO::MSProject::MPP12Reader;
97  friend class Aspose::Tasks::IO::MSProject::MPP14OutlineCodeDefinitionReader;
98  friend class Aspose::Tasks::IO::MSProject::MPP14Reader;
99  friend class Aspose::Tasks::IO::MSProject::MPPOutlineCodeDefinitionWriter;
100  friend class Aspose::Tasks::IO::MSProject::MPP9OutlineCodeDefinitionWriter;
101  friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::ExtendedAttributeDefinitionMapper;
102  friend class Aspose::Tasks::IO::Xml::ExtendedAttributeNodeReader;
103  friend class Aspose::Tasks::IO::Xml::OutlineCodeDefinitionReader;
104  friend class Aspose::Tasks::IO::Xml::OutlineCodeDefinitionXml;
105  friend class Aspose::Tasks::IO::Xml::XmlReader;
106  friend class Aspose::Tasks::IO::Xml::XmlWriter;
107  friend class Aspose::Tasks::OutlineCode;
108  friend class Aspose::Tasks::OutlineCodesSynchronizer;
109  template<typename FT0> friend class Aspose::Tasks::Visualization::FieldToColumnText;
110  friend class Aspose::Tasks::IO::MSProject::MPP9OutlineCodeDefinitionReader;
111  friend class Aspose::Tasks::IO::MSProject::MPP12OutlineCodeDefinitionReader;
112 
113 protected:
114 
115  class ASPOSE_TASKS_SHARED_CLASS OutlineCodeDefComparer : public System::Collections::Generic::IComparer<System::SharedPtr<Aspose::Tasks::OutlineCodeDefinition>>
116  {
117  typedef OutlineCodeDefComparer ThisType;
118  typedef System::Collections::Generic::IComparer<System::SharedPtr<Aspose::Tasks::OutlineCodeDefinition>> BaseType;
119 
120  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
121  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
122 
123  public:
124 
125  ASPOSE_TASKS_SHARED_API int32_t Compare(const System::SharedPtr<OutlineCodeDefinition>& x, const System::SharedPtr<OutlineCodeDefinition>& y) const override;
126 
127  };
128 
129 
130 public:
131 
132  /// <summary>
133  /// Gets the Guid of an outline code.
134  /// </summary>
135  ASPOSE_TASKS_SHARED_API System::String get_Guid() const;
136  /// <summary>
137  /// Sets the Guid of an outline code.
138  /// </summary>
139  ASPOSE_TASKS_SHARED_API void set_Guid(const System::String& value);
140  /// <summary>
141  /// Gets the field number of an outline code.
142  /// </summary>
143  ASPOSE_TASKS_SHARED_API System::String get_FieldId() const;
144  /// <summary>
145  /// Sets the field number of an outline code.
146  /// </summary>
147  ASPOSE_TASKS_SHARED_API void set_FieldId(const System::String& value);
148  /// <summary>
149  /// Gets the name of a custom outline code.
150  /// </summary>
151  ASPOSE_TASKS_SHARED_API System::String get_FieldName() const;
152  /// <summary>
153  /// Sets the name of a custom outline code.
154  /// </summary>
155  ASPOSE_TASKS_SHARED_API void set_FieldName(const System::String& value);
156  /// <summary>
157  /// Gets the alias of a custom outline code.
158  /// </summary>
159  ASPOSE_TASKS_SHARED_API System::String get_Alias() const;
160  /// <summary>
161  /// Sets the alias of a custom outline code.
162  /// </summary>
163  ASPOSE_TASKS_SHARED_API void set_Alias(const System::String& value);
164  /// <summary>
165  /// Gets the phonetic pronunciation of the alias of the custom outline code.
166  /// </summary>
167  ASPOSE_TASKS_SHARED_API System::String get_PhoneticAlias() const;
168  /// <summary>
169  /// Sets the phonetic pronunciation of the alias of the custom outline code.
170  /// </summary>
171  ASPOSE_TASKS_SHARED_API void set_PhoneticAlias(const System::String& value);
172  /// <summary>
173  /// Gets OutlineValueCollection object.
174  /// The values of the table associated with this outline code.
175  /// </summary>
176  ASPOSE_TASKS_SHARED_API System::SharedPtr<OutlineValueCollection> get_Values() const;
177  /// <summary>
178  /// Gets a value indicating whether a custom outline code is an enterprise custom outline code.
179  /// </summary>
180  ASPOSE_TASKS_SHARED_API bool get_Enterprise() const;
181  /// <summary>
182  /// Sets a value indicating whether a custom outline code is an enterprise custom outline code.
183  /// </summary>
184  ASPOSE_TASKS_SHARED_API void set_Enterprise(bool value);
185  /// <summary>
186  /// Gets a reference to another custom field for which this outline code definition is an alias.
187  /// </summary>
188  ASPOSE_TASKS_SHARED_API int32_t get_EnterpriseOutlineCodeAlias() const;
189  /// <summary>
190  /// Sets a reference to another custom field for which this outline code definition is an alias.
191  /// </summary>
192  ASPOSE_TASKS_SHARED_API void set_EnterpriseOutlineCodeAlias(int32_t value);
193  /// <summary>
194  /// Gets a value indicating whether the custom outline code can be used
195  /// by the Resource Substitution Wizard in Microsoft Project.
196  /// </summary>
197  ASPOSE_TASKS_SHARED_API bool get_ResourceSubstitutionEnabled() const;
198  /// <summary>
199  /// Sets a value indicating whether the custom outline code can be used
200  /// by the Resource Substitution Wizard in Microsoft Project.
201  /// </summary>
202  ASPOSE_TASKS_SHARED_API void set_ResourceSubstitutionEnabled(bool value);
203  /// <summary>
204  /// Gets a value indicating whether the values specified in this outline code field must be leaf values.
205  /// </summary>
206  ASPOSE_TASKS_SHARED_API bool get_LeafOnly() const;
207  /// <summary>
208  /// Sets a value indicating whether the values specified in this outline code field must be leaf values.
209  /// </summary>
210  ASPOSE_TASKS_SHARED_API void set_LeafOnly(bool value);
211  /// <summary>
212  /// Gets a value indicating whether the new codes must have all levels.
213  /// Not available for Enterprise Codes.
214  /// </summary>
215  ASPOSE_TASKS_SHARED_API bool get_AllLevelsRequired() const;
216  /// <summary>
217  /// Sets a value indicating whether the new codes must have all levels.
218  /// Not available for Enterprise Codes.
219  /// </summary>
220  ASPOSE_TASKS_SHARED_API void set_AllLevelsRequired(bool value);
221  /// <summary>
222  /// Gets a value indicating whether the values specified must come from values table.
223  /// </summary>
224  ASPOSE_TASKS_SHARED_API bool get_OnlyTableValuesAllowed() const;
225  /// <summary>
226  /// Sets a value indicating whether the values specified must come from values table.
227  /// </summary>
228  ASPOSE_TASKS_SHARED_API void set_OnlyTableValuesAllowed(bool value);
229  /// <summary>
230  /// Gets the OutlineMaskCollection object.
231  /// The table of entries that define the outline code mask.
232  /// Read-only <see cref="OutlineMaskCollection"></see> instance.
233  /// </summary>
234  ASPOSE_TASKS_SHARED_API const System::SharedPtr<OutlineMaskCollection>& get_Masks() const;
235  /// <summary>
236  /// Gets a value indicating whether the indents of this outline code must be shown.
237  /// </summary>
238  /// <remarks>This is new for MS Project 2010 property.
239  /// </remarks>
240  ASPOSE_TASKS_SHARED_API bool get_ShowIndent();
241  /// <summary>
242  /// Sets a value indicating whether the indents of this outline code must be shown.
243  /// </summary>
244  /// <remarks>This is new for MS Project 2010 property.
245  /// </remarks>
246  ASPOSE_TASKS_SHARED_API void set_ShowIndent(bool value);
247 
248  /// <summary>
249  /// Initializes a new instance of the <see cref="OutlineCodeDefinition"></see> class.
250  /// </summary>
251  ASPOSE_TASKS_SHARED_API OutlineCodeDefinition();
252 
253 protected:
254 
255  /// <summary>
256  /// Gets OutlineValueCollection object.
257  /// The values of the table associated with this outline code.
258  /// </summary>
259  ASPOSE_TASKS_SHARED_API void set_Values(const System::SharedPtr<OutlineValueCollection>& value);
260  /// <summary>
261  /// Gets the OutlineMaskCollection object.
262  /// The table of entries that define the outline code mask.
263  /// Read-only <see cref="OutlineMaskCollection"></see> instance.
264  /// </summary>
265  ASPOSE_TASKS_SHARED_API void set_Masks(const System::SharedPtr<OutlineMaskCollection>& value);
266  ASPOSE_TASKS_SHARED_API NullableBool get_NullableShowIndent() const;
267  ASPOSE_TASKS_SHARED_API void set_NullableShowIndent(NullableBool value);
268 
269  static ASPOSE_TASKS_SHARED_API void CopyFromOutlineCode(const System::SharedPtr<Project>& project, const System::SharedPtr<ExtendedAttributeDefinition>& attr);
270  ASPOSE_TASKS_SHARED_API System::String GetOutlineValuesDisplayText(int32_t valueId);
271  static ASPOSE_TASKS_SHARED_API void FixCostValues(const System::SharedPtr<Project>& project, const System::SharedPtr<ExtendedAttributeDefinition>& attr);
272  #ifdef ASPOSE_GET_SHARED_MEMBERS
273  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
274  #endif
275 
276 
277 private:
278 
279  System::SharedPtr<OutlineValueCollection> values;
280  NullableBool showIndent;
281  System::String pr_Guid;
282  System::String pr_FieldId;
283  System::String pr_FieldName;
284  System::String pr_Alias;
285  System::String pr_PhoneticAlias;
286  bool pr_Enterprise;
287  int32_t pr_EnterpriseOutlineCodeAlias;
288  bool pr_ResourceSubstitutionEnabled;
289  bool pr_LeafOnly;
290  bool pr_AllLevelsRequired;
291  bool pr_OnlyTableValuesAllowed;
292  System::SharedPtr<OutlineMaskCollection> pr_Masks;
293 
294  static System::SharedPtr<OutlineCodeDefinition> GetOutlineCode(const System::SharedPtr<Project>& project, const System::SharedPtr<ExtendedAttributeDefinition>& attr);
295 
296 };
297 
298 } // namespace Tasks
299 } // namespace Aspose
300 
301 
A class for boolean values with possibility to check whether the value was defined or not.
Definition: NullableBool.h:22
Represents an outline code definition.
Definition: OutlineCodeDefinition.h:84
bool get_ResourceSubstitutionEnabled() const
Gets a value indicating whether the custom outline code can be used by the Resource Substitution Wiza...
void set_FieldId(const System::String &value)
Sets the field number of an outline code.
System::SharedPtr< OutlineValueCollection > get_Values() const
Gets OutlineValueCollection object. The values of the table associated with this outline code.
System::String get_Alias() const
Gets the alias of a custom outline code.
void set_Guid(const System::String &value)
Sets the Guid of an outline code.
bool get_Enterprise() const
Gets a value indicating whether a custom outline code is an enterprise custom outline code.
int32_t get_EnterpriseOutlineCodeAlias() const
Gets a reference to another custom field for which this outline code definition is an alias.
void set_PhoneticAlias(const System::String &value)
Sets the phonetic pronunciation of the alias of the custom outline code.
void set_LeafOnly(bool value)
Sets a value indicating whether the values specified in this outline code field must be leaf values.
System::String get_FieldName() const
Gets the name of a custom outline code.
void set_AllLevelsRequired(bool value)
Sets a value indicating whether the new codes must have all levels. Not available for Enterprise Code...
bool get_OnlyTableValuesAllowed() const
Gets a value indicating whether the values specified must come from values table.
void set_EnterpriseOutlineCodeAlias(int32_t value)
Sets a reference to another custom field for which this outline code definition is an alias.
bool get_AllLevelsRequired() const
Gets a value indicating whether the new codes must have all levels. Not available for Enterprise Code...
void set_ResourceSubstitutionEnabled(bool value)
Sets a value indicating whether the custom outline code can be used by the Resource Substitution Wiza...
const System::SharedPtr< OutlineMaskCollection > & get_Masks() const
Gets the OutlineMaskCollection object. The table of entries that define the outline code mask....
System::String get_PhoneticAlias() const
Gets the phonetic pronunciation of the alias of the custom outline code.
bool get_LeafOnly() const
Gets a value indicating whether the values specified in this outline code field must be leaf values.
void set_ShowIndent(bool value)
Sets a value indicating whether the indents of this outline code must be shown.
OutlineCodeDefinition()
Initializes a new instance of the OutlineCodeDefinition class.
void set_Enterprise(bool value)
Sets a value indicating whether a custom outline code is an enterprise custom outline code.
bool get_ShowIndent()
Gets a value indicating whether the indents of this outline code must be shown.
void set_Alias(const System::String &value)
Sets the alias of a custom outline code.
void set_FieldName(const System::String &value)
Sets the name of a custom outline code.
System::String get_FieldId() const
Gets the field number of an outline code.
System::String get_Guid() const
Gets the Guid of an outline code.
void set_OnlyTableValuesAllowed(bool value)
Sets a value indicating whether the values specified must come from values table.
Represents a value of an outline code.
Definition: OutlineCode.h:35
Definition: Asn.h:13