// // Created by selim on 17.05.2022. // #ifndef AUTOCAT_GNOME_DIALOG_H #define AUTOCAT_GNOME_DIALOG_H #include "Window.h" #include "Box.h" #include #include namespace cc = concurrencpp; namespace gtkpp { class Dialog: public Window { private: GtkResponseType _response = GTK_RESPONSE_NONE; gulong _responseHandlerId; sigc::signal _signalResponse; friend void responseCallback(GtkDialog*, GtkResponseType responseId, void* data); public: void onResponse(const std::function& callback); public: explicit Dialog(Window* parent); ~Dialog(); cc::result responseAsync(); GtkResponseType currentResponse() const; Box contentWidget() const; }; } #endif //AUTOCAT_GNOME_DIALOG_H