Есть код, что-то типа такого:
Code:
function Init()
infoLineChild = mainForm:GetChildChecked( "InfoLine", false )
for i = 1, maxLines do
infoList [ i ] = mainForm:CreateWidgetByDesc( infoLineChild:GetWidgetDesc() )
end
end
...
function printList()
for i = 1, maxLines do
local widget = infoList [ i ]
local id = idList [ i ]
if id ~= nil then
widget:Show( true )
widget:SetVal( "value", object.GetName( id ))
-- [[
local fromPlacement = widget:GetPlacementPlain()
local toPlacement = widget:GetPlacementPlain()
fromPlacement.posX = textPosX
fromPlacement.posY = textPosY
toPlacement.posX = textPosX
toPlacement.posY = textPosY + (i - 1) * 40
widget:SetPlacementPlain( toPlacement )
] ]
else
widget:Show ( false )
end
end
end
Если запускать так, как написано, то при выводе нескольких строк текста они, разумеется. накладываются друг на друга. Если раскомментировать SetPlacementPlain, то не показывается вообще ничего, ни одной строки. При этом всяческие placement.posX, posY, GetRealRect, IsVisible и т.д. говорят, что всё хорошо.
Подскажите, пожалуйста, как же их правильно двигать?