DataWindow :
- modificata funzione WinGetSashShape per ricevere più aree.
This commit is contained in:
+24
-11
@@ -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
|
||||
Reference in New Issue
Block a user