DataWindow :

- nella creazione degli split aggiunto measure type per ogni valore.
This commit is contained in:
SaraP
2025-12-02 14:47:42 +01:00
parent 36691a7e06
commit a77901fcc3
4 changed files with 209 additions and 171 deletions
+8 -19
View File
@@ -103,7 +103,7 @@ end
local function GetMeasureType( sMeasureType)
if sMeasureType == 'ABSOLUT' then
return WIN_MEASURE.ABSOLUT
return WIN_MEASURE.ABSOLUTE
elseif sMeasureType == 'PROPORTIONAL' then
return WIN_MEASURE.PROPORTIONAL
elseif sMeasureType == 'PERCENTAGE' then
@@ -214,7 +214,6 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
-- recupero dati
local tSashes = AreaTable[JWD_SASH_LIST]
--local vJoints = GetJoints( AreaTable[JWD_JOINTS])
local nBottomRailNbr = 0
if AreaTable[JWD_BOTTOMRAIL] then
nBottomRailNbr = AreaTable[JWD_BOTTOMRAIL_QTY]
@@ -267,18 +266,14 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
for i = 1, #tSashes do
vMeasureType[i] = GetMeasureType( tSashes[i][JWD_MEASURE_TYPE])
vDimensions[i] = tSashes[i][JWD_DIMENSION]
if vMeasureType[i] == WIN_MEASURE.PERCENTAGE then
vDimensions[i] = vDimensions[i] / 100
end
vOpeningTypes[i] = GetOpeningType( tSashes[i][JWD_OPENING_TYPE])
vSashNbrs[i] = tSashes[i][JWD_ID_SASH]
vJoints[i] = GetJoints( tSashes[i][JWD_JOINTS])
end
table.remove( vDimensions)
local vSashTypes, sHandleSide = GetSashTypes( tSashes, vOpeningTypes)
-- aggiungo il gruppo di ante
local vAreas = WinCreate.AddSashGroup( nParentId, vMeasureType[1], vDimensions, vJoints, vSashTypes, vOpeningTypes, nAreaNbr, vSashNbrs)
local vAreas = WinCreate.AddSashGroup( nParentId, vMeasureType, vDimensions, vJoints, vSashTypes, vOpeningTypes, nAreaNbr, vSashNbrs)
-- aggiungo le ante
for i = 1, #vAreas do
-- bottomrail
@@ -305,30 +300,24 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
local vVertDimensions = {}
local vVertMeasureType = {}
local vSplitVertDimensions = AreaTable[JWD_SPLIT_VERT_POS]
for i = 1, #vSplitVertDimensions - 1 do
for i = 1, #vSplitVertDimensions do
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
for i = 1, #vSplitHorizDimensions do
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, vVertMeasureType[1], vVertDimensions, vHorizDimensions, AreaTable[JWD_SPLIT_START_VERT], nAreaNbr)
vSplitAreas = WinCreate.AddGridSplits( nParentId, vVertMeasureType, vVertDimensions, vHorizMeasureType, vHorizDimensions, AreaTable[JWD_SPLIT_START_VERT], nAreaNbr)
elseif AreaTable[JWD_SPLIT_TYPE] == 'VERTICAL' then
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.VERTICAL, vVertMeasureType[1], vVertDimensions, false, nAreaNbr)
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.VERTICAL, vVertMeasureType, vVertDimensions, false, nAreaNbr)
else
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.HORIZONTAL, vHorizMeasureType[1], vHorizDimensions, false, nAreaNbr)
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.HORIZONTAL, vHorizMeasureType, vHorizDimensions, false, nAreaNbr)
end
for i = 1, #vSplitAreas do
ConvertTableToGeometry( AreaTable[JWD_AREA_LIST][i], vSplitAreas[i])