moving menu bar to another file
This commit is contained in:
parent
32319c5fab
commit
d426f23e3b
43
src/main.rs
43
src/main.rs
|
|
@ -128,49 +128,6 @@ fn launch_screen() -> Dialog {
|
|||
})
|
||||
}
|
||||
|
||||
fn menu_bar(bar: &mut Menubar) {
|
||||
bar.add_subtree("Server",
|
||||
MenuTree::new()
|
||||
.leaf("about",
|
||||
|s| s.add_layer(about()))
|
||||
.delimiter()
|
||||
.leaf("quit", |s| s.quit()))
|
||||
.add_subtree("File",
|
||||
MenuTree::new()
|
||||
.leaf("Start", |s| {
|
||||
|
||||
let user_data_option = s.user_data::<Arc<Mutex<Server>>>();
|
||||
|
||||
if let Some(user_data) = user_data_option {
|
||||
let arc = user_data.clone();
|
||||
let lock_result = arc.lock();
|
||||
if let Ok(mut server) = lock_result {
|
||||
let _ = server.start();
|
||||
let _ = s.pop_layer();
|
||||
let p = control_panel(s.screen_size(), s.user_data::<Arc<Mutex<Server>>>().unwrap().clone());
|
||||
s.add_layer(p);
|
||||
}
|
||||
}
|
||||
})
|
||||
.leaf("Stop", |s| {
|
||||
let user_data_option = s.user_data::<Arc<Mutex<Server>>>();
|
||||
|
||||
if let Some(user_data) = user_data_option {
|
||||
let arc = user_data.clone();
|
||||
let lock_result = arc.lock();
|
||||
if let Ok(mut server) = lock_result {
|
||||
let _ = server.stop();
|
||||
let _ = s.pop_layer();
|
||||
let p = control_panel(s.screen_size(), s.user_data::<Arc<Mutex<Server>>>().unwrap().clone());
|
||||
s.add_layer(p);
|
||||
}
|
||||
}
|
||||
})
|
||||
.delimiter()
|
||||
// TODO: - create custom debug console
|
||||
.leaf("Debug", |s| {s.toggle_debug_console();}));
|
||||
}
|
||||
|
||||
fn control_panel(screen_size: XY<usize>, server_arc: Arc<Mutex<Server>>) -> ResizedView<Panel<LinearLayout>> {
|
||||
let mut root = LinearLayout::horizontal();
|
||||
let mut left = LinearLayout::vertical();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
use cursive::menu::MenuTree;
|
||||
|
||||
pub fn main_Menu() -> MenuTree {
|
||||
MenuTree::new()
|
||||
.leaf("About ^+A", |s| s.add_layer(About::new()))
|
||||
.delimiter()
|
||||
.leaf("Quit ^+Q", |s| s.quit())
|
||||
}
|
||||
Loading…
Reference in New Issue