Esempio n. 1
0
void ErrorMessage::Blocking(std::string title, std::string message)
{
	class BlockingDismissCallback: public ErrorMessageCallback {
	public:
		BlockingDismissCallback() {}
		virtual void DismissCallback() {
			ui::Engine::Ref().Break();
		}
		virtual ~BlockingDismissCallback() { }
	};
	new ErrorMessage(title, message, new BlockingDismissCallback());
	EngineProcess();
}
Esempio n. 2
0
bool ConfirmPrompt::Blocking(std::string title, std::string message, std::string buttonText)
{
	class BlockingPromptCallback: public ConfirmDialogueCallback {
	public:
		bool & outputResult;
		BlockingPromptCallback(bool & output): outputResult(output) {}
		virtual void ConfirmCallback(ConfirmPrompt::DialogueResult result) {
			if (result == ConfirmPrompt::ResultOkay)
				outputResult = true;
			else
				outputResult = false;
			ui::Engine::Ref().Break();
		}
		virtual ~BlockingPromptCallback() { }
	};
	bool result;
	new ConfirmPrompt(title, message, buttonText, new BlockingPromptCallback(result));
	EngineProcess();
	return result;
}
Esempio n. 3
0
std::string TextPrompt::Blocking(std::string title, std::string message, std::string text, std::string placeholder, bool multiline)
{
	std::string returnString = "";

	class BlockingTextCallback: public TextDialogueCallback {
		std::string & outputString;
	public:
		BlockingTextCallback(std::string & output) : outputString(output) {}
		virtual void TextCallback(TextPrompt::DialogueResult result, std::string resultText) {
			if(result == ResultOkay)
				outputString = resultText;
			else
				outputString = "";
			ui::Engine::Ref().Break();
		}
		virtual ~BlockingTextCallback() { }
	};
	new TextPrompt(title, message, text, placeholder, multiline, new BlockingTextCallback(returnString));
	EngineProcess();

	return returnString;
}