[NUI] TCSACR-226 code change (#1032)
[platform/core/csapi/tizenfx.git] / src / ElmSharp / ElmSharp / MultiButtonEntryItem.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
19 namespace ElmSharp
20 {
21     /// <summary>
22     /// It inherits <see cref="ItemObject"/>.
23     /// MutltiButtonEntryItem is an item, which is added to MultiButtonEntry.
24     /// It contains Next and Prev properties to get the next and previous item.
25     /// </summary>
26     /// <since_tizen> preview </since_tizen>
27     public class MultiButtonEntryItem : ItemObject
28     {
29         /// <summary>
30         /// Creates and initializes a new instance of the MultiButtonEntryItem class.
31         /// </summary>
32         /// <param name="text">The text of the MultiButtonEntryItem's label name.</param>
33         /// <since_tizen> preview </since_tizen>
34         public MultiButtonEntryItem(string text) : base(IntPtr.Zero)
35         {
36             Label = text;
37         }
38
39         internal MultiButtonEntryItem(IntPtr handle) : base(handle)
40         {
41             Label = Interop.Elementary.elm_object_item_part_text_get(handle, null);
42         }
43
44         internal MultiButtonEntryItem(IntPtr handle, EvasObject parent) : base(handle, parent)
45         {
46             Label = Interop.Elementary.elm_object_item_part_text_get(handle, null);
47         }
48
49         /// <summary>
50         /// Gets the label of this item.
51         /// </summary>
52         /// <since_tizen> preview </since_tizen>
53         public string Label { get; private set; }
54
55         /// <summary>
56         /// Gets or sets the selected state of an item.
57         /// </summary>
58         /// <since_tizen> preview </since_tizen>
59         public bool IsSelected
60         {
61             get
62             {
63                 return Interop.Elementary.elm_multibuttonentry_item_selected_get(Handle);
64             }
65             set
66             {
67                 Interop.Elementary.elm_multibuttonentry_item_selected_set(Handle, value);
68             }
69         }
70
71         /// <summary>
72         /// Get the next item in the MultiButtonEntry.
73         /// </summary>
74         /// <since_tizen> preview </since_tizen>
75         public MultiButtonEntryItem Next
76         {
77             get
78             {
79                 var next = Interop.Elementary.elm_multibuttonentry_item_next_get(Handle);
80                 return ItemObject.GetItemByHandle(next) as MultiButtonEntryItem;
81             }
82         }
83
84         /// <summary>
85         /// Get the previous item in the MultiButtonEntry.
86         /// </summary>
87         /// <since_tizen> preview </since_tizen>
88         public MultiButtonEntryItem Prev
89         {
90             get
91             {
92                 var prev = Interop.Elementary.elm_multibuttonentry_item_prev_get(Handle);
93                 return ItemObject.GetItemByHandle(prev) as MultiButtonEntryItem;
94             }
95         }
96     }
97 }