electron_sys/interface/
touch_bar_button_options.rs1use 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}