2
* Copyright (C) 2017 Igalia S.L.
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Library General Public
6
* License as published by the Free Software Foundation; either
7
* version 2 of the License, or (at your option) any later version.
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Library General Public License for more details.
14
* You should have received a copy of the GNU Library General Public License
15
* along with this library; see the file COPYING.LIB. If not, write to
16
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
* Boston, MA 02110-1301, USA.
21
#include "WebKitOptionMenuItem.h"
23
#include "WebKitOptionMenuItemPrivate.h"
25
using namespace WebKit;
28
* SECTION: WebKitOptionMenuItem
29
* @Short_description: One item of the #WebKitOptionMenu
30
* @Title: WebKitOptionMenuItem
32
* The #WebKitOptionMenu is composed of WebKitOptionMenuItem<!-- -->s.
33
* A WebKitOptionMenuItem always has a label and can contain a tooltip text.
34
* You can use the WebKitOptionMenuItem of a #WebKitOptionMenu to build your
40
G_DEFINE_BOXED_TYPE(WebKitOptionMenuItem, webkit_option_menu_item, webkit_option_menu_item_copy, webkit_option_menu_item_free)
43
* webkit_option_menu_item_copy:
44
* @item: a #WebKitOptionMenuItem
46
* Make a copy of the #WebKitOptionMenuItem.
48
* Returns: (transfer full): A copy of passed in #WebKitOptionMenuItem
52
WebKitOptionMenuItem* webkit_option_menu_item_copy(WebKitOptionMenuItem* item)
54
g_return_val_if_fail(item, nullptr);
56
auto* copyItem = static_cast<WebKitOptionMenuItem*>(fastMalloc(sizeof(WebKitOptionMenuItem)));
57
new (copyItem) WebKitOptionMenuItem(item);
62
* webkit_option_menu_item_free:
63
* @item: A #WebKitOptionMenuItem
65
* Free the #WebKitOptionMenuItem.
69
void webkit_option_menu_item_free(WebKitOptionMenuItem* item)
71
g_return_if_fail(item);
73
item->~WebKitOptionMenuItem();
78
* webkit_option_menu_item_get_label:
79
* @item: a #WebKitOptionMenuItem
81
* Get the label of a #WebKitOptionMenuItem.
83
* Returns: The label of @item.
87
const gchar* webkit_option_menu_item_get_label(WebKitOptionMenuItem* item)
89
g_return_val_if_fail(item, nullptr);
91
return item->label.data();
95
* webkit_option_menu_item_get_tooltip:
96
* @item: a #WebKitOptionMenuItem
98
* Get the tooltip of a #WebKitOptionMenuItem.
100
* Returns: The tooltip of @item, or %NULL.
104
const gchar* webkit_option_menu_item_get_tooltip(WebKitOptionMenuItem* item)
106
g_return_val_if_fail(item, nullptr);
108
return item->tooltip.isNull() ? nullptr : item->tooltip.data();
112
* webkit_option_menu_item_is_group_label:
113
* @item: a #WebKitOptionMenuItem
115
* Whether a #WebKitOptionMenuItem is a group label.
117
* Returns: %TRUE if the @item is a group label or %FALSE otherwise.
121
gboolean webkit_option_menu_item_is_group_label(WebKitOptionMenuItem* item)
123
g_return_val_if_fail(item, FALSE);
125
return item->isGroupLabel;
129
* webkit_option_menu_item_is_group_child:
130
* @item: a #WebKitOptionMenuItem
132
* Whether a #WebKitOptionMenuItem is a group child.
134
* Returns: %TRUE if the @item is a group child or %FALSE otherwise.
138
gboolean webkit_option_menu_item_is_group_child(WebKitOptionMenuItem* item)
140
g_return_val_if_fail(item, FALSE);
142
return item->isGroupChild;
146
* webkit_option_menu_item_is_enabled:
147
* @item: a #WebKitOptionMenuItem
149
* Whether a #WebKitOptionMenuItem is enabled.
151
* Returns: %TRUE if the @item is enabled or %FALSE otherwise.
155
gboolean webkit_option_menu_item_is_enabled(WebKitOptionMenuItem* item)
157
g_return_val_if_fail(item, FALSE);
159
return item->isEnabled;
163
* webkit_option_menu_item_is_selected:
164
* @item: a #WebKitOptionMenuItem
166
* Whether a #WebKitOptionMenuItem is the currently selected one.
168
* Returns: %TRUE if the @item is selected or %FALSE otherwise.
172
gboolean webkit_option_menu_item_is_selected(WebKitOptionMenuItem* item)
174
g_return_val_if_fail(item, FALSE);
176
return item->isSelected;