application_menu.rs

 1use gpui::{Entity, Render};
 2use story::{Story, StoryItem, StorySection};
 3
 4use ui::prelude::*;
 5
 6use crate::application_menu::ApplicationMenu;
 7
 8pub struct ApplicationMenuStory {
 9    menu: Entity<ApplicationMenu>,
10}
11
12impl ApplicationMenuStory {
13    pub fn new(window: &mut Window, cx: &mut App) -> Self {
14        Self {
15            menu: cx.new(|cx| ApplicationMenu::new(window, cx)),
16        }
17    }
18}
19
20impl Render for ApplicationMenuStory {
21    fn render(&mut self, _window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
22        Story::container(cx)
23            .child(Story::title_for::<ApplicationMenu>(cx))
24            .child(StorySection::new().child(StoryItem::new(
25                "Application Menu",
26                h_flex().child(self.menu.clone()),
27            )))
28    }
29}