From 6cee6e52ab4085b114599866abbbe297a10f0abf Mon Sep 17 00:00:00 2001 From: Annamaria Sassi Date: Wed, 26 Nov 2025 16:41:39 +0100 Subject: [PATCH] DataWindow: in lettura jwd per gli split letto il tipo di misura per le dimensioni. --- Designing/WinLib/WinManageProject.lua | 20 +++++++++++++++----- Designing/WinOpenProjectFile.lua | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Designing/WinLib/WinManageProject.lua b/Designing/WinLib/WinManageProject.lua index 14a3411..eb02e27 100644 --- a/Designing/WinLib/WinManageProject.lua +++ b/Designing/WinLib/WinManageProject.lua @@ -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]) diff --git a/Designing/WinOpenProjectFile.lua b/Designing/WinOpenProjectFile.lua index d2a296b..e819785 100644 --- a/Designing/WinOpenProjectFile.lua +++ b/Designing/WinOpenProjectFile.lua @@ -60,6 +60,7 @@ end -- imposto se calcolare i solidi o meno WinCalculate.SetCalcSolid( true) +--WinCalculate.SetCalcPreview( true) -- creo i pezzi local nFrameId = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_AREA .. '*')