Revert "[NUI] Remove APIs which have been deprecated in API7"
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / UIComponents / ProgressBar.cs
1 /*
2  * Copyright(c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 using System;
18 using System.ComponentModel;
19 using System.Runtime.InteropServices;
20 using Tizen.NUI.BaseComponents;
21 using Tizen.NUI.Binding;
22
23 namespace Tizen.NUI.UIComponents
24 {
25     /// <summary>
26     /// The ProgressBar is a control to give the user an indication of the progress of an operation.
27     /// </summary>
28     /// <since_tizen> 3 </since_tizen>
29     /// This will be deprecated
30     [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
31     [EditorBrowsable(EditorBrowsableState.Never)]
32     public class ProgressBar : View
33     {
34         /// This will be deprecated
35         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
36         [EditorBrowsable(EditorBrowsableState.Never)]
37         public static readonly BindableProperty ProgressValueProperty = BindableProperty.Create(nameof(ProgressValue), typeof(float), typeof(ProgressBar), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
38         {
39             var progressBar = (ProgressBar)bindable;
40             if (newValue != null)
41             {
42                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.ProgressValue, new Tizen.NUI.PropertyValue((float)newValue));
43             }
44         }),
45         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
46         {
47             var progressBar = (ProgressBar)bindable;
48             float temp = 0.0f;
49             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.ProgressValue).Get(out temp);
50             return temp;
51         }));
52         /// This will be deprecated
53         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
54         [EditorBrowsable(EditorBrowsableState.Never)]
55         public static readonly BindableProperty SecondaryProgressValueProperty = BindableProperty.Create(nameof(SecondaryProgressValue), typeof(float), typeof(ProgressBar), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
56         {
57             var progressBar = (ProgressBar)bindable;
58             if (newValue != null)
59             {
60                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.SecondaryProgressValue, new Tizen.NUI.PropertyValue((float)newValue));
61             }
62         }),
63         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
64         {
65             var progressBar = (ProgressBar)bindable;
66             float temp = 0.0f;
67             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.SecondaryProgressValue).Get(out temp);
68             return temp;
69         }));
70         /// This will be deprecated
71         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
72         [EditorBrowsable(EditorBrowsableState.Never)]
73         public static readonly BindableProperty IndeterminateProperty = BindableProperty.Create(nameof(Indeterminate), typeof(bool), typeof(ProgressBar), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
74         {
75             var progressBar = (ProgressBar)bindable;
76             if (newValue != null)
77             {
78                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.INDETERMINATE, new Tizen.NUI.PropertyValue((bool)newValue));
79             }
80         }),
81         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
82         {
83             var progressBar = (ProgressBar)bindable;
84             bool temp = false;
85             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.INDETERMINATE).Get(out temp);
86             return temp;
87         }));
88         /// This will be deprecated
89         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
90         [EditorBrowsable(EditorBrowsableState.Never)]
91         public static readonly BindableProperty TrackVisualProperty = BindableProperty.Create(nameof(TrackVisual), typeof(PropertyMap), typeof(ProgressBar), new PropertyMap(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
92         {
93             var progressBar = (ProgressBar)bindable;
94             if (newValue != null)
95             {
96                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.TrackVisual, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
97             }
98         }),
99         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
100         {
101             var progressBar = (ProgressBar)bindable;
102             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
103             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.TrackVisual).Get(temp);
104             return temp;
105         }));
106         /// This will be deprecated
107         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
108         [EditorBrowsable(EditorBrowsableState.Never)]
109         public static readonly BindableProperty ProgressVisualProperty = BindableProperty.Create(nameof(ProgressVisual), typeof(PropertyMap), typeof(ProgressBar), new PropertyMap(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
110         {
111             var progressBar = (ProgressBar)bindable;
112             if (newValue != null)
113             {
114                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.ProgressVisual, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
115             }
116         }),
117         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
118         {
119             var progressBar = (ProgressBar)bindable;
120             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
121             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.ProgressVisual).Get(temp);
122             return temp;
123         }));
124         /// This will be deprecated
125         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
126         [EditorBrowsable(EditorBrowsableState.Never)]
127         public static readonly BindableProperty SecondaryProgressVisualProperty = BindableProperty.Create(nameof(SecondaryProgressVisual), typeof(PropertyMap), typeof(ProgressBar), new PropertyMap(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
128         {
129             var progressBar = (ProgressBar)bindable;
130             if (newValue != null)
131             {
132                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.SecondaryProgressVisual, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
133             }
134         }),
135         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
136         {
137             var progressBar = (ProgressBar)bindable;
138             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
139             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.SecondaryProgressVisual).Get(temp);
140             return temp;
141         }));
142         /// This will be deprecated
143         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
144         [EditorBrowsable(EditorBrowsableState.Never)]
145         public static readonly BindableProperty IndeterminateVisualProperty = BindableProperty.Create(nameof(IndeterminateVisual), typeof(PropertyMap), typeof(ProgressBar), new PropertyMap(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
146         {
147             var progressBar = (ProgressBar)bindable;
148             if (newValue != null)
149             {
150                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.IndeterminateVisual, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
151             }
152         }),
153         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
154         {
155             var progressBar = (ProgressBar)bindable;
156             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
157             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.IndeterminateVisual).Get(temp);
158             return temp;
159         }));
160         /// This will be deprecated
161         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
162         [EditorBrowsable(EditorBrowsableState.Never)]
163         public static readonly BindableProperty IndeterminateVisualAnimationProperty = BindableProperty.Create(nameof(IndeterminateVisualAnimation), typeof(PropertyArray), typeof(ProgressBar), new PropertyArray(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
164         {
165             var progressBar = (ProgressBar)bindable;
166             if (newValue != null)
167             {
168                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.IndeterminateVisualAnimation, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
169             }
170         }),
171         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
172         {
173             var progressBar = (ProgressBar)bindable;
174             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
175             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.IndeterminateVisualAnimation).Get(temp);
176             return temp;
177         }));
178         /// This will be deprecated
179         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
180         [EditorBrowsable(EditorBrowsableState.Never)]
181         public static readonly BindableProperty LabelVisualProperty = BindableProperty.Create(nameof(LabelVisual), typeof(PropertyMap), typeof(ProgressBar), new PropertyMap(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
182         {
183             var progressBar = (ProgressBar)bindable;
184             if (newValue != null)
185             {
186                 Tizen.NUI.Object.SetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.LabelVisual, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
187             }
188         }),
189         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
190         {
191             var progressBar = (ProgressBar)bindable;
192             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
193             Tizen.NUI.Object.GetProperty((HandleRef)progressBar.SwigCPtr, ProgressBar.Property.LabelVisual).Get(temp);
194             return temp;
195         }));
196
197         private EventHandler<ValueChangedEventArgs> _progressBarValueChangedEventHandler;
198         private ValueChangedCallbackDelegate _progressBarValueChangedCallbackDelegate;
199
200         /// <summary>
201         /// Creates the ProgressBar.
202         /// </summary>
203         /// <since_tizen> 3 </since_tizen>
204         /// This will be deprecated
205         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
206         [EditorBrowsable(EditorBrowsableState.Never)]
207         public ProgressBar() : this(Interop.ProgressBar.New(), true)
208         {
209             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
210
211         }
212
213         internal ProgressBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
214         {
215         }
216
217         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
218         private delegate void ValueChangedCallbackDelegate(IntPtr progressBar, float progressValue, float secondaryProgressValue);
219
220         /// <summary>
221         /// The event is sent when the ProgressBar value changes.
222         /// </summary>
223         /// <since_tizen> 3 </since_tizen>
224         /// This will be deprecated
225         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
226         [EditorBrowsable(EditorBrowsableState.Never)]
227         public event EventHandler<ValueChangedEventArgs> ValueChanged
228         {
229             add
230             {
231                 if (_progressBarValueChangedEventHandler == null)
232                 {
233                     _progressBarValueChangedCallbackDelegate = (OnValueChanged);
234                     ProgressBarValueChangedSignal valueChanged = ValueChangedSignal();
235                     valueChanged?.Connect(_progressBarValueChangedCallbackDelegate);
236                     valueChanged?.Dispose();
237                 }
238                 _progressBarValueChangedEventHandler += value;
239             }
240             remove
241             {
242                 _progressBarValueChangedEventHandler -= value;
243                 ProgressBarValueChangedSignal valueChanged = ValueChangedSignal();
244                 if (_progressBarValueChangedEventHandler == null && valueChanged.Empty() == false)
245                 {
246                     valueChanged?.Disconnect(_progressBarValueChangedCallbackDelegate);
247                 }
248                 valueChanged?.Dispose();
249             }
250         }
251
252         /// <summary>
253         /// The progress value of the progress bar, the progress runs from 0 to 1.<br />
254         /// If the value is set to 0, then the progress bar will be set to beginning.<br />
255         /// If the value is set to 1, then the progress bar will be set to end.<br />
256         /// Any value outside the range is ignored.<br />
257         /// </summary>
258         /// <since_tizen> 3 </since_tizen>
259         /// This will be deprecated
260         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
261         [EditorBrowsable(EditorBrowsableState.Never)]
262         public float ProgressValue
263         {
264             get
265             {
266                 return (float)GetValue(ProgressValueProperty);
267             }
268             set
269             {
270                 SetValue(ProgressValueProperty, value);
271             }
272         }
273
274         /// <summary>
275         /// The secondary progress value of the progress bar, the secondary progress runs from 0 to 1.<br />
276         /// Optional. If not supplied, the default is 0.<br />
277         /// If the value is set to 0, then the progress bar will be set secondary progress to beginning.<br />
278         /// If the value is set to 1, then the progress bar will be set secondary progress to end.<br />
279         /// Any value outside of the range is ignored.<br />
280         /// </summary>
281         /// <since_tizen> 3 </since_tizen>
282         /// This will be deprecated
283         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
284         [EditorBrowsable(EditorBrowsableState.Never)]
285         public float SecondaryProgressValue
286         {
287             get
288             {
289                 return (float)GetValue(SecondaryProgressValueProperty);
290             }
291             set
292             {
293                 SetValue(SecondaryProgressValueProperty, value);
294             }
295         }
296
297         /// <summary>
298         /// Sets the progress bar as \e indeterminate state.
299         /// </summary>
300         /// <since_tizen> 3 </since_tizen>
301         /// This will be deprecated
302         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
303         [EditorBrowsable(EditorBrowsableState.Never)]
304         public bool Indeterminate
305         {
306             get
307             {
308                 return (bool)GetValue(IndeterminateProperty);
309             }
310             set
311             {
312                 SetValue(IndeterminateProperty, value);
313             }
314         }
315
316         /// <summary>
317         /// The track visual value of progress bar, it's full progress area, and it's shown behind the PROGRESS_VISUAL.<br />
318         /// Optional. If not supplied, the default track visual will be shown.<br />
319         /// </summary>
320         /// <since_tizen> 3 </since_tizen>
321         /// This will be deprecated
322         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
323         [EditorBrowsable(EditorBrowsableState.Never)]
324         public Tizen.NUI.PropertyMap TrackVisual
325         {
326             get
327             {
328                 return (PropertyMap)GetValue(TrackVisualProperty);
329             }
330             set
331             {
332                 SetValue(TrackVisualProperty, value);
333             }
334         }
335
336         /// <summary>
337         /// The progress visual value of the progress bar, the size of the progress visual is changed based on the PROGRESS_VALUE.<br />
338         /// Optional. If not supplied, then the default progress visual will be shown.<br />
339         /// </summary>
340         /// <since_tizen> 3 </since_tizen>
341         /// This will be deprecated
342         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
343         [EditorBrowsable(EditorBrowsableState.Never)]
344         public Tizen.NUI.PropertyMap ProgressVisual
345         {
346             get
347             {
348                 return (PropertyMap)GetValue(ProgressVisualProperty);
349             }
350             set
351             {
352                 SetValue(ProgressVisualProperty, value);
353             }
354         }
355
356         /// <summary>
357         /// The secondary progress visual of the progress bar, the size of the secondary progress visual is changed based on the SECONDARY_PROGRESS_VALUE.<br />
358         /// Optional. If not supplied, then the secondary progress visual will not be shown.<br />
359         /// </summary>
360         /// <since_tizen> 3 </since_tizen>
361         /// This will be deprecated
362         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
363         [EditorBrowsable(EditorBrowsableState.Never)]
364         public Tizen.NUI.PropertyMap SecondaryProgressVisual
365         {
366             get
367             {
368                 return (PropertyMap)GetValue(SecondaryProgressVisualProperty);
369             }
370             set
371             {
372                 SetValue(SecondaryProgressVisualProperty, value);
373             }
374         }
375
376         /// <summary>
377         /// The indeterminate visual of the progress bar.<br />
378         /// Optional. If not supplied, then the default indeterminate visual will be shown.<br />
379         /// </summary>
380         /// <since_tizen> 3 </since_tizen>
381         /// This will be deprecated
382         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
383         [EditorBrowsable(EditorBrowsableState.Never)]
384         public Tizen.NUI.PropertyMap IndeterminateVisual
385         {
386             get
387             {
388                 return (PropertyMap)GetValue(IndeterminateVisualProperty);
389             }
390             set
391             {
392                 SetValue(IndeterminateVisualProperty, value);
393             }
394         }
395
396         /// <summary>
397         /// The transition data for the indeterminate visual animation.<br />
398         /// Optional. If not supplied, then the default animation will be played.<br />
399         /// </summary>
400         /// <since_tizen> 3 </since_tizen>
401         /// This will be deprecated
402         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
403         [EditorBrowsable(EditorBrowsableState.Never)]
404         public Tizen.NUI.PropertyArray IndeterminateVisualAnimation
405         {
406             get
407             {
408                 return (PropertyArray)GetValue(IndeterminateVisualAnimationProperty);
409             }
410             set
411             {
412                 SetValue(IndeterminateVisualAnimationProperty, value);
413             }
414         }
415
416         /// <summary>
417         /// The label visual of the progress bar.
418         /// </summary>
419         /// <since_tizen> 3 </since_tizen>
420         /// This will be deprecated
421         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
422         [EditorBrowsable(EditorBrowsableState.Never)]
423         public Tizen.NUI.PropertyMap LabelVisual
424         {
425             get
426             {
427                 return (PropertyMap)GetValue(LabelVisualProperty);
428             }
429             set
430             {
431                 SetValue(LabelVisualProperty, value);
432             }
433         }
434
435         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBar obj)
436         {
437             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.SwigCPtr;
438         }
439
440         internal ProgressBarValueChangedSignal ValueChangedSignal()
441         {
442             ProgressBarValueChangedSignal ret = new ProgressBarValueChangedSignal(Interop.ProgressBar.ValueChangedSignal(SwigCPtr), false);
443             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
444             return ret;
445         }
446
447         /// <summary>
448         /// To dispose the ProgressBar instance.
449         /// </summary>
450         /// <since_tizen> 3 </since_tizen>
451         /// This will be deprecated
452         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
453         [EditorBrowsable(EditorBrowsableState.Never)]
454         protected override void Dispose(DisposeTypes type)
455         {
456             if (disposed)
457             {
458                 return;
459             }
460
461             //Release your own unmanaged resources here.
462             //You should not access any managed member here except static instance.
463             //because the execution order of Finalizes is non-deterministic.
464
465             if (this != null && _progressBarValueChangedCallbackDelegate != null)
466             {
467                 ProgressBarValueChangedSignal valueChanged = ValueChangedSignal();
468                 valueChanged?.Disconnect(_progressBarValueChangedCallbackDelegate);
469                 valueChanged?.Dispose();
470             }
471
472             base.Dispose(type);
473         }
474
475         /// This will not be public opened.
476         [EditorBrowsable(EditorBrowsableState.Never)]
477         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
478         {
479             Interop.ProgressBar.DeleteProgressBar(swigCPtr);
480         }
481
482         // Callback for ProgressBar ValueChanged signal
483         private void OnValueChanged(IntPtr progressBar, float progressValue, float secondaryProgressValue)
484         {
485             ValueChangedEventArgs e = new ValueChangedEventArgs();
486
487             // Populate all members of "e" (ValueChangedEventArgs) with real page
488             e.ProgressBar = Registry.GetManagedBaseHandleFromNativePtr(progressBar) as ProgressBar;
489             e.ProgressValue = progressValue;
490             e.SecondaryProgressValue = secondaryProgressValue;
491
492             if (_progressBarValueChangedEventHandler != null)
493             {
494                 _progressBarValueChangedEventHandler(this, e);
495             }
496         }
497
498         /// <summary>
499         /// Event arguments that passed via the ValueChangedEventArgs.
500         /// </summary>
501         /// <since_tizen> 3 </since_tizen>
502         /// This will be deprecated
503         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
504         [EditorBrowsable(EditorBrowsableState.Never)]
505         [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible")]
506         public class ValueChangedEventArgs : EventArgs
507         {
508             private ProgressBar _progressBar;
509             private float _progressValue;
510             private float _secondaryProgressValue;
511
512             /// <summary>
513             /// ProgressBar
514             /// </summary>
515             /// <since_tizen> 3 </since_tizen>
516             /// This will be deprecated
517             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
518             [EditorBrowsable(EditorBrowsableState.Never)]
519             public ProgressBar ProgressBar
520             {
521                 get
522                 {
523                     return _progressBar;
524                 }
525                 set
526                 {
527                     _progressBar = value;
528                 }
529             }
530
531             /// <summary>
532             /// The progress value of the progress bar, the progress runs from 0 to 1.
533             /// </summary>
534             /// <since_tizen> 3 </since_tizen>
535             /// This will be deprecated
536             [EditorBrowsable(EditorBrowsableState.Never)]
537             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
538             public float ProgressValue
539             {
540                 get
541                 {
542                     return _progressValue;
543                 }
544                 set
545                 {
546                     _progressValue = value;
547                 }
548             }
549
550             /// <summary>
551             /// The secondary progress value of the progress bar, the secondary progress runs from 0 to 1.
552             /// </summary>
553             /// <since_tizen> 3 </since_tizen>
554             /// This will be deprecated
555             [EditorBrowsable(EditorBrowsableState.Never)]
556             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
557             public float SecondaryProgressValue
558             {
559                 get
560                 {
561                     return _secondaryProgressValue;
562                 }
563                 set
564                 {
565                     _secondaryProgressValue = value;
566                 }
567             }
568
569         }
570
571         internal new class Property
572         {
573             internal static readonly int ProgressValue = Interop.ProgressBar.ProgressValueGet();
574             internal static readonly int SecondaryProgressValue = Interop.ProgressBar.SecondaryProgressValueGet();
575             internal static readonly int INDETERMINATE = Interop.ProgressBar.IndeterminateGet();
576             internal static readonly int TrackVisual = Interop.ProgressBar.TrackVisualGet();
577             internal static readonly int ProgressVisual = Interop.ProgressBar.ProgressVisualGet();
578             internal static readonly int SecondaryProgressVisual = Interop.ProgressBar.SecondaryProgressVisualGet();
579             internal static readonly int IndeterminateVisual = Interop.ProgressBar.IndeterminateVisualGet();
580             internal static readonly int IndeterminateVisualAnimation = Interop.ProgressBar.IndeterminateVisualAnimationGet();
581             internal static readonly int LabelVisual = Interop.ProgressBar.LabelVisualGet();
582         }
583     }
584 }