Zum Inhalt

dialog_react_util

Quelle: base/tealdef/gui/menu/dialog_react_util.d.tl

Hinweise

Allgemeines modales Dialogfenster mit Titel, Text und einer Reihe von Auswahlknöpfen. Die Menüs und die GUI im Spiel nutzen es an vielen Stellen.

Beispiel

-- aus base/content/gui/gui/menu/mod_manager_react_util.tl (showMessageBox)
local close = function()
  wc.removeAllWindows(dialog_react_util.DialogWindow)
end
wc.addSingletonWindow(dialog_react_util.DialogWindow, {
  onClose = close,
  x = 0.5,
  y = 0.5,
  windowTitle = title,
  displayText = message,
  setBlockedForModal = setBlockedForModal,
  choices = { { text = _("OK") } },
  onBackChoiceIndex = 1,
})

DialogReactUtil

record global base/tealdef/gui/menu/dialog_react_util.d.tl:3

global record DialogReactUtil

Laden: local dialog_react_util = ug_require "::/gui/menu/dialog_react_util.tl" as DialogReactUtil

Hinweise

Util-Tabelle von dialog_react_util.tl mit dem Recipe DialogWindow.

Felder

Name Typ Beschreibung
DialogWindow Recipe<DialogWindowParam> Fenster-Recipe eines modalen, nicht verschiebbaren Dialogs mit optionalem Text und einer Liste von Auswahlknöpfen. 60-mal im Basisspiel verwendet

DialogReactUtil.DialogWindowParam

record base/tealdef/gui/menu/dialog_react_util.d.tl:4

record DialogWindowParam

Hinweise

Parameter von DialogReactUtil.DialogWindow.

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/gui/gui/menu/dialog_react_util.tl:7

local DialogWindowContent = react.RegisterRecipe("DialogWindowContent", function(params : DialogReactUtil.DialogWindowParam) : TreeNodeId

Felder

Name Typ Beschreibung
closable boolean Bei true zeigt das Fenster einen Schließen-Knopf. Standard ist false (kein Schließen-Knopf).
windowTitle string Fenstertitel.
displayText string Fließtext, der in einem Scrollbereich über den Knöpfen steht. Optional.
x number Anfängliche waagerechte Position des Fensters (wird als initialX übergeben). Das Basisspiel nimmt 0.5 zum Zentrieren oder eine Bildschirmposition für Pop-ups neben einem Bedienelement.
y number Anfängliche senkrechte Position des Fensters (wird als initialY übergeben; 0.5 zentriert es).
choices {Choice} Knöpfe des Dialogs in der angezeigten Reihenfolge.
onBackChoiceIndex integer specifies which choice has to be choosen at on back, default does NOTHING (to avoid bad side effects)
mode Mode Anordnung der Knöpfe, "Flow" oder "Box" (Standard).
windowClass string Zusätzliche Style-Klasse, die das Fenster nach popover, dialog bekommt.
windowId string Id des Fensters.

Funktionen

onClose() base/tealdef/gui/menu/dialog_react_util.d.tl:16

Hinweise

Wird aufgerufen, wenn der Dialog sich schließen soll: nach jeder Auswahl, bei einem Klick außerhalb des Dialogs, bei „Menü zurück“ und über den Schließen-Knopf des Fensters. Die Funktion muss das Fenster entfernen, meist mit removeAllWindows(dialog_react_util.DialogWindow).

setBlockedForModal(blocked : boolean) base/tealdef/gui/menu/dialog_react_util.d.tl:18

Hinweise

Optionaler Callback. Der Dialog ruft ihn beim Einhängen mit true auf und beim Aushängen oder Wegklicken mit false, damit der Aufrufer die Oberfläche dahinter sperren kann. Menüs geben CommonMenuParams.setBlockedForModal mit.

DialogReactUtil.DialogWindowParam.Mode

enum base/tealdef/gui/menu/dialog_react_util.d.tl:5

enum Mode

Hinweise

Wie die Auswahlknöpfe angeordnet werden.

Wert Beschreibung
"Flow" Die Knöpfe stehen in einem Fließlayout, das auf mehrere Zeilen umbricht (so beim Tag-Auswahldialog des Mod-Upload-Formulars).
"Box" Die Knöpfe stehen in einer waagerechten Reihe in einem Scrollbereich. Jeder Wert außer "Flow" (auch nil) ergibt dieses Layout.

DialogReactUtil.DialogWindowParam.Choice

record base/tealdef/gui/menu/dialog_react_util.d.tl:9

record Choice

Hinweise

Ein Knopf des Dialogs.

Felder

Name Typ Beschreibung
text string Beschriftung des Knopfs.
tooltip string Tooltip des Knopfs.
isSecondary boolean nil/false by default
enabled boolean nil/false by default

Funktionen

onClick() base/tealdef/gui/menu/dialog_react_util.d.tl:12

Hinweise

Wird beim Klick auf den Knopf aufgerufen, nach dem onClose des Dialogs. Optional; eine Auswahl ohne onClick schließt nur den Dialog.