summaryrefslogtreecommitdiffstats
path: root/examples/integration
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-04 19:31:26 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-04 19:32:13 +0100
commit4130ae4be95ce850263fbc55f490b68a95361d58 (patch)
tree25b1acc723e217e5890e20aa8e796db0f35be231 /examples/integration
parentce309db37b8eb9860ae1f1be1710fb39e7a9edea (diff)
downloadiced-4130ae4be95ce850263fbc55f490b68a95361d58.tar.gz
iced-4130ae4be95ce850263fbc55f490b68a95361d58.tar.bz2
iced-4130ae4be95ce850263fbc55f490b68a95361d58.zip
Simplify theming for `Text` widget
Diffstat (limited to 'examples/integration')
-rw-r--r--examples/integration/src/controls.rs103
1 files changed, 46 insertions, 57 deletions
diff --git a/examples/integration/src/controls.rs b/examples/integration/src/controls.rs
index c9bab828..473a7138 100644
--- a/examples/integration/src/controls.rs
+++ b/examples/integration/src/controls.rs
@@ -1,25 +1,26 @@
use iced_wgpu::Renderer;
-use iced_widget::{slider, text_input, Column, Row, Text};
-use iced_winit::core::{Alignment, Color, Element, Length};
+use iced_widget::{column, container, row, slider, text, text_input};
+use iced_winit::core::alignment;
+use iced_winit::core::{Color, Element, Length};
use iced_winit::runtime::{Command, Program};
use iced_winit::style::Theme;
pub struct Controls {
background_color: Color,
- text: String,
+ input: String,
}
#[derive(Debug, Clone)]
pub enum Message {
BackgroundColorChanged(Color),
- TextChanged(String),
+ InputChanged(String),
}
impl Controls {
pub fn new() -> Controls {
Controls {
background_color: Color::BLACK,
- text: String::default(),
+ input: String::default(),
}
}
@@ -38,8 +39,8 @@ impl Program for Controls {
Message::BackgroundColorChanged(color) => {
self.background_color = color;
}
- Message::TextChanged(text) => {
- self.text = text;
+ Message::InputChanged(input) => {
+ self.input = input;
}
}
@@ -48,60 +49,48 @@ impl Program for Controls {
fn view(&self) -> Element<Message, Theme, Renderer> {
let background_color = self.background_color;
- let text = &self.text;
- let sliders = Row::new()
- .width(500)
- .spacing(20)
- .push(
- slider(0.0..=1.0, background_color.r, move |r| {
- Message::BackgroundColorChanged(Color {
- r,
- ..background_color
- })
+ let sliders = row![
+ slider(0.0..=1.0, background_color.r, move |r| {
+ Message::BackgroundColorChanged(Color {
+ r,
+ ..background_color
})
- .step(0.01),
- )
- .push(
- slider(0.0..=1.0, background_color.g, move |g| {
- Message::BackgroundColorChanged(Color {
- g,
- ..background_color
- })
+ })
+ .step(0.01),
+ slider(0.0..=1.0, background_color.g, move |g| {
+ Message::BackgroundColorChanged(Color {
+ g,
+ ..background_color
})
- .step(0.01),
- )
- .push(
- slider(0.0..=1.0, background_color.b, move |b| {
- Message::BackgroundColorChanged(Color {
- b,
- ..background_color
- })
+ })
+ .step(0.01),
+ slider(0.0..=1.0, background_color.b, move |b| {
+ Message::BackgroundColorChanged(Color {
+ b,
+ ..background_color
})
- .step(0.01),
- );
+ })
+ .step(0.01),
+ ]
+ .width(500)
+ .spacing(20);
- Row::new()
- .height(Length::Fill)
- .align_items(Alignment::End)
- .push(
- Column::new().align_items(Alignment::End).push(
- Column::new()
- .padding(10)
- .spacing(10)
- .push(Text::new("Background color").style(Color::WHITE))
- .push(sliders)
- .push(
- Text::new(format!("{background_color:?}"))
- .size(14)
- .style(Color::WHITE),
- )
- .push(
- text_input("Placeholder", text)
- .on_input(Message::TextChanged),
- ),
- ),
- )
- .into()
+ container(
+ column![
+ text("Background color").color(Color::WHITE),
+ text(format!("{background_color:?}"))
+ .size(14)
+ .color(Color::WHITE),
+ text_input("Placeholder", &self.input)
+ .on_input(Message::InputChanged),
+ sliders,
+ ]
+ .spacing(10),
+ )
+ .padding(10)
+ .height(Length::Fill)
+ .align_y(alignment::Vertical::Bottom)
+ .into()
}
}