Imagepopupdialog
Based on game build 714014 | Last updated: 2026-03-09
Overview
ImagePopupDialogScreen is a specialized UI screen class derived from PopupDialogScreen. It extends the base popup dialog with support for a horizontally arranged row of image (or other widget) elements below the main dialog content. It customizes the background layout using TEMPLATES.CurlyWindow and adjusts positions of title, text, and menu elements to accommodate the new widget row.
Usage example
local ImagePopupDialogScreen = require "screens/imagepopupdialog"
local widgets = {
AnimButton("images/square.xml", "square.tex"),
Image("images/character_portraits.xml", "wilson.tex"),
}
local dialog = ImagePopupDialogScreen(
"My Title",
widgets,
64, -- widget width
16, -- spacing between widgets
"Description text here",
{ { text = "OK", fn = function() dialog:Remove() end } }
)
Dependencies & tags
Components used: None (pure UI class; no entity components referenced). Tags: None identified.
Properties
No public properties.
Main functions
ImagePopupDialogScreen(title, widgets, widget_width, spacing, text, buttons, scale_bg, spacing_override)
- Description: Constructor that initializes the dialog with a title, list of widgets to display, layout parameters, body text, and button definitions. It replaces the default background with a curly-window style and positions widgets horizontally in a container row.
- Parameters:
title(string) – Dialog title text.widgets(table) – Array of widget instances to be displayed in a horizontal row.widget_width(number) – Width used for calculating spacing and positioning of each widget.spacing(number) – Horizontal spacing between adjacent widgets.text(string) – Body text displayed in the dialog.buttons(table) – Array of button definitions (each withtext,fn, and optionalparams).scale_bg(optional, boolean) – Controls background scaling behavior (passed to base class).spacing_override(optional, number) – Overrides default vertical spacing (passed to base class).
- Returns: A new
ImagePopupDialogScreeninstance. - Error states: None documented.
Events & listeners
None identified.