electron_sys/class/
menu_item.rs1use crate::{
2 class::{Accelerator, Menu},
3 interface::MenuItemOptions,
4};
5use js_sys::{Function, JsString, Object};
6use wasm_bindgen::prelude::*;
7
8#[wasm_bindgen(module = "electron")]
9extern {
10 #[wasm_bindgen(extends = Object)]
11 #[derive(Clone, Debug, Eq, PartialEq)]
12 pub type MenuItem;
14
15 #[wasm_bindgen(constructor)]
20 pub fn new(options: MenuItemOptions) -> MenuItem;
21
22 #[wasm_bindgen(method, getter)]
27 pub fn accelerator(this: &MenuItem) -> Option<Accelerator>;
28
29 #[wasm_bindgen(method, setter)]
30 pub fn set_accelerator(this: &MenuItem, value: Option<Accelerator>);
31
32 #[wasm_bindgen(method, getter)]
33 pub fn checked(this: &MenuItem) -> bool;
34
35 #[wasm_bindgen(method, setter)]
36 pub fn set_checked(this: &MenuItem, value: bool);
37
38 #[wasm_bindgen(method, getter)]
39 pub fn click(this: &MenuItem) -> Function;
40
41 #[wasm_bindgen(method, setter)]
42 pub fn set_click(this: &MenuItem, value: Function);
43
44 #[wasm_bindgen(method, getter, js_name = "commandId")]
45 pub fn command_id(this: &MenuItem) -> u32;
46
47 #[wasm_bindgen(method, setter, js_name = "commandId")]
48 pub fn set_command_id(this: &MenuItem, value: u32);
49
50 #[wasm_bindgen(method, getter)]
51 pub fn enabled(this: &MenuItem) -> bool;
52
53 #[wasm_bindgen(method, setter)]
54 pub fn set_enabled(this: &MenuItem, value: bool);
55
56 #[wasm_bindgen(method, getter)]
57 pub fn icon(this: &MenuItem) -> JsValue;
58
59 #[wasm_bindgen(method, setter)]
60 pub fn set_icon(this: &MenuItem, value: JsValue);
61
62 #[wasm_bindgen(method, getter)]
63 pub fn id(this: &MenuItem) -> JsString;
64
65 #[wasm_bindgen(method, setter)]
66 pub fn set_id(this: &MenuItem, value: JsString);
67
68 #[wasm_bindgen(method, getter, js_name = "type")]
69 pub fn kind(this: &MenuItem) -> JsString;
70
71 #[wasm_bindgen(method, setter, js_name = "type")]
72 pub fn set_kind(this: &MenuItem, value: JsString);
73
74 #[wasm_bindgen(method, getter)]
75 pub fn label(this: &MenuItem) -> JsString;
76
77 #[wasm_bindgen(method, setter)]
78 pub fn set_label(this: &MenuItem, value: JsString);
79
80 #[wasm_bindgen(method, getter)]
81 pub fn menu(this: &MenuItem) -> Menu;
82
83 #[wasm_bindgen(method, setter)]
84 pub fn set_menu(this: &MenuItem, value: Menu);
85
86 #[wasm_bindgen(method, getter, js_name = "registerAccelerator")]
87 pub fn register_accelerator(this: &MenuItem) -> bool;
88
89 #[wasm_bindgen(method, setter, js_name = "registerAccelerator")]
90 pub fn set_register_accelerator(this: &MenuItem, value: bool);
91
92 #[wasm_bindgen(method, getter)]
93 pub fn role(this: &MenuItem) -> JsString;
94
95 #[wasm_bindgen(method, getter)]
96 pub fn set_role(this: &MenuItem, value: JsString);
97
98 #[wasm_bindgen(method, getter)]
99 pub fn sublabel(this: &MenuItem) -> JsString;
100
101 #[wasm_bindgen(method, getter)]
102 pub fn set_sublabel(this: &MenuItem, value: JsString);
103
104 #[wasm_bindgen(method, getter)]
105 pub fn submenu(this: &MenuItem) -> Option<Menu>;
106
107 #[wasm_bindgen(method, setter)]
108 pub fn set_submenu(this: &MenuItem, value: Option<Menu>);
109
110 #[wasm_bindgen(method, getter, js_name = "toolTip")]
111 pub fn tool_tip(this: &MenuItem) -> JsString;
112
113 #[wasm_bindgen(method, setter, js_name = "toolTip")]
114 pub fn set_tool_tip(this: &MenuItem, value: JsString);
115
116 #[wasm_bindgen(method, getter)]
117 pub fn visible(this: &MenuItem) -> bool;
118
119 #[wasm_bindgen(method, setter)]
120 pub fn set_visible(this: &MenuItem, value: bool);
121}