summaryrefslogtreecommitdiff
path: root/LibGUI/GMessageBox.h
blob: 782e12eee3d85f929b428cbd54fdff726d740a4a (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
26
27
28
#pragma once

#include <LibGUI/GDialog.h>

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<GraphicsBitmap> icon() const;

    String m_text;
    Type m_type { Type::None };
};