electron_sys/class/
menu_item.rs

1use 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    /// Docs: http://electronjs.org/docs/api/menu-item
13    pub type MenuItem;
14
15    //*************//
16    // Constructor //
17    //*************//
18
19    #[wasm_bindgen(constructor)]
20    pub fn new(options: MenuItemOptions) -> MenuItem;
21
22    //*********************//
23    // Instance Properties //
24    //*********************//
25
26    #[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}