summaryrefslogtreecommitdiffstats
path: root/native/src/widget/toggler.rs
diff options
context:
space:
mode:
authorLibravatar Kaiden42 <gitlab@tinysn.com>2020-09-24 15:49:48 +0200
committerLibravatar Héctor Ramón <hector@lich.io>2021-06-03 20:21:55 +0700
commitaa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd (patch)
treef766ec7549012902171a66b419f10d5c5bc9fb87 /native/src/widget/toggler.rs
parentbab71971fb6653c81e74a517c9ace93be63b49fc (diff)
downloadiced-aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd.tar.gz
iced-aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd.tar.bz2
iced-aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd.zip
Add alignment of `Toggler` label.
Diffstat (limited to 'native/src/widget/toggler.rs')
-rw-r--r--native/src/widget/toggler.rs26
1 files changed, 25 insertions, 1 deletions
diff --git a/native/src/widget/toggler.rs b/native/src/widget/toggler.rs
index 1acdf6ec..63058d06 100644
--- a/native/src/widget/toggler.rs
+++ b/native/src/widget/toggler.rs
@@ -31,6 +31,8 @@ pub struct Toggler<Message, Renderer: self::Renderer + text::Renderer> {
width: Length,
size: u16,
text_size: Option<u16>,
+ text_align: Option<HorizontalAlignment>,
+ spacing: u16,
font: Renderer::Font,
style: Renderer::Style,
}
@@ -59,6 +61,8 @@ impl<Message, Renderer: self::Renderer + text::Renderer>
width: Length::Fill,
size: <Renderer as self::Renderer>::DEFAULT_SIZE,
text_size: None,
+ text_align: None,
+ spacing: 0,
font: Renderer::Font::default(),
style: Renderer::Style::default(),
}
@@ -88,6 +92,22 @@ impl<Message, Renderer: self::Renderer + text::Renderer>
self
}
+ /// Sets the alignment of the text of the [`Toggler`]
+ ///
+ /// [`Toggler`]: struct.Toggler.html
+ pub fn text_align(mut self, align: HorizontalAlignment) -> Self {
+ self.text_align = Some(align);
+ self
+ }
+
+ /// Sets the spacing between the [`Toggler`] and the text.
+ ///
+ /// [`Toggler`]: struct.Toggler.html
+ pub fn spacing(mut self, spacing: u16) -> Self {
+ self.spacing = spacing;
+ self
+ }
+
/// Sets the [`Font`] of the text of the [`Toggler`]
///
/// [`Toggler`]: struct.Toggler.html
@@ -125,9 +145,13 @@ where
) -> layout::Node {
Row::<(), Renderer>::new()
.width(self.width)
+ .spacing(self.spacing)
.align_items(Align::Center)
.push(
Text::new(&self.label)
+ .horizontal_alignment(
+ self.text_align.unwrap_or(HorizontalAlignment::Left),
+ )
.font(self.font)
.width(self.width)
.size(self.text_size.unwrap_or(renderer.default_size())),
@@ -188,7 +212,7 @@ where
self.text_size.unwrap_or(renderer.default_size()),
self.font,
None,
- HorizontalAlignment::Left,
+ self.text_align.unwrap_or(HorizontalAlignment::Left),
VerticalAlignment::Center,
);