Docs
- added a onSelect event for lists - added docs for onSelect - added addPlugin and addObject docs
This commit is contained in:
@@ -84,7 +84,16 @@ return function(name, basalt)
|
||||
end,
|
||||
|
||||
removeItem = function(self, index)
|
||||
table.remove(list, index)
|
||||
if(type(index)=="number")then
|
||||
table.remove(list, index)
|
||||
elseif(type(index)=="table")then
|
||||
for k,v in pairs(list)do
|
||||
if(v==index)then
|
||||
table.remove(list, k)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
self:updateDraw()
|
||||
return self
|
||||
end,
|
||||
@@ -193,6 +202,7 @@ return function(name, basalt)
|
||||
if (list[n + yOffset] ~= nil) then
|
||||
if (obx <= x) and (obx + w > x) and (oby + n - 1 == y) then
|
||||
self:setValue(list[n + yOffset])
|
||||
self:selectHandler()
|
||||
self:updateDraw()
|
||||
end
|
||||
end
|
||||
@@ -211,11 +221,22 @@ return function(name, basalt)
|
||||
return self:mouseHandler(1, x, y)
|
||||
end,
|
||||
|
||||
onSelect = function(self, ...)
|
||||
for _,v in pairs(table.pack(...))do
|
||||
if(type(v)=="function")then
|
||||
self:registerEvent("select_item", v)
|
||||
end
|
||||
end
|
||||
return self
|
||||
end,
|
||||
|
||||
selectHandler = function(self)
|
||||
self:sendEvent("select_item", self:getValue())
|
||||
end,
|
||||
|
||||
draw = function(self)
|
||||
base.draw(self)
|
||||
self:addDraw("list", function()
|
||||
local parent = self:getParent()
|
||||
local obx, oby = self:getPosition()
|
||||
local w, h = self:getSize()
|
||||
for n = 1, h do
|
||||
if list[n + yOffset] then
|
||||
@@ -224,7 +245,9 @@ return function(name, basalt)
|
||||
if list[n + yOffset] == self:getValue() and selectionColorActive then
|
||||
fg, bg = itemSelectedFG, itemSelectedBG
|
||||
end
|
||||
self:addBlit(1, n, t, tHex[fg]:rep(#t), tHex[bg]:rep(#t))
|
||||
self:addText(1, n, t)
|
||||
self:addBG(1, n, tHex[bg]:rep(w))
|
||||
self:addFG(1, n, tHex[fg]:rep(w))
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user