EgwWindowLua :

- uniformata info che collega le curve di outline a quelle del base outline.
This commit is contained in:
SaraP
2024-05-22 11:45:29 +02:00
parent 009f99f579
commit 05b8da0317
+15 -10
View File
@@ -354,6 +354,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
local nOutlineId = EgtGetFirstInGroup( nOutlineLayerId)
while nAreaOutlineId do
EgtSetInfo( nAreaOutlineId, WIN_COPY, nOutlineId)
EgtSetInfo( nOutlineId, WIN_COPY, nAreaOutlineId)
nAreaOutlineId = EgtGetNext( nAreaOutlineId)
nOutlineId = EgtGetNext( nOutlineId)
end
@@ -367,6 +368,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
local nBaseSplitId = EgtGetFirstInGroup( nBaseSplitLayerId)
local nSplitId = EgtGetFirstInGroup( nSplitLayerId)
EgtSetInfo( nBaseSplitId, WIN_COPY, nSplitId)
EgtSetInfo( nSplitId, WIN_COPY, nBaseSplitId)
end
@@ -391,10 +393,9 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
end
-- sistemo le info
EgtSetInfo( nOutlineId, WIN_SOU, nBaseOutlineId)
EgtSetInfo( nOutlineId, WIN_COPY, nBaseOutlineId)
EgtSetInfo( nBaseOutlineId, WIN_COPY, nOutlineId)
EgtRemoveInfo( nOutlineId, WIN_CHILD)
EgtRemoveInfo( nOutlineId, WIN_COPY)
nBaseOutlineId = EgtGetNext( nBaseOutlineId)
end
@@ -410,6 +411,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
local nBaseSplitId = EgtGetFirstInGroup( nBaseSplitLayerId)
local nSplitId = EgtGetFirstInGroup( nSplitLayerId)
EgtSetInfo( nBaseSplitId, WIN_COPY, nSplitId)
EgtSetInfo( nSplitId, WIN_COPY, nBaseSplitId)
EgtRemoveInfo( nSplitId, WIN_SOU)
-- lo taglio con outline
TrimSplitWithOutline( nSplitId)
@@ -465,8 +467,8 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
-- sistemo le info
EgtSetInfo( nBaseOutlineId, WIN_COPY, nOutlineId)
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, sSashProfile)
EgtSetInfo( nOutlineId, WIN_COPY, nBaseOutlineId)
EgtSetInfo( nOutlineId, WIN_PROFILETYPE, sSashProfile)
-- verifico se outline e' segmento battente o ricevente che quindi deriva da split
local bOnFrenchSplit = false
@@ -523,6 +525,7 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
EgtSetStatus( nSplitLayerId, GDB_ST.OFF)
local nSplitId = EgtGetFirstInGroup( nSplitLayerId)
EgtSetInfo( nBaseSplitId, WIN_COPY, nSplitId)
EgtSetInfo( nSplitId, WIN_COPY, nBaseSplitId)
EgtRemoveInfo( nSplitId, WIN_SOU)
-- la taglio con outline
TrimSplitWithOutline( nSplitId)
@@ -551,7 +554,8 @@ local function CalculateOutlineFromAreaOutline( nAreaId)
local nCopyId = EgtGetInfo( nSouId, WIN_COPY)
local nOutlineId = EgtCopy( nCopyId, nOutlineLayerId)
-- sistemo le info
EgtSetInfo( nBaseOutlineId, WIN_CHILD, nOutlineId)
EgtSetInfo( nBaseOutlineId, WIN_COPY, nOutlineId)
EgtSetInfo( nOutlineId, WIN_COPY, nBaseOutlineId)
-- recupero a ritroso il profilo dell'elemento su cui poggia ( anta, split o frame)
local nParentBaseOutlineId = nSouId
@@ -715,11 +719,12 @@ local function GetProfileCtrIn( nProfileType, nPrevOutlineId, nOutlineId, nPrevP
-- gestione particolare nel caso di split su split
if nProfileType == WIN_PRF.SPLIT then
-- verifico se il prev e' uno split
local nPrevSouId = nPrevOutlineId
-- recupero il base outline corrispondente e verifico se un suo sou è split
local nPrevSouId = EgtGetInfo( nPrevOutlineId, WIN_COPY, 'i')
local nPrevSouParentId
local sPrevSouParentId
repeat
nPrevSouId = EgtGetInfo( nPrevSouId, WIN_SOU)
nPrevSouId = EgtGetInfo( nPrevSouId, WIN_SOU, 'i')
if nPrevSouId then
nPrevSouParentId = EgtGetParent( nPrevSouId)
sPrevSouParentId = EgtGetName( nPrevSouParentId)
@@ -934,10 +939,10 @@ local function CalcStartEndProfileType( nProfileType, nOutlineId, nStartProfileI
end
if nProfileType == WIN_PRF.SPLIT then
local nStartId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i')
local nEndId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i')
local sStartName = EgtGetName( nStartId)
local sEndName = EgtGetName( nEndId)
local nStartBaseOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_STARTINTERS, 'i')
local nStartId = EgtGetInfo( nStartBaseOutlineId, WIN_COPY, 'i')
local nEndBaseOutlineId = EgtGetInfo( nOutlineId, WIN_SPLIT_ENDINTERS, 'i')
local nEndId = EgtGetInfo( nEndBaseOutlineId, WIN_COPY, 'i')
sStartProfileType = GetProfileCtrIn( nProfileType, nStartId, nOutlineId, nStartProfileId)
sEndProfileType = GetProfileCtrIn( nProfileType, nEndId, nOutlineId, nEndProfileId)
sStartProfileType = WIN_OFST .. sStartProfileType