mirror of https://github.com/OpenRCT2/OpenRCT2.git
Add a message box with buttons to UiContext
This commit is contained in:
parent
0bcb779acb
commit
a6e84fab5c
|
@ -640,6 +640,29 @@ public:
|
|||
_platformUiContext->ShowMessageBox(_window, message);
|
||||
}
|
||||
|
||||
int ShowMessageBox(const std::string& title, const std::string& message, const std::vector<std::string>& options) override
|
||||
{
|
||||
auto message_box_button_data = std::make_unique<SDL_MessageBoxButtonData[]>(options.size());
|
||||
for (size_t i = 0; i < options.size(); i++)
|
||||
{
|
||||
message_box_button_data[i].buttonid = static_cast<int>(i);
|
||||
message_box_button_data[i].text = options[i].c_str();
|
||||
}
|
||||
|
||||
SDL_MessageBoxData message_box_data{};
|
||||
message_box_data.window = _window;
|
||||
message_box_data.title = title.c_str();
|
||||
message_box_data.message = message.c_str();
|
||||
message_box_data.numbuttons = static_cast<int>(options.size());
|
||||
message_box_data.buttons = message_box_button_data.get();
|
||||
|
||||
int buttonid{};
|
||||
|
||||
SDL_ShowMessageBox(&message_box_data, &buttonid);
|
||||
|
||||
return buttonid;
|
||||
}
|
||||
|
||||
bool HasMenuSupport() override
|
||||
{
|
||||
return _platformUiContext->HasMenuSupport();
|
||||
|
|
|
@ -90,6 +90,10 @@ namespace OpenRCT2::Ui
|
|||
void ShowMessageBox(const std::string& /*message*/) override
|
||||
{
|
||||
}
|
||||
int ShowMessageBox(const std::string&, const std::string&, const std::vector<std::string>&) override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
bool HasMenuSupport() override
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -120,6 +120,8 @@ namespace OpenRCT2
|
|||
virtual void TriggerResize() abstract;
|
||||
|
||||
virtual void ShowMessageBox(const std::string& message) abstract;
|
||||
virtual int ShowMessageBox(
|
||||
const std::string& title, const std::string& message, const std::vector<std::string>& options) abstract;
|
||||
|
||||
virtual bool HasMenuSupport() abstract;
|
||||
// Creates a menu with a series of options, returns the index of the selected option
|
||||
|
|
Loading…
Reference in New Issue