electron_sys/interface/
touch_bar_segmented_control_options.rs

1use 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}