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