Remove all special uses of xmlValue
This commit is contained in:
@@ -7,16 +7,6 @@ local XMLNode = {
|
||||
children = {},
|
||||
|
||||
addChild = function(self, child)
|
||||
if self[child.tag] ~= nil then
|
||||
if type(self[child.tag].tag) == "function" then
|
||||
local tempTable = {}
|
||||
table.insert(tempTable, self[child.tag])
|
||||
self[child.tag] = tempTable
|
||||
end
|
||||
table.insert(self[child.tag], child)
|
||||
else
|
||||
self[child.tag] = child
|
||||
end
|
||||
table.insert(self.children, child)
|
||||
end,
|
||||
|
||||
@@ -39,28 +29,6 @@ local parseAttributes = function(node, s)
|
||||
end
|
||||
|
||||
local XMLParser = {
|
||||
xmlValue = function(tag, tab)
|
||||
local var
|
||||
if(type(tab)~="table")then return end
|
||||
if(tab[tag]~=nil)then
|
||||
if(type(tab[tag])=="table")then
|
||||
if(tab[tag].value~=nil)then
|
||||
var = tab[tag].value
|
||||
end
|
||||
end
|
||||
end
|
||||
if(var==nil)then var = tab["@"..tag] end
|
||||
|
||||
if(var=="true")then
|
||||
var = true
|
||||
elseif(var=="false")then
|
||||
var = false
|
||||
elseif(tonumber(var)~=nil)then
|
||||
var = tonumber(var)
|
||||
end
|
||||
return var
|
||||
end,
|
||||
|
||||
parseText = function(xmlText)
|
||||
local stack = {}
|
||||
local top = XMLNode.new()
|
||||
|
||||
@@ -28,12 +28,6 @@ return {
|
||||
return bgSymbolColor
|
||||
end,
|
||||
|
||||
setValuesByXMLData = function(self, node, scripts)
|
||||
base.setValuesByXMLData(self, node, scripts)
|
||||
if(XMLParser.xmlValue("background-symbol", node)~=nil)then self:setBackgroundSymbol(XMLParser.xmlValue("background-symbol", node), XMLParser.xmlValue("background-symbol-color", node)) end
|
||||
return self
|
||||
end,
|
||||
|
||||
draw = function(self)
|
||||
base.draw(self)
|
||||
self:addDraw("advanced-bg", function()
|
||||
@@ -44,8 +38,8 @@ return {
|
||||
self:addForegroundBox(1, 1, w, h, bgSymbolColor)
|
||||
end
|
||||
end
|
||||
end, 2)
|
||||
end,
|
||||
end, 2)
|
||||
end
|
||||
}
|
||||
|
||||
return object
|
||||
|
||||
@@ -336,24 +336,7 @@ return {
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
setValuesByXMLData = function(self, node, scripts)
|
||||
base.setValuesByXMLData(self, node, scripts)
|
||||
local animX, animY, animateDuration, animeteTimeOffset, animateMode = XMLParser.xmlValue("animateX", node), XMLParser.xmlValue("animateY", node), XMLParser.xmlValue("animateDuration", node), XMLParser.xmlValue("animateTimeOffset", node), XMLParser.xmlValue("animateMode", node)
|
||||
local animW, animH, animateDuration, animeteTimeOffset, animateMode = XMLParser.xmlValue("animateW", node), XMLParser.xmlValue("animateH", node), XMLParser.xmlValue("animateDuration", node), XMLParser.xmlValue("animateTimeOffset", node), XMLParser.xmlValue("animateMode", node)
|
||||
local animXOffset, animYOffset, animateDuration, animeteTimeOffset, animateMode = XMLParser.xmlValue("animateXOffset", node), XMLParser.xmlValue("animateYOffset", node), XMLParser.xmlValue("animateDuration", node), XMLParser.xmlValue("animateTimeOffset", node), XMLParser.xmlValue("animateMode", node)
|
||||
if(animX~=nil and animY~=nil)then
|
||||
self:animatePosition(animX, animY, animateDuration, animeteTimeOffset, animateMode)
|
||||
end
|
||||
if(animW~=nil and animH~=nil)then
|
||||
self:animateSize(animW, animH, animateDuration, animeteTimeOffset, animateMode)
|
||||
end
|
||||
if(animXOffset~=nil and animYOffset~=nil)then
|
||||
self:animateOffset(animXOffset, animYOffset, animateDuration, animeteTimeOffset, animateMode)
|
||||
end
|
||||
return self
|
||||
end,
|
||||
end
|
||||
}
|
||||
|
||||
return object
|
||||
|
||||
@@ -195,12 +195,6 @@ return {
|
||||
end
|
||||
end,
|
||||
|
||||
setValuesByXMLData = function(self, node, scripts)
|
||||
base.setValuesByXMLData(self, node, scripts)
|
||||
if(XMLParser.xmlValue("fontSize", node)~=nil)then self:setFontSize(XMLParser.xmlValue("fontSize", node)) end
|
||||
return self
|
||||
end,
|
||||
|
||||
draw = function(self)
|
||||
base.draw(self)
|
||||
self:addDraw("bigfonts", function()
|
||||
@@ -219,7 +213,7 @@ return {
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
end
|
||||
}
|
||||
return object
|
||||
end
|
||||
|
||||
@@ -79,23 +79,6 @@ return {
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
|
||||
setValuesByXMLData = function(self, node, scripts)
|
||||
base.setValuesByXMLData(self, node)
|
||||
local borders = {}
|
||||
if(XMLParser.xmlValue("border", node)~=nil)then
|
||||
borders["top"] = colors[XMLParser.xmlValue("border", node)]
|
||||
borders["bottom"] = colors[XMLParser.xmlValue("border", node)]
|
||||
borders["left"] = colors[XMLParser.xmlValue("border", node)]
|
||||
borders["right"] = colors[XMLParser.xmlValue("border", node)]
|
||||
end
|
||||
if(XMLParser.xmlValue("borderTop", node)~=nil)then borders["top"] = colors[XMLParser.xmlValue("borderTop", node)] end
|
||||
if(XMLParser.xmlValue("borderBottom", node)~=nil)then borders["bottom"] = colors[XMLParser.xmlValue("borderBottom", node)] end
|
||||
if(XMLParser.xmlValue("borderLeft", node)~=nil)then borders["left"] = colors[XMLParser.xmlValue("borderLeft", node)] end
|
||||
if(XMLParser.xmlValue("borderRight", node)~=nil)then borders["right"] = colors[XMLParser.xmlValue("borderRight", node)] end
|
||||
self:setBorder(borders["top"], borders["bottom"], borders["left"], borders["right"])
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
@@ -200,22 +200,21 @@ return {
|
||||
|
||||
local _OBJECTS = basalt.getObjects()
|
||||
|
||||
for _, childNode in pairs(node.children) do
|
||||
local tagName = childNode.tag
|
||||
if (tagName ~= "animation") then
|
||||
for _, child in pairs(node.children) do
|
||||
local tagName = child.tag
|
||||
if (tagName == "animation") then
|
||||
addXMLObjectType(child, self.addAnimation, self, renderContext)
|
||||
else
|
||||
local layout = renderContext.env[tagName]
|
||||
local objectKey = tagName:gsub("^%l", string.upper)
|
||||
if (layout ~= nil) then
|
||||
insertChildLayout(self, layout, childNode, renderContext)
|
||||
insertChildLayout(self, layout, child, renderContext)
|
||||
elseif (_OBJECTS[objectKey] ~= nil) then
|
||||
local addFn = self["add" .. objectKey]
|
||||
addXMLObjectType(childNode, addFn, self, renderContext)
|
||||
addXMLObjectType(child, addFn, self, renderContext)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
addXMLObjectType(node["animation"], self.addAnimation, self, renderContext)
|
||||
return self
|
||||
end,
|
||||
|
||||
loadLayout = function(self, path, props)
|
||||
@@ -238,172 +237,5 @@ return {
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Textfield = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
if(node["lines"]~=nil)then
|
||||
local l = node["lines"]["line"]
|
||||
if(l.attributes~=nil)then l = {l} end
|
||||
for _,v in pairs(l)do
|
||||
self:addLine(v.value)
|
||||
end
|
||||
end
|
||||
if(node["keywords"]~=nil)then
|
||||
for k,v in pairs(node["keywords"])do
|
||||
if(colors[k]~=nil)then
|
||||
local entry = v
|
||||
if(entry.attributes~=nil)then entry = {entry} end
|
||||
local tab = {}
|
||||
for a,b in pairs(entry)do
|
||||
local keywordList = b["keyword"]
|
||||
if(b["keyword"].attributes~=nil)then keywordList = {b["keyword"]} end
|
||||
for c,d in pairs(keywordList)do
|
||||
table.insert(tab, d.value)
|
||||
end
|
||||
end
|
||||
self:addKeywords(colors[k], tab)
|
||||
end
|
||||
end
|
||||
end
|
||||
if(node["rules"]~=nil)then
|
||||
if(node["rules"]["rule"]~=nil)then
|
||||
local tab = node["rules"]["rule"]
|
||||
if(node["rules"]["rule"].attributes~=nil)then tab = {node["rules"]["rule"]} end
|
||||
for k,v in pairs(tab)do
|
||||
|
||||
if(XMLParser.xmlValue("pattern", v)~=nil)then
|
||||
self:addRule(XMLParser.xmlValue("pattern", v), colors[XMLParser.xmlValue("fg", v)], colors[XMLParser.xmlValue("bg", v)])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Thread = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
local script = XMLParser.xmlValue("start", node)~=nil
|
||||
if(script~=nil)then
|
||||
local f = load(script, nil, "t", renderContext.env)
|
||||
self:start(f)
|
||||
end
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Timer = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
registerFunctionEvents(self, node, {
|
||||
"onCall"
|
||||
}, renderContext)
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
List = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
if(node["item"]~=nil)then
|
||||
local tab = node["item"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
if(self:getType()~="Radio")then
|
||||
self:addItem(XMLParser.xmlValue("text", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
end
|
||||
end
|
||||
end
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Dropdown = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Radio = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
if(node["item"]~=nil)then
|
||||
local tab = node["item"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
self:addItem(XMLParser.xmlValue("text", v), XMLParser.xmlValue("x", v), XMLParser.xmlValue("y", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
end
|
||||
end
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Graph = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
if(node["item"]~=nil)then
|
||||
local tab = node["item"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,_ in pairs(tab)do
|
||||
self:addDataPoint(XMLParser.xmlValue("value"))
|
||||
end
|
||||
end
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
Treeview = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, node, renderContext)
|
||||
base.setValuesByXMLData(self, node, renderContext)
|
||||
local function addNode(node, node)
|
||||
if(node["node"]~=nil)then
|
||||
local tab = node["node"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
local n = node:addNode(XMLParser.xmlValue("text", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
addNode(n, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
if(node["node"]~=nil)then
|
||||
local tab = node["node"]
|
||||
if(tab.attributes~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
local n = self:addNode(XMLParser.xmlValue("text", v), colors[XMLParser.xmlValue("bg", v)], colors[XMLParser.xmlValue("fg", v)])
|
||||
addNode(n, v)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return self
|
||||
end,
|
||||
}
|
||||
return object
|
||||
end,
|
||||
|
||||
end
|
||||
}
|
||||
|
||||
@@ -28,12 +28,6 @@ return {
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
|
||||
setValuesByXMLData = function(self, node, scripts)
|
||||
base.setValuesByXMLData(self, node, scripts)
|
||||
if(XMLParser.xmlValue("shadow", node)~=nil)then self:setShadow(XMLParser.xmlValue("shadow", node)) end
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
@@ -107,14 +107,6 @@ return {
|
||||
end
|
||||
end, 1)
|
||||
self:setDrawState("texture-base", false)
|
||||
end,
|
||||
|
||||
setValuesByXMLData = function(self, node, scripts)
|
||||
base.setValuesByXMLData(self, node, scripts)
|
||||
if(XMLParser.xmlValue("texture", node)~=nil)then self:addTexture(XMLParser.xmlValue("texture", node), XMLParser.xmlValue("animate", node)) end
|
||||
if(XMLParser.xmlValue("textureMode", node)~=nil)then self:setTextureMode(XMLParser.xmlValue("textureMode", node)) end
|
||||
if(XMLParser.xmlValue("infinitePlay", node)~=nil)then self:setInfinitePlay(XMLParser.xmlValue("infinitePlay", node)) end
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user