added functions for IResponder
This commit is contained in:
parent
0f159a2d59
commit
9f88a81c2a
|
|
@ -1,6 +1,17 @@
|
|||
use crate::event::Event;
|
||||
use std::sync::Weak;
|
||||
|
||||
pub(crate) trait IResponder {
|
||||
fn accepts_event(&self, event: &Event) -> bool;
|
||||
pub trait IResponder {
|
||||
fn post_event(&self, event: Event) {
|
||||
if let Some(next) = self.get_next() {
|
||||
if let Some(next) = next.upgrade() {
|
||||
next.post_event(event);
|
||||
return;
|
||||
}
|
||||
}
|
||||
self.r#final(event);
|
||||
}
|
||||
fn get_next(&self) -> Option<Weak<dyn IResponder>>;
|
||||
fn on_event(&self, event: Event);
|
||||
fn r#final(&self, _event: Event) {}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue