diff options
author | 2019-11-13 07:38:06 +0100 | |
---|---|---|
committer | 2019-11-13 07:38:06 +0100 | |
commit | 657e513651b4153268e06074ccc8ac91078ffe69 (patch) | |
tree | f019a7f41d1e038d1ec6514390ede2649aa57a25 /native/src/widget | |
parent | 621e5a55b78e29a0a40387d74ce8f355a38538b1 (diff) | |
download | iced-657e513651b4153268e06074ccc8ac91078ffe69.tar.gz iced-657e513651b4153268e06074ccc8ac91078ffe69.tar.bz2 iced-657e513651b4153268e06074ccc8ac91078ffe69.zip |
Implement `text_input::State::focused`
Diffstat (limited to 'native/src/widget')
-rw-r--r-- | native/src/widget/text_input.rs | 8 |
1 files changed, 8 insertions, 0 deletions
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() => |