summaryrefslogtreecommitdiff
path: root/theme_test/src/main.rs
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2025-04-18 12:34:49 +0200
committerpml68 <contact@pml68.dev>2025-04-18 12:34:49 +0200
commit21214574718a02002e632f6192a611a758595811 (patch)
tree785b35e6472aa2001ff2298c11ab114a0d72dfe0 /theme_test/src/main.rs
parentfeat(debug): add custom "Code Generation" Comet debug metric (diff)
downloadiced-builder-21214574718a02002e632f6192a611a758595811.tar.gz
feat(material_theme): implement `slider::Catalog`
Diffstat (limited to 'theme_test/src/main.rs')
-rw-r--r--theme_test/src/main.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/theme_test/src/main.rs b/theme_test/src/main.rs
index 9aab2fe..c13bde7 100644
--- a/theme_test/src/main.rs
+++ b/theme_test/src/main.rs
@@ -1,8 +1,9 @@
-use iced::Element;
use iced::Length::Fill;
use iced::widget::{
- button, checkbox, column, container, pick_list, radio, row, text_input,
+ button, center, checkbox, column, container, pick_list, radio, row, slider,
+ text_input,
};
+use iced::{Element, Length};
use iced_anim::{Animated, Animation, Event};
use iced_dialog::dialog;
use material_theme::button::{elevated, filled_tonal, outlined, text};
@@ -30,6 +31,7 @@ enum Message {
Input(String),
CheckBox(bool),
Radio(Choice),
+ Slider(f32),
SwitchTheme(Event<Theme>),
}
@@ -40,6 +42,7 @@ pub struct State {
content: String,
is_checked: bool,
selection: Option<Choice>,
+ value: f32,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
@@ -62,6 +65,7 @@ impl State {
Message::Input(content) => self.content = content,
Message::CheckBox(is_checked) => self.is_checked = is_checked,
Message::Radio(choice) => self.selection = Some(choice),
+ Message::Slider(value) => self.value = value,
Message::SwitchTheme(event) => {
self.theme.update(event);
}
@@ -146,6 +150,10 @@ impl State {
radio("A", Choice::A, self.selection, Message::Radio,),
radio("B", Choice::B, self.selection, Message::Radio,),
radio("C", Choice::C, self.selection, Message::Radio,),
+ center(iced::widget::text!("{:.1}", self.value))
+ .width(Length::Fill)
+ .height(Length::Shrink),
+ slider(0.0..=100.0, self.value, Message::Slider).step(0.1)
]
.spacing(10)
]