74 lines
1.8 KiB
Plaintext
74 lines
1.8 KiB
Plaintext
sub init()
|
|
options = m.top.findNode("optionList")
|
|
options.focusBitmapBlendColor="0x0cb0e8"
|
|
options.color="0xffffff"
|
|
options.focusedColor="0xffffff"
|
|
options.setFocus(true)
|
|
end sub
|
|
|
|
function onKeyEvent(key as string, press as boolean) as boolean
|
|
if key = "back"
|
|
m.top.backPressed = true
|
|
return true
|
|
end if
|
|
return false
|
|
end function
|
|
|
|
sub updateOptions()
|
|
for each item in m.top.options
|
|
row = CreateObject("roSGNode", "ContentNode")
|
|
row.title = item
|
|
m.top.findNode("content").appendChild(row)
|
|
end for
|
|
redraw()
|
|
end sub
|
|
|
|
sub updateMessage()
|
|
message = m.top.findNode("messageText")
|
|
message.text = m.top.message
|
|
redraw()
|
|
end sub
|
|
|
|
sub redraw()
|
|
boxWidth = 900
|
|
border = 40
|
|
itemSpacing = 40
|
|
optionHeight = 60
|
|
maxRows = 9
|
|
|
|
bg = m.top.findNode("dialogBackground")
|
|
text = m.top.findNode("messageText")
|
|
options = m.top.findNode("optionList")
|
|
fontHeight = m.top.fontHeight
|
|
fontWidth = m.top.fontWidth
|
|
|
|
if text.text.len() > 0 then
|
|
textWidth = boxWidth - ( border * 2 )
|
|
text.width = textWidth
|
|
text.numLines = int(fontWidth / textWidth) + 1
|
|
text.translation = [ border , border ]
|
|
textHeight = (fontHeight * text.numLines)
|
|
else
|
|
textHeight = 0
|
|
itemSpacing = border
|
|
end if
|
|
|
|
options.translation = [ border * 2, textHeight + itemSpacing]
|
|
options.itemSize = [ boxWidth - ( border * 4 ), optionHeight ]
|
|
options.itemSpacing = "[0,20]"
|
|
|
|
options.numRows = m.top.options.count()
|
|
if options.numRows > maxRows then
|
|
options.numRows = maxRows
|
|
options.wrapDividerHeight = 0
|
|
options.vertFocusAnimationStyle= "fixedFocusWrap"
|
|
end if
|
|
|
|
boxHeight = options.translation[1] + (options.itemSize[1] * options.numRows ) + (options.itemSpacing[1] * (options.NumRows - 1)) + border
|
|
|
|
bg.width = boxWidth
|
|
bg.height = boxHeight
|
|
|
|
m.top.translation = [(1920 - boxWidth)/2 , (1080 - boxHeight)/2]
|
|
end sub
|