summaryrefslogtreecommitdiffstats
path: root/native/src/widget/checkbox.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2020-11-14 02:17:21 +0100
committerLibravatar GitHub <noreply@github.com>2020-11-14 02:17:21 +0100
commit62295f554b885b8d486b666bc10dc4ecdc78c7d6 (patch)
tree4758f6f17301b1a6c252a5a32248ae5498d1bb11 /native/src/widget/checkbox.rs
parent73811c394a39c3816c67bffd2cf7d7a93c8803a9 (diff)
parentbf2d2561b8dde3e160438428b59c03c38a5f752a (diff)
downloadiced-62295f554b885b8d486b666bc10dc4ecdc78c7d6.tar.gz
iced-62295f554b885b8d486b666bc10dc4ecdc78c7d6.tar.bz2
iced-62295f554b885b8d486b666bc10dc4ecdc78c7d6.zip
Merge pull request #614 from hecrj/feature/event-capturing
Event capturing
Diffstat (limited to 'native/src/widget/checkbox.rs')
-rw-r--r--native/src/widget/checkbox.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs
index e389427e..42e52aef 100644
--- a/native/src/widget/checkbox.rs
+++ b/native/src/widget/checkbox.rs
@@ -1,10 +1,14 @@
//! Show toggle controls using checkboxes.
use std::hash::Hash;
+use crate::event::{self, Event};
+use crate::layout;
+use crate::mouse;
+use crate::row;
+use crate::text;
use crate::{
- layout, mouse, row, text, Align, Clipboard, Element, Event, Hasher,
- HorizontalAlignment, Layout, Length, Point, Rectangle, Row, Text,
- VerticalAlignment, Widget,
+ Align, Clipboard, Element, Hasher, HorizontalAlignment, Layout, Length,
+ Point, Rectangle, Row, Text, VerticalAlignment, Widget,
};
/// A box that can be checked.
@@ -161,17 +165,21 @@ where
messages: &mut Vec<Message>,
_renderer: &Renderer,
_clipboard: Option<&dyn Clipboard>,
- ) {
+ ) -> event::Status {
match event {
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => {
let mouse_over = layout.bounds().contains(cursor_position);
if mouse_over {
messages.push((self.on_toggle)(!self.is_checked));
+
+ return event::Status::Captured;
}
}
_ => {}
}
+
+ event::Status::Ignored
}
fn draw(