Aspose.Tasks for C++
WBSCodeDefinition.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="WBSCodeDefinition.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 <cstdint>
10 
11 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
12 
13 namespace Aspose
14 {
15 namespace Tasks
16 {
17 namespace IO
18 {
19 namespace Html
20 {
21 class HtmlWbsCodeMasksTableReader;
22 } // namespace Html
23 namespace MSProject
24 {
25 class WBSCodeDefinitionReader;
26 namespace Writers
27 {
28 class WBSCodeDefinitionWriter;
29 } // namespace Writers
30 } // namespace MSProject
31 namespace Xml
32 {
33 class WBSCodeDefinitionNodeReader;
34 class WBSCodeDefinitionNodeWriter;
35 } // namespace Xml
36 } // namespace IO
37 namespace Saving
38 {
39 class HtmlWbsCodeMasksTable;
40 } // namespace Saving
41 class Task;
42 class TaskWbs;
43 class WbsCalculator;
44 class WBSCodeMaskCollection;
45 } // namespace Tasks
46 } // namespace Aspose
47 
48 namespace Aspose {
49 
50 namespace Tasks {
51 
52 /// <summary>
53 /// Represents a WBS Code Definition.
54 /// </summary>
55 class ASPOSE_TASKS_SHARED_CLASS WBSCodeDefinition : public System::Object
56 {
58  typedef System::Object BaseType;
59 
60  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
61  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
62 
63  friend class Aspose::Tasks::IO::Html::HtmlWbsCodeMasksTableReader;
64  friend class Aspose::Tasks::IO::MSProject::WBSCodeDefinitionReader;
65  friend class Aspose::Tasks::IO::MSProject::Writers::WBSCodeDefinitionWriter;
66  friend class Aspose::Tasks::IO::Xml::WBSCodeDefinitionNodeReader;
67  friend class Aspose::Tasks::IO::Xml::WBSCodeDefinitionNodeWriter;
68  friend class Aspose::Tasks::WbsCalculator;
69  friend class Aspose::Tasks::Saving::HtmlWbsCodeMasksTable;
70 
71 private:
72 
73  class WbsItem : public System::Object
74  {
75  typedef WbsItem ThisType;
76  typedef System::Object BaseType;
77 
78  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
79  RTTI_INFO_DECL();
80 
81  public:
82 
83  System::String get_WbsLevel() const;
84  void set_WbsLevel(const System::String& value);
85  int32_t get_OutlineLevel() const;
86  void set_OutlineLevel(int32_t value);
87 
88  WbsItem();
89 
90  private:
91 
92  System::String pr_WbsLevel;
93  int32_t pr_OutlineLevel;
94 
95  };
96 
97 
98 public:
99 
100  /// <summary>
101  /// Gets the project code prefix.
102  /// </summary>
103  ASPOSE_TASKS_SHARED_API System::String get_CodePrefix() const;
104  /// <summary>
105  /// Sets the project code prefix.
106  /// </summary>
107  ASPOSE_TASKS_SHARED_API void set_CodePrefix(const System::String& value);
108  /// <summary>
109  /// Gets a value indicating whether to generate WBS code for new task.
110  /// </summary>
111  ASPOSE_TASKS_SHARED_API bool get_GenerateWBSCode() const;
112  /// <summary>
113  /// Sets a value indicating whether to generate WBS code for new task.
114  /// </summary>
115  ASPOSE_TASKS_SHARED_API void set_GenerateWBSCode(bool value);
116  /// <summary>
117  /// Gets a value indicating whether to verify uniqueness of new WBS codes.
118  /// </summary>
119  ASPOSE_TASKS_SHARED_API bool get_VerifyUniqueness() const;
120  /// <summary>
121  /// Sets a value indicating whether to verify uniqueness of new WBS codes.
122  /// </summary>
123  ASPOSE_TASKS_SHARED_API void set_VerifyUniqueness(bool value);
124  /// <summary>
125  /// Gets the collection of WBSCodeMask objects.
126  /// </summary>
127  ASPOSE_TASKS_SHARED_API const System::SharedPtr<WBSCodeMaskCollection>& get_CodeMaskCollection() const;
128 
129  /// <summary>Initializes a new instance of the <see cref="WBSCodeDefinition"></see> class.</summary>
130  ASPOSE_TASKS_SHARED_API WBSCodeDefinition();
131 
132 protected:
133 
134  /// <summary>
135  /// Gets the collection of WBSCodeMask objects.
136  /// </summary>
137  ASPOSE_TASKS_SHARED_API void set_CodeMaskCollection(const System::SharedPtr<WBSCodeMaskCollection>& value);
138 
139  ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskWbs> GenerateWbsByOutlineNumber(const System::String& outlineNumber);
140  ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskWbs> GenerateWbsByLevel(const System::SharedPtr<Task>& task);
141  #ifdef ASPOSE_GET_SHARED_MEMBERS
142  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
143  #endif
144 
145 
146 private:
147 
148  System::String pr_CodePrefix;
149  bool pr_GenerateWBSCode;
150  bool pr_VerifyUniqueness;
151  System::SharedPtr<WBSCodeMaskCollection> pr_CodeMaskCollection;
152 
153 };
154 
155 } // namespace Tasks
156 } // namespace Aspose
157 
158 
Represents a WBS Code Definition.
Definition: WBSCodeDefinition.h:56
void set_GenerateWBSCode(bool value)
Sets a value indicating whether to generate WBS code for new task.
const System::SharedPtr< WBSCodeMaskCollection > & get_CodeMaskCollection() const
Gets the collection of WBSCodeMask objects.
void set_CodePrefix(const System::String &value)
Sets the project code prefix.
System::String get_CodePrefix() const
Gets the project code prefix.
void set_VerifyUniqueness(bool value)
Sets a value indicating whether to verify uniqueness of new WBS codes.
WBSCodeDefinition()
Initializes a new instance of the WBSCodeDefinition class.
bool get_VerifyUniqueness() const
Gets a value indicating whether to verify uniqueness of new WBS codes.
bool get_GenerateWBSCode() const
Gets a value indicating whether to generate WBS code for new task.
Definition: Asn.h:13