diff options
| author | 2020-09-25 16:35:58 +0200 | |
|---|---|---|
| committer | 2021-06-03 20:21:55 +0700 | |
| commit | be3ee9adf1659cf8eaa7a75cbb2aa1ecc33e4c42 (patch) | |
| tree | 64c82a714c7e71155c54848ae098498e87212f80 /examples/tour/src | |
| parent | 1ef38cc207ad5a393cb54ea779ae87eec2cd5ad9 (diff) | |
| download | iced-be3ee9adf1659cf8eaa7a75cbb2aa1ecc33e4c42.tar.gz iced-be3ee9adf1659cf8eaa7a75cbb2aa1ecc33e4c42.tar.bz2 iced-be3ee9adf1659cf8eaa7a75cbb2aa1ecc33e4c42.zip | |
Add `Toggler` to tour example
Diffstat (limited to '')
| -rw-r--r-- | examples/tour/src/main.rs | 29 | 
1 files changed, 28 insertions, 1 deletions
| diff --git a/examples/tour/src/main.rs b/examples/tour/src/main.rs index e8755d39..de935444 100644 --- a/examples/tour/src/main.rs +++ b/examples/tour/src/main.rs @@ -1,7 +1,7 @@  use iced::{      button, scrollable, slider, text_input, Button, Checkbox, Color, Column,      Container, Element, HorizontalAlignment, Image, Length, Radio, Row, -    Sandbox, Scrollable, Settings, Slider, Space, Text, TextInput, +    Sandbox, Scrollable, Settings, Slider, Space, Text, TextInput, Toggler,  };  pub fn main() -> iced::Result { @@ -135,6 +135,9 @@ impl Steps {                      color: Color::BLACK,                  },                  Step::Radio { selection: None }, +                Step::Toggler { +                    can_continue: false, +                },                  Step::Image {                      width: 300,                      slider: slider::State::new(), @@ -206,6 +209,9 @@ enum Step {      Radio {          selection: Option<Language>,      }, +    Toggler { +        can_continue: bool, +    },      Image {          width: u16,          slider: slider::State, @@ -232,6 +238,7 @@ pub enum StepMessage {      InputChanged(String),      ToggleSecureInput(bool),      DebugToggled(bool), +    TogglerChanged(bool),  }  impl<'a> Step { @@ -287,6 +294,11 @@ impl<'a> Step {                      *is_secure = toggle;                  }              } +            StepMessage::TogglerChanged(value) => { +                if let Step::Toggler { can_continue, .. } = self { +                    *can_continue = value; +                } +            }          };      } @@ -294,6 +306,7 @@ impl<'a> Step {          match self {              Step::Welcome => "Welcome",              Step::Radio { .. } => "Radio button", +            Step::Toggler { .. } => "Toggler",              Step::Slider { .. } => "Slider",              Step::Text { .. } => "Text",              Step::Image { .. } => "Image", @@ -309,6 +322,7 @@ impl<'a> Step {          match self {              Step::Welcome => true,              Step::Radio { selection } => *selection == Some(Language::Rust), +            Step::Toggler { can_continue } => *can_continue,              Step::Slider { .. } => true,              Step::Text { .. } => true,              Step::Image { .. } => true, @@ -324,6 +338,7 @@ impl<'a> Step {          match self {              Step::Welcome => Self::welcome(),              Step::Radio { selection } => Self::radio(*selection), +            Step::Toggler { can_continue } => Self::toggler(*can_continue),              Step::Slider { state, value } => Self::slider(state, *value),              Step::Text {                  size_slider, @@ -545,6 +560,18 @@ impl<'a> Step {              ))      } +    fn toggler(can_continue: bool) -> Column<'a, StepMessage> { +        Self::container("Toggler") +            .push(Text::new( +                "A toggler is mostly used to enable or disable something.", +            )) +            .push(Toggler::new( +                can_continue, +                String::from("Toggle me to continue..."), +                StepMessage::TogglerChanged, +            )) +    } +      fn image(          width: u16,          slider: &'a mut slider::State, | 
