EgtBEAMWALL 2.5d2 :

- aggiunto bottone per aggiungere piu' Proj alle stesso Prod
- reso AddProj attivabile da ini
This commit is contained in:
Emmanuele Sassi
2023-04-20 10:58:34 +02:00
parent 500aa2eacf
commit e4eb264abb
13 changed files with 171 additions and 36 deletions
@@ -126,28 +126,40 @@ Public Class OpenProjectFileDialogVM
If nTempCtx <> 0 Then
' inizializzo gestore lavorazioni
EgtInitMachMgr(Map.refMainWindowVM.MainWindowM.sMachinesRoot, Map.refMainWindowVM.MainWindowM.sToolMakersDir)
EgtOpenFile(SelProject.sProdPath)
' cancello tutti i gruppi di lavorazione
Dim nMachGroupId As Integer = EgtGetFirstMachGroup()
While nMachGroupId <> GDB_ID.NULL
EgtSetCurrMachGroup(nMachGroupId)
Dim nRawPartId As Integer = EgtGetFirstRawPart()
While nRawPartId <> GDB_ID.NULL
Dim nPartId As Integer = EgtGetFirstPartInRawPart(nRawPartId)
While nPartId <> GDB_ID.NULL
EgtRemovePartFromRawPart(nPartId)
' elimino pezzo copia
EgtErase(nPartId)
nPartId = EgtGetFirstPartInRawPart(nRawPartId)
End While
nRawPartId = EgtGetNextRawPart(nRawPartId)
End While
EgtRemoveMachGroup(nMachGroupId)
nMachGroupId = EgtGetFirstMachGroup()
End While
' lo salvo in tutti i proj correlati
' apro, ripulisco e salvo il progetto in tutti i proj correlati
Dim ProdFile As ProdFileVM = DirectCast(SelProject, ProdFileVM)
For Each nProjId In ProdFile.nProjIdList
EgtOpenFile(SelProject.sProdPath)
' cancello tutti i gruppi di lavorazione
Dim nMachGroupId As Integer = EgtGetFirstMachGroup()
While nMachGroupId <> GDB_ID.NULL
EgtSetCurrMachGroup(nMachGroupId)
Dim nRawPartId As Integer = EgtGetFirstRawPart()
While nRawPartId <> GDB_ID.NULL
Dim nPartId As Integer = EgtGetFirstPartInRawPart(nRawPartId)
While nPartId <> GDB_ID.NULL
EgtRemovePartFromRawPart(nPartId)
' elimino pezzo copia
EgtErase(nPartId)
nPartId = EgtGetFirstPartInRawPart(nRawPartId)
End While
nRawPartId = EgtGetNextRawPart(nRawPartId)
End While
EgtRemoveMachGroup(nMachGroupId)
nMachGroupId = EgtGetFirstMachGroup()
End While
' cancello tutti i gruppi che sono di un progetto diverso da questo
Dim nGroupId As Integer = EgtGetFirstInGroup(GDB_ID.ROOT)
While nGroupId <> GDB_ID.NULL
Dim nGroupProjId As Integer = GDB_ID.NULL
Dim nNextGroupId As Integer = EgtGetNext(nGroupId)
If EgtGetInfo(nGroupId, BTL_PRT_PROJ, nGroupProjId) Then
If nGroupProjId <> nProjId Then
EgtErase(nGroupId)
End If
End If
nGroupId = nNextGroupId
End While
EgtSaveFile(ProdFile.GetProjPath(nProjId), NGE.CMPTEXT)
Next
' torno sul contesto corrente