From 15057a05c118dafcb8cf90d4119e66caaa6026c5 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 3 May 2024 09:11:46 +0200 Subject: Introduce `center` widget helper ... and also make `center_x` and `center_y` set `width` and `height` to `Length::Fill`, respectively. This targets the most common use case when centering things and removes a bunch of boilerplate as a result. --- examples/websocket/src/main.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'examples/websocket/src') diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index b479fe89..e7ececf7 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -1,9 +1,7 @@ mod echo; use iced::alignment::{self, Alignment}; -use iced::widget::{ - button, column, container, row, scrollable, text, text_input, -}; +use iced::widget::{button, center, column, row, scrollable, text, text_input}; use iced::{color, Command, Element, Length, Subscription}; use once_cell::sync::Lazy; @@ -85,14 +83,10 @@ impl WebSocket { fn view(&self) -> Element { let message_log: Element<_> = if self.messages.is_empty() { - container( + center( text("Your messages will appear here...") .color(color!(0x888888)), ) - .width(Length::Fill) - .height(Length::Fill) - .center_x() - .center_y() .into() } else { scrollable( -- cgit From 4c658c41e9e5bf2c0c963ef49c1830257781b16e Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 3 May 2024 09:25:47 +0200 Subject: Auto-focus `text_input` in `websocket` example --- examples/websocket/src/main.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'examples/websocket/src') diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index e7ececf7..ba1e1029 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -1,7 +1,9 @@ mod echo; use iced::alignment::{self, Alignment}; -use iced::widget::{button, center, column, row, scrollable, text, text_input}; +use iced::widget::{ + self, button, center, column, row, scrollable, text, text_input, +}; use iced::{color, Command, Element, Length, Subscription}; use once_cell::sync::Lazy; @@ -29,7 +31,10 @@ enum Message { impl WebSocket { fn load() -> Command { - Command::perform(echo::server::run(), |_| Message::Server) + Command::batch([ + Command::perform(echo::server::run(), |_| Message::Server), + widget::focus_next(), + ]) } fn update(&mut self, message: Message) -> Command { -- cgit