Move xmlValue to xmlParser
This commit is contained in:
@@ -273,28 +273,6 @@ removeTags = removeTags,
|
||||
|
||||
wrapText = wrapText,
|
||||
|
||||
xmlValue = function(name, tab)
|
||||
local var
|
||||
if(type(tab)~="table")then return end
|
||||
if(tab[name]~=nil)then
|
||||
if(type(tab[name])=="table")then
|
||||
if(tab[name].value~=nil)then
|
||||
var = tab[name]:value()
|
||||
end
|
||||
end
|
||||
end
|
||||
if(var==nil)then var = tab["@"..name] 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,
|
||||
|
||||
convertRichText = convertRichText,
|
||||
|
||||
--- Writes text with special color tags
|
||||
|
||||
@@ -55,6 +55,28 @@ end
|
||||
|
||||
local XMLParser = {}
|
||||
|
||||
function XMLParser.XmlValue(name, tab)
|
||||
local var
|
||||
if(type(tab)~="table")then return end
|
||||
if(tab[name]~=nil)then
|
||||
if(type(tab[name])=="table")then
|
||||
if(tab[name].value~=nil)then
|
||||
var = tab[name]:value()
|
||||
end
|
||||
end
|
||||
end
|
||||
if(var==nil)then var = tab["@"..name] 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
|
||||
|
||||
function XMLParser:ToXmlString(value)
|
||||
value = string.gsub(value, "&", "&"); -- '&' -> "&"
|
||||
value = string.gsub(value, "<", "<"); -- '<' -> "<"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
local utils = require("utils")
|
||||
local xmlValue = utils.xmlValue
|
||||
local XMLParser = require("xmlParser")
|
||||
|
||||
return {
|
||||
VisualObject = function(base)
|
||||
@@ -31,7 +30,7 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(xmlValue("background-symbol", data)~=nil)then self:setBackgroundSymbol(xmlValue("background-symbol", data), xmlValue("background-symbol-color", data)) end
|
||||
if(XMLParser.XmlValue("background-symbol", data)~=nil)then self:setBackgroundSymbol(XMLParser.XmlValue("background-symbol", data), XMLParser.XmlValue("background-symbol-color", data)) end
|
||||
return self
|
||||
end,
|
||||
|
||||
|
||||
@@ -215,8 +215,7 @@ local lerp = {
|
||||
easeInOutBounce=easeInOutBounce,
|
||||
}
|
||||
|
||||
local utils = require("utils")
|
||||
local xmlValue = utils.xmlValue
|
||||
local XMLParser = require("xmlParser")
|
||||
|
||||
return {
|
||||
VisualObject = function(base, basalt)
|
||||
@@ -341,9 +340,9 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
local animX, animY, animateDuration, animeteTimeOffset, animateMode = xmlValue("animateX", data), xmlValue("animateY", data), xmlValue("animateDuration", data), xmlValue("animateTimeOffset", data), xmlValue("animateMode", data)
|
||||
local animW, animH, animateDuration, animeteTimeOffset, animateMode = xmlValue("animateW", data), xmlValue("animateH", data), xmlValue("animateDuration", data), xmlValue("animateTimeOffset", data), xmlValue("animateMode", data)
|
||||
local animXOffset, animYOffset, animateDuration, animeteTimeOffset, animateMode = xmlValue("animateXOffset", data), xmlValue("animateYOffset", data), xmlValue("animateDuration", data), xmlValue("animateTimeOffset", data), xmlValue("animateMode", data)
|
||||
local animX, animY, animateDuration, animeteTimeOffset, animateMode = XMLParser.XmlValue("animateX", data), XMLParser.XmlValue("animateY", data), XMLParser.XmlValue("animateDuration", data), XMLParser.XmlValue("animateTimeOffset", data), XMLParser.XmlValue("animateMode", data)
|
||||
local animW, animH, animateDuration, animeteTimeOffset, animateMode = XMLParser.XmlValue("animateW", data), XMLParser.XmlValue("animateH", data), XMLParser.XmlValue("animateDuration", data), XMLParser.XmlValue("animateTimeOffset", data), XMLParser.XmlValue("animateMode", data)
|
||||
local animXOffset, animYOffset, animateDuration, animeteTimeOffset, animateMode = XMLParser.XmlValue("animateXOffset", data), XMLParser.XmlValue("animateYOffset", data), XMLParser.XmlValue("animateDuration", data), XMLParser.XmlValue("animateTimeOffset", data), XMLParser.XmlValue("animateMode", data)
|
||||
if(animX~=nil and animY~=nil)then
|
||||
self:animatePosition(animX, animY, animateDuration, animeteTimeOffset, animateMode)
|
||||
end
|
||||
|
||||
@@ -140,8 +140,7 @@ local function makeText(nSize, sString, nFC, nBC, bBlit)
|
||||
end
|
||||
|
||||
-- The following code is related to basalt and has nothing to do with bigfonts, it creates a plugin which will be added to labels:
|
||||
local utils = require("utils")
|
||||
local xmlValue = utils.xmlValue
|
||||
local XMLParser = require("xmlParser")
|
||||
return {
|
||||
Label = function(base)
|
||||
local fontsize = 1
|
||||
@@ -198,7 +197,7 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(xmlValue("fontSize", data)~=nil)then self:setFontSize(xmlValue("fontSize", data)) end
|
||||
if(XMLParser.XmlValue("fontSize", data)~=nil)then self:setFontSize(XMLParser.XmlValue("fontSize", data)) end
|
||||
return self
|
||||
end,
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
local utils = require("utils")
|
||||
local xmlValue = utils.xmlValue
|
||||
local XMLParser = require("xmlParser")
|
||||
|
||||
return {
|
||||
VisualObject = function(base)
|
||||
@@ -85,16 +84,16 @@ return {
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data)
|
||||
local borders = {}
|
||||
if(xmlValue("border", data)~=nil)then
|
||||
borders["top"] = colors[xmlValue("border", data)]
|
||||
borders["bottom"] = colors[xmlValue("border", data)]
|
||||
borders["left"] = colors[xmlValue("border", data)]
|
||||
borders["right"] = colors[xmlValue("border", data)]
|
||||
if(XMLParser.XmlValue("border", data)~=nil)then
|
||||
borders["top"] = colors[XMLParser.XmlValue("border", data)]
|
||||
borders["bottom"] = colors[XMLParser.XmlValue("border", data)]
|
||||
borders["left"] = colors[XMLParser.XmlValue("border", data)]
|
||||
borders["right"] = colors[XMLParser.XmlValue("border", data)]
|
||||
end
|
||||
if(xmlValue("borderTop", data)~=nil)then borders["top"] = colors[xmlValue("borderTop", data)] end
|
||||
if(xmlValue("borderBottom", data)~=nil)then borders["bottom"] = colors[xmlValue("borderBottom", data)] end
|
||||
if(xmlValue("borderLeft", data)~=nil)then borders["left"] = colors[xmlValue("borderLeft", data)] end
|
||||
if(xmlValue("borderRight", data)~=nil)then borders["right"] = colors[xmlValue("borderRight", data)] end
|
||||
if(XMLParser.XmlValue("borderTop", data)~=nil)then borders["top"] = colors[XMLParser.XmlValue("borderTop", data)] end
|
||||
if(XMLParser.XmlValue("borderBottom", data)~=nil)then borders["bottom"] = colors[XMLParser.XmlValue("borderBottom", data)] end
|
||||
if(XMLParser.XmlValue("borderLeft", data)~=nil)then borders["left"] = colors[XMLParser.XmlValue("borderLeft", data)] end
|
||||
if(XMLParser.XmlValue("borderRight", data)~=nil)then borders["right"] = colors[XMLParser.XmlValue("borderRight", data)] end
|
||||
self:setBorder(borders["top"], borders["bottom"], borders["left"], borders["right"])
|
||||
return self
|
||||
end
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
local utils = require("utils")
|
||||
local count = utils.tableCount
|
||||
local xmlValue = utils.xmlValue
|
||||
|
||||
return {
|
||||
VisualObject = function(base, basalt)
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
local XMLParser = require("xmlParser")
|
||||
local utils = require("utils")
|
||||
local uuid = utils.uuid
|
||||
local xmlValue = utils.xmlValue
|
||||
|
||||
local function maybeExecuteScript(data, renderContext)
|
||||
local script = xmlValue('script', data)
|
||||
local script = XMLParser.XmlValue('script', data)
|
||||
if (script ~= nil) then
|
||||
load(script, nil, "t", renderContext.env)()
|
||||
end
|
||||
@@ -286,8 +285,8 @@ return {
|
||||
if(data["rules"]["rule"].properties~=nil)then tab = {data["rules"]["rule"]} end
|
||||
for k,v in pairs(tab)do
|
||||
|
||||
if(xmlValue("pattern", v)~=nil)then
|
||||
self:addRule(xmlValue("pattern", v), colors[xmlValue("fg", v)], colors[xmlValue("bg", v)])
|
||||
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
|
||||
@@ -301,7 +300,7 @@ return {
|
||||
Thread = function(base, basalt)
|
||||
local object = {
|
||||
setValuesByXMLData = function(self, data, renderContext)
|
||||
local script = xmlValue("start", data)~=nil
|
||||
local script = XMLParser.XmlValue("start", data)~=nil
|
||||
if(script~=nil)then
|
||||
local f = load(script, nil, "t", renderContext.env)
|
||||
self:start(f)
|
||||
@@ -334,7 +333,7 @@ return {
|
||||
if(tab.properties~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
if(self:getType()~="Radio")then
|
||||
self:addItem(xmlValue("text", v), colors[xmlValue("bg", v)], colors[xmlValue("fg", v)])
|
||||
self:addItem(XMLParser.XmlValue("text", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -362,7 +361,7 @@ return {
|
||||
local tab = data["item"]
|
||||
if(tab.properties~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
self:addItem(xmlValue("text", v), xmlValue("x", v), xmlValue("y", v), colors[xmlValue("bg", v)], colors[xmlValue("fg", v)])
|
||||
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
|
||||
@@ -379,7 +378,7 @@ return {
|
||||
local tab = data["item"]
|
||||
if(tab.properties~=nil)then tab = {tab} end
|
||||
for _,_ in pairs(tab)do
|
||||
self:addDataPoint(xmlValue("value"))
|
||||
self:addDataPoint(XMLParser.XmlValue("value"))
|
||||
end
|
||||
end
|
||||
return self
|
||||
@@ -397,7 +396,7 @@ return {
|
||||
local tab = data["node"]
|
||||
if(tab.properties~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
local n = node:addNode(xmlValue("text", v), colors[xmlValue("bg", v)], colors[xmlValue("fg", v)])
|
||||
local n = node:addNode(XMLParser.XmlValue("text", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
addNode(n, v)
|
||||
end
|
||||
end
|
||||
@@ -406,7 +405,7 @@ return {
|
||||
local tab = data["node"]
|
||||
if(tab.properties~=nil)then tab = {tab} end
|
||||
for _,v in pairs(tab)do
|
||||
local n = self:addNode(xmlValue("text", v), colors[xmlValue("bg", v)], colors[xmlValue("fg", v)])
|
||||
local n = self:addNode(XMLParser.XmlValue("text", v), colors[XMLParser.XmlValue("bg", v)], colors[XMLParser.XmlValue("fg", v)])
|
||||
addNode(n, v)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
local utils = require("utils")
|
||||
local xmlValue = utils.xmlValue
|
||||
local XMLParser = require("xmlParser")
|
||||
|
||||
return {
|
||||
VisualObject = function(base)
|
||||
@@ -33,7 +32,7 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(xmlValue("shadow", data)~=nil)then self:setShadow(xmlValue("shadow", data)) end
|
||||
if(XMLParser.XmlValue("shadow", data)~=nil)then self:setShadow(XMLParser.XmlValue("shadow", data)) end
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local images = require("images")
|
||||
local utils = require("utils")
|
||||
local xmlValue = utils.xmlValue
|
||||
local XMLParser = require("xmlParser")
|
||||
return {
|
||||
VisualObject = function(base)
|
||||
local textureId, infinitePlay = 1, true
|
||||
@@ -111,9 +111,9 @@ return {
|
||||
|
||||
setValuesByXMLData = function(self, data, scripts)
|
||||
base.setValuesByXMLData(self, data, scripts)
|
||||
if(xmlValue("texture", data)~=nil)then self:addTexture(xmlValue("texture", data), xmlValue("animate", data)) end
|
||||
if(xmlValue("textureMode", data)~=nil)then self:setTextureMode(xmlValue("textureMode", data)) end
|
||||
if(xmlValue("infinitePlay", data)~=nil)then self:setInfinitePlay(xmlValue("infinitePlay", data)) end
|
||||
if(XMLParser.XmlValue("texture", data)~=nil)then self:addTexture(XMLParser.XmlValue("texture", data), XMLParser.XmlValue("animate", data)) end
|
||||
if(XMLParser.XmlValue("textureMode", data)~=nil)then self:setTextureMode(XMLParser.XmlValue("textureMode", data)) end
|
||||
if(XMLParser.XmlValue("infinitePlay", data)~=nil)then self:setInfinitePlay(XMLParser.XmlValue("infinitePlay", data)) end
|
||||
return self
|
||||
end
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user