electron_sys/interface/
thumbar_button.rs

1use 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}