50 lines
947 B
Rust
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(())
|
|
}
|
|
}
|