electron_sys/interface/
save_dialog_options.rs

1use 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    //*************//
21    // Constructor //
22    //*************//
23
24    #[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    //*********************//
51    // Instance Properties //
52    //*********************//
53
54    #[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}