electron_sys/interface/
touch_bar_scrubber_options.rs

1use js_sys::{Function, JsString};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, PartialEq)]
6pub struct TouchBarScrubberOptions {
7    continuous: Option<bool>,
8    highlight: Option<Function>,
9    items: Box<[JsValue]>,
10    mode: Option<JsString>,
11    overlay_style: Option<JsString>,
12    select: Option<Function>,
13    selected_style: Option<JsString>,
14    show_arrow_buttons: Option<bool>,
15}
16
17#[wasm_bindgen]
18impl TouchBarScrubberOptions {
19    #[allow(clippy::too_many_arguments)]
20    #[wasm_bindgen(constructor)]
21    pub fn new_with_values(
22        continuous: Option<bool>,
23        highlight: Option<Function>,
24        items: Box<[JsValue]>,
25        mode: Option<JsString>,
26        overlay_style: Option<JsString>,
27        select: Option<Function>,
28        selected_style: Option<JsString>,
29        show_arrow_buttons: Option<bool>,
30    ) -> TouchBarScrubberOptions {
31        TouchBarScrubberOptions {
32            continuous,
33            highlight,
34            items,
35            mode,
36            overlay_style,
37            select,
38            selected_style,
39            show_arrow_buttons,
40        }
41    }
42
43    pub fn new(items: Box<[JsValue]>) -> TouchBarScrubberOptions {
44        let continuous = Default::default();
45        let highlight = Default::default();
46        let mode = Default::default();
47        let overlay_style = Default::default();
48        let select = Default::default();
49        let selected_style = Default::default();
50        let show_arrow_buttons = Default::default();
51        TouchBarScrubberOptions::new_with_values(
52            continuous,
53            highlight,
54            items,
55            mode,
56            overlay_style,
57            select,
58            selected_style,
59            show_arrow_buttons,
60        )
61    }
62
63    #[wasm_bindgen(getter)]
64    pub fn continuous(&self) -> Option<bool> {
65        self.continuous
66    }
67
68    #[wasm_bindgen(setter)]
69    pub fn set_continuous(&mut self, value: Option<bool>) {
70        self.continuous = value;
71    }
72
73    #[wasm_bindgen(getter)]
74    pub fn highlight(&self) -> Option<Function> {
75        self.highlight.clone()
76    }
77
78    #[wasm_bindgen(setter)]
79    pub fn set_highlight(&mut self, value: Option<Function>) {
80        self.highlight = value;
81    }
82
83    #[wasm_bindgen(getter)]
84    pub fn items(&self) -> Box<[JsValue]> {
85        self.items.clone()
86    }
87
88    #[wasm_bindgen(setter)]
89    pub fn set_items(&mut self, value: Box<[JsValue]>) {
90        self.items = value;
91    }
92
93    #[wasm_bindgen(getter)]
94    pub fn mode(&self) -> Option<JsString> {
95        self.mode.clone()
96    }
97
98    #[wasm_bindgen(setter)]
99    pub fn set_mode(&mut self, value: Option<JsString>) {
100        self.mode = value;
101    }
102
103    #[wasm_bindgen(getter, js_name = "overlayStyle")]
104    pub fn overlay_style(&self) -> Option<JsString> {
105        self.overlay_style.clone()
106    }
107
108    #[wasm_bindgen(setter)]
109    pub fn set_overlay_style(&mut self, value: Option<JsString>) {
110        self.overlay_style = value;
111    }
112
113    #[wasm_bindgen(getter)]
114    pub fn select(&self) -> Option<Function> {
115        self.select.clone()
116    }
117
118    #[wasm_bindgen(setter)]
119    pub fn set_select(&mut self, value: Option<Function>) {
120        self.select = value;
121    }
122
123    #[wasm_bindgen(getter, js_name = "selectedStyle")]
124    pub fn selected_style(&self) -> Option<JsString> {
125        self.selected_style.clone()
126    }
127
128    #[wasm_bindgen(setter)]
129    pub fn set_selected_style(&mut self, value: Option<JsString>) {
130        self.selected_style = value;
131    }
132
133    #[wasm_bindgen(getter, js_name = "showArrowButtons")]
134    pub fn show_arrow_buttons(&self) -> Option<bool> {
135        self.show_arrow_buttons
136    }
137
138    #[wasm_bindgen(setter)]
139    pub fn set_show_arrow_buttons(&mut self, value: Option<bool>) {
140        self.show_arrow_buttons = value;
141    }
142}