1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // Engine/Source/Runtime/WebBrowser/Public/IWebBrowserDialog.h
- #pragma once
- #include "CoreMinimal.h"
- /**
- * Type of browser dialog to show.
- */
- enum class EWebInterfaceBrowserDialogType
- {
- /** Alert dialog. Used to show a message to a user. It should only have a single button to dismiss it. */
- Alert = 0,
- /** Confirm dialog. Shows a message to the user. It should have two buttons to either accept or decline the prompt. */
- Confirm,
- /** Prompt dialog. Shows a prompt asking for user input. The user can enter text and either confirm or dismiss it. */
- Prompt,
- /** Unload dialog. This type of dialog is shown to confirm navigating away from a page containing user-edited content. */
- Unload = 127,
- };
- /**
- * Return value from dialog event handle specifying what action should be taken.
- */
- enum class EWebInterfaceBrowserDialogEventResponse
- {
- /** Return Unhandled to use the default dialog implementation. This is the default behavior when no handler is attached. */
- Unhandled,
- /** Do not show any dialog and return as if the user accepted the action. */
- Continue,
- /** Do not show any dialog and return as if the user dismissed the action. */
- Ignore,
- /** The event handler will take care of showing the dialog. It must call IWebBrowserDialog::Continue once it has been dismissed. */
- Handled,
- };
- /**
- * Browser dialog parameters passed to OnBrowserDialog event handlers.
- */
- class IWebInterfaceBrowserDialog
- {
- public:
- virtual ~IWebInterfaceBrowserDialog()
- {}
- /**
- * What kind of dialog should be shown.
- * @return the dialog type
- */
- virtual EWebInterfaceBrowserDialogType GetType() = 0;
- /**
- * Tell the browser to continue with the result of the dialog.
- * If this method is used, the original event handler must return EWebBrowserDialogEventResponse::Handled.
- *
- * @param Success Did the user accept the dialog or not?
- * @param UserResponse Only for Prompt dialog, the text entered by the user.
- */
- virtual void Continue(bool Success = true, const FText& UserResponse = FText::GetEmpty()) = 0;
- /**
- * Get the dialog message.
- * @return the message to show in the dialog.
- */
- virtual const FText& GetMessageText() = 0;
- /**
- * Only valid for Prompt dialogs.
- * @return the default value to show in the text entry box.
- */
- virtual const FText& GetDefaultPrompt() = 0;
- /**
- * Only valid for Unload dialogs.
- * @return true if the dialog is confirming a reload of the current page.
- */
- virtual bool IsReload() = 0;
-
- };
|