xmpd/\
2024-09-22 00:42:50 +03:00

32 lines
698 B
Plaintext

use std::collections::HashMap;
use super::Gui;
mod song_edit;
trait Window {
fn show(&mut self, gui: &mut Gui, ctx: &egui::Context, open: &mut bool) -> anyhow::Result<()>;
fn name(&self) -> &'static str;
}
pub enum WindowIndex {
SongEdit
}
pub struct WindowManager {
windows: HashMap<WindowIndex, Box<dyn Window>>
}
impl WindowManager {
pub fn new() -> Self {
let mut windows = HashMap::new();
windows.instert(WindowIndex::SongEdit, Box::<song_edit::GuiSongEditor>::default());
Self {
windows: HashMap::from_iter([
(WindowIndex::SongEdit, Box::<song_edit::GuiSongEditor>::default())
])
}
}
}