electron_sys/interface/
touch_bar_popover_options.rs1use crate::class::{NativeImage, TouchBar};
2use js_sys::JsString;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6#[derive(Clone, Debug, Eq, PartialEq)]
7pub struct TouchBarPopoverOptions {
8 icon: Option<NativeImage>,
9 items: TouchBar,
10 label: Option<JsString>,
11 show_close_button: Option<bool>,
12}
13
14#[wasm_bindgen]
15impl TouchBarPopoverOptions {
16 #[wasm_bindgen(constructor)]
17 pub fn new_with_values(
18 icon: Option<NativeImage>,
19 items: TouchBar,
20 label: Option<JsString>,
21 show_close_button: Option<bool>,
22 ) -> TouchBarPopoverOptions {
23 TouchBarPopoverOptions {
24 icon,
25 items,
26 label,
27 show_close_button,
28 }
29 }
30
31 pub fn new(items: TouchBar) -> TouchBarPopoverOptions {
32 let icon = Default::default();
33 let label = Default::default();
34 let show_close_buton = Default::default();
35 TouchBarPopoverOptions::new_with_values(icon, items, label, show_close_buton)
36 }
37
38 #[wasm_bindgen(getter)]
39 pub fn icon(&self) -> Option<NativeImage> {
40 self.icon.clone()
41 }
42
43 #[wasm_bindgen(setter)]
44 pub fn set_icon(&mut self, value: Option<NativeImage>) {
45 self.icon = value;
46 }
47
48 #[wasm_bindgen(getter)]
49 pub fn items(&self) -> TouchBar {
50 self.items.clone()
51 }
52
53 #[wasm_bindgen(setter)]
54 pub fn set_items(&mut self, value: TouchBar) {
55 self.items = value;
56 }
57
58 #[wasm_bindgen(getter)]
59 pub fn label(&self) -> Option<JsString> {
60 self.label.clone()
61 }
62
63 #[wasm_bindgen(setter)]
64 pub fn set_label(&mut self, value: Option<JsString>) {
65 self.label = value;
66 }
67
68 #[wasm_bindgen(getter, js_name = "showCloseButton")]
69 pub fn show_close_button(&self) -> Option<bool> {
70 self.show_close_button
71 }
72
73 #[wasm_bindgen(setter)]
74 pub fn set_show_close_button(&mut self, value: Option<bool>) {
75 self.show_close_button = value;
76 }
77}