Aspose.Tasks for C++
TimelineView.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="TimelineView.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/array.h>
9 #include <cstdint>
10 
11 #include "aspose.tasks.cpp/View.h"
12 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
13 
14 namespace Aspose
15 {
16 namespace Tasks
17 {
18 enum class DateFormat;
19 namespace IO
20 {
21 namespace MSProject
22 {
23 class MPPReader;
24 class MPPViewReader;
25 class TimelineViewBase;
26 class TimelineViewReader;
27 class TimelineViewWriter;
28 } // namespace MSProject
29 } // namespace IO
30 class View;
31 } // namespace Tasks
32 } // namespace Aspose
33 namespace System
34 {
35 namespace Collections
36 {
37 namespace Generic
38 {
39 template <typename> class List;
40 } // namespace Generic
41 } // namespace Collections
42 } // namespace System
43 
44 namespace Aspose {
45 
46 namespace Tasks {
47 
48 /// <summary>
49 /// Represents a timeline view of a project.
50 /// </summary>
51 class ASPOSE_TASKS_SHARED_CLASS TimelineView : public Aspose::Tasks::View
52 {
53  typedef TimelineView ThisType;
55 
56  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
57  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
58 
59  friend class Aspose::Tasks::IO::MSProject::MPPReader;
60  friend class Aspose::Tasks::IO::MSProject::MPPViewReader;
61  friend class Aspose::Tasks::IO::MSProject::TimelineViewReader;
62  friend class Aspose::Tasks::IO::MSProject::TimelineViewBase;
63  friend class Aspose::Tasks::IO::MSProject::TimelineViewWriter;
64 
65 protected:
66 
67  class ASPOSE_TASKS_SHARED_CLASS TimelineTask : public System::Object
68  {
69  typedef TimelineTask ThisType;
70  typedef System::Object BaseType;
71 
72  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
73  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
74 
75  public:
76 
77  ASPOSE_TASKS_SHARED_API System::String get_Guid() const;
78  ASPOSE_TASKS_SHARED_API void set_Guid(const System::String& value);
79  ASPOSE_TASKS_SHARED_API bool get_OnTimeline() const;
80  ASPOSE_TASKS_SHARED_API void set_OnTimeline(bool value);
81  ASPOSE_TASKS_SHARED_API int32_t get_Uid() const;
82  ASPOSE_TASKS_SHARED_API void set_Uid(int32_t value);
83 
84  ASPOSE_TASKS_SHARED_API TimelineTask();
85 
86  private:
87 
88  System::String pr_Guid;
89  bool pr_OnTimeline;
90  int32_t pr_Uid;
91 
92  };
93 
94 
95 public:
96 
97  /// <summary>
98  /// Gets a value indicating how to format dates on the Timeline view.
99  /// </summary>
100  ASPOSE_TASKS_SHARED_API Aspose::Tasks::DateFormat get_DateFormat() const;
101  /// <summary>
102  /// Sets a value indicating how to format dates on the Timeline view.
103  /// </summary>
104  ASPOSE_TASKS_SHARED_API void set_DateFormat(Aspose::Tasks::DateFormat value);
105  /// <summary>
106  /// Gets a value indicating whether to display overlapped tasks on multiple rows.
107  /// </summary>
108  ASPOSE_TASKS_SHARED_API bool get_DisplayOverlapped() const;
109  /// <summary>
110  /// Sets a value indicating whether to display overlapped tasks on multiple rows.
111  /// </summary>
112  ASPOSE_TASKS_SHARED_API void set_DisplayOverlapped(bool value);
113  /// <summary>
114  /// Gets a value indicating whether to show dates.
115  /// </summary>
116  ASPOSE_TASKS_SHARED_API bool get_ShowDates() const;
117  /// <summary>
118  /// Gets a value indicating whether to show pan and zoom control.
119  /// </summary>
120  ASPOSE_TASKS_SHARED_API bool get_ShowPanZoom() const;
121  /// <summary>
122  /// Sets a value indicating whether to show pan and zoom control.
123  /// </summary>
124  ASPOSE_TASKS_SHARED_API void set_ShowPanZoom(bool value);
125  /// <summary>
126  /// Gets a value indicating whether to show timescale.
127  /// </summary>
128  ASPOSE_TASKS_SHARED_API bool get_ShowTimescale() const;
129  /// <summary>
130  /// Sets a value indicating whether to show timescale.
131  /// </summary>
132  ASPOSE_TASKS_SHARED_API void set_ShowTimescale(bool value);
133  /// <summary>
134  /// Gets a value indicating whether to display a line representing today.
135  /// </summary>
136  ASPOSE_TASKS_SHARED_API bool get_ShowToday() const;
137  /// <summary>
138  /// Sets a value indicating whether to display a line representing today.
139  /// </summary>
140  ASPOSE_TASKS_SHARED_API void set_ShowToday(bool value);
141  /// <summary>
142  /// Gets a value indicating how many lines are used to display task in a timeline.
143  /// </summary>
144  ASPOSE_TASKS_SHARED_API int32_t get_TextLinesCount() const;
145  /// <summary>
146  /// Sets a value indicating how many lines are used to display task in a timeline.
147  /// </summary>
148  ASPOSE_TASKS_SHARED_API void set_TextLinesCount(int32_t value);
149 
150  /// <summary>
151  /// Initializes a new instance of the <see cref="TimelineView"></see> class.
152  /// </summary>
153  ASPOSE_TASKS_SHARED_API TimelineView();
154 
155 protected:
156 
157  /// <summary>
158  /// Gets a value indicating whether to show dates.
159  /// </summary>
160  ASPOSE_TASKS_SHARED_API void set_ShowDates(bool value);
161  ASPOSE_TASKS_SHARED_API const System::ArrayPtr<uint8_t>& get_OriginalData() const;
162  ASPOSE_TASKS_SHARED_API void set_OriginalData(const System::ArrayPtr<uint8_t>& value);
163  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimelineView::TimelineTask>>> get_Tasks() const;
164 
165  ASPOSE_TASKS_SHARED_API TimelineView(int32_t uid);
166 
167  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(TimelineView, CODEPORTING_ARGS(int32_t uid));
168  #ifdef ASPOSE_GET_SHARED_MEMBERS
169  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
170  #endif
171 
172 
173 private:
174 
175  System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TimelineView::TimelineTask>>> tasks;
176  Aspose::Tasks::DateFormat pr_DateFormat;
177  bool pr_DisplayOverlapped;
178  bool pr_ShowDates;
179  bool pr_ShowPanZoom;
180  bool pr_ShowTimescale;
181  bool pr_ShowToday;
182  int32_t pr_TextLinesCount;
183  System::ArrayPtr<uint8_t> pr_OriginalData;
184 
185 };
186 
187 } // namespace Tasks
188 } // namespace Aspose
189 
190 
Represents a timeline view of a project.
Definition: TimelineView.h:51
Represents a view in Project.
Definition: View.h:99