summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI/GMenuBar.h
blob: 5802177cb90c01365c8bd6a06a140f14d426b529 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <AK/Badge.h>
#include <AK/NonnullOwnPtrVector.h>
#include <LibGUI/GMenu.h>

class GApplication;

class GMenuBar {
public:
    GMenuBar();
    ~GMenuBar();

    void add_menu(NonnullOwnPtr<GMenu>&&);

    void notify_added_to_application(Badge<GApplication>);
    void notify_removed_from_application(Badge<GApplication>);

private:
    int realize_menubar();
    void unrealize_menubar();

    int m_menubar_id { -1 };
    NonnullOwnPtrVector<GMenu> m_menus;
};