Files
wayvr/dash-frontend/src/tab/mod.rs
2025-12-21 13:59:17 +01:00

50 lines
947 B
Rust

use wgui::{
globals::WguiGlobals,
layout::{Layout, WidgetID},
};
use wlx_common::dash_interface;
use crate::frontend::{FrontendTasks, RcFrontend};
pub mod apps;
pub mod games;
pub mod home;
pub mod monado;
pub mod processes;
pub mod settings;
#[derive(Clone, Copy, Debug)]
pub enum TabType {
Home,
Apps,
Games,
Monado,
Processes,
Settings,
}
pub struct TabParams<'a> {
pub globals: &'a WguiGlobals,
pub layout: &'a mut Layout,
pub parent_id: WidgetID,
pub frontend: &'a RcFrontend,
pub settings: &'a mut crate::settings::Settings,
pub frontend_tasks: &'a FrontendTasks,
}
pub struct TabUpdateParams<'a> {
pub globals: &'a WguiGlobals,
pub frontend_tasks: &'a FrontendTasks,
pub layout: &'a mut Layout,
pub interface: &'a mut Box<dyn dash_interface::DashInterface>,
}
pub trait Tab {
#[allow(dead_code)]
fn get_type(&self) -> TabType;
fn update(&mut self, _params: TabUpdateParams) -> anyhow::Result<()> {
Ok(())
}
}