DataWindow :
- AddHardwareByGroupId ora riceve più valori di area number.
This commit is contained in:
+37
-48
@@ -63,6 +63,33 @@ local function FillVariableList( sName, List)
|
||||
end
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
local function GetAreaIdsFromNumbers( vAreaNbrs)
|
||||
-- inizializzo la lista
|
||||
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 i = 1
|
||||
while vStack[i] do
|
||||
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
|
||||
-- ricerco nelle sue sottoaree
|
||||
local vChildren = EgtGetNameInGroup( vStack[i], WIN_AREA .. '*')
|
||||
vStack = EgtJoinTables( vStack, vChildren)
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
return vAreaIds
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
local function SetProfilePath()
|
||||
_G.sProfilePath = WDG.PROFILEPATH
|
||||
@@ -247,26 +274,15 @@ _G.WinCalculate_AddHardware = WinCalculate_AddHardware
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
local function WinCalculate_AddHardwareByGroupId()
|
||||
-- ricavo l'id geometrico dell'area a partire dal numero
|
||||
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
|
||||
else
|
||||
-- ricerco nelle sue sottoaree
|
||||
local vChildren = EgtGetNameInGroup( vStack[i], WIN_AREA .. '*')
|
||||
vStack = EgtJoinTables( vStack, vChildren)
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
-- recupero gli id geometrici delle aree richieste
|
||||
local vAreaNbrs = GetVariableList( 'AREANBR')
|
||||
local vAreaIds = GetAreaIdsFromNumbers( vAreaNbrs)
|
||||
|
||||
-- se trovata calcolo la ferramenta
|
||||
if nAreaId then
|
||||
WDG.HARDWAREKIT_LIST, WDG.HARDWAREPOSITION_LIST, WDG.HARDWAREOPTION_LIST = WinCalculate.AddHardware( nAreaId, WDG.CALC_MACHINING, WDG.CALC_HARDWARELIST, WDG.CALC_POSITIONLIST, WDG.CALC_OPTIONLIST)
|
||||
for i = 1, #vAreaIds do
|
||||
if vAreaIds[i] ~= GDB_ID.NULL then
|
||||
WDG['HARDWAREKIT_LIST' .. tostring(i)], WDG['HARDWAREPOSITION_LIST' .. tostring(i)], WDG['HARDWAREOPTION_LIST' .. tostring(i)] =
|
||||
WinCalculate.AddHardware( vAreaIds[i], WDG.CALC_MACHINING, WDG.CALC_HARDWARELIST, WDG.CALC_POSITIONLIST, WDG.CALC_OPTIONLIST)
|
||||
end
|
||||
end
|
||||
end
|
||||
_G.WinCalculate_AddHardwareByGroupId = WinCalculate_AddHardwareByGroupId
|
||||
@@ -369,36 +385,9 @@ _G.WinGetGlassesList = WinGetGlassesList
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
local function WinGetSashShape()
|
||||
-- recupero i numeri delle aree richieste
|
||||
-- recupero gli id geometrici 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 i = 1
|
||||
while vStack[i] do
|
||||
-- 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 .. '*')
|
||||
vStack = EgtJoinTables( vStack, vChildren)
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
local vAreaIds = GetAreaIdsFromNumbers( vAreaNbrs)
|
||||
-- ricavo le forme
|
||||
for i = 1, #vAreaIds do
|
||||
if vAreaIds[i] ~= GDB_ID.NULL then
|
||||
|
||||
Reference in New Issue
Block a user