electron_sys/interface/
message_box_sync_options.rs

1use crate::class::NativeImage;
2use js_sys::JsString;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6#[derive(Clone, Debug, PartialEq)]
7pub struct MessageBoxSyncOptions {
8    buttons: Option<Box<[JsValue]>>,
9    cancel_id: Option<u32>,
10    checkbox_checked: Option<bool>,
11    checkbox_label: Option<JsString>,
12    default_id: Option<u32>,
13    detail: Option<JsString>,
14    icon: Option<NativeImage>,
15    kind: Option<JsString>,
16    message: JsString,
17    no_link: Option<bool>,
18    normalize_access_keys: Option<bool>,
19    title: Option<JsString>,
20}
21
22#[wasm_bindgen]
23impl MessageBoxSyncOptions {
24    #[allow(clippy::too_many_arguments)]
25    #[wasm_bindgen(constructor)]
26    pub fn new(
27        buttons: Option<Box<[JsValue]>>,
28        cancel_id: Option<u32>,
29        checkbox_checked: Option<bool>,
30        checkbox_label: Option<JsString>,
31        default_id: Option<u32>,
32        detail: Option<JsString>,
33        icon: Option<NativeImage>,
34        kind: Option<JsString>,
35        message: JsString,
36        no_link: Option<bool>,
37        normalize_access_keys: Option<bool>,
38        title: Option<JsString>,
39    ) -> MessageBoxSyncOptions {
40        MessageBoxSyncOptions {
41            buttons,
42            cancel_id,
43            checkbox_checked,
44            checkbox_label,
45            default_id,
46            detail,
47            icon,
48            kind,
49            message,
50            no_link,
51            normalize_access_keys,
52            title,
53        }
54    }
55
56    #[wasm_bindgen(getter)]
57    pub fn buttons(&self) -> Option<Box<[JsValue]>> {
58        self.buttons.clone()
59    }
60
61    #[wasm_bindgen(setter)]
62    pub fn set_buttons(&mut self, value: Option<Box<[JsValue]>>) {
63        self.buttons = value;
64    }
65
66    #[wasm_bindgen(getter, js_name = "cancelId")]
67    pub fn cancel_id(&self) -> Option<u32> {
68        self.cancel_id
69    }
70
71    #[wasm_bindgen(setter)]
72    pub fn set_cancel_id(&mut self, value: Option<u32>) {
73        self.cancel_id = value;
74    }
75
76    #[wasm_bindgen(getter, js_name = "checkboxChecked")]
77    pub fn checkbox_checked(&self) -> Option<bool> {
78        self.checkbox_checked
79    }
80
81    #[wasm_bindgen(setter)]
82    pub fn set_checkbox_checked(&mut self, value: Option<bool>) {
83        self.checkbox_checked = value;
84    }
85
86    #[wasm_bindgen(getter, js_name = "checkboxLabel")]
87    pub fn checkbox_label(&self) -> Option<JsString> {
88        self.checkbox_label.clone()
89    }
90
91    #[wasm_bindgen(setter)]
92    pub fn set_checkbox_label(&mut self, value: Option<JsString>) {
93        self.checkbox_label = value;
94    }
95
96    #[wasm_bindgen(getter, js_name = "defaultId")]
97    pub fn default_id(&self) -> Option<u32> {
98        self.default_id
99    }
100
101    #[wasm_bindgen(setter)]
102    pub fn set_default_id(&mut self, value: Option<u32>) {
103        self.default_id = value;
104    }
105
106    #[wasm_bindgen(getter)]
107    pub fn detail(&self) -> Option<JsString> {
108        self.detail.clone()
109    }
110
111    #[wasm_bindgen(setter)]
112    pub fn set_detail(&mut self, value: Option<JsString>) {
113        self.detail = value;
114    }
115
116    #[wasm_bindgen(getter)]
117    pub fn icon(&self) -> Option<NativeImage> {
118        self.icon.clone()
119    }
120
121    #[wasm_bindgen(setter)]
122    pub fn set_icon(&mut self, value: Option<NativeImage>) {
123        self.icon = value;
124    }
125
126    #[wasm_bindgen(getter, js_name = "type")]
127    pub fn kind(&self) -> Option<JsString> {
128        self.kind.clone()
129    }
130
131    #[wasm_bindgen(setter)]
132    pub fn set_kind(&mut self, value: Option<JsString>) {
133        self.kind = value;
134    }
135
136    #[wasm_bindgen(getter)]
137    pub fn message(&self) -> JsString {
138        self.message.clone()
139    }
140
141    #[wasm_bindgen(setter)]
142    pub fn set_message(&mut self, value: JsString) {
143        self.message = value;
144    }
145
146    #[wasm_bindgen(getter, js_name = "noLink")]
147    pub fn no_link(&self) -> Option<bool> {
148        self.no_link
149    }
150
151    #[wasm_bindgen(setter)]
152    pub fn set_no_link(&mut self, value: Option<bool>) {
153        self.no_link = value;
154    }
155
156    #[wasm_bindgen(getter, js_name = "normalizeAccessKeys")]
157    pub fn normalize_access_keys(&self) -> Option<bool> {
158        self.normalize_access_keys
159    }
160
161    #[wasm_bindgen(setter)]
162    pub fn set_normalize_access_keys(&mut self, value: Option<bool>) {
163        self.normalize_access_keys = value;
164    }
165
166    #[wasm_bindgen(getter)]
167    pub fn title(&self) -> Option<JsString> {
168        self.title.clone()
169    }
170
171    #[wasm_bindgen(setter)]
172    pub fn set_title(&mut self, value: Option<JsString>) {
173        self.title = value;
174    }
175}