electron_sys/interface/
segmented_control_segment.rs

1use crate::class::NativeImage;
2use js_sys::JsString;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6pub struct SegmentedControlSegment {
7    enabled: Option<bool>,
8    icon: Option<NativeImage>,
9    label: Option<JsString>,
10}
11
12#[wasm_bindgen]
13impl SegmentedControlSegment {
14    #[wasm_bindgen]
15    pub fn new(enabled: Option<bool>, icon: Option<NativeImage>, label: Option<JsString>) -> SegmentedControlSegment {
16        SegmentedControlSegment { enabled, icon, label }
17    }
18
19    #[wasm_bindgen(getter)]
20    pub fn enabled(&self) -> Option<bool> {
21        self.enabled
22    }
23
24    #[wasm_bindgen(setter)]
25    pub fn set_enabled(&mut self, value: Option<bool>) {
26        self.enabled = value;
27    }
28
29    #[wasm_bindgen(getter)]
30    pub fn icon(&self) -> Option<NativeImage> {
31        self.icon.clone()
32    }
33
34    #[wasm_bindgen(setter)]
35    pub fn set_icon(&mut self, value: Option<NativeImage>) {
36        self.icon = value;
37    }
38
39    #[wasm_bindgen(getter)]
40    pub fn label(&self) -> Option<JsString> {
41        self.label.clone()
42    }
43
44    #[wasm_bindgen(setter)]
45    pub fn set_label(&mut self, value: Option<JsString>) {
46        self.label = value;
47    }
48}