Parse positioned tooltips correctly
This commit is contained in:
parent
e9302239fb
commit
df9e9e93a5
File diff suppressed because one or more lines are too long
|
@ -495,6 +495,12 @@ tooltip:
|
||||||
- [tooltip_text, string]
|
- [tooltip_text, string]
|
||||||
- [bgcolor, string]
|
- [bgcolor, string]
|
||||||
- [fontcolor, string]
|
- [fontcolor, string]
|
||||||
|
- - - [x, number]
|
||||||
|
- [y, number]
|
||||||
|
- - [w, number]
|
||||||
|
- [h, number]
|
||||||
|
- [tooltip_text, string]
|
||||||
|
- [bgcolor, string]
|
||||||
- - [gui_element_name, string]
|
- - [gui_element_name, string]
|
||||||
- [tooltip_text, string]
|
- [tooltip_text, string]
|
||||||
- [bgcolor, string]
|
- [bgcolor, string]
|
||||||
|
@ -504,15 +510,9 @@ tooltip:
|
||||||
- - [w, number]
|
- - [w, number]
|
||||||
- [h, number]
|
- [h, number]
|
||||||
- [tooltip_text, string]
|
- [tooltip_text, string]
|
||||||
- [bgcolor, string]
|
|
||||||
- - [gui_element_name, string]
|
- - [gui_element_name, string]
|
||||||
- [tooltip_text, string]
|
- [tooltip_text, string]
|
||||||
- [bgcolor, string]
|
- [bgcolor, string]
|
||||||
- - - [x, number]
|
|
||||||
- [y, number]
|
|
||||||
- - [w, number]
|
|
||||||
- [h, number]
|
|
||||||
- [tooltip_text, string]
|
|
||||||
- - [gui_element_name, string]
|
- - [gui_element_name, string]
|
||||||
- [tooltip_text, string]
|
- [tooltip_text, string]
|
||||||
vertlabel:
|
vertlabel:
|
||||||
|
|
|
@ -140,6 +140,17 @@ def _textlist_hook(params):
|
||||||
yield params[:5]
|
yield params[:5]
|
||||||
return ()
|
return ()
|
||||||
|
|
||||||
|
# Swap order of tooltip definitions around to fix position parsing
|
||||||
|
@hook('tooltip', passive=True)
|
||||||
|
def _tooltip_hook(params):
|
||||||
|
if params[0][0] == 'gui_element_name':
|
||||||
|
params[0] = [('x', 'number'), ('y', 'number')]
|
||||||
|
params.insert(1, [('w', 'number'), ('h', 'number')])
|
||||||
|
else:
|
||||||
|
params[0] = ('gui_element_name', 'string')
|
||||||
|
del params[1]
|
||||||
|
return ()
|
||||||
|
|
||||||
# Work around inconsistent documentation for model[]
|
# Work around inconsistent documentation for model[]
|
||||||
@hook('model')
|
@hook('model')
|
||||||
def _model_hook(params):
|
def _model_hook(params):
|
||||||
|
|
16
tests.lua
16
tests.lua
|
@ -84,6 +84,8 @@ local fs = [[
|
||||||
bgcolor[blue]
|
bgcolor[blue]
|
||||||
bgcolor[blue;true]
|
bgcolor[blue;true]
|
||||||
bgcolor[blue;both;green]
|
bgcolor[blue;both;green]
|
||||||
|
tooltip[1,2;3,4;text]
|
||||||
|
tooltip[elem;text;bgcolor]
|
||||||
]]
|
]]
|
||||||
fs = ('\n' .. fs):gsub('\n[ \n]*', '')
|
fs = ('\n' .. fs):gsub('\n[ \n]*', '')
|
||||||
|
|
||||||
|
@ -186,6 +188,20 @@ test_parse_unparse(fs, {
|
||||||
fullscreen = "both",
|
fullscreen = "both",
|
||||||
fbgcolor = "green",
|
fbgcolor = "green",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type = "tooltip",
|
||||||
|
x = 1,
|
||||||
|
y = 2,
|
||||||
|
w = 3,
|
||||||
|
h = 4,
|
||||||
|
tooltip_text = "text",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type = "tooltip",
|
||||||
|
gui_element_name = "elem",
|
||||||
|
tooltip_text = "text",
|
||||||
|
bgcolor = "bgcolor",
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
local function permutations(elem_s, elem, ...)
|
local function permutations(elem_s, elem, ...)
|
||||||
|
|
Loading…
Reference in New Issue