summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI/GMenuBar.h
blob: 88f98eed7b5fc172160ee8edb24c9076201d066f (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/Vector.h>
#include <LibGUI/GMenu.h>

class GApplication;

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

    void add_menu(OwnPtr<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 };
    Vector<OwnPtr<GMenu>> m_menus;
};