electron_sys/interface/
save_dialog_options.rs1use js_sys::JsString;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, Default, PartialEq)]
6pub struct SaveDialogOptions {
7 button_label: Option<JsString>,
8 default_path: Option<JsString>,
9 filters: Option<Box<[JsValue]>>,
10 message: Option<JsString>,
11 name_field_label: Option<JsString>,
12 properties: Option<Box<[JsValue]>>,
13 security_scoped_bookmarks: Option<bool>,
14 show_tag_field: Option<bool>,
15 title: Option<JsString>,
16}
17
18#[wasm_bindgen]
19impl SaveDialogOptions {
20 #[wasm_bindgen(constructor)]
25 #[allow(clippy::too_many_arguments)]
26 pub fn new(
27 button_label: Option<JsString>,
28 default_path: Option<JsString>,
29 filters: Option<Box<[JsValue]>>,
30 message: Option<JsString>,
31 name_field_label: Option<JsString>,
32 properties: Option<Box<[JsValue]>>,
33 security_scoped_bookmarks: Option<bool>,
34 show_tag_field: Option<bool>,
35 title: Option<JsString>,
36 ) -> SaveDialogOptions {
37 SaveDialogOptions {
38 button_label,
39 default_path,
40 filters,
41 message,
42 name_field_label,
43 properties,
44 security_scoped_bookmarks,
45 show_tag_field,
46 title,
47 }
48 }
49
50 #[wasm_bindgen(getter)]
55 pub fn title(&self) -> Option<JsString> {
56 self.title.clone()
57 }
58
59 #[wasm_bindgen(setter)]
60 pub fn set_title(&mut self, value: Option<JsString>) {
61 self.title = value;
62 }
63
64 #[wasm_bindgen(getter, js_name = "defaultPath")]
65 pub fn default_path(&self) -> Option<JsString> {
66 self.default_path.clone()
67 }
68
69 #[wasm_bindgen(setter)]
70 pub fn set_default_path(&mut self, value: Option<JsString>) {
71 self.default_path = value;
72 }
73
74 #[wasm_bindgen(getter, js_name = "buttonLabel")]
75 pub fn button_label(&self) -> Option<JsString> {
76 self.button_label.clone()
77 }
78
79 #[wasm_bindgen(setter)]
80 pub fn set_button_label(&mut self, value: Option<JsString>) {
81 self.button_label = value;
82 }
83
84 #[wasm_bindgen(getter)]
85 pub fn filters(&self) -> Option<Box<[JsValue]>> {
86 self.filters.clone()
87 }
88
89 #[wasm_bindgen(setter)]
90 pub fn set_filters(&mut self, value: Option<Box<[JsValue]>>) {
91 self.filters = value;
92 }
93
94 #[wasm_bindgen(getter)]
95 pub fn message(&self) -> Option<JsString> {
96 self.message.clone()
97 }
98
99 #[wasm_bindgen(setter)]
100 pub fn set_message(&mut self, value: Option<JsString>) {
101 self.message = value;
102 }
103
104 #[wasm_bindgen(getter, js_name = "nameFieldLabel")]
105 pub fn name_field_label(&self) -> Option<JsString> {
106 self.name_field_label.clone()
107 }
108
109 #[wasm_bindgen(setter)]
110 pub fn set_name_field_label(&mut self, value: Option<JsString>) {
111 self.name_field_label = value;
112 }
113
114 #[wasm_bindgen(getter, js_name = "showTagField")]
115 pub fn show_tag_field(&self) -> Option<bool> {
116 self.show_tag_field
117 }
118
119 #[wasm_bindgen(setter)]
120 pub fn set_show_tag_field(&mut self, value: Option<bool>) {
121 self.show_tag_field = value;
122 }
123
124 #[wasm_bindgen(getter)]
125 pub fn properties(&self) -> Option<Box<[JsValue]>> {
126 self.properties.clone()
127 }
128
129 #[wasm_bindgen(setter)]
130 pub fn set_properties(&mut self, value: Option<Box<[JsValue]>>) {
131 self.properties = value;
132 }
133
134 #[wasm_bindgen(getter, js_name = "securityScopedBookmarks")]
135 pub fn security_scoped_bookmarks(&self) -> Option<bool> {
136 self.security_scoped_bookmarks
137 }
138
139 #[wasm_bindgen(setter)]
140 pub fn set_security_scoped_bookmarks(&mut self, value: Option<bool>) {
141 self.security_scoped_bookmarks = value;
142 }
143}