diff options
author | 2019-11-14 06:48:12 +0100 | |
---|---|---|
committer | 2019-11-14 06:48:12 +0100 | |
commit | af5ec4941270c832557994d9b4cc70ce5feac911 (patch) | |
tree | 7ea832e70007aeef958ac40b525783f590ff2d26 /native | |
parent | a16dab9cf2e27cb933cc91383ca79ba8e188c4c2 (diff) | |
parent | be5466a0a7ee6a16b5c07e61c9a22068ad8e127f (diff) | |
download | iced-af5ec4941270c832557994d9b4cc70ce5feac911.tar.gz iced-af5ec4941270c832557994d9b4cc70ce5feac911.tar.bz2 iced-af5ec4941270c832557994d9b4cc70ce5feac911.zip |
Merge pull request #55 from hecrj/example/edit-todos
Edit and delete todos
Diffstat (limited to '')
-rw-r--r-- | native/src/widget/checkbox.rs | 6 | ||||
-rw-r--r-- | native/src/widget/container.rs | 2 | ||||
-rw-r--r-- | native/src/widget/text_input.rs | 8 |
3 files changed, 14 insertions, 2 deletions
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index a7040e02..3f0f8dda 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -2,7 +2,7 @@ use std::hash::Hash; use crate::input::{mouse, ButtonState}; -use crate::{layout, Element, Event, Hasher, Layout, Point, Widget}; +use crate::{layout, Element, Event, Hasher, Layout, Length, Point, Widget}; pub use iced_core::Checkbox; @@ -10,6 +10,10 @@ impl<Message, Renderer> Widget<Message, Renderer> for Checkbox<Message> where Renderer: self::Renderer, { + fn width(&self) -> Length { + Length::Fill + } + fn layout( &self, renderer: &Renderer, diff --git a/native/src/widget/container.rs b/native/src/widget/container.rs index c616db2a..fd7a5ca5 100644 --- a/native/src/widget/container.rs +++ b/native/src/widget/container.rs @@ -27,7 +27,7 @@ where .width(self.width) .height(self.height); - let mut content = self.content.layout(renderer, &limits); + let mut content = self.content.layout(renderer, &limits.loose()); let size = limits.resolve(content.size()); content.align(self.horizontal_alignment, self.vertical_alignment, size); diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 7e81e257..35e10000 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -11,6 +11,10 @@ where Renderer: self::Renderer, Message: Clone + std::fmt::Debug, { + fn width(&self) -> Length { + self.width + } + fn layout( &self, renderer: &Renderer, @@ -46,6 +50,10 @@ where }) => { self.state.is_focused = layout.bounds().contains(cursor_position); + + if self.state.cursor_position(&self.value) == 0 { + self.state.move_cursor_to_end(&self.value); + } } Event::Keyboard(keyboard::Event::CharacterReceived(c)) if self.state.is_focused && !c.is_control() => |