azul_layout/managers/
file_drop.rs1use azul_css::AzString;
6
7#[derive(Debug, Clone, PartialEq)]
9pub struct FileDropManager {
10 pub hovered_file: Option<AzString>,
12 pub dropped_file: Option<AzString>,
14}
15
16impl Default for FileDropManager {
17 fn default() -> Self {
18 Self::new()
19 }
20}
21
22impl FileDropManager {
23 pub fn new() -> Self {
25 Self {
26 hovered_file: None,
27 dropped_file: None,
28 }
29 }
30
31 pub fn set_hovered_file(&mut self, file: Option<AzString>) {
33 self.hovered_file = file;
34 }
35
36 pub fn get_hovered_file(&self) -> Option<&AzString> {
38 self.hovered_file.as_ref()
39 }
40
41 pub fn set_dropped_file(&mut self, file: Option<AzString>) {
43 self.dropped_file = file;
44 }
45
46 pub fn take_dropped_file(&mut self) -> Option<AzString> {
48 self.dropped_file.take()
49 }
50
51 pub fn clear(&mut self) {
53 self.hovered_file = None;
54 self.dropped_file = None;
55 }
56}