wip
This commit is contained in:
parent
a372ce800f
commit
89700a2ed5
2 changed files with 26 additions and 29 deletions
|
|
@ -237,7 +237,7 @@ impl cosmic::Application for App {
|
||||||
fn header_start(&self) -> Vec<Element<Self::Message>> {
|
fn header_start(&self) -> Vec<Element<Self::Message>> {
|
||||||
use cosmic::widget::menu::Tree;
|
use cosmic::widget::menu::Tree;
|
||||||
|
|
||||||
vec![cosmic::widget::responsive_menu_bar(
|
vec![cosmic::widget::responsive_menu_bar().into_element(
|
||||||
self.core(),
|
self.core(),
|
||||||
&self.keybinds,
|
&self.keybinds,
|
||||||
MENU_ID.clone(),
|
MENU_ID.clone(),
|
||||||
|
|
@ -246,42 +246,42 @@ impl cosmic::Application for App {
|
||||||
(
|
(
|
||||||
"hi 1".into(),
|
"hi 1".into(),
|
||||||
vec![
|
vec![
|
||||||
menu::Item::Button("hi 12".into(), None, Action::Hi),
|
menu::Item::Button("hi 12", None, Action::Hi),
|
||||||
menu::Item::Button("hi 13".into(), None, Action::Hi2),
|
menu::Item::Button("hi 13", None, Action::Hi2),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"hi 2".into(),
|
"hi 2".into(),
|
||||||
vec![
|
vec![
|
||||||
menu::Item::Button("hi 21".into(), None, Action::Hi),
|
menu::Item::Button("hi 21", None, Action::Hi),
|
||||||
menu::Item::Button("hi 22".into(), None, Action::Hi2),
|
menu::Item::Button("hi 22", None, Action::Hi2),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"hi 3".into(),
|
"hi 3".into(),
|
||||||
vec![
|
vec![
|
||||||
menu::Item::Button("hi 33".into(), None, Action::Hi),
|
menu::Item::Button("hi 33", None, Action::Hi),
|
||||||
menu::Item::Button("hi 333".into(), None, Action::Hi2),
|
menu::Item::Button("hi 333", None, Action::Hi2),
|
||||||
menu::Item::Button("hi 3333".into(), None, Action::Hi3),
|
menu::Item::Button("hi 3333", None, Action::Hi3),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"hiiiiiiiiiiiiiiiiiii 4".into(),
|
"hiiiiiiiiiiiiiiiiiii 4".into(),
|
||||||
vec![
|
vec![
|
||||||
menu::Item::Button("hi 4".into(), None, Action::Hi),
|
menu::Item::Button("hi 4", None, Action::Hi),
|
||||||
menu::Item::Button("hi 44".into(), None, Action::Hi2),
|
menu::Item::Button("hi 44", None, Action::Hi2),
|
||||||
menu::Item::Button("hi 444".into(), None, Action::Hi3),
|
menu::Item::Button("hi 444", None, Action::Hi3),
|
||||||
menu::Item::Folder(
|
menu::Item::Folder(
|
||||||
"nest 4".into(),
|
"nest 4".into(),
|
||||||
vec![
|
vec![
|
||||||
menu::Item::Button("hi 41".into(), None, Action::Hi),
|
menu::Item::Button("hi 41", None, Action::Hi),
|
||||||
menu::Item::Button("hi 442".into(), None, Action::Hi2),
|
menu::Item::Button("hi 442", None, Action::Hi2),
|
||||||
menu::Item::Button("hi 4443".into(), None, Action::Hi3),
|
menu::Item::Button("hi 4443", None, Action::Hi3),
|
||||||
menu::Item::Folder(
|
menu::Item::Folder(
|
||||||
"nest 2 4".into(),
|
"nest 2 4".into(),
|
||||||
vec![
|
vec![
|
||||||
menu::Item::Button("hi 443".into(), None, Action::Hi2),
|
menu::Item::Button("hi 443", None, Action::Hi2),
|
||||||
menu::Item::Button("hi 4444".into(), None, Action::Hi),
|
menu::Item::Button("hi 4444", None, Action::Hi),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -56,15 +56,15 @@ impl ResponsiveMenuBar {
|
||||||
/// Will panic if the menu bar collapses without tracking the size
|
/// Will panic if the menu bar collapses without tracking the size
|
||||||
pub fn into_element<
|
pub fn into_element<
|
||||||
'a,
|
'a,
|
||||||
Message: Clone + 'static,
|
Message: std::fmt::Debug + Clone + 'static,
|
||||||
A: menu::Action<Message = Message>,
|
A: menu::Action<Message = Message> + Clone,
|
||||||
S: Into<std::borrow::Cow<'static, str>> + 'static,
|
S: Into<std::borrow::Cow<'static, str>> + 'static,
|
||||||
>(
|
>(
|
||||||
self,
|
self,
|
||||||
core: &Core,
|
core: &Core,
|
||||||
key_binds: &HashMap<menu::KeyBind, A>,
|
key_binds: &HashMap<menu::KeyBind, A>,
|
||||||
id: crate::widget::Id,
|
id: crate::widget::Id,
|
||||||
action_message: impl Fn(crate::surface::Action) -> Message + 'static,
|
action_message: impl Fn(crate::surface::Action) -> Message + Clone + 'static,
|
||||||
trees: Vec<(S, Vec<menu::Item<A, S>>)>,
|
trees: Vec<(S, Vec<menu::Item<A, S>>)>,
|
||||||
) -> Element<'a, Message> {
|
) -> Element<'a, Message> {
|
||||||
use crate::widget::id_container;
|
use crate::widget::id_container;
|
||||||
|
|
@ -81,17 +81,14 @@ impl ResponsiveMenuBar {
|
||||||
menu::bar(
|
menu::bar(
|
||||||
trees
|
trees
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(
|
.map(|mt: (S, Vec<menu::Item<A, S>>)| {
|
||||||
|mt: (
|
menu::Tree::<_>::with_children(
|
||||||
std::borrow::Cow<'_, str>,
|
crate::widget::RcElementWrapper::new(Element::from(
|
||||||
Vec<menu::Item<A, std::borrow::Cow<'_, str>>>,
|
|
||||||
)| {
|
|
||||||
menu::Tree::<_>::with_children(
|
|
||||||
menu::root(mt.0),
|
menu::root(mt.0),
|
||||||
menu::items(key_binds, mt.1.into()),
|
)),
|
||||||
)
|
menu::items(key_binds, mt.1.into()),
|
||||||
},
|
)
|
||||||
)
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
)
|
)
|
||||||
.item_width(self.item_width)
|
.item_width(self.item_width)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue