Rename Step to Screen in tour example
This commit is contained in:
parent
e0b4ddf7b7
commit
e9141e7abf
1 changed files with 51 additions and 51 deletions
|
|
@ -22,7 +22,7 @@ pub fn main() -> iced::Result {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Tour {
|
pub struct Tour {
|
||||||
step: Step,
|
screen: Screen,
|
||||||
slider: u8,
|
slider: u8,
|
||||||
layout: Layout,
|
layout: Layout,
|
||||||
spacing: u16,
|
spacing: u16,
|
||||||
|
|
@ -59,18 +59,18 @@ pub enum Message {
|
||||||
|
|
||||||
impl Tour {
|
impl Tour {
|
||||||
fn title(&self) -> String {
|
fn title(&self) -> String {
|
||||||
let screen = match self.step {
|
let screen = match self.screen {
|
||||||
Step::Welcome => "Welcome",
|
Screen::Welcome => "Welcome",
|
||||||
Step::Radio => "Radio button",
|
Screen::Radio => "Radio button",
|
||||||
Step::Toggler => "Toggler",
|
Screen::Toggler => "Toggler",
|
||||||
Step::Slider => "Slider",
|
Screen::Slider => "Slider",
|
||||||
Step::Text => "Text",
|
Screen::Text => "Text",
|
||||||
Step::Image => "Image",
|
Screen::Image => "Image",
|
||||||
Step::RowsAndColumns => "Rows and columns",
|
Screen::RowsAndColumns => "Rows and columns",
|
||||||
Step::Scrollable => "Scrollable",
|
Screen::Scrollable => "Scrollable",
|
||||||
Step::TextInput => "Text input",
|
Screen::TextInput => "Text input",
|
||||||
Step::Debugger => "Debugger",
|
Screen::Debugger => "Debugger",
|
||||||
Step::End => "End",
|
Screen::End => "End",
|
||||||
};
|
};
|
||||||
|
|
||||||
format!("{} - Iced", screen)
|
format!("{} - Iced", screen)
|
||||||
|
|
@ -79,13 +79,13 @@ impl Tour {
|
||||||
fn update(&mut self, event: Message) {
|
fn update(&mut self, event: Message) {
|
||||||
match event {
|
match event {
|
||||||
Message::BackPressed => {
|
Message::BackPressed => {
|
||||||
if let Some(step) = self.step.previous() {
|
if let Some(screen) = self.screen.previous() {
|
||||||
self.step = step;
|
self.screen = screen;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::NextPressed => {
|
Message::NextPressed => {
|
||||||
if let Some(step) = self.step.next() {
|
if let Some(screen) = self.screen.next() {
|
||||||
self.step = step;
|
self.screen = screen;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Message::SliderChanged(value) => {
|
Message::SliderChanged(value) => {
|
||||||
|
|
@ -137,7 +137,7 @@ impl Tour {
|
||||||
fn view(&self) -> Element<Message> {
|
fn view(&self) -> Element<Message> {
|
||||||
let controls =
|
let controls =
|
||||||
row![]
|
row![]
|
||||||
.push_maybe(self.step.previous().is_some().then(|| {
|
.push_maybe(self.screen.previous().is_some().then(|| {
|
||||||
padded_button("Back")
|
padded_button("Back")
|
||||||
.on_press(Message::BackPressed)
|
.on_press(Message::BackPressed)
|
||||||
.style(button::secondary)
|
.style(button::secondary)
|
||||||
|
|
@ -147,18 +147,18 @@ impl Tour {
|
||||||
padded_button("Next").on_press(Message::NextPressed)
|
padded_button("Next").on_press(Message::NextPressed)
|
||||||
}));
|
}));
|
||||||
|
|
||||||
let screen = match self.step {
|
let screen = match self.screen {
|
||||||
Step::Welcome => self.welcome(),
|
Screen::Welcome => self.welcome(),
|
||||||
Step::Radio => self.radio(),
|
Screen::Radio => self.radio(),
|
||||||
Step::Toggler => self.toggler(),
|
Screen::Toggler => self.toggler(),
|
||||||
Step::Slider => self.slider(),
|
Screen::Slider => self.slider(),
|
||||||
Step::Text => self.text(),
|
Screen::Text => self.text(),
|
||||||
Step::Image => self.image(),
|
Screen::Image => self.image(),
|
||||||
Step::RowsAndColumns => self.rows_and_columns(),
|
Screen::RowsAndColumns => self.rows_and_columns(),
|
||||||
Step::Scrollable => self.scrollable(),
|
Screen::Scrollable => self.scrollable(),
|
||||||
Step::TextInput => self.text_input(),
|
Screen::TextInput => self.text_input(),
|
||||||
Step::Debugger => self.debugger(),
|
Screen::Debugger => self.debugger(),
|
||||||
Step::End => self.end(),
|
Screen::End => self.end(),
|
||||||
};
|
};
|
||||||
|
|
||||||
let content: Element<_> = column![screen, controls,]
|
let content: Element<_> = column![screen, controls,]
|
||||||
|
|
@ -180,18 +180,18 @@ impl Tour {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn can_continue(&self) -> bool {
|
fn can_continue(&self) -> bool {
|
||||||
match self.step {
|
match self.screen {
|
||||||
Step::Welcome => true,
|
Screen::Welcome => true,
|
||||||
Step::Radio => self.language == Some(Language::Rust),
|
Screen::Radio => self.language == Some(Language::Rust),
|
||||||
Step::Toggler => self.toggler,
|
Screen::Toggler => self.toggler,
|
||||||
Step::Slider => true,
|
Screen::Slider => true,
|
||||||
Step::Text => true,
|
Screen::Text => true,
|
||||||
Step::Image => true,
|
Screen::Image => true,
|
||||||
Step::RowsAndColumns => true,
|
Screen::RowsAndColumns => true,
|
||||||
Step::Scrollable => true,
|
Screen::Scrollable => true,
|
||||||
Step::TextInput => !self.input_value.is_empty(),
|
Screen::TextInput => !self.input_value.is_empty(),
|
||||||
Step::Debugger => true,
|
Screen::Debugger => true,
|
||||||
Step::End => false,
|
Screen::End => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -498,7 +498,7 @@ impl Tour {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
enum Step {
|
enum Screen {
|
||||||
Welcome,
|
Welcome,
|
||||||
Slider,
|
Slider,
|
||||||
RowsAndColumns,
|
RowsAndColumns,
|
||||||
|
|
@ -512,7 +512,7 @@ enum Step {
|
||||||
End,
|
End,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Step {
|
impl Screen {
|
||||||
const ALL: &'static [Self] = &[
|
const ALL: &'static [Self] = &[
|
||||||
Self::Welcome,
|
Self::Welcome,
|
||||||
Self::Slider,
|
Self::Slider,
|
||||||
|
|
@ -527,25 +527,25 @@ impl Step {
|
||||||
Self::End,
|
Self::End,
|
||||||
];
|
];
|
||||||
|
|
||||||
pub fn next(self) -> Option<Step> {
|
pub fn next(self) -> Option<Screen> {
|
||||||
Self::ALL
|
Self::ALL
|
||||||
.get(
|
.get(
|
||||||
Self::ALL
|
Self::ALL
|
||||||
.iter()
|
.iter()
|
||||||
.copied()
|
.copied()
|
||||||
.position(|step| step == self)
|
.position(|screen| screen == self)
|
||||||
.expect("Step must exist")
|
.expect("Screen must exist")
|
||||||
+ 1,
|
+ 1,
|
||||||
)
|
)
|
||||||
.copied()
|
.copied()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn previous(self) -> Option<Step> {
|
pub fn previous(self) -> Option<Screen> {
|
||||||
let position = Self::ALL
|
let position = Self::ALL
|
||||||
.iter()
|
.iter()
|
||||||
.copied()
|
.copied()
|
||||||
.position(|step| step == self)
|
.position(|screen| screen == self)
|
||||||
.expect("Step must exist");
|
.expect("Screen must exist");
|
||||||
|
|
||||||
if position > 0 {
|
if position > 0 {
|
||||||
Some(Self::ALL[position - 1])
|
Some(Self::ALL[position - 1])
|
||||||
|
|
@ -632,7 +632,7 @@ pub enum Layout {
|
||||||
impl Default for Tour {
|
impl Default for Tour {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
step: Step::Welcome,
|
screen: Screen::Welcome,
|
||||||
slider: 50,
|
slider: 50,
|
||||||
layout: Layout::Row,
|
layout: Layout::Row,
|
||||||
spacing: 20,
|
spacing: 20,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue