[ElmSharp] Modify source file mode (#621)
[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         /// <summary>
45         /// Gets the label of this item.
46         /// </summary>
47         /// <since_tizen> preview </since_tizen>
48         public string Label { get; private set; }
49
50         /// <summary>
51         /// Gets or sets the selected state of an item.
52         /// </summary>
53         /// <since_tizen> preview </since_tizen>
54         public bool IsSelected
55         {
56             get
57             {
58                 return Interop.Elementary.elm_multibuttonentry_item_selected_get(Handle);
59             }
60             set
61             {
62                 Interop.Elementary.elm_multibuttonentry_item_selected_set(Handle, value);
63             }
64         }
65
66         /// <summary>
67         /// Get the next item in the MultiButtonEntry.
68         /// </summary>
69         /// <since_tizen> preview </since_tizen>
70         public MultiButtonEntryItem Next
71         {
72             get
73             {
74                 var next = Interop.Elementary.elm_multibuttonentry_item_next_get(Handle);
75                 return ItemObject.GetItemByHandle(next) as MultiButtonEntryItem;
76             }
77         }
78
79         /// <summary>
80         /// Get the previous item in the MultiButtonEntry.
81         /// </summary>
82         /// <since_tizen> preview </since_tizen>
83         public MultiButtonEntryItem Prev
84         {
85             get
86             {
87                 var prev = Interop.Elementary.elm_multibuttonentry_item_prev_get(Handle);
88                 return ItemObject.GetItemByHandle(prev) as MultiButtonEntryItem;
89             }
90         }
91     }
92 }