Skip to main content

webkit_web_process_extension6/auto/
context_menu_item.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from webkit-gir-files
4// DO NOT EDIT
5
6use crate::{ContextMenu, ContextMenuAction, ffi};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "WebKitContextMenuItem")]
11    pub struct ContextMenuItem(Object<ffi::WebKitContextMenuItem, ffi::WebKitContextMenuItemClass>);
12
13    match fn {
14        type_ => || ffi::webkit_context_menu_item_get_type(),
15    }
16}
17
18impl ContextMenuItem {
19    #[doc(alias = "webkit_context_menu_item_new_from_gaction")]
20    #[doc(alias = "new_from_gaction")]
21    pub fn from_gaction(
22        action: &impl IsA<gio::Action>,
23        label: &str,
24        target: Option<&glib::Variant>,
25    ) -> ContextMenuItem {
26        assert_initialized_main_thread!();
27        unsafe {
28            from_glib_none(ffi::webkit_context_menu_item_new_from_gaction(
29                action.as_ref().to_glib_none().0,
30                label.to_glib_none().0,
31                target.to_glib_none().0,
32            ))
33        }
34    }
35
36    #[doc(alias = "webkit_context_menu_item_new_from_stock_action")]
37    #[doc(alias = "new_from_stock_action")]
38    pub fn from_stock_action(action: ContextMenuAction) -> ContextMenuItem {
39        assert_initialized_main_thread!();
40        unsafe {
41            from_glib_none(ffi::webkit_context_menu_item_new_from_stock_action(
42                action.into_glib(),
43            ))
44        }
45    }
46
47    #[doc(alias = "webkit_context_menu_item_new_from_stock_action_with_label")]
48    #[doc(alias = "new_from_stock_action_with_label")]
49    pub fn from_stock_action_with_label(action: ContextMenuAction, label: &str) -> ContextMenuItem {
50        assert_initialized_main_thread!();
51        unsafe {
52            from_glib_none(
53                ffi::webkit_context_menu_item_new_from_stock_action_with_label(
54                    action.into_glib(),
55                    label.to_glib_none().0,
56                ),
57            )
58        }
59    }
60
61    #[doc(alias = "webkit_context_menu_item_new_separator")]
62    pub fn new_separator() -> ContextMenuItem {
63        assert_initialized_main_thread!();
64        unsafe { from_glib_none(ffi::webkit_context_menu_item_new_separator()) }
65    }
66
67    #[doc(alias = "webkit_context_menu_item_new_with_submenu")]
68    #[doc(alias = "new_with_submenu")]
69    pub fn with_submenu(label: &str, submenu: &ContextMenu) -> ContextMenuItem {
70        skip_assert_initialized!();
71        unsafe {
72            from_glib_none(ffi::webkit_context_menu_item_new_with_submenu(
73                label.to_glib_none().0,
74                submenu.to_glib_none().0,
75            ))
76        }
77    }
78
79    #[doc(alias = "webkit_context_menu_item_get_gaction")]
80    #[doc(alias = "get_gaction")]
81    pub fn gaction(&self) -> Option<gio::Action> {
82        unsafe {
83            from_glib_none(ffi::webkit_context_menu_item_get_gaction(
84                self.to_glib_none().0,
85            ))
86        }
87    }
88
89    #[cfg(feature = "v2_52")]
90    #[cfg_attr(docsrs, doc(cfg(feature = "v2_52")))]
91    #[doc(alias = "webkit_context_menu_item_get_gaction_target")]
92    #[doc(alias = "get_gaction_target")]
93    pub fn gaction_target(&self) -> Option<glib::Variant> {
94        unsafe {
95            from_glib_none(ffi::webkit_context_menu_item_get_gaction_target(
96                self.to_glib_none().0,
97            ))
98        }
99    }
100
101    #[doc(alias = "webkit_context_menu_item_get_stock_action")]
102    #[doc(alias = "get_stock_action")]
103    pub fn stock_action(&self) -> ContextMenuAction {
104        unsafe {
105            from_glib(ffi::webkit_context_menu_item_get_stock_action(
106                self.to_glib_none().0,
107            ))
108        }
109    }
110
111    #[doc(alias = "webkit_context_menu_item_get_submenu")]
112    #[doc(alias = "get_submenu")]
113    pub fn submenu(&self) -> Option<ContextMenu> {
114        unsafe {
115            from_glib_none(ffi::webkit_context_menu_item_get_submenu(
116                self.to_glib_none().0,
117            ))
118        }
119    }
120
121    #[cfg(feature = "v2_52")]
122    #[cfg_attr(docsrs, doc(cfg(feature = "v2_52")))]
123    #[doc(alias = "webkit_context_menu_item_get_title")]
124    #[doc(alias = "get_title")]
125    pub fn title(&self) -> Option<glib::GString> {
126        unsafe {
127            from_glib_none(ffi::webkit_context_menu_item_get_title(
128                self.to_glib_none().0,
129            ))
130        }
131    }
132
133    #[doc(alias = "webkit_context_menu_item_is_separator")]
134    pub fn is_separator(&self) -> bool {
135        unsafe {
136            from_glib(ffi::webkit_context_menu_item_is_separator(
137                self.to_glib_none().0,
138            ))
139        }
140    }
141
142    #[doc(alias = "webkit_context_menu_item_set_submenu")]
143    pub fn set_submenu(&self, submenu: Option<&ContextMenu>) {
144        unsafe {
145            ffi::webkit_context_menu_item_set_submenu(
146                self.to_glib_none().0,
147                submenu.to_glib_none().0,
148            );
149        }
150    }
151}