1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:28:10 +00:00
serenity/Libraries/LibGUI/GDialog.h
Andreas Kling a599317624 LibCore: Introduce a C_OBJECT macro.
This macro goes at the top of every CObject-derived class like so:

class SomeClass : public CObject {
    C_OBJECT(SomeClass)
public:
    ...

At the moment, all it does is create an override for the class_name() getter
but in the future this will be used to automatically insert member functions
into these classes.
2019-07-25 19:49:28 +02:00

28 lines
492 B
C++

#pragma once
#include <LibGUI/GEventLoop.h>
#include <LibGUI/GWindow.h>
class GDialog : public GWindow {
C_OBJECT(GDialog)
public:
enum ExecResult {
ExecOK = 0,
ExecCancel = 1,
ExecAborted = 2
};
virtual ~GDialog() override;
int exec();
int result() const { return m_result; }
void done(int result);
protected:
explicit GDialog(CObject* parent);
private:
OwnPtr<GEventLoop> m_event_loop;
int m_result { ExecAborted };
};