iced-widget-kit 0.1.0

Extra widgets for the Iced GUI library
Documentation
use iced::{Element, Theme, widget::text};
use iced_widget_kit::selector_bar;
use iced_widget_kit::selector_bar::item;

fn main() -> iced::Result {
    iced::run(App::update, App::view)
}

#[derive(Debug, Default)]
struct App {
    selected_tab: u32,
}

#[derive(Clone, Debug)]
enum Message {
    TabSelected(u32),
}

impl App {
    fn update(&mut self, message: Message) {
        match message {
            Message::TabSelected(id) => self.selected_tab = id,
        }
    }

    fn view(&self) -> Element<'_, Message, Theme> {
        let tabs = (0..5).map(|i| item(i, text!("Tab {}", i + 1)));
        selector_bar(tabs, self.selected_tab, Message::TabSelected).into()
    }
}