MessageBox

A window showing some text and buttons.

Header#include "nativeui/message_box.h"
Namespacenamespace nu
Typeclass (RefCounted)

Constructors

MessageBox()

Create a message box.

Methods

int Run()

Show the message box and wait for result. Response ID will be returned.

Return

int

int RunForWindow(Window* window)

Show the message box as a child for window and wait for result. Response ID will be returned.

Parameters

Return

int

void Show() Windows Linux

Show the message box. The on_response event will be emitted when the message box is closed.

void ShowForWindow(Window* window)

Show the message box as a child of window. The on_response event will be emitted when the message box is closed.

Parameters

void Close()

Close the message box. The cancel response ID will be used as result.

void SetType(MessageBox::Type type)

Set the type of message box, system will show the corresponding icon in the message box.

On macOS there is no visual difference between information and warning types. On Linux this method has no effect if a custom icon has been set.

Parameters

void SetTitle(const std::string& title) Windows Linux

Set the message box window's title.

Parameters

void AddButton(const std::string& title, int response)

Add a button with title. The response ID will be used as result when the button is clicked.

Parameters

void SetDefaultResponse(int response)

Set the default response ID, when user presses the Enter key the button associated with the ID will be clicked.

Parameters

void SetCancelResponse(int response)

Set the cancel response ID that will be used as result when user presses the Esc key or when the window is closed without clicking any button.

The default cancel response ID is -1.

Parameters

void SetText(const std::string& text)

Set the message box's message text.

Parameters

void SetInformativeText(const std::string& text)

Set informative text that will show bellow the message text.

Parameters

void SetAccessoryView(scoped_refptr<View> view) macOS Linux

Set the accessory view that will be placed between the text and the buttons. The view must be given a size before being used as accessory view.

Parameters

View* GetAccessoryView() const macOS Linux

Return the accessory view.

Return

View*

void SetImage(scoped_refptr<Image> image)

Set the custom icon displayed in the message box.

On macOS the default icon is the app's icon, on Windows and Linux there is no default icon.

Parameters

Image* GetImage() const

Return the custom icon.

Return

Image*

NativeMessageBox GetNative() const

Return the native instance wrapped by the class.

Return

NativeMessageBox

Events

void on_response(MessageBox* self, int response)

Emitted when the message box is closed.

Parameters

Preventable

No.