ladybird/LibGUI/GMenuBar.h
Andreas Kling 4f98a35beb WindowServer: Begin refactoring towards a fully asynchronous protocol.
In order to move the WindowServer to userspace, I have to eliminate its
dependence on system call facilities. The communication channel with each
client needs to be message-based in both directions.
2019-02-13 17:54:30 +01:00

27 lines
482 B
C++

#pragma once
#include <LibGUI/GMenu.h>
#include <AK/Badge.h>
#include <AK/OwnPtr.h>
#include <AK/Vector.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 { 0 };
Vector<OwnPtr<GMenu>> m_menus;
};