DataWindow :

- correzioni a WinGetAreaProfiles.
This commit is contained in:
SaraP
2026-01-26 15:27:01 +01:00
parent b27b0e6bf6
commit d0398e9d5d
+25 -2
View File
@@ -493,14 +493,37 @@ _G.WinGetSashShape = WinGetSashShape
----------------------------------------------------------------------------------
local function WinGetAreaProfiles()
-- restituisce una lista dove ogni elemento è una tabella con le seguenti chiavi : GroupId = AREANBR corrispondente, SashId = eventuale sashnbr,
-- Profiles = lista dei profili dei pezzi di quell'area
-- recupero gli id geometrici delle aree richieste
local vAreaNbrs = GetVariableList( 'AREANBR')
local vAreaIds = GetAreaIdsFromNumbers( vAreaNbrs)
-- ricavo le forme
-- ricavo i profili
local tabProfiles = {}
for i = 1, #vAreaIds do
if vAreaIds[i] ~= GDB_ID.NULL then
WDG['AREAPROFILES' .. tostring( i)] = EgtGetInfo( vAreaIds[i], WIN_AREA_PROFILES, 'vs')
local nAreaType = EgtGetInfo( vAreaIds[i], WIN_AREATYPE, 'i')
if nAreaType == WIN_AREATYPES.FRAME then
table.insert( tabProfiles, { GroupId = vAreaNbrs[i], Profiles = EgtGetInfo( vAreaIds[i], WIN_AREA_PROFILES, 'vs')})
elseif nAreaType == WIN_AREATYPES.SASH then
table.insert( tabProfiles, { GroupId = vAreaNbrs[i], SashId = 1, Profiles = EgtGetInfo( vAreaIds[i], WIN_AREA_PROFILES, 'vs')})
elseif nAreaType == WIN_AREATYPES.SPLIT then
local nSplitLayId = EgtGetFirstNameInGroup( vAreaIds[i], WIN_SPLIT)
local nSplitType = EgtGetInfo( nSplitLayId, WIN_SPLITTYPE, 'i')
if nSplitType == WIN_SPLITTYPES.FRENCH then
-- se french split devo recuperare le ante che definisce
local vSashes = EgtGetNameInGroup( vAreaIds[i], WIN_AREA .. '*')
for j = 1, #vSashes do
local nSashId = EgtGetInfo( vSashes[j], WIN_SASH_NBR, 'i')
table.insert( tabProfiles, { GroupId = vAreaNbrs[i], SashId = nSashId, Profiles = EgtGetInfo( vSashes[j], WIN_AREA_PROFILES, 'vs')})
end
end
end
end
end
WDG['AREAPROFILES'] = tabProfiles
end
_G.WinGetAreaProfiles = WinGetAreaProfiles