osb/source/frontend/StarConfirmationDialog.hpp

36 lines
722 B
C++
Raw Normal View History

#pragma once
2023-06-20 04:33:09 +00:00
#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;
};
}