Skip to content
Snippets Groups Projects
Commit a5658be1 authored by thibault.capt's avatar thibault.capt
Browse files

add new interface gui

parent c220a38e
No related branches found
No related tags found
1 merge request!1Tui
...@@ -7,3 +7,5 @@ edition = "2021" ...@@ -7,3 +7,5 @@ edition = "2021"
[dependencies] [dependencies]
termion = "2.0.1" termion = "2.0.1"
crossterm = "0.25.0"
cursive = "0.15.0"
\ No newline at end of file
use cursive::Cursive;
use cursive::CursiveExt;
use cursive::views::{TextView, Dialog, LinearLayout, Button};
use crate::training::Training;
pub struct App {
cursive: Cursive,
training_list: Vec<Training>,
}
impl App {
pub fn new() -> Self {
let mut cursive = Cursive::default();
let training_list = Vec::new();
// Créez une vue TextView pour afficher la liste des entraînements
let training_view = TextView::new("Liste des entraînements");
// Créez un bouton pour lire tous les entraînements
let btn_list = Button::new("Voir", |s| {
// Vous pouvez ajouter votre logique d'ajout ici
s.add_layer(Dialog::info("Fonctionnalité non implémentée"));
});
// Créez un bouton pour ajouter un nouveau entraînement
let btn_add = Button::new("Ajouter", |s| {
// Vous pouvez ajouter votre logique d'ajout ici
s.add_layer(Dialog::info("Fonctionnalité non implémentée"));
});
// Créez un bouton pour modifier un entraînement
let btn_update = Button::new("Modifier", |s| {
// Vous pouvez ajouter votre logique d'ajout ici
s.add_layer(Dialog::info("Fonctionnalité non implémentée"));
});
// Créez un bouton pour supprimer un entraînement
let btn_delete = Button::new("Supprimer", |s| {
// Vous pouvez ajouter votre logique d'ajout ici
s.add_layer(Dialog::info("Fonctionnalité non implémentée"));
});
// Créez un bouton pour supprimer un entraînement
let btn_exit = Button::new("Quitter", |s| {
// Vous pouvez ajouter votre logique d'ajout ici
s.quit();
});
// Créez un LinearLayout pour organiser la vue TextView et le bouton
let layout = LinearLayout::vertical()
.child(training_view)
.child(btn_list)
.child(btn_add)
.child(btn_update)
.child(btn_delete)
.child(btn_exit);
cursive.add_layer(layout);
cursive.add_global_callback('q', |s| s.quit());
App { cursive, training_list }
}
pub fn run(&mut self) {
self.cursive.run();
}
}
\ No newline at end of file
mod training; mod training;
mod participant; mod participant;
mod terminal; //mod terminal;
mod gui;
use terminal::App; use gui::App;
fn main() { fn main() {
let mut app = App::new(); let mut app = App::new();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment