参考 › 函数参考 › Conditions

Conditions.bossmod.idEditor

依赖项

调用方式

Conditions.bossmod.idEditor(parent, label, current, changed)

记录依赖项 Conditions.bossmod.idEditor,然后按该名称调用。带命名空间的调用不会传入 self:请使用冒号调用,或自行传入该对象。

作用

Builds a full-width edit box for an optional boss-mod ID (such as the encounter ID) and adds it to parent. On Enter it passes the typed number to changed only when validID accepts it, otherwise nil, and rewrites the box to the accepted ID or blank.

参数

名称类型作用
parenttableCondition widget group the control is added to.
labelstringLabel shown above the edit box.
currentnumber | nilSaved ID to display; nil shows an empty box.
changedfunctionCalled with the accepted positive whole-number ID, or nil when the text is blank or invalid.

返回值

1RMConditionInputThe edit box, already added to parent.

版本

内置辅助函数在每个版本上都会注册。不同的是它们读取的游戏 API;某个 API 缺失时,辅助函数会改用后备方案,或返回 nil 并附上原因。

它不直接读取任何游戏 API。

插件如何调用它

  • 首领模块首领战 (widget)
    idEditor(parent, L["Encounter ID (blank for any)"], value.encounter, function(id) value.encounter = id; update() end)
  • 首领模块计时条 (widget)
    idEditor(parent, L["Boss ability spell ID"], value.spell, function(id)

依赖项

源码

Conditions/bossmod.lua,第 70 行。在游戏中为只读;“复制”会生成一份可编辑的副本。

Conditions.bossmod.idEditor(parent, label, current, changed)
    local edit = addon:CreateConditionEditBox()
    edit:SetFullWidth(true)
    edit:SetLabel(label)
    edit:SetText(current and tostring(current) or "")
    edit:SetCallback("OnEnterPressed", function(_, _, text)
        local id = tonumber(text)
        changed(validID(id) and id or nil)
        edit:SetText(validID(id) and tostring(id) or "")
    end)
    parent:AddChild(edit)
    return edit

返回函数参考