DataWindow :
- modifiche per uniformare struttura jwd con struttura del progetto - gestione numerazione delle aree - correzioni varie.
This commit is contained in:
@@ -160,7 +160,10 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
|
||||
if not AreaTable then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
-- recupero numerazione
|
||||
local nAreaNbr = AreaTable[JWD_ID_GROUP]
|
||||
|
||||
-- TELAIO
|
||||
if AreaTable[JWD_AREA_TYPE] == 'FRAME' then
|
||||
|
||||
@@ -174,7 +177,7 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
|
||||
end
|
||||
|
||||
-- creo il telaio
|
||||
local nAreaId = WinCreate.CreateFrame( nType, vJoints, vDim[1], vDim[2], vDim[3])
|
||||
local nAreaId = WinCreate.CreateFrame( nType, vJoints, vDim[1], vDim[2], vDim[3], nAreaNbr)
|
||||
|
||||
-- verifico presenza bottomrail
|
||||
if AreaTable[JWD_BOTTOMRAIL] then
|
||||
@@ -202,7 +205,7 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
|
||||
-- anta singola
|
||||
if #tSashes == 1 then
|
||||
local nOpeningType = GetOpeningType( tSashes[1][JWD_OPENING_TYPE])
|
||||
local nAreaId = WinCreate.AddSash( nParentId, vJoints, WIN_SASHTYPES.NULL, nOpeningType)
|
||||
local nAreaId = WinCreate.AddSash( nParentId, vJoints, nOpeningType, nAreaNbr)
|
||||
-- aggiungo ferramenta sull'anta
|
||||
if nOpeningType == WIN_OPENING_TYPES.TURNONLY_LEFT or
|
||||
nOpeningType == WIN_OPENING_TYPES.TILTTURN_LEFT or
|
||||
@@ -231,24 +234,24 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
|
||||
-- recupero dati delle ante
|
||||
local vDimensions = {}
|
||||
local vOpeningTypes = {}
|
||||
local vSashNbrs = {}
|
||||
for i = 1, #tSashes do
|
||||
vDimensions[i] = tSashes[i][JWD_DIMENSION] / 100
|
||||
vOpeningTypes[i] = GetOpeningType( tSashes[i][JWD_OPENING_TYPE])
|
||||
vSashNbrs[i] = tSashes[i][JWD_ID_SASH]
|
||||
end
|
||||
table.remove( vDimensions)
|
||||
local vSashTypes, sHandleSide = GetSashTypes( tSashes, vOpeningTypes)
|
||||
EgtSetInfo( nParentId, WIN_HDW_HANDLE, sHandleSide)
|
||||
|
||||
-- aggiungo gli split
|
||||
local vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, vDimensions, 1, WIN_SPLITTYPES.FRENCH)
|
||||
|
||||
-- aggiungo il gruppo di ante
|
||||
local vAreas = WinCreate.AddSashGroup( nParentId, WIN_MEASURE.PERCENTAGE, vDimensions, vJoints, vSashTypes, vOpeningTypes, nAreaNbr, vSashNbrs)
|
||||
-- aggiungo le ante
|
||||
for i = 1, #vSplitAreas do
|
||||
local nAreaId = WinCreate.AddSash( vSplitAreas[i], vJoints, vSashTypes[i], vOpeningTypes[i])
|
||||
for i = 1, #vAreas do
|
||||
-- bottomrail
|
||||
WinCreate.AddBottomRail( nAreaId, nBottomRailNbr)
|
||||
WinCreate.AddBottomRail( vAreas[i], nBottomRailNbr)
|
||||
-- analizzo sottaree
|
||||
ConvertTableToGeometry( AreaTable[JWD_AREA_LIST][i], nAreaId)
|
||||
ConvertTableToGeometry( AreaTable[JWD_AREA_LIST][i], vAreas[i])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -256,11 +259,11 @@ local function ConvertTableToGeometry( AreaTable, nParentId)
|
||||
-- FILL
|
||||
elseif AreaTable[JWD_AREA_TYPE] == 'FILL' then
|
||||
local nFillType = EgtIf( AreaTable[JWD_FILL_TYPE] == 'GLASS', WIN_FILLTYPES.GLASS, WIN_FILLTYPES.WOOD)
|
||||
WinCreate.AddFill( nParentId, nFillType)
|
||||
WinCreate.AddFill( nParentId, nFillType, nAreaNbr)
|
||||
|
||||
|
||||
-- SPLIT
|
||||
elseif AreaTable[JWD_AREA_TYPE] == 'SPLIT' then
|
||||
elseif AreaTable[JWD_AREA_TYPE] == 'SPLIT' then
|
||||
local vVertDimensions = {}
|
||||
local vSplitVertDimensions = AreaTable[JWD_SPLIT_VERT_POS]
|
||||
for i = 1, #vSplitVertDimensions - 1 do
|
||||
@@ -273,11 +276,11 @@ elseif AreaTable[JWD_AREA_TYPE] == 'SPLIT' then
|
||||
end
|
||||
local vSplitAreas
|
||||
if AreaTable[JWD_SPLIT_TYPE] == 'GRID' then
|
||||
vSplitAreas = WinCreate.AddGridSplits( nParentId, WIN_MEASURE.PERCENTAGE, vVertDimensions, vHorizDimensions, AreaTable[JWD_SPLIT_START_VERT])
|
||||
vSplitAreas = WinCreate.AddGridSplits( nParentId, WIN_MEASURE.PERCENTAGE, 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)
|
||||
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.VERTICAL, WIN_MEASURE.PERCENTAGE, vVertDimensions, false, nAreaNbr)
|
||||
else
|
||||
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.PERCENTAGE, vHorizDimensions)
|
||||
vSplitAreas = WinCreate.AddSplits( nParentId, WIN_SPLITORIENTATION.HORIZONTAL, WIN_MEASURE.PERCENTAGE, vHorizDimensions, false, nAreaNbr)
|
||||
end
|
||||
for i = 1, #vSplitAreas do
|
||||
ConvertTableToGeometry( AreaTable[JWD_AREA_LIST][i], vSplitAreas[i])
|
||||
@@ -286,6 +289,7 @@ elseif AreaTable[JWD_AREA_TYPE] == 'SPLIT' then
|
||||
|
||||
-- NULL
|
||||
elseif AreaTable[JWD_AREA_TYPE] == 'SPLITTED' then
|
||||
EgtSetInfo( nParentId, WIN_AREA_NBR, nAreaNbr)
|
||||
if AreaTable[JWD_AREA_LIST] then
|
||||
ConvertTableToGeometry( AreaTable[JWD_AREA_LIST][1], nParentId)
|
||||
end
|
||||
@@ -317,6 +321,7 @@ function WinManageProject.ReadFromFile( sFilePath, sProfileDir)
|
||||
return true
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- funzione che apre un file jwd
|
||||
function WinManageProject.ReadFromJwd( sJwd)
|
||||
local tData = JSON:decode( sJwd)
|
||||
|
||||
Reference in New Issue
Block a user