vanilla-wow-addons – Rev 1
?pathlinks?
AceGUIScrollEditBox = AceGUIOptionsBox:new({isUnit=TRUE})
function AceGUIScrollEditBox:Setup()
AceGUIOptionsBox.Setup(self)
if( not self._def.elements ) then self._def.elements = {} end
local elements = self._def.elements
elements.Title = {type = ACEGUI_FONTSTRING}
elements.ScrollBox = {
type = ACEGUI_SCROLL_FRAME,
elements = {
EditBox = {
type = ACEGUI_EDITBOX,
disabled = TRUE
}
}
}
end
function AceGUIScrollEditBox:Configure()
AceGUIOptionsBox.Configure(self)
local width = self:GetWidth()
local height = self:GetHeight()
self.ScrollBox:SetWidth(width - 32)
self.ScrollBox:SetHeight(height - 9)
self.ScrollBox.EditBox:SetWidth(width - 32)
self.ScrollBox.EditBox:SetHeight(height - 9)
end
function AceGUIScrollEditBox:SetFocus()
self.ScrollBox.EditBox:SetFocus()
end
function AceGUIScrollEditBox:ClearFocus()
self.ScrollBox.EditBox:ClearFocus()
end
function AceGUIScrollEditBox:GetValue()
return self.ScrollBox.EditBox:GetText()
end
function AceGUIScrollEditBox:SetValue(val)
self.ScrollBox.EditBox:SetText(val or "")
end
function AceGUIScrollEditBox:Enable()
self.ScrollBox.EditBox:Enable()
end
function AceGUIScrollEditBox:Disable()
self.ScrollBox.EditBox:Disable()
end
function AceGUIScrollEditBox:OnChar()
if( (arg1 == "\n") and (self._def.OnEnterPressed) ) then
self:SetValue(gsub(self:GetValue(), "\n$", "", 1))
self:CallHandler("OnEnterPressed")
end
end
function AceGUIScrollEditBox:OnTextChanged()
self.ScrollBox:UpdateScrollChildRect()
local min, max = self.ScrollBox.ScrollBar:GetMinMaxValues()
if( (max > 0) and (self.max ~= max) ) then
self.max = max
self.ScrollBox.ScrollBar:SetValue(max)
end
end