summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pure/src/widget.rs18
-rw-r--r--src/pure.rs17
2 files changed, 30 insertions, 5 deletions
diff --git a/pure/src/widget.rs b/pure/src/widget.rs
index 1c0633a6..fc86e1c2 100644
--- a/pure/src/widget.rs
+++ b/pure/src/widget.rs
@@ -141,6 +141,17 @@ where
Checkbox::new(is_checked, label, f)
}
+pub fn toggler<'a, Message, Renderer>(
+ label: impl Into<Option<String>>,
+ is_checked: bool,
+ f: impl Fn(bool) -> Message + 'a,
+) -> Toggler<'a, Message, Renderer>
+where
+ Renderer: iced_native::text::Renderer,
+{
+ Toggler::new(is_checked, label, f)
+}
+
pub fn text_input<'a, Message, Renderer>(
placeholder: &str,
value: &str,
@@ -153,19 +164,18 @@ where
TextInput::new(placeholder, value, on_change)
}
-pub fn slider<'a, Message, Renderer, T>(
+pub fn slider<'a, Message, T>(
range: std::ops::RangeInclusive<T>,
value: T,
on_change: impl Fn(T) -> Message + 'a,
) -> Slider<'a, T, Message>
where
Message: Clone,
- Renderer: iced_native::Renderer,
T: Copy + From<u8> + std::cmp::PartialOrd,
{
Slider::new(range, value, on_change)
}
-pub fn image<Handle>(handle: Handle) -> Image<Handle> {
- Image::new(handle)
+pub fn image<Handle>(handle: impl Into<Handle>) -> Image<Handle> {
+ Image::new(handle.into())
}
diff --git a/src/pure.rs b/src/pure.rs
index 712bd31f..5cab5fd9 100644
--- a/src/pure.rs
+++ b/src/pure.rs
@@ -17,12 +17,27 @@
//! [the original widgets]: crate::widget
//! [`button::State`]: crate::widget::button::State
//! [impure `Application`]: crate::Application
-pub use iced_pure::{Element as _, Image as _, Text as _, *};
+pub use iced_pure::{
+ Button as _, Column as _, Element as _, Image as _, Row as _, Text as _, *,
+};
/// A generic, pure [`Widget`].
pub type Element<'a, Message> =
iced_pure::Element<'a, Message, crate::Renderer>;
+/// A pure container widget.
+pub type Container<'a, Message> =
+ iced_pure::Container<'a, Message, crate::Renderer>;
+
+/// A pure column widget.
+pub type Column<'a, Message> = iced_pure::Column<'a, Message, crate::Renderer>;
+
+/// A pure row widget.
+pub type Row<'a, Message> = iced_pure::Row<'a, Message, crate::Renderer>;
+
+/// A pure button widget.
+pub type Button<'a, Message> = iced_pure::Button<'a, Message, crate::Renderer>;
+
/// A pure text widget.
pub type Text = iced_pure::Text<crate::Renderer>;