#include #include #include static GApplication* s_the; GApplication& GApplication::the() { ASSERT(s_the); return *s_the; } GApplication::GApplication(int argc, char** argv) { ASSERT(!s_the); s_the = this; m_event_loop = make(); } GApplication::~GApplication() { } int GApplication::exec() { return m_event_loop->exec(); } void GApplication::quit(int exit_code) { m_event_loop->quit(exit_code); } void GApplication::set_menubar(OwnPtr&& menubar) { if (m_menubar) m_menubar->notify_removed_from_application(Badge()); m_menubar = move(menubar); if (m_menubar) m_menubar->notify_added_to_application(Badge()); }