use crate::class::NativeImage;
use js_sys::JsString;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
#[derive(Clone, Debug, PartialEq)]
pub struct MessageBoxSyncOptions {
buttons: Option<Box<[JsValue]>>,
cancel_id: Option<u32>,
checkbox_checked: Option<bool>,
checkbox_label: Option<JsString>,
default_id: Option<u32>,
detail: Option<JsString>,
icon: Option<NativeImage>,
kind: Option<JsString>,
message: JsString,
no_link: Option<bool>,
normalize_access_keys: Option<bool>,
title: Option<JsString>,
}
#[wasm_bindgen]
impl MessageBoxSyncOptions {
#[allow(clippy::too_many_arguments)]
#[wasm_bindgen(constructor)]
pub fn new(
buttons: Option<Box<[JsValue]>>,
cancel_id: Option<u32>,
checkbox_checked: Option<bool>,
checkbox_label: Option<JsString>,
default_id: Option<u32>,
detail: Option<JsString>,
icon: Option<NativeImage>,
kind: Option<JsString>,
message: JsString,
no_link: Option<bool>,
normalize_access_keys: Option<bool>,
title: Option<JsString>,
) -> MessageBoxSyncOptions {
MessageBoxSyncOptions {
buttons,
cancel_id,
checkbox_checked,
checkbox_label,
default_id,
detail,
icon,
kind,
message,
no_link,
normalize_access_keys,
title,
}
}
#[wasm_bindgen(getter)]
pub fn buttons(&self) -> Option<Box<[JsValue]>> {
self.buttons.clone()
}
#[wasm_bindgen(setter)]
pub fn set_buttons(&mut self, value: Option<Box<[JsValue]>>) {
self.buttons = value;
}
#[wasm_bindgen(getter, js_name = "cancelId")]
pub fn cancel_id(&self) -> Option<u32> {
self.cancel_id
}
#[wasm_bindgen(setter)]
pub fn set_cancel_id(&mut self, value: Option<u32>) {
self.cancel_id = value;
}
#[wasm_bindgen(getter, js_name = "checkboxChecked")]
pub fn checkbox_checked(&self) -> Option<bool> {
self.checkbox_checked
}
#[wasm_bindgen(setter)]
pub fn set_checkbox_checked(&mut self, value: Option<bool>) {
self.checkbox_checked = value;
}
#[wasm_bindgen(getter, js_name = "checkboxLabel")]
pub fn checkbox_label(&self) -> Option<JsString> {
self.checkbox_label.clone()
}
#[wasm_bindgen(setter)]
pub fn set_checkbox_label(&mut self, value: Option<JsString>) {
self.checkbox_label = value;
}
#[wasm_bindgen(getter, js_name = "defaultId")]
pub fn default_id(&self) -> Option<u32> {
self.default_id
}
#[wasm_bindgen(setter)]
pub fn set_default_id(&mut self, value: Option<u32>) {
self.default_id = value;
}
#[wasm_bindgen(getter)]
pub fn detail(&self) -> Option<JsString> {
self.detail.clone()
}
#[wasm_bindgen(setter)]
pub fn set_detail(&mut self, value: Option<JsString>) {
self.detail = value;
}
#[wasm_bindgen(getter)]
pub fn icon(&self) -> Option<NativeImage> {
self.icon.clone()
}
#[wasm_bindgen(setter)]
pub fn set_icon(&mut self, value: Option<NativeImage>) {
self.icon = value;
}
#[wasm_bindgen(getter, js_name = "type")]
pub fn kind(&self) -> Option<JsString> {
self.kind.clone()
}
#[wasm_bindgen(setter)]
pub fn set_kind(&mut self, value: Option<JsString>) {
self.kind = value;
}
#[wasm_bindgen(getter)]
pub fn message(&self) -> JsString {
self.message.clone()
}
#[wasm_bindgen(setter)]
pub fn set_message(&mut self, value: JsString) {
self.message = value;
}
#[wasm_bindgen(getter, js_name = "noLink")]
pub fn no_link(&self) -> Option<bool> {
self.no_link
}
#[wasm_bindgen(setter)]
pub fn set_no_link(&mut self, value: Option<bool>) {
self.no_link = value;
}
#[wasm_bindgen(getter, js_name = "normalizeAccessKeys")]
pub fn normalize_access_keys(&self) -> Option<bool> {
self.normalize_access_keys
}
#[wasm_bindgen(setter)]
pub fn set_normalize_access_keys(&mut self, value: Option<bool>) {
self.normalize_access_keys = value;
}
#[wasm_bindgen(getter)]
pub fn title(&self) -> Option<JsString> {
self.title.clone()
}
#[wasm_bindgen(setter)]
pub fn set_title(&mut self, value: Option<JsString>) {
self.title = value;
}
}