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