#pragma once #include class GMessageBox : public GDialog { public: enum class Type { None, Information, Warning, Error, }; explicit GMessageBox(const StringView& text, const StringView& title, Type type = Type::None, CObject* parent = nullptr); virtual ~GMessageBox() override; static void show(const StringView& text, const StringView& title, Type type = Type::None, CObject* parent = nullptr); virtual const char* class_name() const override { return "GMessageBox"; } private: void build(); RetainPtr icon() const; String m_text; Type m_type { Type::None }; };