Skip to content

Commit d12cba1

Browse files
committed
Add back MenuChild::kind
1 parent 84f05a2 commit d12cba1

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

src/platform_impl/mod.rs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,52 @@ impl dyn IsMenuItem + '_ {
4242
}
4343
}
4444

45+
/// Internal utilities
46+
impl MenuChild {
47+
#[cfg(not(target_os = "linux"))]
48+
fn kind(&self, c: Rc<RefCell<MenuChild>>) -> MenuItemKind {
49+
use crate::{items::*, MenuItemType};
50+
51+
match self.item_type() {
52+
MenuItemType::Submenu => {
53+
let id = c.borrow().id().clone();
54+
MenuItemKind::Submenu(Submenu {
55+
id: Rc::new(id),
56+
inner: c,
57+
})
58+
}
59+
MenuItemType::MenuItem => {
60+
let id = c.borrow().id().clone();
61+
MenuItemKind::MenuItem(MenuItem {
62+
id: Rc::new(id),
63+
inner: c,
64+
})
65+
}
66+
MenuItemType::Predefined => {
67+
let id = c.borrow().id().clone();
68+
MenuItemKind::Predefined(PredefinedMenuItem {
69+
id: Rc::new(id),
70+
inner: c,
71+
})
72+
}
73+
MenuItemType::Check => {
74+
let id = c.borrow().id().clone();
75+
MenuItemKind::Check(CheckMenuItem {
76+
id: Rc::new(id),
77+
inner: c,
78+
})
79+
}
80+
MenuItemType::Icon => {
81+
let id = c.borrow().id().clone();
82+
MenuItemKind::Icon(IconMenuItem {
83+
id: Rc::new(id),
84+
inner: c,
85+
})
86+
}
87+
}
88+
}
89+
}
90+
4591
#[allow(unused)]
4692
impl MenuItemKind {
4793
pub(crate) fn as_ref(&self) -> &dyn IsMenuItem {

0 commit comments

Comments
 (0)