(&self)
| 1044 | } |
| 1045 | |
| 1046 | fn mark(&self) { |
| 1047 | let mut comp = self.as_ref().borrow_mut(); |
| 1048 | |
| 1049 | assert!( |
| 1050 | !comp.destroyed, |
| 1051 | "Widget was already destroyed but is being interacted with" |
| 1052 | ); |
| 1053 | |
| 1054 | if let Some(canvas) = comp.canvas.as_ref() { |
| 1055 | if canvas.id() == self.id() { |
| 1056 | return; |
| 1057 | } |
| 1058 | } |
| 1059 | |
| 1060 | let pre = if let Some(ref canvas) = comp.canvas.as_ref() { |
| 1061 | if let Some(marked) = canvas.marked { |
| 1062 | marked == self.id() |
| 1063 | } else { |
| 1064 | false |
| 1065 | } |
| 1066 | } else { |
| 1067 | false |
| 1068 | }; |
| 1069 | |
| 1070 | if let Some(ref mut canvas) = comp.canvas.as_mut() { |
| 1071 | canvas.marked = Some(self.id()); |
| 1072 | } |
| 1073 | |
| 1074 | if !pre && comp.onmarked.is_some() { |
| 1075 | let _ = comp.onmarked.get().try_send(true); |
| 1076 | } |
| 1077 | } |
| 1078 | |
| 1079 | fn unmark(&self) { |
| 1080 | let mut comp = self.as_ref().borrow_mut(); |
no test coverage detected