electron_sys/interface/
item.rs

1use crate::class::NativeImage;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, PartialEq)]
6pub struct Item {
7    file: Box<[JsValue]>,
8    icon: NativeImage,
9}
10
11#[wasm_bindgen]
12impl Item {
13    #[wasm_bindgen(constructor)]
14    pub fn new(file: Box<[JsValue]>, icon: NativeImage) -> Item {
15        Item { file, icon }
16    }
17
18    #[wasm_bindgen(getter)]
19    pub fn file(&self) -> Box<[JsValue]> {
20        self.file.clone()
21    }
22
23    #[wasm_bindgen(setter)]
24    pub fn set_file(&mut self, value: Box<[JsValue]>) {
25        self.file = value;
26    }
27
28    #[wasm_bindgen(getter)]
29    pub fn icon(&self) -> NativeImage {
30        self.icon.clone()
31    }
32
33    #[wasm_bindgen(setter)]
34    pub fn set_icon(&mut self, value: NativeImage) {
35        self.icon = value;
36    }
37}