diff --git a/Designing/WinJWDConst.lua b/Designing/WinJWDConst.lua index ee9f8fe..e484e90 100644 --- a/Designing/WinJWDConst.lua +++ b/Designing/WinJWDConst.lua @@ -24,19 +24,21 @@ JWD_JOINTS = 'JointList' JWD_JOINT_TYPE = 'JointType' JWD_BOTTOMRAIL = 'BottomRail' JWD_BOTTOMRAIL_QTY = 'BottomRailQty' -JWD_INDEX = 'nIndex' -JWD_DIMENSION = 'dDimension' -JWD_VALUE = 'dValue' +JWD_INDEX = 'Index' +JWD_DIMENSION = 'Dimension' +JWD_NAME = 'Name' +JWD_VALUE = 'Value' JWD_ID_GROUP = 'GroupId' -JWD_ID_SASH = 'nSashId' +JWD_ID_SASH = 'SashId' JWD_FRAME_SHAPE = 'Shape' JWD_DIMENSION_LIST = 'DimensionList' JWD_SASH_LIST = 'SashList' -JWD_HAS_HANDLE = 'bHasHandle' +JWD_HAS_HANDLE = 'HasHandle' JWD_OPENING_TYPE = 'OpeningType' JWD_HARDWARE = 'Hardware' +JWD_HARDWARE_OPTIONS = 'HwOptionList' JWD_SPLIT_TYPE = 'SplitShape' JWD_SPLIT_START_VERT = 'SplitStartVert' diff --git a/Designing/WinLib/WinManageProject.lua b/Designing/WinLib/WinManageProject.lua index 0c078d3..a8975c6 100644 --- a/Designing/WinLib/WinManageProject.lua +++ b/Designing/WinLib/WinManageProject.lua @@ -31,12 +31,13 @@ local JSON = require( 'JSON') local function GetJoints( tJoints) local vJoints = {} for i = 1, #tJoints do + local nIndex = tJoints[i][JWD_INDEX] if tJoints[i][JWD_JOINT_TYPE] == 'FULL_H' then - vJoints[i] = WIN_JNT.FULL_H + vJoints[nIndex] = WIN_JNT.FULL_H elseif tJoints[i][JWD_JOINT_TYPE] == 'FULL_V' then - vJoints[i] = WIN_JNT.FULL_V + vJoints[nIndex] = WIN_JNT.FULL_V elseif tJoints[i][JWD_JOINT_TYPE] == 'ANGLED' then - vJoints[i] = WIN_JNT.ANGLED + vJoints[nIndex] = WIN_JNT.ANGLED end end return vJoints @@ -173,7 +174,8 @@ local function ConvertTableToGeometry( AreaTable, nParentId) local vDim = {} local tDimensions = AreaTable[JWD_DIMENSION_LIST] for i = 1, #tDimensions do - vDim[i] = tDimensions[i][JWD_VALUE] + local nIndex = tDimensions[i][JWD_INDEX] + vDim[nIndex] = tDimensions[i][JWD_VALUE] end -- creo il telaio @@ -202,6 +204,15 @@ local function ConvertTableToGeometry( AreaTable, nParentId) nBottomRailNbr = AreaTable[JWD_BOTTOMRAIL_QTY] end + -- lettura opzioni ferramenta + local HdwOptions = AreaTable[JWD_HARDWARE_OPTIONS] or {} + local vsOptions = {} + for i = 1, #HdwOptions do + local sName = HdwOptions[i][JWD_NAME] + local sValue = HdwOptions[i][JWD_VALUE] + table.insert( vsOptions, sName .. '=' .. sValue) + end + -- anta singola if #tSashes == 1 then local nOpeningType = GetOpeningType( tSashes[1][JWD_OPENING_TYPE]) @@ -222,6 +233,7 @@ local function ConvertTableToGeometry( AreaTable, nParentId) sHandleSide = 'Dx' end WinCreate.AddHardware( nAreaId, AreaTable[JWD_HARDWARE], sHandleSide) + EgtSetInfo( nAreaId, WIN_HDW_OPTIONS, vsOptions) -- bottomrail WinCreate.AddBottomRail( nAreaId, nBottomRailNbr) -- analizzo sottaree @@ -254,8 +266,9 @@ local function ConvertTableToGeometry( AreaTable, nParentId) -- aggiungo la ferramenta sull'area split local nSplitAreaId = EgtGetParent( vAreas[1]) WinCreate.AddHardware( nSplitAreaId, AreaTable[JWD_HARDWARE], sHandleSide) + EgtSetInfo( nSplitAreaId, WIN_HDW_OPTIONS, vsOptions) end - + -- FILL elseif AreaTable[JWD_AREA_TYPE] == 'FILL' then