Built-in Functions - Common Dialog
Utility functions to manage common dialogs.
Common dialogs can have various combinations of titles, buttons (OK/Yes/No), and button lengths, resulting in eight possible configurations.
List of Functions
hsCommonDialogIsOpened
bool hsCommonDialogIsOpened()
Checks if a common dialog is already open. Returns true
if a dialog is open. Only one common dialog can be open at a time, so ensure that no other HeliScript code has opened a dialog before attempting to open a new one.
hsCommonDialogSetUseTitle
void hsCommonDialogSetUseTitle(bool Use)
Sets whether to use a title. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetUseYesNoButton
void hsCommonDialogSetUseYesNoButton(bool Use)
Sets whether to use Yes/No buttons. If not used, only the OK button will be available. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetUseLongButton
void hsCommonDialogSetUseLongButton(bool Use)
Sets whether to use long buttons. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetTitle
void hsCommonDialogSetTitle(string Text)
Sets the title text. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetText
void hsCommonDialogSetText(string Text)
Sets the main body text. To include line breaks, use \n
within the string. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetTextAlignment
void hsCommonDialogSetTextAlignment(int Alignment)
Specifies the text alignment for the main body text. Use the values from the table below. Must be set before calling hsCommonDialogOpen
.
Value | Alignment |
---|---|
HSAlignLT | Top Left |
HSAlignCT | Top Center |
HSAlignRT | Top Right |
HSAlignLM | Middle Left |
HSAlignCM | Middle Center |
HSAlignRM | Middle Right |
HSAlignLB | Bottom Left |
HSAlignCB | Bottom Center |
HSAlignRB | Bottom Right |
hsCommonDialogSetTextOverflowWrap
void hsCommonDialogSetTextOverflowWrap(bool OverflowWrap)
Sets whether to automatically wrap text.
hsCommonDialogSetTextURLClickable
void hsCommonDialogSetTextURLClickable(bool URLClickable)
Sets whether URLs in the text are clickable.
hsCommonDialogSetOKButtonText
void hsCommonDialogSetOKButtonText(string Text)
Sets the text for the OK button. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetYesButtonText
void hsCommonDialogSetYesButtonText(string Text)
Sets the text for the Yes button. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetNoButtonText
void hsCommonDialogSetNoButtonText(string Text)
Sets the text for the No button. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetOKButtonDelegate
void hsCommonDialogSetOKButtonDelegate(hsDGCommonDialog dg)
Sets the delegate function for the OK button click event. The delegate type is void func(void)
. Must be set before calling hsCommonDialogOpen
.
Example:
hsCommonDialogSetOKButtonDelegate(OnDialogOK);
public void OnDialogOK(void)
{
system.Output("OnDialogOK callback\n");
hsCommonDialogClose();
}
hsCommonDialogSetYesButtonDelegate
void hsCommonDialogSetYesButtonDelegate(hsDGCommonDialog dg)
Sets the delegate function for the Yes button click event. The delegate type is void func(void)
. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogSetNoButtonDelegate
void hsCommonDialogSetNoButtonDelegate(hsDGCommonDialog dg)
Sets the delegate function for the No button click event. The delegate type is void func(void)
. Must be set before calling hsCommonDialogOpen
.
hsCommonDialogOpen
bool hsCommonDialogOpen()
Opens the common dialog. Returns false
if an error occurs, such as if a dialog is already open.
When using in Canvas HeliScript, you need to add "canvas"
as an argument and call it like hsCommonDialogOpen("canvas")
. No arguments are needed for non-Canvas cases.
hsCommonDialogClose
bool hsCommonDialogClose()
Closes the common dialog. Returns false
if an error occurs, such as if the dialog is already closed.