electron_sys/interface/
touch_bar_segmented_control_options.rs1use js_sys::{Function, JsString};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, PartialEq)]
6pub struct TouchBarSegmentedControlOptions {
7 change: Option<Function>,
8 mode: Option<JsString>,
9 segment_style: Option<JsString>,
10 segments: Box<[JsValue]>,
11 selected_index: Option<usize>,
12}
13
14#[wasm_bindgen]
15impl TouchBarSegmentedControlOptions {
16 #[wasm_bindgen(constructor)]
17 pub fn new_with_values(
18 change: Option<Function>,
19 mode: Option<JsString>,
20 segment_style: Option<JsString>,
21 segments: Box<[JsValue]>,
22 selected_index: Option<usize>,
23 ) -> TouchBarSegmentedControlOptions {
24 TouchBarSegmentedControlOptions {
25 change,
26 mode,
27 segment_style,
28 segments,
29 selected_index,
30 }
31 }
32
33 pub fn new(segments: Box<[JsValue]>) -> TouchBarSegmentedControlOptions {
34 let change = Default::default();
35 let mode = Default::default();
36 let segment_style = Default::default();
37 let selected_index = Default::default();
38 TouchBarSegmentedControlOptions::new_with_values(change, mode, segment_style, segments, selected_index)
39 }
40
41 #[wasm_bindgen(getter)]
42 pub fn change(&self) -> Option<Function> {
43 self.change.clone()
44 }
45
46 #[wasm_bindgen(setter)]
47 pub fn set_change(&mut self, value: Option<Function>) {
48 self.change = value;
49 }
50
51 #[wasm_bindgen(getter)]
52 pub fn mode(&self) -> Option<JsString> {
53 self.mode.clone()
54 }
55
56 #[wasm_bindgen(setter)]
57 pub fn set_mode(&mut self, value: Option<JsString>) {
58 self.mode = value;
59 }
60
61 #[wasm_bindgen(getter, js_name = "segmentStyle")]
62 pub fn segment_style(&self) -> Option<JsString> {
63 self.segment_style.clone()
64 }
65
66 #[wasm_bindgen(setter)]
67 pub fn set_segment_style(&mut self, value: Option<JsString>) {
68 self.segment_style = value;
69 }
70
71 #[wasm_bindgen(getter)]
72 pub fn segments(&self) -> Box<[JsValue]> {
73 self.segments.clone()
74 }
75
76 #[wasm_bindgen(setter)]
77 pub fn set_segments(&mut self, value: Box<[JsValue]>) {
78 self.segments = value;
79 }
80
81 #[wasm_bindgen(getter)]
82 pub fn selected_index(&self) -> Option<usize> {
83 self.selected_index
84 }
85
86 #[wasm_bindgen(setter)]
87 pub fn set_selected_index(&mut self, value: Option<usize>) {
88 self.selected_index = value;
89 }
90}