electron_sys/interface/
touch_bar_button_options.rs

1use crate::class::NativeImage;
2use js_sys::{Function, JsString};
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6#[derive(Clone, Debug, Default, Eq, PartialEq)]
7pub struct TouchBarButtonOptions {
8    accessibility_label: Option<JsString>,
9    background_color: Option<JsString>,
10    click: Option<Function>,
11    icon_position: Option<JsString>,
12    icon: Option<NativeImage>,
13    label: Option<JsString>,
14}
15
16#[wasm_bindgen]
17impl TouchBarButtonOptions {
18    #[wasm_bindgen(constructor)]
19    pub fn new_with_values(
20        accessibility_label: Option<JsString>,
21        background_color: Option<JsString>,
22        click: Option<Function>,
23        icon_position: Option<JsString>,
24        icon: Option<NativeImage>,
25        label: Option<JsString>,
26    ) -> TouchBarButtonOptions {
27        TouchBarButtonOptions {
28            accessibility_label,
29            background_color,
30            click,
31            icon_position,
32            icon,
33            label,
34        }
35    }
36
37    #[wasm_bindgen(getter, js_name = "accessibilityLabel")]
38    pub fn accessibility_label(&self) -> Option<JsString> {
39        self.accessibility_label.clone()
40    }
41
42    #[wasm_bindgen(setter)]
43    pub fn set_accessibility_label(&mut self, value: Option<JsString>) {
44        self.accessibility_label = value;
45    }
46
47    #[wasm_bindgen(getter, js_name = "backgroundColor")]
48    pub fn background_color(&self) -> Option<JsString> {
49        self.background_color.clone()
50    }
51
52    #[wasm_bindgen(setter)]
53    pub fn set_background_color(&mut self, value: Option<JsString>) {
54        self.background_color = value;
55    }
56
57    #[wasm_bindgen(getter)]
58    pub fn click(&self) -> Option<Function> {
59        self.click.clone()
60    }
61
62    #[wasm_bindgen(setter)]
63    pub fn set_click(&mut self, value: Option<Function>) {
64        self.click = value;
65    }
66
67    #[wasm_bindgen(getter, js_name = "iconPosition")]
68    pub fn icon_position(&self) -> Option<JsString> {
69        self.icon_position.clone()
70    }
71
72    #[wasm_bindgen(setter)]
73    pub fn set_icon_position(&mut self, value: Option<JsString>) {
74        self.icon_position = value;
75    }
76
77    #[wasm_bindgen(getter)]
78    pub fn icon(&self) -> Option<NativeImage> {
79        self.icon.clone()
80    }
81
82    #[wasm_bindgen(setter)]
83    pub fn set_icon(&mut self, value: Option<NativeImage>) {
84        self.icon = value;
85    }
86
87    #[wasm_bindgen(getter)]
88    pub fn label(&self) -> Option<JsString> {
89        self.label.clone()
90    }
91
92    #[wasm_bindgen(setter)]
93    pub fn set_label(&mut self, value: Option<JsString>) {
94        self.label = value;
95    }
96}