Aspose.Tasks for C++
RecurringInterval.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="RecurringInterval.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/object_ext.h>
9 #include <system/enum.h>
10 #include <cstdint>
11 
12 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
13 
14 namespace Aspose
15 {
16 namespace Tasks
17 {
18 namespace Visualization
19 {
20 enum class Interval;
21 class RecurringInterval;
22 } // namespace Visualization
23 } // namespace Tasks
24 } // namespace Aspose
25 namespace System
26 {
27 namespace Collections
28 {
29 namespace Generic
30 {
31 template <typename> class List;
32 } // namespace Generic
33 } // namespace Collections
34 } // namespace System
35 
36 namespace Aspose {
37 
38 namespace Tasks {
39 
40 namespace Visualization {
41 
42 /// <summary>
43 /// Represents recurring intervals used in progress lines of a Gantt Chart view.
44 /// </summary>
45 class ASPOSE_TASKS_SHARED_CLASS RecurringInterval : public System::Object
46 {
48  typedef System::Object BaseType;
49 
50  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
51  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
52 
53 public:
54 
55  /// <summary>
56  /// Represents a day type used in progress lines.
57  /// </summary>
58  enum class DayType
59  {
60  /// <summary>
61  /// Indicates Sunday.
62  /// </summary>
63  Sunday = 1,
64  /// <summary>
65  /// Indicates Monday.
66  /// </summary>
67  Monday,
68  /// <summary>
69  /// Indicates Tuesday.
70  /// </summary>
71  Tuesday,
72  /// <summary>
73  /// Indicates Wednesday.
74  /// </summary>
75  Wednesday,
76  /// <summary>
77  /// Indicates Thursday.
78  /// </summary>
79  Thursday,
80  /// <summary>
81  /// Indicates Friday.
82  /// </summary>
83  Friday,
84  /// <summary>
85  /// Indicates Saturday.
86  /// </summary>
87  Saturday,
88  /// <summary>
89  /// Indicates Day.
90  /// </summary>
91  Day,
92  /// <summary>
93  /// Indicates Working day.
94  /// </summary>
95  Workday,
96  /// <summary>
97  /// Indicates Nonworking day.
98  /// </summary>
99  NonworkingDay
100  };
101 
102 
103 public:
104 
105  /// <summary>
106  /// Gets the recurring interval.
107  /// Can be any value of <see cref="Interval"></see> type.
108  /// </summary>
109  ASPOSE_TASKS_SHARED_API Aspose::Tasks::Visualization::Interval get_Interval() const;
110  /// <summary>
111  /// Sets the recurring interval.
112  /// Can be any value of <see cref="Interval"></see> type.
113  /// </summary>
114  ASPOSE_TASKS_SHARED_API void set_Interval(Aspose::Tasks::Visualization::Interval value);
115  /// <summary>
116  /// Gets the daily day number.
117  /// </summary>
118  ASPOSE_TASKS_SHARED_API int32_t get_DailyDayNumber() const;
119  /// <summary>
120  /// Sets the daily day number.
121  /// </summary>
122  ASPOSE_TASKS_SHARED_API void set_DailyDayNumber(int32_t value);
123  /// <summary>
124  /// Gets a value indicating whether a day is workday for daily progress lines.
125  /// </summary>
126  ASPOSE_TASKS_SHARED_API bool get_DailyWorkday() const;
127  /// <summary>
128  /// Sets a value indicating whether a day is workday for daily progress lines.
129  /// </summary>
130  ASPOSE_TASKS_SHARED_API void set_DailyWorkday(bool value);
131  /// <summary>
132  /// Gets the week number for weekly progress lines.
133  /// </summary>
134  ASPOSE_TASKS_SHARED_API int32_t get_WeeklyWeekNumber() const;
135  /// <summary>
136  /// Sets the week number for weekly progress lines.
137  /// </summary>
138  ASPOSE_TASKS_SHARED_API void set_WeeklyWeekNumber(int32_t value);
139  /// <summary>
140  /// Gets a value indicating whether to show monthly progress lines by day.
141  /// </summary>
142  ASPOSE_TASKS_SHARED_API bool get_MonthlyDay() const;
143  /// <summary>
144  /// Sets a value indicating whether to show monthly progress lines by day.
145  /// </summary>
146  ASPOSE_TASKS_SHARED_API void set_MonthlyDay(bool value);
147  /// <summary>
148  /// Gets the day number of monthly progress lines.
149  /// </summary>
150  ASPOSE_TASKS_SHARED_API int32_t get_MonthlyDayDayNumber() const;
151  /// <summary>
152  /// Sets the day number of monthly progress lines.
153  /// </summary>
154  ASPOSE_TASKS_SHARED_API void set_MonthlyDayDayNumber(int32_t value);
155  /// <summary>
156  /// Gets the month number of monthly progress lines.
157  /// </summary>
158  ASPOSE_TASKS_SHARED_API int32_t get_MonthlyDayMonthNumber() const;
159  /// <summary>
160  /// Sets the month number of monthly progress lines.
161  /// </summary>
162  ASPOSE_TASKS_SHARED_API void set_MonthlyDayMonthNumber(int32_t value);
163  /// <summary>
164  /// Gets a value indicating whether to show progress lines by first or last predefined day.
165  /// </summary>
166  ASPOSE_TASKS_SHARED_API bool get_MonthlyFirstLast() const;
167  /// <summary>
168  /// Sets a value indicating whether to show progress lines by first or last predefined day.
169  /// </summary>
170  ASPOSE_TASKS_SHARED_API void set_MonthlyFirstLast(bool value);
171  /// <summary>
172  /// Gets the month number of progress lines, which are shown by first or last predefined day.
173  /// </summary>
174  ASPOSE_TASKS_SHARED_API int32_t get_MonthlyFirstLastMonthNumber() const;
175  /// <summary>
176  /// Sets the month number of progress lines, which are shown by first or last predefined day.
177  /// </summary>
178  ASPOSE_TASKS_SHARED_API void set_MonthlyFirstLastMonthNumber(int32_t value);
179  /// <summary>
180  /// Gets the first or the last day type of monthly progress lines.
181  /// </summary>
182  ASPOSE_TASKS_SHARED_API RecurringInterval::DayType get_MonthlyFirstLastDay() const;
183  /// <summary>
184  /// Sets the first or the last day type of monthly progress lines.
185  /// </summary>
186  ASPOSE_TASKS_SHARED_API void set_MonthlyFirstLastDay(RecurringInterval::DayType value);
187  /// <summary>
188  /// Gets a list of days for weekly progress lines.
189  /// </summary>
190  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<RecurringInterval::DayType>> get_WeeklyDays() const;
191 
192  ASPOSE_TASKS_SHARED_API RecurringInterval();
193 
194 protected:
195 
196  #ifdef ASPOSE_GET_SHARED_MEMBERS
197  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
198  #endif
199 
200 
201 private:
202 
203  System::SharedPtr<System::Collections::Generic::List<RecurringInterval::DayType>> weeklyDays;
204  Aspose::Tasks::Visualization::Interval pr_Interval;
205  int32_t pr_DailyDayNumber;
206  bool pr_DailyWorkday;
207  int32_t pr_WeeklyWeekNumber;
208  bool pr_MonthlyDay;
209  int32_t pr_MonthlyDayDayNumber;
210  int32_t pr_MonthlyDayMonthNumber;
211  bool pr_MonthlyFirstLast;
212  int32_t pr_MonthlyFirstLastMonthNumber;
213  RecurringInterval::DayType pr_MonthlyFirstLastDay;
214 
215 };
216 
217 } // namespace Visualization
218 } // namespace Tasks
219 } // namespace Aspose
220 
221 template<>
222 struct EnumMetaInfo<Aspose::Tasks::Visualization::RecurringInterval::DayType>
223 {
224  static const ASPOSE_TASKS_SHARED_API std::array<std::pair<Aspose::Tasks::Visualization::RecurringInterval::DayType, const char_t*>, 10>& values();
225 };
226 
227 
228 
Represents recurring intervals used in progress lines of a Gantt Chart view.
Definition: RecurringInterval.h:46
bool get_MonthlyDay() const
Gets a value indicating whether to show monthly progress lines by day.
DayType
Represents a day type used in progress lines.
Definition: RecurringInterval.h:59
System::SharedPtr< System::Collections::Generic::List< RecurringInterval::DayType > > get_WeeklyDays() const
Gets a list of days for weekly progress lines.
void set_MonthlyDayMonthNumber(int32_t value)
Sets the month number of monthly progress lines.
void set_MonthlyDayDayNumber(int32_t value)
Sets the day number of monthly progress lines.
void set_Interval(Aspose::Tasks::Visualization::Interval value)
Sets the recurring interval. Can be any value of Interval type.
void set_MonthlyFirstLastDay(RecurringInterval::DayType value)
Sets the first or the last day type of monthly progress lines.
bool get_MonthlyFirstLast() const
Gets a value indicating whether to show progress lines by first or last predefined day.
void set_DailyDayNumber(int32_t value)
Sets the daily day number.
int32_t get_WeeklyWeekNumber() const
Gets the week number for weekly progress lines.
bool get_DailyWorkday() const
Gets a value indicating whether a day is workday for daily progress lines.
void set_MonthlyFirstLastMonthNumber(int32_t value)
Sets the month number of progress lines, which are shown by first or last predefined day.
int32_t get_MonthlyDayDayNumber() const
Gets the day number of monthly progress lines.
void set_DailyWorkday(bool value)
Sets a value indicating whether a day is workday for daily progress lines.
int32_t get_DailyDayNumber() const
Gets the daily day number.
void set_MonthlyDay(bool value)
Sets a value indicating whether to show monthly progress lines by day.
Aspose::Tasks::Visualization::Interval get_Interval() const
Gets the recurring interval. Can be any value of Interval type.
void set_MonthlyFirstLast(bool value)
Sets a value indicating whether to show progress lines by first or last predefined day.
int32_t get_MonthlyDayMonthNumber() const
Gets the month number of monthly progress lines.
int32_t get_MonthlyFirstLastMonthNumber() const
Gets the month number of progress lines, which are shown by first or last predefined day.
void set_WeeklyWeekNumber(int32_t value)
Sets the week number for weekly progress lines.
RecurringInterval::DayType get_MonthlyFirstLastDay() const
Gets the first or the last day type of monthly progress lines.
Definition: Asn.h:13