From 5d9fad7e3a4783955c4fa9e10ee1b22f29774b54 Mon Sep 17 00:00:00 2001 From: SaraP Date: Thu, 23 Oct 2025 10:59:44 +0200 Subject: [PATCH] =?UTF-8?q?DataWindow=20:=20-=20modificata=20funzione=20Wi?= =?UTF-8?q?nGetSashShape=20per=20ricevere=20pi=C3=B9=20aree.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Designing/WinProject.lua | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/Designing/WinProject.lua b/Designing/WinProject.lua index 3948335..5d7b983 100644 --- a/Designing/WinProject.lua +++ b/Designing/WinProject.lua @@ -343,15 +343,28 @@ _G.WinGetGlassesList = WinGetGlassesList ---------------------------------------------------------------------------------- local function WinGetSashShape() - -- recupero l'area richiesta + -- recupero i numeri delle aree richieste + local vAreaNbrs = GetVariableList( 'AREANBR') + -- inizializzo lista di aree richieste + local vAreaIds = {} + for i = 1, #vAreaNbrs do + vAreaIds[i] = GDB_ID.NULL + end + -- recupero le aree richieste local vStack = { EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_AREA .. '*')} - local nAreaId local i = 1 while vStack[i] do - local nAreaNbr = EgtGetInfo( vStack[i], WIN_AREA_NBR, 'i') or -1 - if nAreaNbr == WDG.AREANBR then - nAreaId = vStack[i] - break + -- se anta o french split, verifico se รจ area richiesta + local nType = EgtGetInfo( vStack[i], WIN_AREATYPE, 'i') + local nSplitType = EgtGetInfo( EgtGetFirstNameInGroup( vStack[i], WIN_BASESPLIT) or GDB_ID.NULL, WIN_SPLITTYPE, 'i') or WIN_SPLITTYPES.NULL + if nType == WIN_AREATYPES.SASH or nSplitType == WIN_SPLITTYPES.FRENCH then + local nAreaNbr = EgtGetInfo( vStack[i], WIN_AREA_NBR, 'i') or -1 + for j = 1, #vAreaNbrs do + if nAreaNbr == vAreaNbrs[j] then + vAreaIds[j] = vStack[i] + break + end + end else -- ricerco nelle sue sottoaree local vChildren = EgtGetNameInGroup( vStack[i], WIN_AREA .. '*') @@ -360,11 +373,11 @@ local function WinGetSashShape() i = i + 1 end - -- se non l'ho trovata errore - if not nAreaId then - return + -- ricavo le forme + for i = 1, #vAreaIds do + if vAreaIds[i] ~= GDB_ID.NULL then + WDG['SASHSHAPE' .. tostring( i)] = EgtGetInfo( vAreaIds[i], WIN_SASH_SHAPE) + end end - - WDG.SASHSHAPE = EgtGetInfo( nAreaId, WIN_SASH_SHAPE) end _G.WinGetSashShape = WinGetSashShape \ No newline at end of file