summaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2019-11-14 06:48:12 +0100
committerLibravatar GitHub <noreply@github.com>2019-11-14 06:48:12 +0100
commitaf5ec4941270c832557994d9b4cc70ce5feac911 (patch)
tree7ea832e70007aeef958ac40b525783f590ff2d26 /native
parenta16dab9cf2e27cb933cc91383ca79ba8e188c4c2 (diff)
parentbe5466a0a7ee6a16b5c07e61c9a22068ad8e127f (diff)
downloadiced-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.rs6
-rw-r--r--native/src/widget/container.rs2
-rw-r--r--native/src/widget/text_input.rs8
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() =>