diff --git a/Designing/WinLib/WinCalculate.lua b/Designing/WinLib/WinCalculate.lua index f6b211a..bbbf53f 100644 --- a/Designing/WinLib/WinCalculate.lua +++ b/Designing/WinLib/WinCalculate.lua @@ -852,6 +852,12 @@ local function CalcProfileType( nAreaId) local nOutlineId = EgtGetFirstInGroup( nOutlineLayerId) while nOutlineId do local sName = EgtGetName( nOutlineId) + + -- verifico se soglia + if sName == WIN_BOTTOM then + EgtSetInfo( nOutlineId, WIN_THRESHOLD, bThreshold) + end + -- recupero il tipo dei figli local nChildrenType = GetChildrenType( nOutlineId) @@ -860,7 +866,6 @@ local function CalcProfileType( nAreaId) local nBottomRail = EgtGetInfo( nAreaId, WIN_BOTTOMRAIL, 'i') or 0 if nBottomRail > 0 then -- se bottomrail gestisco come fixed - bThreshold = false if sName == WIN_BOTTOM then EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_RAIL .. '_' .. sThreshold) else @@ -919,10 +924,9 @@ local function CalcProfileType( nAreaId) EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_SASH_TOP) end end - + -- c) se riempimento elseif nChildrenType == WIN_CHILDREN_TYPES.FILL then - bThreshold = false if sName == WIN_BOTTOM then -- verifico presenza bottomrail local nBottomRail = EgtGetInfo( nAreaId, WIN_BOTTOMRAIL, 'i') or 0 @@ -938,7 +942,6 @@ local function CalcProfileType( nAreaId) -- d) se cambio profilo elseif nChildrenType == WIN_CHILDREN_TYPES.MIXED then EgtRemoveInfo( nAreaId, WIN_BOTTOMRAIL) - bThreshold = false EgtSetInfo( nOutlineId, WIN_PRF_CHANGE, true) if sName == WIN_BOTTOM then EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_MIXED_BOTTOM) @@ -946,12 +949,9 @@ local function CalcProfileType( nAreaId) EgtSetInfo( nOutlineId, WIN_PROFILETYPE, WIN_MIXED_TOP) end end + nOutlineId = EgtGetNext( nOutlineId) end - -- assegno info soglia - if bThreshold then - EgtSetInfo( nAreaId, WIN_THRESHOLD, true) - end -- SPLIT @@ -1629,10 +1629,9 @@ local function CalculateOutlineFromAreaOutline( nAreaId) local nOutlineId = EgtCopyGlob( nAreaOutlineId, nOutlineLayerId) EgtSetInfo( nAreaOutlineId, WIN_COPY, nOutlineId) EgtSetInfo( nOutlineId, WIN_COPY, nAreaOutlineId) - -- se bottom riporto informazione dei bottomrail e soglia + -- se bottom riporto informazione dei bottomrail if EgtGetName( nOutlineId) == WIN_BOTTOM then CopyInfo( nOutlineId, nAreaId, WIN_BOTTOMRAIL) - CopyInfo( nOutlineId, nAreaId, WIN_THRESHOLD) end nAreaOutlineId = EgtGetNext( nAreaOutlineId) end @@ -6786,7 +6785,7 @@ function WinCalculate.AddAccessories( nAreaId, bDraw) -- accessori del pezzo inferiore: soglia e gocciolatoio local nBottomId = EgtGetFirstNameInGroup( nOutlineLayId, WIN_BOTTOM) - local bThreshold = EgtGetInfo( nAreaId, WIN_THRESHOLD, 'b') or false + local bThreshold = EgtGetInfo( nBottomId, WIN_THRESHOLD, 'b') or false if bThreshold then -- soglia CalcThreshold( nBottomId, nAreaId) @@ -7180,7 +7179,9 @@ local function CalcPreview( nFrameId) end -- preview soglia - local bThreshold = EgtGetInfo( nFrameId, WIN_THRESHOLD, 'b') or false + local nOutlineGrpId = EgtGetFirstNameInGroup( nFrameId, WIN_OUTLINE) + local nBottomId = EgtGetFirstNameInGroup( nOutlineGrpId, WIN_BOTTOM) + local bThreshold = EgtGetInfo( nBottomId, WIN_THRESHOLD, 'b') or false if bThreshold then CalcThresholdPreview( nFrameId, nPreviewGrp) end