diff options
Diffstat (limited to 'native')
-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() => |