osb/source/frontend/StarConfirmationDialog.hpp
2024-02-25 15:46:47 +01:00

36 lines
722 B
C++

#pragma once
#include "StarPane.hpp"
#include "StarRpcPromise.hpp"
namespace Star {
STAR_CLASS(ConfirmationDialog);
class ConfirmationDialog : public Pane {
public:
ConfirmationDialog();
virtual ~ConfirmationDialog() {}
void displayConfirmation(Json const& dialogConfig, RpcPromiseKeeper<Json> resultPromise);
void displayConfirmation(Json const& dialogConfig, WidgetCallbackFunc okCallback, WidgetCallbackFunc cancelCallback);
Maybe<EntityId> sourceEntityId();
void dismissed() override;
private:
void ok();
WidgetCallbackFunc m_okCallback;
WidgetCallbackFunc m_cancelCallback;
bool m_confirmed;
Maybe<EntityId> m_sourceEntityId;
Maybe<RpcPromiseKeeper<Json>> m_resultPromise;
};
}