GDialog.h 572 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include <LibCore/CEventLoop.h>
  3. #include <LibGUI/GWindow.h>
  4. class GDialog : public GWindow {
  5. C_OBJECT(GDialog)
  6. public:
  7. enum ExecResult {
  8. ExecOK = 0,
  9. ExecCancel = 1,
  10. ExecAborted = 2
  11. };
  12. virtual ~GDialog() override;
  13. int exec();
  14. int result() const { return m_result; }
  15. void done(int result);
  16. virtual void event(CEvent&) override;
  17. virtual void close() override;
  18. protected:
  19. explicit GDialog(CObject* parent);
  20. private:
  21. OwnPtr<CEventLoop> m_event_loop;
  22. int m_result { ExecAborted };
  23. };