DataWindow: in lettura jwd per gli split letto il tipo di misura per le dimensioni.

This commit is contained in:
Annamaria Sassi
2025-11-26 16:41:39 +01:00
parent 65d7bcec33
commit 6cee6e52ab
2 changed files with 16 additions and 5 deletions
+15 -5
View File
@@ -303,22 +303,32 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
-- SPLIT
elseif AreaTable[JWD_AREA_TYPE] == 'SPLIT' then
local vVertDimensions = {}
local vVertMeasureType = {}
local vSplitVertDimensions = AreaTable[JWD_SPLIT_VERT_POS]
for i = 1, #vSplitVertDimensions - 1 do
vVertDimensions[i] = vSplitVertDimensions[i][JWD_DIMENSION] / 100
vVertMeasureType[i] = GetMeasureType( vSplitVertDimensions[i][JWD_MEASURE_TYPE])
vVertDimensions[i] = vSplitVertDimensions[i][JWD_DIMENSION]
if vVertMeasureType[i] == WIN_MEASURE.PERCENTAGE then
vVertDimensions[i] = vVertDimensions[i] / 100
end
end
local vHorizDimensions = {}
local vHorizMeasureType = {}
local vSplitHorizDimensions = AreaTable[JWD_SPLIT_HORIZ_POS]
for i = 1, #vSplitHorizDimensions - 1 do
vHorizDimensions[i] = vSplitHorizDimensions[i][JWD_DIMENSION] / 100
vHorizMeasureType[i] = GetMeasureType( vSplitHorizDimensions[i][JWD_MEASURE_TYPE])
vHorizDimensions[i] = vSplitHorizDimensions[i][JWD_DIMENSION]
if vHorizMeasureType[i] == WIN_MEASURE.PERCENTAGE then
vHorizDimensions[i] = vHorizDimensions[i] / 100
end
end
local vSplitAreas
if AreaTable[JWD_SPLIT_TYPE] == 'GRID' then
vSplitAreas = WinCreate.AddGridSplits( nParentId, WIN_MEASURE.PERCENTAGE, vVertDimensions, vHorizDimensions, AreaTable[JWD_SPLIT_START_VERT], nAreaNbr)
vSplitAreas = WinCreate.AddGridSplits( nParentId, vVertMeasureType[1], vVertDimensions, vHorizDimensions, AreaTable[JWD_SPLIT_START_VERT], nAreaNbr)
elseif AreaTable[JWD_SPLIT_TYPE] == 'VERTICAL' then
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, vVertDimensions, false, nAreaNbr)
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.VERTICAL, vVertMeasureType[1], vVertDimensions, false, nAreaNbr)
else
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.PERCENTAGE, vHorizDimensions, false, nAreaNbr)
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.HORIZONTAL, vHorizMeasureType[1], vHorizDimensions, false, nAreaNbr)
end
for i = 1, #vSplitAreas do
ConvertTableToGeometry( AreaTable[JWD_AREA_LIST][i], vSplitAreas[i])