[NUI] TCSACR-226 code change (#1032)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Property.cs
1 /*
2  * Copyright(c) 2017 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
18 using System;
19 using System.ComponentModel;
20 using System.Collections.Generic;
21 using Tizen.NUI.Binding;
22
23 namespace Tizen.NUI
24 {
25     /// <summary>
26     /// An array of property values.
27     /// </summary>
28     /// <since_tizen> 3 </since_tizen>
29     public class PropertyArray : Disposable
30     {
31         /// <summary>
32         /// swigCMemOwn
33         /// </summary>
34         /// <since_tizen> 3 </since_tizen>
35         protected bool swigCMemOwn;
36         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
37
38         /// <summary>
39         /// The constructor.
40         /// </summary>
41         /// <since_tizen> 3 </since_tizen>
42         public PropertyArray() : this(Interop.Property.new_Property_Array__SWIG_0(), true)
43         {
44             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
45         }
46
47         internal PropertyArray(PropertyArray other) : this(Interop.Property.new_Property_Array__SWIG_1(PropertyArray.getCPtr(other)), true)
48         {
49             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
50         }
51
52         internal PropertyArray(global::System.IntPtr cPtr, bool cMemoryOwn)
53         {
54             swigCMemOwn = cMemoryOwn;
55             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
56         }
57
58         /// <summary>
59         /// The operator to access an element.
60         /// </summary>
61         /// <param name="index">The element index to access. No bounds checking is performed.</param>
62         /// <returns>The reference to the element.</returns>
63         /// <since_tizen> 3 </since_tizen>
64         public PropertyValue this[uint index]
65         {
66             get
67             {
68                 return ValueOfIndex(index);
69             }
70         }
71
72         /// <summary>
73         /// Retrieves the number of elements in the array.
74         /// </summary>
75         /// <returns>The number of elements in the array.</returns>
76         /// <since_tizen> 3 </since_tizen>
77         public uint Size()
78         {
79             uint ret = Interop.Property.Property_Array_Size(swigCPtr);
80             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
81             return ret;
82         }
83
84         /// <summary>
85         /// Retrieves the number of elements in the array.
86         /// </summary>
87         /// <returns>The number of elements in the array.</returns>
88         /// <since_tizen> 3 </since_tizen>
89         public uint Count()
90         {
91             uint ret = Interop.Property.Property_Array_Count(swigCPtr);
92             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
93             return ret;
94         }
95
96         /// <summary>
97         /// Returns whether the array is empty.
98         /// </summary>
99         /// <returns>Returns true if empty, false otherwise.</returns>
100         /// <since_tizen> 3 </since_tizen>
101         public bool Empty()
102         {
103             bool ret = Interop.Property.Property_Array_Empty(swigCPtr);
104             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
105             return ret;
106         }
107
108         /// <summary>
109         /// Clears the array.
110         /// </summary>
111         /// <since_tizen> 3 </since_tizen>
112         public void Clear()
113         {
114             Interop.Property.Property_Array_Clear(swigCPtr);
115             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
116         }
117
118         /// <summary>
119         /// Increases the capacity of the array.
120         /// </summary>
121         /// <param name="size">The size to reserve.</param>
122         /// <since_tizen> 3 </since_tizen>
123         public void Reserve(uint size)
124         {
125             Interop.Property.Property_Array_Reserve(swigCPtr, size);
126             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
127         }
128
129         /// <summary>
130         /// Resizes to size.
131         /// </summary>
132         /// <param name="size">The size to resize</param>
133         /// <since_tizen> 3 </since_tizen>
134         public void Resize(uint size)
135         {
136             Interop.Property.Property_Array_Resize(swigCPtr, size);
137             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
138         }
139
140         /// <summary>
141         /// Retrieves the capacity of the array.
142         /// </summary>
143         /// <returns>The allocated capacity of the array.</returns>
144         /// <since_tizen> 3 </since_tizen>
145         public uint Capacity()
146         {
147             uint ret = Interop.Property.Property_Array_Capacity(swigCPtr);
148             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
149             return ret;
150         }
151
152         /// <summary>
153         /// Adds an element to the array.
154         /// </summary>
155         /// <param name="value">The value to add at the end of the array.</param>
156         /// <since_tizen> 3 </since_tizen>
157         public void PushBack(PropertyValue value)
158         {
159             Interop.Property.Property_Array_PushBack(swigCPtr, PropertyValue.getCPtr(value));
160             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
161         }
162
163         /// <summary>
164         /// Adds an keyvalue to the array.
165         /// This function should be first
166         /// </summary>
167         /// <param name="value">The value to add at the end of the array.</param>
168         public PropertyArray Add(KeyValue value)
169         {
170             PropertyArray ret = new PropertyArray(Interop.Property.Property_Array_Add(swigCPtr, PropertyValue.getCPtr(value.TrueValue)), false);
171             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
172             return ret;
173         }
174
175         /// <summary>
176         /// Adds an element to the array.
177         /// </summary>
178         /// <param name="value">The value to add at the end of the array.</param>
179         /// <since_tizen> 3 </since_tizen>
180         public PropertyArray Add(PropertyValue value)
181         {
182             PropertyArray ret = new PropertyArray(Interop.Property.Property_Array_Add(swigCPtr, PropertyValue.getCPtr(value)), false);
183             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
184             return ret;
185         }
186
187         /// <summary>
188         /// Accesses an element.
189         /// </summary>
190         /// <param name="index">The element index to access. No bounds checking is performed.</param>
191         /// <returns>The reference to the element.</returns>
192         /// <since_tizen> 3 </since_tizen>
193         public PropertyValue GetElementAt(uint index)
194         {
195             PropertyValue ret = new PropertyValue(Interop.Property.Property_Array_GetElementAt__SWIG_0(swigCPtr, index), false);
196             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
197             return ret;
198         }
199
200         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
201         {
202             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
203         }
204
205         /// <summary>
206         /// Dispose.
207         /// </summary>
208         /// <since_tizen> 3 </since_tizen>
209         protected override void Dispose(DisposeTypes type)
210         {
211             if (disposed)
212             {
213                 return;
214             }
215
216             //Release your own unmanaged resources here.
217             //You should not access any managed member here except static instance.
218             //because the execution order of Finalizes is non-deterministic.
219
220             if (swigCPtr.Handle != global::System.IntPtr.Zero)
221             {
222                 if (swigCMemOwn)
223                 {
224                     swigCMemOwn = false;
225                     Interop.Property.delete_Property_Array(swigCPtr);
226                 }
227                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
228             }
229             base.Dispose(type);
230         }
231
232         /// <summary>
233         /// Retrieves the value of elements in the array.
234         /// </summary>
235         /// <param name="index">The element index to retrieve.</param>
236         /// <returns>The reference to the element.</returns>
237         private PropertyValue ValueOfIndex(uint index)
238         {
239             PropertyValue ret = new PropertyValue(Interop.Property.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
240             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
241             return ret;
242         }
243     }
244
245     /// <summary>
246     /// A key type which can be either a std::string or a Property::Index.
247     /// </summary>
248     /// <since_tizen> 3 </since_tizen>
249     public class PropertyKey : Disposable
250     {
251         /// <summary>
252         /// swigCMemOwn
253         /// </summary>
254         /// <since_tizen> 3 </since_tizen>
255         protected bool swigCMemOwn;
256         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
257
258          /// <summary>
259         /// The constructor.
260         /// </summary>
261         /// <param name="key">The string key.</param>
262         /// <since_tizen> 3 </since_tizen>
263         public PropertyKey(string key) : this(Interop.Property.new_Property_Key__SWIG_0(key), true)
264         {
265             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
266         }
267
268         /// <summary>
269         /// The constructor.
270         /// </summary>
271         /// <param name="key">The index key.</param>
272         /// <since_tizen> 3 </since_tizen>
273         public PropertyKey(int key) : this(Interop.Property.new_Property_Key__SWIG_1(key), true)
274         {
275             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
276         }
277
278         internal PropertyKey(global::System.IntPtr cPtr, bool cMemoryOwn)
279         {
280             swigCMemOwn = cMemoryOwn;
281             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
282         }
283
284         /// <summary>
285         /// The type of key.
286         /// </summary>
287         /// <since_tizen> 3 </since_tizen>
288         public enum KeyType
289         {
290             /// <summary>
291             /// The type of key is index.
292             /// </summary>
293             /// <since_tizen> 3 </since_tizen>
294             Index,
295             /// <summary>
296             /// The type of key is string.
297             /// </summary>
298             /// <since_tizen> 3 </since_tizen>
299             String
300         }
301
302         /// <summary>
303         /// The type of the key.
304         /// </summary>
305         /// <since_tizen> 3 </since_tizen>
306         public PropertyKey.KeyType Type
307         {
308             set
309             {
310                 Interop.Property.Property_Key_type_set(swigCPtr, (int)value);
311                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
312             }
313             get
314             {
315                 PropertyKey.KeyType ret = (PropertyKey.KeyType)Interop.Property.Property_Key_type_get(swigCPtr);
316                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
317                 return ret;
318             }
319         }
320
321         /// <summary>
322         /// The index key.
323         /// </summary>
324         /// <since_tizen> 3 </since_tizen>
325         public int IndexKey
326         {
327             set
328             {
329                 Interop.Property.Property_Key_indexKey_set(swigCPtr, value);
330                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
331             }
332             get
333             {
334                 int ret = Interop.Property.Property_Key_indexKey_get(swigCPtr);
335                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
336                 return ret;
337             }
338         }
339
340         /// <summary>
341         /// The string key.
342         /// </summary>
343         /// <since_tizen> 3 </since_tizen>
344         public string StringKey
345         {
346             set
347             {
348                 Interop.Property.Property_Key_stringKey_set(swigCPtr, value);
349                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
350             }
351             get
352             {
353                 string ret = Interop.Property.Property_Key_stringKey_get(swigCPtr);
354                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
355                 return ret;
356             }
357         }
358
359         /// <summary>
360         /// Compares if rhs is equal to.
361         /// </summary>
362         /// <param name="rhs">A string key to compare against.</param>
363         /// <returns>Returns true if the key compares, or false if it isn't equal or of the wrong type.</returns>
364         /// <since_tizen> 3 </since_tizen>
365         public bool EqualTo(string rhs)
366         {
367             bool ret = Interop.Property.Property_Key_EqualTo__SWIG_0(swigCPtr, rhs);
368             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
369             return ret;
370         }
371
372         /// <summary>
373         /// Compares if rhs is equal to.
374         /// </summary>
375         /// <param name="rhs">The index key to compare against.</param>
376         /// <returns>Returns true if the key compares, or false if it isn't equal or of the wrong type.</returns>
377         /// <since_tizen> 3 </since_tizen>
378         public bool EqualTo(int rhs)
379         {
380             bool ret = Interop.Property.Property_Key_EqualTo__SWIG_1(swigCPtr, rhs);
381             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
382             return ret;
383         }
384
385         /// <summary>
386         /// Compares if rhs is equal to
387         /// </summary>
388         /// <param name="rhs">A key to compare against</param>
389         /// <returns>Returns true if the keys are of the same type and have the same value.</returns>
390         /// <since_tizen> 3 </since_tizen>
391         public bool EqualTo(PropertyKey rhs)
392         {
393             bool ret = Interop.Property.Property_Key_EqualTo__SWIG_2(swigCPtr, PropertyKey.getCPtr(rhs));
394             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
395             return ret;
396         }
397
398         /// <summary>
399         /// Compares if rhs is not equal to.
400         /// </summary>
401         /// <param name="rhs">The index key to compare against.</param>
402         /// <returns>Returns true if the key is not equal or not a string key.</returns>
403         /// <since_tizen> 3 </since_tizen>
404         public bool NotEqualTo(string rhs)
405         {
406             bool ret = Interop.Property.Property_Key_NotEqualTo__SWIG_0(swigCPtr, rhs);
407             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
408             return ret;
409         }
410
411         /// <summary>
412         /// Compares if rhs is not equal to.
413         /// </summary>
414         /// <param name="rhs">The index key to compare against.</param>
415         /// <returns>Returns true if the key is not equal, or not the index key.</returns>
416         /// <since_tizen> 3 </since_tizen>
417         public bool NotEqualTo(int rhs)
418         {
419             bool ret = Interop.Property.Property_Key_NotEqualTo__SWIG_1(swigCPtr, rhs);
420             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
421             return ret;
422         }
423
424         /// <summary>
425         /// Compares if rhs is not equal to.
426         /// </summary>
427         /// <param name="rhs">A key to compare against.</param>
428         /// <returns>Returns true if the keys are not of the same type or are not equal.</returns>
429         /// <since_tizen> 3 </since_tizen>
430         public bool NotEqualTo(PropertyKey rhs)
431         {
432             bool ret = Interop.Property.Property_Key_NotEqualTo__SWIG_2(swigCPtr, PropertyKey.getCPtr(rhs));
433             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
434             return ret;
435         }
436
437         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
438         {
439             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
440         }
441
442         /// <summary>
443         /// Dispose.
444         /// </summary>
445         /// <since_tizen> 3 </since_tizen>
446         protected override void Dispose(DisposeTypes type)
447         {
448             if (disposed)
449             {
450                 return;
451             }
452
453             //Release your own unmanaged resources here.
454             //You should not access any managed member here except static instance.
455             //because the execution order of Finalizes is non-deterministic.
456
457             if (swigCPtr.Handle != global::System.IntPtr.Zero)
458             {
459                 if (swigCMemOwn)
460                 {
461                     swigCMemOwn = false;
462                     Interop.Property.delete_Property_Key(swigCPtr);
463                 }
464                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
465             }
466             base.Dispose(type);
467         }
468     }
469
470     /// <summary>
471     /// A map of property values, the key type could be string or Property::Index.
472     /// </summary>
473     /// <since_tizen> 3 </since_tizen>
474     public class PropertyMap : Disposable
475     {
476         /// <summary>
477         /// swigCMemOwn
478         /// </summary>
479         /// <since_tizen> 3 </since_tizen>
480         protected bool swigCMemOwn;
481         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
482
483         /// <summary>
484         /// The constructor.
485         /// </summary>
486         /// <since_tizen> 3 </since_tizen>
487         public PropertyMap() : this(Interop.PropertyMap.new_Property_Map__SWIG_0(), true)
488         {
489             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
490         }
491
492         /// <summary>
493         /// The copy constructor.
494         /// </summary>
495         /// <param name="other">The map to copy from.</param>
496         /// <since_tizen> 3 </since_tizen>
497         public PropertyMap(PropertyMap other) : this(Interop.PropertyMap.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
498         {
499             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
500         }
501
502         internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
503         {
504             swigCMemOwn = cMemoryOwn;
505             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
506         }
507
508         /// <summary>
509         /// The operator to access the element with the specified string key.<br />
510         /// If an element with the key does not exist, then it is created.<br />
511         /// </summary>
512         /// <param name="key">The key whose value to access.</param>
513         /// <returns>A value for the element with the specified key.</returns>
514         /// <since_tizen> 3 </since_tizen>
515         public PropertyValue this[string key]
516         {
517             get
518             {
519                 return ValueOfIndex(key);
520             }
521         }
522
523         /// <summary>
524         /// The operator to access the element with the specified index key.<br />
525         /// If an element with the key does not exist, then it is created.<br />
526         /// </summary>
527         /// <param name="key">The key whose value to access.</param>
528         /// <returns>A value for the element with the specified key.</returns>
529         /// <since_tizen> 3 </since_tizen>
530         public PropertyValue this[int key]
531         {
532             get
533             {
534                 return ValueOfIndex(key);
535             }
536         }
537
538         /// <summary>
539         /// Retrieves the number of elements in the map.
540         /// </summary>
541         /// <returns>The number of elements in the map.</returns>
542         /// <since_tizen> 3 </since_tizen>
543         public uint Count()
544         {
545             uint ret = Interop.PropertyMap.Property_Map_Count(swigCPtr);
546             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
547             return ret;
548         }
549
550         /// <summary>
551         /// Returns whether the map is empty.
552         /// </summary>
553         /// <returns>Returns true if empty, false otherwise.</returns>
554         /// <since_tizen> 3 </since_tizen>
555         public bool Empty()
556         {
557             bool ret = Interop.PropertyMap.Property_Map_Empty(swigCPtr);
558             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
559             return ret;
560         }
561
562         /// <summary>
563         /// Inserts the key-value pair in the map, with the key type as string.<br />
564         /// Does not check for duplicates.<br />
565         /// </summary>
566         /// <param name="key">The key to insert.</param>
567         /// <param name="value">The value to insert.</param>
568         /// <since_tizen> 3 </since_tizen>
569         public void Insert(string key, PropertyValue value)
570         {
571             Interop.PropertyMap.Property_Map_Insert__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value));
572             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
573         }
574
575         /// <summary>
576         /// Inserts the key-value pair in the map, with the key type as index.<br />
577         /// Does not check for duplicates.<br />
578         /// </summary>
579         /// <param name="key">The key to insert.</param>
580         /// <param name="value">The value to insert.</param>
581         /// <since_tizen> 3 </since_tizen>
582         public void Insert(int key, PropertyValue value)
583         {
584             Interop.PropertyMap.Property_Map_Insert__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value));
585             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
586         }
587
588         /// <summary>
589         /// Inserts the key-value pair in the map, with the key type as string.<br />
590         /// Does not check for duplicates.<br />
591         /// </summary>
592         /// <param name="key">The key to insert.</param>
593         /// <param name="value">The value to insert.</param>
594         /// <returns>Returns a reference to this object.</returns>
595         /// <since_tizen> 3 </since_tizen>
596         public PropertyMap Add(string key, PropertyValue value)
597         {
598             PropertyMap ret = new PropertyMap(Interop.PropertyMap.Property_Map_Add__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value)), false);
599             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
600             return ret;
601         }
602
603         /// <summary>
604         /// Inserts the key-value pair in the map, with the key type as string.<br />
605         /// Does not check for duplicates.<br />
606         /// </summary>
607         /// <param name="key">The key to insert.</param>
608         /// <param name="value">The value to insert.</param>
609         /// <returns>Returns a reference to this object.</returns>
610         /// <since_tizen> 3 </since_tizen>
611         public PropertyMap Add(int key, PropertyValue value)
612         {
613             PropertyMap ret = new PropertyMap(Interop.PropertyMap.Property_Map_Add__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value)), false);
614             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
615             return ret;
616         }
617
618         /// <summary>
619         /// Inserts the keyvalue to the map.<br />
620         /// Does not check for duplicates.<br />
621         /// </summary>
622         /// <param name="keyValue">The keyvalue to insert.</param>
623         /// <returns>Returns a reference to this object.</returns>
624         public PropertyMap Add(KeyValue keyValue)
625         {
626             PropertyMap ret = new PropertyMap();
627             if ( keyValue.KeyInt != null )
628             {
629                 ret = new PropertyMap(Interop.PropertyMap.Property_Map_Add__SWIG_2(swigCPtr, (int)keyValue.KeyInt, PropertyValue.getCPtr(keyValue.TrueValue)), false);
630             }
631             else if ( keyValue.KeyString != null)
632             {
633                 ret = new PropertyMap(Interop.PropertyMap.Property_Map_Add__SWIG_0(swigCPtr, keyValue.KeyString, PropertyValue.getCPtr(keyValue.TrueValue)), false);
634             }
635             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
636
637             return ret;
638         }
639
640         /// <summary>
641         /// Retrieves the value at the specified position.
642         /// </summary>
643         /// <param name="position">The specified position.</param>
644         /// <returns>A reference to the value at the specified position.</returns>
645         /// <since_tizen> 3 </since_tizen>
646         public PropertyValue GetValue(uint position)
647         {
648             PropertyValue ret = new PropertyValue(Interop.PropertyMap.Property_Map_GetValue(swigCPtr, position), false);
649             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
650             return ret;
651         }
652
653         /// <summary>
654         /// Retrieves the key at the specified position.
655         /// </summary>
656         /// <param name="position">The specified position.</param>
657         /// <returns>A copy of the key at the specified position.</returns>
658         /// <since_tizen> 3 </since_tizen>
659         public PropertyKey GetKeyAt(uint position)
660         {
661             PropertyKey ret = new PropertyKey(Interop.PropertyMap.Property_Map_GetKeyAt(swigCPtr, position), true);
662             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
663             return ret;
664         }
665
666         /// <summary>
667         /// Finds the value for the specified key if it exists.
668         /// </summary>
669         /// <param name="key">The key to find.</param>
670         /// <returns>The value if it exists, an empty object otherwise.</returns>
671         /// <since_tizen> 3 </since_tizen>
672         public PropertyValue Find(int key)
673         {
674             global::System.IntPtr cPtr = Interop.PropertyMap.Property_Map_Find__SWIG_2(swigCPtr, key);
675             PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
676             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
677             return ret;
678         }
679
680         /// <summary>
681         /// Finds the value for the specified keys if either exist.
682         /// </summary>
683         /// <param name="indexKey">The index key to find.</param>
684         /// <param name="stringKey">The string key to find.</param>
685         /// <returns>The value if it exists, an empty object otherwise.</returns>
686         /// <since_tizen> 3 </since_tizen>
687         public PropertyValue Find(int indexKey, string stringKey)
688         {
689             global::System.IntPtr cPtr = Interop.PropertyMap.Property_Map_Find__SWIG_3(swigCPtr, indexKey, stringKey);
690             PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
691             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
692             return ret;
693         }
694
695         /// <summary>
696         /// Clears the map.
697         /// </summary>
698         /// <since_tizen> 3 </since_tizen>
699         public void Clear()
700         {
701             Interop.PropertyMap.Property_Map_Clear(swigCPtr);
702             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
703         }
704
705         /// <summary>
706         /// Merges values from the map 'from' to the current.<br />
707         /// Any values in 'from' will overwrite the values in the current map.<br />
708         /// </summary>
709         /// <param name="from">The map to merge from.</param>
710         /// <since_tizen> 3 </since_tizen>
711         public void Merge(PropertyMap from)
712         {
713             Interop.PropertyMap.Property_Map_Merge(swigCPtr, PropertyMap.getCPtr(from));
714             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
715         }
716
717         /// <summary>
718         /// Retrieves the element with the specified string key.
719         /// </summary>
720         /// <param name="key">The key whose value to retrieve.</param>
721         /// <returns>The value for the element with the specified key.</returns>
722         internal PropertyValue ValueOfIndex(string key)
723         {
724             PropertyValue ret = new PropertyValue(Interop.PropertyMap.Property_Map_ValueOfIndex__SWIG_0(swigCPtr, key), false);
725             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
726             return ret;
727         }
728
729         /// <summary>
730         /// Retrieves the element with the specified index key.
731         /// </summary>
732         /// <param name="key">The key whose value to retrieve.</param>
733         /// <returns>The value for the element with the specified key.</returns>
734         internal PropertyValue ValueOfIndex(int key)
735         {
736             PropertyValue ret = new PropertyValue(Interop.PropertyMap.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
737             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
738             return ret;
739         }
740
741         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyMap obj)
742         {
743             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
744         }
745
746         /// <summary>
747         /// Dispose.
748         /// </summary>
749         /// <since_tizen> 3 </since_tizen>
750         protected override void Dispose(DisposeTypes type)
751         {
752             if (disposed)
753             {
754                 return;
755             }
756
757             //Release your own unmanaged resources here.
758             //You should not access any managed member here except static instance.
759             //because the execution order of Finalizes is non-deterministic.
760
761             if (swigCPtr.Handle != global::System.IntPtr.Zero)
762             {
763                 if (swigCMemOwn)
764                 {
765                     swigCMemOwn = false;
766                     Interop.PropertyMap.delete_Property_Map(swigCPtr);
767                 }
768                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
769             }
770             base.Dispose(type);
771         }
772     }
773
774     /// <summary>
775     /// A value-type representing a property value.
776     /// </summary>
777     /// <since_tizen> 3 </since_tizen>
778     public class PropertyValue : Disposable
779     {
780         /// <summary>
781         /// swigCMemOwn
782         /// </summary>
783         /// <since_tizen> 3 </since_tizen>
784         protected bool swigCMemOwn;
785         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
786
787         /// <summary>
788         /// Creates a Size2D property value.
789         /// </summary>
790         /// <param name="vectorValue">Size2D values.</param>
791         /// <since_tizen> 3 </since_tizen>
792         public PropertyValue(Size2D vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true)
793         {
794             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
795         }
796
797         /// <summary>
798         /// Creates a Position2D property value.
799         /// </summary>
800         /// <param name="vectorValue">Position2D values.</param>
801         /// <since_tizen> 3 </since_tizen>
802         public PropertyValue(Position2D vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_4(Position2D.getCPtr(vectorValue)), true)
803         {
804             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
805         }
806
807         /// <summary>
808         /// Creates a Position property value.
809         /// </summary>
810         /// <param name="vectorValue">Position values.</param>
811         /// <since_tizen> 3 </since_tizen>
812         public PropertyValue(Position vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_5(Position.getCPtr(vectorValue)), true)
813         {
814             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
815         }
816
817         /// <summary>
818         /// Creates a Color property value.
819         /// </summary>
820         /// <param name="vectorValue">Color values.</param>
821         /// <since_tizen> 3 </since_tizen>
822         public PropertyValue(Color vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_6(Color.getCPtr(vectorValue)), true)
823         {
824             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
825         }
826
827         /// <summary>
828         /// The default constructor.
829         /// </summary>
830         /// <since_tizen> 3 </since_tizen>
831         public PropertyValue() : this(Interop.PropertyValue.new_Property_Value__SWIG_0(), true)
832         {
833             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
834         }
835
836         /// <summary>
837         /// Creates a boolean property value.
838         /// </summary>
839         /// <param name="boolValue">A boolean value.</param>
840         /// <since_tizen> 3 </since_tizen>
841         public PropertyValue(bool boolValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_1(boolValue), true)
842         {
843             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
844         }
845
846         /// <summary>
847         /// Creates an integer property value.
848         /// </summary>
849         /// <param name="integerValue">An integer value.</param>
850         /// <since_tizen> 3 </since_tizen>
851         public PropertyValue(int integerValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_2(integerValue), true)
852         {
853             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
854         }
855
856         /// <summary>
857         /// Creates a float property value.
858         /// </summary>
859         /// <param name="floatValue">A floating-point value.</param>
860         /// <since_tizen> 3 </since_tizen>
861         public PropertyValue(float floatValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_3(floatValue), true)
862         {
863             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
864         }
865
866         /// <summary>
867         /// Creates a Vector2 property value.
868         /// </summary>
869         /// <param name="vectorValue">A vector of 2 floating-point values.</param>
870         /// <since_tizen> 3 </since_tizen>
871         public PropertyValue(Vector2 vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
872         {
873             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
874         }
875
876         /// <summary>
877         /// Creates a Vector3 property value.
878         /// </summary>
879         /// <param name="vectorValue">A vector of 3 floating-point values.</param>
880         /// <since_tizen> 3 </since_tizen>
881         public PropertyValue(Vector3 vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
882         {
883             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
884         }
885
886         /// <summary>
887         /// Creates a Vector4 property value.
888         /// </summary>
889         /// <param name="vectorValue">A vector of 4 floating-point values.</param>
890         /// <since_tizen> 3 </since_tizen>
891         public PropertyValue(Vector4 vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true)
892         {
893             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
894         }
895
896         /// <summary>
897         /// Creates a Rectangle property value.
898         /// </summary>
899         /// <param name="vectorValue">Rectangle values.</param>
900         /// <since_tizen> 3 </since_tizen>
901         public PropertyValue(Rectangle vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
902         {
903             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
904         }
905
906         /// <summary>
907         /// Creates a Rotation property value.
908         /// </summary>
909         /// <param name="quaternion">Rotation values.</param>
910         /// <since_tizen> 3 </since_tizen>
911         public PropertyValue(Rotation quaternion) : this(Interop.PropertyValue.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
912         {
913             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
914         }
915
916         /// <summary>
917         /// Creates a string property value.
918         /// </summary>
919         /// <param name="stringValue">A string.</param>
920         /// <since_tizen> 3 </since_tizen>
921         public PropertyValue(string stringValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_12(stringValue), true)
922         {
923             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
924         }
925
926         /// <summary>
927         /// Creates an array property value.
928         /// </summary>
929         /// <param name="arrayValue">An array.</param>
930         /// <since_tizen> 3 </since_tizen>
931         public PropertyValue(PropertyArray arrayValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
932         {
933             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
934         }
935
936         /// <summary>
937         /// Creates a map property value.
938         /// </summary>
939         /// <param name="mapValue">An array.</param>
940         /// <since_tizen> 3 </since_tizen>
941         public PropertyValue(PropertyMap mapValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
942         {
943             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
944         }
945
946         /// <summary>
947         /// Creates a Extents value.
948         /// </summary>
949         /// <param name="extentsValue">A Extents value.</param>
950         /// <since_tizen> 4 </since_tizen>
951         public PropertyValue(Extents extentsValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_16(Extents.getCPtr(extentsValue)), true)
952         {
953             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
954         }
955
956         /// <summary>
957         /// Creates a PropertyType value.
958         /// </summary>
959         /// <param name="type">A PropertyType value.</param>
960         /// <since_tizen> 3 </since_tizen>
961         public PropertyValue(PropertyType type) : this(Interop.PropertyValue.new_Property_Value__SWIG_17((int)type), true)
962         {
963             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
964         }
965
966         /// <summary>
967         /// Creates a PropertyValue value.
968         /// </summary>
969         /// <param name="value">A PropertyValue value.</param>
970         /// <since_tizen> 3 </since_tizen>
971         public PropertyValue(PropertyValue value) : this(Interop.PropertyValue.new_Property_Value__SWIG_18(PropertyValue.getCPtr(value)), true)
972         {
973             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
974         }
975
976         /// <summary>
977         /// Creates a Size property value.
978         /// </summary>
979         /// <param name="vectorValue">Size values.</param>
980         internal PropertyValue(Size vectorValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true)
981         {
982             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
983         }
984
985         internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn)
986         {
987             swigCMemOwn = cMemoryOwn;
988             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
989         }
990
991         internal PropertyValue(Matrix3 matrixValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true)
992         {
993             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
994         }
995
996         internal PropertyValue(Matrix matrixValue) : this(Interop.PropertyValue.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true)
997         {
998             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
999         }
1000
1001         internal PropertyValue(AngleAxis angleAxis) : this(Interop.PropertyValue.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true)
1002         {
1003             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1004         }
1005
1006         /// <summary>
1007         /// An extension to the property value class that allows us to create a
1008         /// Property value from a C# object, for example, integer, float, or string.<br />
1009         /// </summary>
1010         /// <param name="obj">An object to create.</param>
1011         /// <returns>The created value.</returns>
1012         /// <since_tizen> 3 </since_tizen>
1013         static public PropertyValue CreateFromObject(System.Object obj)
1014         {
1015             System.Type type = obj.GetType();
1016
1017             PropertyValue value;
1018             if (type.IsEnum)
1019             {
1020                 value = new PropertyValue((int)obj);//Enum.Parse(type, str);
1021             }
1022             else if (type.Equals(typeof(int)))
1023             {
1024                 value = new PropertyValue((int)obj);
1025             }
1026             else if (type.Equals(typeof(System.Int32)))
1027             {
1028                 value = new PropertyValue((int)obj);
1029             }
1030             else if (type.Equals(typeof(bool)))
1031             {
1032                 value = new PropertyValue((bool)obj);
1033             }
1034             else if (type.Equals(typeof(float)))
1035             {
1036                 value = new PropertyValue((float)obj);
1037             }
1038             else if (type.Equals(typeof(string)))
1039             {
1040                 value = new PropertyValue((string)obj);
1041             }
1042             else if (type.Equals(typeof(Vector2)))
1043             {
1044                 value = new PropertyValue((Vector2)obj);
1045             }
1046             else if (type.Equals(typeof(Vector3)))
1047             {
1048                 value = new PropertyValue((Vector3)obj);
1049             }
1050             else if (type.Equals(typeof(Vector4)))
1051             {
1052                 value = new PropertyValue((Vector4)obj);
1053             }
1054             else if (type.Equals(typeof(Position)))
1055             {
1056                 value = new PropertyValue((Position)obj);
1057             }
1058             else if (type.Equals(typeof(Position2D)))
1059             {
1060                 value = new PropertyValue((Position2D)obj);
1061             }
1062             else if (type.Equals(typeof(Size)))
1063             {
1064                 value = new PropertyValue((Size)obj);
1065             }
1066             else if (type.Equals(typeof(Size2D)))
1067             {
1068                 value = new PropertyValue((Size2D)obj);
1069             }
1070             else if (type.Equals(typeof(Color)))
1071             {
1072                 value = new PropertyValue((Color)obj);
1073             }
1074             else if (type.Equals(typeof(Rotation)))
1075             {
1076                 value = new PropertyValue((Rotation)obj);
1077             }
1078             else if (type.Equals(typeof(RelativeVector2)))
1079             {
1080                 value = new PropertyValue((RelativeVector2)obj);
1081             }
1082             else if (type.Equals(typeof(RelativeVector3)))
1083             {
1084                 value = new PropertyValue((RelativeVector3)obj);
1085             }
1086             else if (type.Equals(typeof(RelativeVector4)))
1087             {
1088                 value = new PropertyValue((RelativeVector4)obj);
1089             }
1090             else if(type.Equals(typeof(Extents)))
1091             {
1092                 value = new PropertyValue((Extents)obj);
1093             }
1094             else
1095             {
1096                 throw new global::System.InvalidOperationException("Unimplemented type for Property Value :" + type.Name);
1097             }
1098             //NUILog.Debug(" got an property value of =" + type.Name);
1099             return value;
1100         }
1101
1102         /// <summary>
1103         /// Retrieves a Size2D value.
1104         /// </summary>
1105         /// <param name="vectorValue"> On return, a Size2D value.</param>
1106         /// <since_tizen> 3 </since_tizen>
1107         public bool Get(Size2D vectorValue)
1108         {
1109             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_5(swigCPtr, Size2D.getCPtr(vectorValue));
1110             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1111             return ret;
1112         }
1113
1114         /// <summary>
1115         /// Retrieves a Position2D value.
1116         /// </summary>
1117         /// <param name="vectorValue"> On return, a Position2D value.</param>
1118         /// <since_tizen> 3 </since_tizen>
1119         public bool Get(Position2D vectorValue)
1120         {
1121             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_5(swigCPtr, Position2D.getCPtr(vectorValue));
1122             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1123             return ret;
1124         }
1125
1126         /// <summary>
1127         /// Retrieves a Size value.
1128         /// </summary>
1129         /// <param name="vectorValue"> On return, a size value.</param>
1130         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1131         [EditorBrowsable(EditorBrowsableState.Never)]
1132         public bool Get(Size vectorValue)
1133         {
1134             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_6(swigCPtr, Size.getCPtr(vectorValue));
1135             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1136             return ret;
1137         }
1138
1139         /// <summary>
1140         /// Retrieves a Position value.
1141         /// </summary>
1142         /// <param name="vectorValue"> On return, a position value.</param>
1143         /// <since_tizen> 3 </since_tizen>
1144         public bool Get(Position vectorValue)
1145         {
1146             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_6(swigCPtr, Position.getCPtr(vectorValue));
1147             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1148             return ret;
1149         }
1150
1151         /// <summary>
1152         /// Retrieves a Color value.
1153         /// </summary>
1154         /// <param name="vectorValue"> On return, a color value.</param>
1155         /// <since_tizen> 3 </since_tizen>
1156         public bool Get(Color vectorValue)
1157         {
1158             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_7(swigCPtr, Color.getCPtr(vectorValue));
1159             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1160             return ret;
1161         }
1162
1163         /// <summary>
1164         /// Queries the type of this property value.
1165         /// </summary>
1166         /// <returns>The type ID</returns>
1167         /// <since_tizen> 3 </since_tizen>
1168         public new PropertyType GetType()
1169         {
1170             PropertyType ret = (PropertyType)Interop.PropertyValue.Property_Value_GetType(swigCPtr);
1171             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1172             return ret;
1173         }
1174
1175         /// <summary>
1176         /// Retrieves a boolean value.
1177         /// </summary>
1178         /// <param name="boolValue">On return, a boolean value.</param>
1179         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1180         /// <since_tizen> 3 </since_tizen>
1181         public bool Get(out bool boolValue)
1182         {
1183             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_1(swigCPtr, out boolValue);
1184             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1185             return ret;
1186         }
1187
1188         /// <summary>
1189         /// Retrieves a floating-point value.
1190         /// </summary>
1191         /// <param name="floatValue">On return, a floating-point value.</param>
1192         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1193         /// <since_tizen> 3 </since_tizen>
1194         public bool Get(out float floatValue)
1195         {
1196             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_2(swigCPtr, out floatValue);
1197             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1198             return ret;
1199         }
1200
1201         /// <summary>
1202         /// Retrieves an integer value.
1203         /// </summary>
1204         /// <param name="integerValue">On return, an integer value.</param>
1205         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1206         /// <since_tizen> 3 </since_tizen>
1207         public bool Get(out int integerValue)
1208         {
1209             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_3(swigCPtr, out integerValue);
1210             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1211             return ret;
1212         }
1213
1214         /// <summary>
1215         /// Retrieves an integer rectangle.
1216         /// </summary>
1217         /// <param name="rect">On return, an integer rectangle.</param>
1218         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1219         /// <since_tizen> 3 </since_tizen>
1220         public bool Get(Rectangle rect)
1221         {
1222             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_4(swigCPtr, Rectangle.getCPtr(rect));
1223             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1224             return ret;
1225         }
1226
1227         /// <summary>
1228         /// Retrieves a vector value.
1229         /// </summary>
1230         /// <param name="vectorValue">On return, a vector value.</param>
1231         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1232         /// <since_tizen> 3 </since_tizen>
1233         public bool Get(Vector2 vectorValue)
1234         {
1235             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_5(swigCPtr, Vector2.getCPtr(vectorValue));
1236             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1237             return ret;
1238         }
1239
1240         /// <summary>
1241         /// Retrieves a vector value.
1242         /// </summary>
1243         /// <param name="vectorValue">On return, a vector value.</param>
1244         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1245         /// <since_tizen> 3 </since_tizen>
1246         public bool Get(Vector3 vectorValue)
1247         {
1248             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_6(swigCPtr, Vector3.getCPtr(vectorValue));
1249             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1250             return ret;
1251         }
1252
1253         /// <summary>
1254         /// Retrieves a vector value.
1255         /// </summary>
1256         /// <param name="vectorValue">On return, a vector value.</param>
1257         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1258         /// <since_tizen> 3 </since_tizen>
1259         public bool Get(Vector4 vectorValue)
1260         {
1261             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_7(swigCPtr, Vector4.getCPtr(vectorValue));
1262             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1263             return ret;
1264         }
1265
1266         /// <summary>
1267         /// Retrieves a vector value.
1268         /// </summary>
1269         /// <param name="vectorValue">On return, a vector value.</param>
1270         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1271         /// <since_tizen> 5 </since_tizen>
1272         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1273         [EditorBrowsable(EditorBrowsableState.Never)]
1274         public bool Get(RelativeVector2 vectorValue)
1275         {
1276             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_5(swigCPtr, RelativeVector2.getCPtr(vectorValue));
1277             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1278             return ret;
1279         }
1280
1281         /// <summary>
1282         /// Retrieves a vector value.
1283         /// </summary>
1284         /// <param name="vectorValue">On return, a vector value.</param>
1285         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1286         /// <since_tizen> 5 </since_tizen>
1287         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1288         [EditorBrowsable(EditorBrowsableState.Never)]
1289         public bool Get(RelativeVector3 vectorValue)
1290         {
1291             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_6(swigCPtr, RelativeVector3.getCPtr(vectorValue));
1292             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1293             return ret;
1294         }
1295
1296         /// <summary>
1297         /// Retrieves a vector value.
1298         /// </summary>
1299         /// <param name="vectorValue">On return, a vector value.</param>
1300         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1301         /// <since_tizen> 5 </since_tizen>
1302         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1303         [EditorBrowsable(EditorBrowsableState.Never)]
1304         public bool Get(RelativeVector4 vectorValue)
1305         {
1306             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_7(swigCPtr, RelativeVector4.getCPtr(vectorValue));
1307             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1308             return ret;
1309         }
1310
1311         /// <summary>
1312         /// Retrieves a rotation value.
1313         /// </summary>
1314         /// <param name="quaternionValue">On return, a rotation value.</param>
1315         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1316         /// <since_tizen> 3 </since_tizen>
1317         public bool Get(Rotation quaternionValue)
1318         {
1319             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_11(swigCPtr, Rotation.getCPtr(quaternionValue));
1320             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1321             return ret;
1322         }
1323
1324         /// <summary>
1325         /// Retrieves a string property value.
1326         /// </summary>
1327         /// <param name="stringValue">On return, a string.</param>
1328         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1329         /// <since_tizen> 3 </since_tizen>
1330         public bool Get(out string stringValue)
1331         {
1332             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_12(swigCPtr, out stringValue);
1333             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1334             return ret;
1335         }
1336
1337         /// <summary>
1338         /// Retrieves an array property value.
1339         /// </summary>
1340         /// <param name="arrayValue">On return, the array as a vector property values.</param>
1341         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1342         /// <since_tizen> 3 </since_tizen>
1343         public bool Get(PropertyArray arrayValue)
1344         {
1345             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_13(swigCPtr, PropertyArray.getCPtr(arrayValue));
1346             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1347             return ret;
1348         }
1349
1350         /// <summary>
1351         /// Retrieves a map property value.
1352         /// </summary>
1353         /// <param name="mapValue">On return, the map as vector of string and property value pairs.</param>
1354         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1355         /// <since_tizen> 3 </since_tizen>
1356         public bool Get(PropertyMap mapValue)
1357         {
1358             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_14(swigCPtr, PropertyMap.getCPtr(mapValue));
1359             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1360             return ret;
1361         }
1362
1363         /// <summary>
1364         /// Retrieves a Extents value.
1365         /// </summary>
1366         /// <param name="extentsValue">On return, a extents.</param>
1367         /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible.</returns>
1368         /// <since_tizen> 4 </since_tizen>
1369         public bool Get(Extents extentsValue)
1370         {
1371             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_15(swigCPtr, Extents.getCPtr(extentsValue));
1372             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1373             return ret;
1374         }
1375
1376         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
1377         {
1378             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
1379         }
1380
1381         internal bool Get(Matrix3 matrixValue)
1382         {
1383             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
1384             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1385             return ret;
1386         }
1387
1388         internal bool Get(Matrix matrixValue)
1389         {
1390             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
1391             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1392             return ret;
1393         }
1394
1395         internal bool Get(AngleAxis angleAxisValue)
1396         {
1397             bool ret = Interop.PropertyValue.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
1398             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1399             return ret;
1400         }
1401
1402         /// <summary>
1403         /// Dispose.
1404         /// </summary>
1405         /// <since_tizen> 3 </since_tizen>
1406         protected override void Dispose(DisposeTypes type)
1407         {
1408             if (disposed)
1409             {
1410                 return;
1411             }
1412
1413             //Release your own unmanaged resources here.
1414             //You should not access any managed member here except static instance.
1415             //because the execution order of Finalizes is non-deterministic.
1416
1417             if (swigCPtr.Handle != global::System.IntPtr.Zero)
1418             {
1419                 if (swigCMemOwn)
1420                 {
1421                     swigCMemOwn = false;
1422                     Interop.PropertyValue.delete_Property_Value(swigCPtr);
1423                 }
1424                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1425             }
1426             base.Dispose(type);
1427         }
1428     }
1429
1430     /// <summary>
1431     /// KeyValue class.
1432     /// </summary>
1433     public class KeyValue
1434     {
1435         /// <summary>
1436         /// Int key.
1437         /// </summary>
1438         public int? KeyInt = null;
1439
1440         /// <summary>
1441         /// String key.
1442         /// </summary>
1443         public string KeyString = null;
1444
1445         /// <summary>
1446         /// True value.
1447         /// </summary>
1448         public PropertyValue TrueValue = null;
1449
1450         private string _key = null;
1451         private object _originalValue = null;
1452         private object _originalKey = null;
1453
1454         /// <summary>
1455         /// Default Constructor.
1456         /// </summary>
1457         public KeyValue()
1458         {}
1459
1460         /// <summary>
1461         /// Key property.
1462         /// </summary>
1463         public string Key
1464         {
1465             get
1466             {
1467                 return _key;
1468             }
1469             set
1470             {
1471                 _key = value;
1472                 ParseKey(value);
1473             }
1474         }
1475
1476         /// <summary>
1477         /// OriginalKey property.
1478         /// </summary>
1479         public object OriginalKey
1480         {
1481             get
1482             {
1483                 return _originalKey;
1484             }
1485             set
1486             {
1487                 _originalKey = value;
1488                 if (value is int || value is Int32)
1489                 {
1490                     KeyInt = (int)value;
1491                 }
1492                 else if (value is string)
1493                 {
1494                     KeyString = value.ToString();
1495                 }
1496                 else if (value.GetType().Equals(typeof(int)) || value.GetType().Equals(typeof(Int32)))
1497                 {
1498                     KeyInt = (int)value;
1499                 }
1500                 else if (value.GetType().Equals(typeof(string)))
1501                 {
1502                     KeyString = value.ToString();
1503                 }
1504             }
1505         }
1506
1507         /// <summary>
1508         /// Value property.
1509         /// </summary>
1510         public object Value
1511         {
1512             get
1513             {
1514                 return _originalValue;
1515             }
1516             set
1517             {
1518                 _originalValue = value;
1519                 TrueValue = PropertyValue.CreateFromObject(value);
1520             }
1521         }
1522
1523         /// <summary>
1524         /// IntergerValue property.
1525         /// </summary>
1526         public int IntergerValue
1527         {
1528             set
1529             {
1530                 TrueValue = new PropertyValue(value);
1531             }
1532         }
1533
1534         /// <summary>
1535         /// BooleanValue property.
1536         /// </summary>
1537         public bool BooleanValue
1538         {
1539             set
1540             {
1541                 TrueValue = new PropertyValue(value);
1542             }
1543         }
1544
1545         /// <summary>
1546         /// SingleValue property.
1547         /// </summary>
1548         public float SingleValue
1549         {
1550             set
1551             {
1552                 TrueValue = new PropertyValue(value);
1553             }
1554         }
1555
1556         /// <summary>
1557         /// StringValue property.
1558         /// </summary>
1559         public string StringValue
1560         {
1561             set
1562             {
1563                 TrueValue = new PropertyValue(value);
1564             }
1565         }
1566
1567         /// <summary>
1568         /// Vector2Value property.
1569         /// </summary>
1570         public Vector2 Vector2Value
1571         {
1572             set
1573             {
1574                 TrueValue = new PropertyValue(value);
1575             }
1576         }
1577
1578         /// <summary>
1579         /// Vector3Value property.
1580         /// </summary>
1581         public Vector3 Vector3Value
1582         {
1583             set
1584             {
1585                 TrueValue = new PropertyValue(value);
1586             }
1587         }
1588
1589         /// <summary>
1590         /// Vector4Value property.
1591         /// </summary>
1592         public Vector4 Vector4Value
1593         {
1594             set
1595             {
1596                 TrueValue = new PropertyValue(value);
1597             }
1598         }
1599
1600         /// <summary>
1601         /// PositionValue property.
1602         /// </summary>
1603         public Position PositionValue
1604         {
1605             set
1606             {
1607                 TrueValue = new PropertyValue(value);
1608             }
1609         }
1610
1611         /// <summary>
1612         /// Position2DValue property.
1613         /// </summary>
1614         public Position2D Position2DValue
1615         {
1616             set
1617             {
1618                 TrueValue = new PropertyValue(value);
1619             }
1620         }
1621
1622         /// <summary>
1623         /// SizeValue property.
1624         /// </summary>
1625         public Size SizeValue
1626         {
1627             set
1628             {
1629                 TrueValue = new PropertyValue(value);
1630             }
1631         }
1632
1633         /// <summary>
1634         /// Size2DValue property.
1635         /// </summary>
1636         public Size2D Size2DValue
1637         {
1638             set
1639             {
1640                 TrueValue = new PropertyValue(value);
1641             }
1642         }
1643
1644         /// <summary>
1645         /// ColorValue property.
1646         /// </summary>
1647         public Color ColorValue
1648         {
1649             set
1650             {
1651                 TrueValue = new PropertyValue(value);
1652             }
1653         }
1654
1655         /// <summary>
1656         /// RectangleValue property.
1657         /// </summary>
1658         public Rectangle RectangleValue
1659         {
1660             set
1661             {
1662                 TrueValue = new PropertyValue(value);
1663             }
1664         }
1665
1666         /// <summary>
1667         /// RotationValue property.
1668         /// </summary>
1669         public Rotation RotationValue
1670         {
1671             set
1672             {
1673                 TrueValue = new PropertyValue(value);
1674             }
1675         }
1676
1677         /// <summary>
1678         /// RelativeVector2Value property.
1679         /// </summary>
1680         public RelativeVector2 RelativeVector2Value
1681         {
1682             set
1683             {
1684                 TrueValue = new PropertyValue(value);
1685             }
1686         }
1687
1688         /// <summary>
1689         /// RelativeVector3Value property.
1690         /// </summary>
1691         public RelativeVector3 RelativeVector3Value
1692         {
1693             set
1694             {
1695                 TrueValue = new PropertyValue(value);
1696             }
1697         }
1698
1699         /// <summary>
1700         /// RelativeVector4Value property.
1701         /// </summary>
1702         public RelativeVector4 RelativeVector4Value
1703         {
1704             set
1705             {
1706                 TrueValue = new PropertyValue(value);
1707             }
1708         }
1709
1710         /// <summary>
1711         /// ExtentsValue property.
1712         /// </summary>
1713         public Extents ExtentsValue
1714         {
1715             set
1716             {
1717                 TrueValue = new PropertyValue(value);
1718             }
1719         }
1720
1721         /// <summary>
1722         /// PropertyArrayValue property.
1723         /// </summary>
1724         public PropertyArray PropertyArrayValue
1725         {
1726             set
1727             {
1728                 TrueValue = new PropertyValue(value);
1729             }
1730         }
1731
1732         /// <summary>
1733         /// PropertyMapValue property.
1734         /// </summary>
1735         public PropertyMap PropertyMapValue
1736         {
1737             set
1738             {
1739                 TrueValue = new PropertyValue(value);
1740             }
1741         }
1742
1743         private void ParseKey(string key)
1744         {
1745             int v = -1;
1746             if (VisualExtension.KeyDictionary.ContainsKey(key))
1747             {
1748                 VisualExtension.KeyDictionary.TryGetValue(key, out v);
1749                 KeyInt = v;
1750             }
1751             else
1752             {
1753                 KeyString = Key;
1754             }
1755         }
1756     }
1757
1758     internal class Property : Disposable
1759     {
1760         /// <summary>
1761         /// swigCMemOwn
1762         /// </summary>
1763         /// <since_tizen> 3 </since_tizen>
1764         protected bool swigCMemOwn;
1765
1766         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
1767
1768         /// <summary>
1769         /// This constructor creates a property instance.
1770         /// </summary>
1771         /// <param name="arg0">A valid handle to the target object.</param>
1772         /// <param name="propertyIndex">The index of a property.</param>
1773         /// <since_tizen> 3 </since_tizen>
1774         public Property(Animatable arg0, int propertyIndex) : this(Interop.Property.new_Property__SWIG_0(Animatable.getCPtr(arg0), propertyIndex), true)
1775         {
1776             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1777         }
1778
1779         /// <summary>
1780         /// This constructor creates a property instance.
1781         /// </summary>
1782         /// <param name="arg0">A valid handle to the target object.</param>
1783         /// <param name="propertyIndex">The index of a property.</param>
1784         /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for the main property (default is -1).</param>
1785         /// <since_tizen> 3 </since_tizen>
1786         public Property(Animatable arg0, int propertyIndex, int componentIndex) : this(Interop.Property.new_Property__SWIG_1(Animatable.getCPtr(arg0), propertyIndex, componentIndex), true)
1787         {
1788             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1789         }
1790
1791         /// <summary>
1792         /// This constructor creates a property instance.<br />
1793         /// This performs a property index query and is therefore slower than constructing a property directly with the index.<br />
1794         /// </summary>
1795         /// <param name="arg0">A valid handle to the target object.</param>
1796         /// <param name="propertyName">The property name.</param>
1797         /// <since_tizen> 3 </since_tizen>
1798         public Property(Animatable arg0, string propertyName) : this(Interop.Property.new_Property__SWIG_2(Animatable.getCPtr(arg0), propertyName), true)
1799         {
1800             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1801         }
1802
1803         /// <summary>
1804         /// This constructor creates a property instance.<br />
1805         /// This performs a property index query and is therefore slower than constructing a property directly with the index.<br />
1806         /// </summary>
1807         /// <param name="arg0">A valid handle to the target object.</param>
1808         /// <param name="propertyName">The property name.</param>
1809         /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1).</param>
1810         /// <since_tizen> 3 </since_tizen>
1811         public Property(Animatable arg0, string propertyName, int componentIndex) : this(Interop.Property.new_Property__SWIG_3(Animatable.getCPtr(arg0), propertyName, componentIndex), true)
1812         {
1813             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1814         }
1815
1816         internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
1817         {
1818             swigCMemOwn = cMemoryOwn;
1819             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
1820         }
1821
1822         /// <summary>
1823         /// Gets or sets the index of the property.
1824         /// </summary>
1825         /// <since_tizen> 3 </since_tizen>
1826         public int propertyIndex
1827         {
1828             set
1829             {
1830                 Interop.Property.Property_propertyIndex_set(swigCPtr, value);
1831                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1832             }
1833             get
1834             {
1835                 int ret = Interop.Property.Property_propertyIndex_get(swigCPtr);
1836                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1837                 return ret;
1838             }
1839         }
1840
1841         /// <summary>
1842         /// Gets or sets the component index of the property.
1843         /// </summary>
1844         /// <since_tizen> 3 </since_tizen>
1845         public int componentIndex
1846         {
1847             set
1848             {
1849                 Interop.Property.Property_componentIndex_set(swigCPtr, value);
1850                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1851             }
1852             get
1853             {
1854                 int ret = Interop.Property.Property_componentIndex_get(swigCPtr);
1855                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1856                 return ret;
1857             }
1858         }
1859
1860         internal static int INVALID_INDEX
1861         {
1862             get
1863             {
1864                 int ret = Interop.Property.Property_INVALID_INDEX_get();
1865                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1866                 return ret;
1867             }
1868         }
1869
1870         internal static int INVALID_KEY
1871         {
1872             get
1873             {
1874                 int ret = Interop.Property.Property_INVALID_KEY_get();
1875                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1876                 return ret;
1877             }
1878         }
1879
1880         internal static int INVALID_COMPONENT_INDEX
1881         {
1882             get
1883             {
1884                 int ret = Interop.Property.Property_INVALID_COMPONENT_INDEX_get();
1885                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1886                 return ret;
1887             }
1888         }
1889
1890         internal Animatable _object
1891         {
1892             set
1893             {
1894                 Interop.Property.Property__object_set(swigCPtr, Animatable.getCPtr(value));
1895                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1896             }
1897             get
1898             {
1899                 Animatable ret = new Animatable(Interop.Property.Property__object_get(swigCPtr), false);
1900                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1901                 return ret;
1902             }
1903         }
1904
1905         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
1906         {
1907             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
1908         }
1909
1910         protected override void Dispose(DisposeTypes type)
1911         {
1912             if (disposed)
1913             {
1914                 return;
1915             }
1916
1917             //Release your own unmanaged resources here.
1918             //You should not access any managed member here except static instance.
1919             //because the execution order of Finalizes is non-deterministic.
1920
1921             if (swigCPtr.Handle != global::System.IntPtr.Zero)
1922             {
1923                 if (swigCMemOwn)
1924                 {
1925                     swigCMemOwn = false;
1926                     Interop.Property.delete_Property(swigCPtr);
1927                 }
1928                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
1929             }
1930             base.Dispose(type);
1931         }
1932     }
1933 }