Add basic methods into NavigatedPage
This commit is contained in:
+37
-35
@@ -29,6 +29,41 @@ impl NavigatedPage<WritingMessage> for WritingState {
|
||||
|
||||
fn navigated(&mut self) {
|
||||
}
|
||||
fn update(&mut self, message: WritingMessage) -> Task<RootMessage> {
|
||||
match message {
|
||||
WritingMessage::Back => todo!(),
|
||||
WritingMessage::Next => self.next(),
|
||||
WritingMessage::SwitchShowMode(b) => self.show_all = b,
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
fn view(&self) -> Element<'_, WritingMessage> {
|
||||
container(
|
||||
iced::widget::column![
|
||||
checkbox(self.show_all)
|
||||
.label("Показывать все сразу")
|
||||
.on_toggle(WritingMessage::SwitchShowMode),
|
||||
text!("{}", self.roman_total).size(34),
|
||||
text!("{}", self.kana).size(48),
|
||||
self.answers(),
|
||||
row![
|
||||
button(text!("{}", self.next_text))
|
||||
.style(jl_button)
|
||||
.on_press(WritingMessage::Next),
|
||||
button("Закончить")
|
||||
.style(jl_button)
|
||||
.on_press(WritingMessage::Back),
|
||||
]
|
||||
.spacing(DEFAULT_SPACING)
|
||||
]
|
||||
.spacing(DEFAULT_SPACING)
|
||||
.align_x(alignment::Horizontal::Center),
|
||||
)
|
||||
.center_x(Fill)
|
||||
.center_y(Fill)
|
||||
.padding(10)
|
||||
.into()
|
||||
}
|
||||
}
|
||||
|
||||
impl WritingState {
|
||||
@@ -48,14 +83,7 @@ impl WritingState {
|
||||
}
|
||||
|
||||
impl WritingState {
|
||||
pub fn update(&mut self, message: WritingMessage) -> Task<RootMessage> {
|
||||
match message {
|
||||
WritingMessage::Back => todo!(),
|
||||
WritingMessage::Next => self.next(),
|
||||
WritingMessage::SwitchShowMode(b) => self.show_all = b,
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
|
||||
|
||||
fn next(&mut self) {
|
||||
if self.set.is_empty() {
|
||||
@@ -85,33 +113,7 @@ impl WritingState {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn view(&self) -> Element<'_, WritingMessage> {
|
||||
container(
|
||||
iced::widget::column![
|
||||
checkbox(self.show_all)
|
||||
.label("Показывать все сразу")
|
||||
.on_toggle(WritingMessage::SwitchShowMode),
|
||||
text!("{}", self.roman_total).size(34),
|
||||
text!("{}", self.kana).size(48),
|
||||
self.answers(),
|
||||
row![
|
||||
button(text!("{}", self.next_text))
|
||||
.style(jl_button)
|
||||
.on_press(WritingMessage::Next),
|
||||
button("Закончить")
|
||||
.style(jl_button)
|
||||
.on_press(WritingMessage::Back),
|
||||
]
|
||||
.spacing(DEFAULT_SPACING)
|
||||
]
|
||||
.spacing(DEFAULT_SPACING)
|
||||
.align_x(alignment::Horizontal::Center),
|
||||
)
|
||||
.center_x(Fill)
|
||||
.center_y(Fill)
|
||||
.padding(10)
|
||||
.into()
|
||||
}
|
||||
|
||||
|
||||
fn answers(&self) -> Element<'_, WritingMessage> {
|
||||
if self.set.is_empty() {
|
||||
|
||||
Reference in New Issue
Block a user