menu bar
This commit is contained in:
47
src/main.rs
47
src/main.rs
@@ -1,5 +1,6 @@
|
||||
mod polygon_draw;
|
||||
use iced::keyboard::Modifiers;
|
||||
use iced::widget::canvas::path::lyon_path::IterWithAttributes;
|
||||
use polygon_draw::Polygon;
|
||||
|
||||
mod music;
|
||||
@@ -13,15 +14,20 @@ use utils::{is_delta_format_valid, str_to_sec};
|
||||
|
||||
use std::fs;
|
||||
|
||||
use iced::Font;
|
||||
use iced::widget::{TextInput, column, text};
|
||||
use iced::{Application, Element, Theme, executor};
|
||||
use iced::{
|
||||
Color, Event, Length, Padding, Task, Theme,
|
||||
Color, Event, Length, Padding, Task,
|
||||
event::{self, Status},
|
||||
keyboard::{Key, key::Named},
|
||||
widget::{Column, button, canvas, container, pick_list, row, scrollable, slider},
|
||||
};
|
||||
use iced::{Element, Font};
|
||||
use iced_aw::menu::MenuBar;
|
||||
use iced_aw::menu::{self, Item};
|
||||
use iced_aw::widget::color_picker;
|
||||
use iced_aw::widget::menu::Menu;
|
||||
use iced_aw::{menu_bar, menu_items};
|
||||
|
||||
use std::f32::consts::PI;
|
||||
use std::time::Instant;
|
||||
@@ -320,33 +326,28 @@ impl MyApp {
|
||||
.collect();
|
||||
|
||||
let polygon_column = scrollable(Column::with_children(polygon_rows).spacing(24));
|
||||
let mut save_panel: Vec<Element<Message>> = vec![
|
||||
button("Toggle Save Panel")
|
||||
.on_press(Message::ToggleSavePanel)
|
||||
.into(),
|
||||
];
|
||||
|
||||
if self.show_save_panel {
|
||||
save_panel.push(
|
||||
let menu_tpl_1 = |items| Menu::new(items).max_width(100.0).offset(15.0).spacing(5.0);
|
||||
let save_menu = menu_tpl_1(vec![
|
||||
Item::new(
|
||||
TextInput::new("Name File", &self.music.file_name)
|
||||
.on_input(|new_value| Message::FileNameChanged(new_value))
|
||||
.into(),
|
||||
);
|
||||
save_panel.push(button("Save").on_press(Message::Save).into());
|
||||
save_panel.push(
|
||||
pick_list(
|
||||
.on_input(|new_value| Message::FileNameChanged(new_value)),
|
||||
),
|
||||
Item::new(button("Save").on_press(Message::Save)),
|
||||
Item::new(pick_list(
|
||||
self.all_saves.clone(),
|
||||
Some(&self.music.file_name),
|
||||
move |s| Message::FileNameChanged(s),
|
||||
)
|
||||
.into(),
|
||||
);
|
||||
|
||||
save_panel.push(button("Load").on_press(Message::Load).into());
|
||||
}
|
||||
)),
|
||||
Item::new(button("Load").on_press(Message::Load)),
|
||||
]);
|
||||
column![
|
||||
text("Polymusic").size(32.0),
|
||||
row(save_panel).spacing(20),
|
||||
menu_bar!((text("File").size(20), save_menu)(
|
||||
text("Shortcut").size(20),
|
||||
menu_tpl_1(vec![Item::new(" SPACE"), Item::new(" CTRL+S")])
|
||||
))
|
||||
.draw_path(menu::DrawPath::Backdrop)
|
||||
.spacing(20),
|
||||
row![
|
||||
container(
|
||||
canvas(self.music.current_frame(self.current_delta))
|
||||
|
||||
Reference in New Issue
Block a user