From c41066b2a0df262f3e1c18e9302ac363e990d0c3 Mon Sep 17 00:00:00 2001 From: Akane <128232444+akaneboy@users.noreply.github.com> Date: Fri, 18 Oct 2024 23:04:09 +0200 Subject: [PATCH] Clean up and update --- src/main.rs | 123 ++++------------------------------------------------ 1 file changed, 9 insertions(+), 114 deletions(-) diff --git a/src/main.rs b/src/main.rs index 114cf22..e499ea3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,124 +1,19 @@ -#![allow(unused_imports)] // temporary - -use iced::widget::{ - column, - container, - radio, - row, - text, -}; - -use iced::{ - Alignment, - Element, - Length, - Sandbox, - Settings -}; - -use iced::theme::{ - self, - Theme -}; - -mod fonts; - -use crate::fonts::{ - BLACK, - BOLD, - EXTRA_BOLD, - EXTRA_LIGHT, - LIGHT, - MEDIUM, - REGULAR, - SEMI_BOLD, - THIN -}; +use iced::{widget::column, Element}; pub fn main() -> iced::Result { - Toolkit::run(Settings::default()) // run program -} - -struct Toolkit { - theme: Theme -} - -#[derive(Debug, PartialEq, Eq, Clone, Copy)] -enum UITheme { - Light, - Dark -} - -// interactions -#[derive(Debug, Clone, Copy)] -enum Message { - ThemeChanged(UITheme) + iced::application("Avdan GUI Toolkit", Toolkit::update, Toolkit::view).run() } -impl Sandbox for Toolkit { - type Message = Message; +#[derive(Default)] +struct Toolkit {} - // store interactions - fn new() -> Self { - Toolkit { theme: Theme::Light } - } +#[derive(Debug, Clone)] +enum Message {} - // window title - fn title(&self) -> String { - String::from("AvdanOS UI Toolkit Demo") - } - - // update state - fn update(&mut self, message: Message) { - match message { - Message::ThemeChanged(theme) => { - self.theme = match theme { - UITheme::Light => Theme::Light, - UITheme::Dark => Theme::Dark - } - } - } - } +impl Toolkit { + fn update(&mut self, _message: Message) {} - // show things on screen fn view(&self) -> Element { - let title = text("AvdanOS UI Toolkit Demo") - .font(REGULAR); - - let choose_theme = - [UITheme::Light, UITheme::Dark] - .iter() - .fold ( - row![text("Choose a theme:")].spacing(10), - |row, theme| { - row.push(radio ( - format!("{theme:?}"), - *theme, - Some(match self.theme { - Theme::Light => UITheme::Light, - Theme::Dark => UITheme::Dark, - Theme::Custom(..) => todo!() - }), - Message::ThemeChanged) - ) - }); - - let content = column![ - title, - choose_theme - ] - .spacing(20) - .padding(20) - .align_items(Alignment::Start); - - container(content) - .width(Length::Fill) - .height(Length::Fill) - .padding(20) - .into() - } - - fn theme(&self) -> Theme { - self.theme.clone() + column![].into() } }