electron_sys/interface/
thumbar_button.rs1use crate::class::NativeImage;
2use js_sys::Function;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6pub struct ThumbarButton {
7 click: Function,
8 flags: Option<Box<[JsValue]>>,
9 icon: NativeImage,
10 tooltip: Option<Box<[JsValue]>>,
11}
12
13#[wasm_bindgen]
14impl ThumbarButton {
15 #[wasm_bindgen]
16 pub fn new(
17 click: Function,
18 flags: Option<Box<[JsValue]>>,
19 icon: NativeImage,
20 tooltip: Option<Box<[JsValue]>>,
21 ) -> ThumbarButton {
22 ThumbarButton {
23 click,
24 flags,
25 icon,
26 tooltip,
27 }
28 }
29
30 #[wasm_bindgen(getter)]
31 pub fn click(&self) -> Function {
32 self.click.clone()
33 }
34
35 #[wasm_bindgen(setter)]
36 pub fn set_click(&mut self, value: Function) {
37 self.click = value;
38 }
39
40 #[wasm_bindgen(getter)]
41 pub fn flags(&self) -> Option<Box<[JsValue]>> {
42 self.flags.clone()
43 }
44
45 #[wasm_bindgen(setter)]
46 pub fn set_flags(&mut self, value: Option<Box<[JsValue]>>) {
47 self.flags = value;
48 }
49
50 #[wasm_bindgen(getter)]
51 pub fn icon(&self) -> NativeImage {
52 self.icon.clone()
53 }
54
55 #[wasm_bindgen(setter)]
56 pub fn set_icon(&mut self, value: NativeImage) {
57 self.icon = value;
58 }
59
60 #[wasm_bindgen(getter)]
61 pub fn tooltip(&self) -> Option<Box<[JsValue]>> {
62 self.tooltip.clone()
63 }
64
65 #[wasm_bindgen(setter)]
66 pub fn set_tooltip(&mut self, value: Option<Box<[JsValue]>>) {
67 self.tooltip = value;
68 }
69}