[NUI] TCSACR-226 code change (#1032)
[platform/core/csapi/tizenfx.git] / src / ElmSharp / ElmSharp / ContextPopupItem.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     /// An instance to the ContextPopup item is added.
24     /// </summary>
25     /// <since_tizen> preview </since_tizen>
26     public class ContextPopupItem : ItemObject
27     {
28         internal ContextPopupItem(string text, EvasObject icon) : base(IntPtr.Zero)
29         {
30             Text = text;
31             Icon = icon;
32         }
33
34         internal ContextPopupItem(string text, EvasObject icon, EvasObject parent) : base(IntPtr.Zero, parent)
35         {
36             Text = text;
37             Icon = icon;
38         }
39
40         /// <summary>
41         /// Gets the Text property of the given ContextPopupItem.
42         /// </summary>
43         /// <since_tizen> preview </since_tizen>
44         public string Text { get; internal set; }
45
46         /// <summary>
47         /// Gets the Icon (type is <see cref="EvasObject"/>) property of the given ContextPopupItem.
48         /// </summary>
49         /// <since_tizen> preview </since_tizen>
50         public EvasObject Icon { get; internal set; }
51
52         /// <summary>
53         /// Selected will be triggered when the ContextPopupItem is selected.
54         /// </summary>
55         /// <since_tizen> preview </since_tizen>
56         public event EventHandler Selected;
57
58         internal void SendSelected()
59         {
60             Selected?.Invoke(this, EventArgs.Empty);
61         }
62     }
63 }