diff options
author | 2020-09-24 15:49:48 +0200 | |
---|---|---|
committer | 2021-06-03 20:21:55 +0700 | |
commit | aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd (patch) | |
tree | f766ec7549012902171a66b419f10d5c5bc9fb87 | |
parent | bab71971fb6653c81e74a517c9ace93be63b49fc (diff) | |
download | iced-aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd.tar.gz iced-aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd.tar.bz2 iced-aa18a6e0d5550a83510aaf38a2b01d4a5fa56ccd.zip |
Add alignment of `Toggler` label.
-rw-r--r-- | native/src/widget/toggler.rs | 26 |
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, ); |