Compare commits

...

100 Commits

Author SHA1 Message Date
Emmanuele Sassi 31dcf81fc2 - gestita simulazione che non permette modifiche quando trave in produzione 2026-05-07 15:28:33 +02:00
Emmanuele Sassi b7ada79678 Merge remote-tracking branch 'origin/feature/NewGraphicsProgram' into feature/RipristinoSiemens 2026-05-07 15:20:11 +02:00
Emmanuele Sassi a158df1115 - modifica a comunicazione Siemens per uscire da ciclo di attesa risposta macchina in caso di reset 2026-05-07 15:19:27 +02:00
Demetrio Cassarino 82063e8bc5 -aggiunto controllo se cartella Aisetup è presente 2026-05-07 11:15:37 +02:00
Demetrio Cassarino 99958851dc -spostato freecounturmanager in pannello corretto 2026-05-07 08:39:49 +02:00
Emmanuele Sassi b0f7488fd6 Merge branch 'feature/NewGraphicsProgram' into feature/RipristinoSiemens 2026-05-05 11:27:50 +02:00
Emmanuele Sassi dbac290ec7 - aggiornato splashscreen 2026-05-05 11:27:24 +02:00
Emmanuele Sassi 8b871d0c15 Merge remote-tracking branch 'origin/feature/NewGraphicsProgram' into feature/RipristinoSiemens 2026-05-05 11:21:09 +02:00
Demetrio Cassarino ef3b9f62c5 -piccola modifica a pulsanti tabella rawpart 2026-05-05 10:25:41 +02:00
Demetrio Cassarino 0c97563c69 -aggiunto controllo isenabled su bdoall taella featureinpartinrawpartlist 2026-05-04 08:21:45 +02:00
Demetrio Cassarino e23497b4e5 EgtBEAMWALL 3.1.4.7:
-aggiunto controllo Isenabled per feature quando si procude una barra
-aggiunto controllo isenabled per pulsanti
2026-04-30 16:34:31 +02:00
Emmanuele Sassi 01804c5d0d Merge remote-tracking branch 'origin/feature/NewGraphicsProgram' into feature/RipristinoSiemens 2026-04-30 14:59:43 +02:00
Emmanuele Sassi 75c02a7625 EgtBEAMWALL.Supervisor 3.1.4.7:
- aggiunta comunicazione con controllo Siemens attraverso Sharp7
2026-04-30 14:58:16 +02:00
Demetrio Cassarino 4a1318957d -pulizia codice 2026-04-28 12:08:06 +02:00
Demetrio Cassarino 155a241ae6 -piccola modifica a updatepart assemblato 2026-04-24 08:45:12 +02:00
Demetrio Cassarino 9e15741de1 -piccola modifica a ioenproject del supervisore 2026-04-22 14:30:35 +02:00
Demetrio Cassarino 7b4f8529c3 EgtBEAMWALL 3.1.4.6:
-cambiato gestione SetVisibility
-aggiunto su veriifica singolo pezzo disabilita intera riga
2026-04-21 16:55:11 +02:00
Demetrio Cassarino 64d1bc7525 EgtBEAMWALL 3.1.4.5:
-piccola modifica a BTLdataWnd
-aggiunto messaggio errrore file defaultconfig
2026-04-20 16:41:46 +02:00
Demetrio Cassarino b5ea865a73 EgtBEAMWALL 3.1.4..4:
-piccola modfica a inversione pezzo in verifica
2026-04-14 10:49:17 +02:00
Demetrio Cassarino 838c9b27e9 -aggoirnato visualizzazione parametri generali btl 2026-04-09 16:32:47 +02:00
Demetrio Cassarino 788ebfb604 -aggiunto controllo su parametro in parametri generali 2026-04-08 16:04:00 +02:00
Demetrio Cassarino d7c65e1296 -letto in modo corretto PREINVERT e PREROTATE90 per nuova verifica 2026-04-07 16:54:34 +02:00
Demetrio Cassarino 6df62b999e -aggiunto controllo se chiave presente per lista bottoni assemblato
-sistemato lettura parametri generali su blt
2026-04-03 10:07:09 +02:00
Demetrio Cassarino 8d4da30cf8 -piccola modifica a VerifyAllFlipRot 2026-04-03 08:36:50 +02:00
Demetrio Cassarino 5c1f149aa9 -piccola modifica a verifica inversione_rotazione 2026-04-02 17:01:06 +02:00
Demetrio Cassarino 239258bbce EgtBeamWall 3.1.4.1:
-aggiunto funzione verificatutti con inversione e rotazione
2026-04-02 12:49:45 +02:00
Demetrio Cassarino 621da814e8 -sistemato inversione pezzo su barra 2026-03-30 10:30:11 +02:00
Demetrio Cassarino 750995f4fc -piccola modifica a lista utensili parametri generali 2026-03-30 08:39:38 +02:00
Demetrio Cassarino d7fb59678f -piccole correzioni 2026-03-27 16:27:16 +01:00
Demetrio Cassarino 1cb77bc27a -migliorie codice 2026-03-27 15:13:53 +01:00
Demetrio Cassarino e66e974688 -piccola modifica a parametri generali 2026-03-27 14:13:17 +01:00
Demetrio Cassarino e603793dc0 EgtBEAMWALL 3.1.3.7:
-modifica a generazione pdf
2026-03-26 15:34:17 +01:00
Demetrio Cassarino ce0d645b2c -aggiunto gestione creazione file strategie di default se non presente nessun file in aisetup 2026-03-23 14:42:10 +01:00
Demetrio Cassarino df24013894 -piccola modifica su parametri generali del pezzo 2026-03-23 09:52:16 +01:00
Demetrio Cassarino e5332ace0f -piccola modifica per sistemare messaggio di salvataggio 2026-03-20 08:44:26 +01:00
Demetrio Cassarino e13aceda26 EgtBEAMWALL 3.1.3.6:
-modifica letttura parametri generali in btl info e pezzo
-sistemato pulsante auto warehouse
2026-03-19 17:01:17 +01:00
Demetrio Cassarino 013da60ba3 -ripristinato finestre windows
-coretto lettura file default strategy
-sistemato lettura livello utenze
2026-03-13 15:55:46 +01:00
Demetrio Cassarino 96c5630a6f -piccola modica grafica 2026-03-06 12:28:29 +01:00
Demetrio Cassarino c50af75c2e Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-03-05 16:31:19 +01:00
Demetrio Cassarino ffc87c789f RgtBEAMWALL 3.1.3.4:
-piccola modifica su aggiorna pezzo su  assemblato
2026-03-05 16:31:15 +01:00
Emmanuele Sassi b4e5dfced8 Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-03-05 12:34:14 +01:00
Emmanuele Sassi d11e1af13f EgtBEAMWALL 3.1.3.4:
- aggiornato componente EgtWPFBaseLib
- disattivato EnableColumnVirtualization
2026-03-05 12:33:23 +01:00
Demetrio Cassarino e900b69552 EgtBEAMWALL 3.1.3.3:
-corretto salvataggio parametri generali btl
-corretto lettura file defaultstrategy
2026-03-05 09:53:12 +01:00
Demetrio Cassarino a63c7a78ff EgtBEAMWALL 3.1.3.2:
-inserito messaggio in file messaggi
-sistemato grafica
2026-03-03 10:33:29 +01:00
Demetrio Cassarino 8e752ceabd Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-03-03 09:50:31 +01:00
Demetrio Cassarino 876b15af6b EgtBEAMWALL 3.1.3.1:
-cambio versione
-aggiunto messaggi mancanti
-aggiunto cambio tema
2026-03-03 09:49:26 +01:00
Emmanuele Sassi eb6f278423 Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-02-24 18:51:17 +01:00
Emmanuele Sassi 600591b64f - aggiunto messaggio se avvio engine non inizializzato
- rimossa larghezza expander che blocca tabella BTLPart
- aggiunto splashscreen
2026-02-24 18:49:30 +01:00
Demetrio Cassarino 0bb65431a7 EgtBEAMWALL 3.1.2.6:
-rinominato file colonne
-aggiunto controllo su creazione dimensione finestra
2026-02-24 09:59:40 +01:00
Demetrio Cassarino 83d748ace8 EgtBEAMWALL 3.1.2.5:
-cambio grafica finestra apertura
-sistemato chiusura programma
-modifica grafica a StatisticsTimePanel
2026-02-20 10:35:58 +01:00
Demetrio Cassarino b6b68c4459 EgtBEAMWALL 3.1.2.4:
- cambio gestione popup tabelle
- piccola mofica ad aggiorna assemblato
2026-02-19 10:29:30 +01:00
Demetrio Cassarino f903f80433 EgtBEAMWALL 3.1.2.3:
-cambio versione
-introdotto finestre EgtMessageBox e EgtManageDialog al posto di quello di Windows
-spostato immagni in dizionario
-aggiunto messaggi
2026-02-18 12:30:30 +01:00
Demetrio Cassarino 801aa5cb6e EgtBEAMWALL 3.1.2.2;
-piccola modifca a EgtColorPicker
-sistemato assemblato con nuovo pezzo
-aggiornato aggiornamento assemblato
2026-02-12 16:50:00 +01:00
Demetrio Cassarino f64b0b152b EgtBEAMWALL 3.1.2.1;
-aggiornato versione
-pulito codice
-sistemato cambio macchina
2026-02-11 16:44:42 +01:00
Demetrio Cassarino 0eb8baf370 EgtBEAMWALL 3.1.1.8:
-aggiornato gestione pdf con nuova egwdatagrid
2026-02-06 16:37:42 +01:00
Demetrio Cassarino 935eae5608 EgtBEAMWALL 3.1.1.7:
-aggiornato grafica datagrid
2026-02-05 16:33:23 +01:00
Demetrio Cassarino 78cb995cec EgtBEAMWALL 3.1.1.6:
-rimosso cambio estensione file colonne datagrid
2026-02-04 16:57:27 +01:00
Demetrio Cassarino fa36371028 EgtBEAMWALL 3.1.1.5;
-aggiornato pacchetto EgwBaseLib
-creato file ini per file di configurazione di default per le strategie
-sistemato gestione assemblato su pulsante modfica strategie
2026-02-04 14:23:05 +01:00
Demetrio Cassarino 1fd88af50b EgtBEAMWALL 3.1.1.4:
-aggioranto datagrid da EgtDataGrid a EgwDataGrid
2026-02-03 09:22:50 +01:00
Demetrio Cassarino 223a818355 EgtBEAMWALL 3.1.1.3;
-aggiornato versione
-sistemato grafica
2026-01-30 16:12:54 +01:00
Demetrio Cassarino 707384baee -aggiornato versione 2026-01-30 14:20:54 +01:00
Demetrio Cassarino 5620fb1b35 EgtBEAMWALL 3.1.1.2:
-sistemato errore salvataggio file strategie senza nome
-sistemato caricamento parametri generali
2026-01-30 14:20:29 +01:00
Emmanuele Sassi f063aca195 Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-01-29 12:54:23 +01:00
Emmanuele Sassi 10c6e99546 - ripristinati nomi dll per mantenere riferimenti corretti
- modificata funzione con gestione type
- utilizzate funzioni dedicate MyStatusBar
- evito lock in chiusura programma se non ho file aperto
2026-01-29 12:52:50 +01:00
Demetrio Cassarino a3fa949b19 EgtBEAMWALL 3.1.1.1_
-aggiornato messaggi di verifica
2026-01-29 12:24:19 +01:00
Demetrio Cassarino 02b07bc717 Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-01-29 12:21:36 +01:00
Demetrio Cassarino d4adcfc8e1 EgtBEAMWALL 3.1.1.1:
-cambiato pulsante per disabilitare assemblato
-aggiunto messaggi nelle lingue corrette
2026-01-29 12:20:11 +01:00
Emmanuele Sassi 1e028fcb28 Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-01-29 11:53:27 +01:00
Emmanuele Sassi 7fc2fc1691 EgtBEAMWALL 3.1.1.1:
- cambiato nome file e directory in Aedifica
- migliorata gestione progress di verifica
2026-01-29 11:33:57 +01:00
Demetrio Cassarino 8d46a7fe16 -piccola modifica su AddNewBTLProj 2026-01-28 15:43:16 +01:00
Demetrio Cassarino 91f98e83fb Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-01-28 15:31:50 +01:00
Demetrio Cassarino 85796d1862 Optimizer 3.0.1.7
-cambiato gestione parametri generali
-sistemato pulsante chiusura programma
-aggiunto pulsante in warehouse per mostrazione tutti i materiali
2026-01-28 15:31:45 +01:00
Emmanuele Sassi df36d4f495 - eliminato riferimento a libreria che da errore
- aggiunto caricamento su Db di BtlParts altrimenti non funzionano piu' i Part dei MachGroup
2026-01-28 11:38:00 +01:00
Demetrio Cassarino 2cfc0383ff Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram 2026-01-26 15:54:55 +01:00
Demetrio Cassarino 1dd37a243c Optimizer 3.0.1.6
-aggiornato pacchetti
-gestito chiusura programma in caso di verifica attiva
2026-01-26 15:54:51 +01:00
Emmanuele Sassi 0fadc020e3 - gestito nlog con lettura path file da programma invece che da file 2026-01-26 13:14:21 +01:00
Demetrio Cassarino b10cfb3913 Optmizer 3.0.1.5
-sistemata grafica progressbar per verifica
-aggiunto creazione btlinfo nuovo progetto
-aggiunto reset feature
-sistemato creazione pdf
2026-01-23 11:18:35 +01:00
Demetrio Cassarino 5277b78f94 Optimizer 3.0.1.4
- gestito progressbar per verifica
- bloccato assemblato quando parte la verifica
2026-01-20 16:47:00 +01:00
Demetrio Cassarino 37a5029bf4 Optimizer 3.0.1.3
-sistemato visualizzazione tempi calcolo
-sistemato visualizzazione pulsante assemblato
2026-01-16 16:49:34 +01:00
Demetrio Cassarino 5e669d25d0 -piccole correzioni 2026-01-14 16:47:52 +01:00
Demetrio Cassarino c3dff38c7f Optmizer 3.0.1.2
-sistemato errori
-cambiato icone
2026-01-13 16:29:46 +01:00
Demetrio Cassarino a79445f152 Optimizer 3.1.0.1
-sistemato apertura file dopo salvataggio
2026-01-08 17:17:02 +01:00
Demetrio Cassarino a30430268e Optimizer 2.7.11.24
-sistemata non corretta visualizzazione dati tabella pezzi
2025-12-23 15:48:28 +01:00
Demetrio Cassarino bf08cf4f86 Optimizer 2.7.11.23
-sistemato errore assemza chiave
-aggiunto evidenziazione feature in trave
2025-12-22 16:57:36 +01:00
Demetrio Cassarino b128b56c4b Optimizer 2.7.11.22
-sistemato gestione visualizzazione strategie forzate
2025-12-19 15:39:31 +01:00
Demetrio Cassarino 71c9815296 Optmizer 2.7.11.21
-sitemata forzatura parametri generali
-sistemato tabelle supervisore
2025-12-18 16:49:13 +01:00
Demetrio Cassarino 29ce306644 Optimizer 2.7.11.20
-aggiunto salvataggio info strategia forzata e parametro generale forzato
2025-12-17 14:05:11 +01:00
Demetrio Cassarino 65931a5102 Optimizer 2.7.11.19
-aggiunto a creazione immagini pdf EgtSetMachineLook
2025-12-15 16:53:50 +01:00
Demetrio Cassarino e5c5b72c7e Optimizer 2.7.11.18
-gestito assemblato con modifica pezzo
2025-12-12 13:58:34 +01:00
Demetrio Cassarino ff849a7708 Optimizer 2.7.11.17
-sistemato errore selezione macchina
2025-12-12 09:10:44 +01:00
Demetrio Cassarino 4c97b3a6f6 Optmizer 2.7.11.16
-sistemate mancanze merge
-aggiunto informazione strategia e parametri generali forzati
2025-12-10 12:48:54 +01:00
Demetrio Cassarino b79baafa8f Optimizer 2.7.11.15
-sistemati errori merge
2025-12-09 08:48:40 +01:00
Demetrio Cassarino 530e715217 Merge commit 'd577d6fdb03d83807b6ad32eeb6ec6eca17fece7' into feature/NewGraphicsProgram 2025-12-09 08:15:24 +01:00
Demetrio Cassarino 261e0f5949 Optimizer 2.7.11.9
-aggiunta menu su feature per selezione
2025-12-05 15:43:18 +01:00
Demetrio Cassarino 048c95edb8 Optmizer 2.7.11.8
-sistemato savecommand
2025-11-27 11:42:47 +01:00
Demetrio Cassarino 9e4ed436ab Optimizer 2.7.11.96
-modifica su pulsanti di importazione, salvataggo e apertura
2025-11-21 14:55:31 +01:00
Demetrio Cassarino 7ed7ad27ee Optimizer 2.7.11.6
-piccola modifica su colonne editabile
2025-11-17 12:47:15 +01:00
Demetrio Cassarino 24b9809353 Optimizer 2.7.11.5
-modifica su importazione btl aggiunto aisetup
2025-11-10 16:03:09 +01:00
Demetrio Cassarino 3138f9b93b Optimizer 2..7.11.4
-rimesso stili eliminati in dizionario
-aggiornato datagrid in updatewnd
2025-11-07 09:50:14 +01:00
Demetrio Cassarino 97d8b2d7a9 Optimizer 2.7.11.3
-Piccola correzione su parametri generali su combobox
2025-11-04 16:25:55 +01:00
282 changed files with 8598 additions and 5222 deletions
+3 -44
View File
@@ -1,7 +1,6 @@
Imports System.Collections.ObjectModel
Imports System.Windows
Imports EgtUILib
Imports EgtWPFLib5
Public Class BTLFeatureM
@@ -220,17 +219,6 @@ Public Class BTLFeatureM
End Set
End Property
' lista dei parametri della feature
Protected m_QBTLParamMList As List(Of BTLParamM)
Public Property QBTLParamMList As List(Of BTLParamM)
Get
Return m_QBTLParamMList
End Get
Set(value As List(Of BTLParamM))
m_QBTLParamMList = value
End Set
End Property
#Region "MESSAGES"
Public ReadOnly Property Name_Msg As String
@@ -372,20 +360,10 @@ Public Class BTLFeatureM
RaiseEvent PBTLParamAdded(Me, New BTLParamAddedEventArgs(BTLparamM))
End If
End Sub
Public Sub AddQBTLParam(BTLparamM As BTLParamM)
If IsNothing(BTLparamM) Then Return
If Not m_QBTLParamMList.Contains(BTLparamM) Then
m_QBTLParamMList.Add(BTLparamM)
RaiseEvent QBTLParamAdded(Me, New BTLParamAddedEventArgs(BTLparamM))
End If
End Sub
Public Function GetPBTLParams() As List(Of BTLParamM)
Return New List(Of BTLParamM)(m_PBTLParamMList)
End Function
Public Function GetQBTLParams() As List(Of BTLParamM)
Return New List(Of BTLParamM)(m_QBTLParamMList)
End Function
' funzione che crea l'elenco dei parametri
Public Sub CreateFeatureParams(NewBTLFeature As BTLFeatureM)
@@ -411,12 +389,11 @@ Public Class BTLFeatureM
TempList.Add(NewBTLParam)
ParamIndex += 1
End While
NewBTLFeature.QBTLParamMList = TempList
End Sub
' funzione che legge il valore corrente del parametro
Public Function ReadFeatureParams() As Boolean
Return ReadFeatureParams(m_PBTLParamMList) And ReadFeatureParams(m_QBTLParamMList)
Return ReadFeatureParams(m_PBTLParamMList)
End Function
Private Function ReadFeatureParams(ParamList As List(Of BTLParamM)) As Boolean
Dim bToRecalc As Boolean = False
@@ -501,13 +478,9 @@ Public Class BTLFeatureM
Return True
End Function
' funzione che rilegge i parametri Q
Public Function ReadQValues()
Return ReadFeatureParams(m_QBTLParamMList)
End Function
' funzione che setta i valori di default a tutti i parametri
Public Function SetDefaultValues() As Boolean
Return SetDefaultValues(m_PBTLParamMList) And SetDefaultValues(m_QBTLParamMList)
Return SetDefaultValues(m_PBTLParamMList)
End Function
Private Function SetDefaultValues(ParamList As List(Of Core.BTLParamM)) As Boolean
' leggo valore parametro da struttura geometrica
@@ -544,16 +517,6 @@ Public Class BTLFeatureM
vPar = vTempPar
sPar = If(String.IsNullOrEmpty(sTempPar), " ", sTempPar)
End If
' Determino parametri Q
Dim vTempParQ(m_QBTLParamMList.Count) As String
For ParQIndex = 0 To m_QBTLParamMList.Count - 1
Dim ParQ As BTLParamM = m_QBTLParamMList(ParQIndex)
vTempParQ(ParQIndex) = ParQ.sName & ":" & If(ParQ.nType <> BTLParamType.STRING_, DoubleToString(ParQ.dValue, 3), ParQ.sValue)
Next
Dim sDO As String = ""
If Not bDO Then sDO = 0
vTempParQ(m_QBTLParamMList.Count) = "DO:" & sDO
vParQ = vTempParQ
Return True
End Function
@@ -574,10 +537,6 @@ Public Class BTLFeatureM
frNewRef, vNewParP, sNewPar, vNewParQ, nCrvId, nCrv2Id, bUpdate)
Dim bOk As Boolean = nFeatureId <> GDB_ID.NULL
If bOk Then
' riporto parametri Q custom
For Each QPar In QBTLParamMList
If QPar.bCustom Then EgtSetInfo(nFeatureId, QPar.sName & "A", 1)
Next
EgtSetInfo(nFeatureId, BTL_FTR_PRIORITY, nPriority)
SetFeatureId(nFeatureId)
' imposto modificato per copie
@@ -585,7 +544,7 @@ Public Class BTLFeatureM
bOk = True
Else
' Impossibile creare una feature con questi valori - ERRORE
MessageBox.Show(EgtMsg(61852), EgtMsg(30007))
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61852), EgtMsg(30007))
nFeatureId = EgtBeamModifyProcess(Me.nFeatureId, Me.nSelGRP, Me.nPRC, Me.nSelSIDE, "", Me.nPRID,
Me.frFRAME, vPar, sPar, vParQ, nCrvId, nCrv2Id)
SetFeatureId(nFeatureId)
+4 -2
View File
@@ -958,7 +958,9 @@ Public Class BTLPartM
NewBTLPart.nState = CalcStates.OK
Case 22
NewBTLPart.nState = CalcStates.COLLISION
Case 17, 19
Case 17
NewBTLPart.nState = CalcStates.SECTION
Case 19
NewBTLPart.nState = CalcStates.WARNING
Case < 0
NewBTLPart.nState = CalcStates.INFO
@@ -1059,7 +1061,7 @@ Public Class BTLPartM
' ripristino inversione
Inversion(SelectedMachineType)
End If
If bRedraw Then EgtDraw()
If bRedraw Then EgtRedraw()
Return bOk
End Function
@@ -13,6 +13,7 @@ Public Class BTLFeatureVM
End Get
End Property
Protected m_BTLPartM As BTLPartM
Protected m_PartM As PartM
Public ReadOnly Property nFeatureId As Integer
Get
@@ -209,6 +210,23 @@ Public Class BTLFeatureVM
End Set
End Property
Private m_bStrategy_Visibility As Visibility = Visibility.Collapsed
Public ReadOnly Property bStrategy_Visibility As Visibility
Get
Return m_bStrategy_Visibility
End Get
End Property
Public Sub SetbStrategy_Visibility(value As Boolean)
m_bStrategy_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(bStrategy_Visibility))
End Sub
Public ReadOnly Property IsEnabled As Boolean
Get
Return m_PartM.nProductionState < ItemState.Assigned
End Get
End Property
#Region "CONSTRUCTOR"
Sub New()
@@ -25,6 +25,7 @@ Public Module CalcIntegration
EDIT = 7
CHECKNOSIM = 8
TOPOLOGY = 9
FLIP_ROT = 10
OPENTOOLDB = 11 ' Non utilizzato
OPENMACHINIGDB = 12 ' Non utilizzato
End Enum
@@ -154,7 +155,7 @@ Public Module CalcIntegration
Else
vProc(j).Proc.StartInfo.Arguments = """" & vBar(nCurrBar).sBarPath & """ " &
"""" & vBar(nCurrBar).nProjType & """ " &
"""" & vBar(nCurrBar).nMachineName & """ " & vBar(nCurrBar).nCmdType
"""" & vBar(nCurrBar).nMachineName & """ " & vBar(nCurrBar).nCmdType & " " & vBar(nCurrBar).nBarState
End If
vProc(j).Proc.StartInfo.UseShellExecute = False
@@ -219,6 +220,7 @@ Public Module CalcIntegration
' se sono in simulazione
If bIsSimulation Then
Dim sOriPath As String = Path.ChangeExtension(vBar(0).sBarPath, ".ori.bwe")
If String.IsNullOrWhiteSpace(sOriPath) Then Return
' se file modificato a mano
If File.GetLastWriteTime(sOriPath) < File.GetLastWriteTime(vBar(0).sBarPath) Then
' aggiorno progetto
@@ -395,9 +397,6 @@ Public Module CalcIntegration
If EgtSaveMachGroupToFile(nMachGroupId, {EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO), EgtGetFirstNameInGroup(GDB_ID.ROOT, PROJECTINFO)}, sMachGroupFilePath, NGE.CMPTEXT) Then
Return sMachGroupFilePath
End If
'If EgtSaveObjToFile(nMachGroupId, sMachGroupFilePath, NGE.CMPTEXT) Then
' Return sMachGroupFilePath
'End If
Return String.Empty
End Function
@@ -476,7 +475,7 @@ Public Module CalcIntegration
End Module
Public Class Bar
Public nBarState As Integer
Public nBarState As Integer = -1
Public nBarId As Integer
Public sBarPath As String
Public bBarOk As Boolean
@@ -8,10 +8,6 @@
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<StackPanel Style="{StaticResource List_StackPanel}">
<GroupBox Header="{Binding CurrentLanguage_Msg}"
Style="{StaticResource Warehouse_GroupBox}">
@@ -58,7 +54,7 @@
<CheckBox IsChecked="{Binding bPrintLabel_IsChecked}"
Style="{StaticResource General_CheckBox}"/>
</UniformGrid>
<GroupBox Header="Backup And Restore"
<GroupBox Header="{Binding BackupRestore_Msg}"
Style="{StaticResource Optimizer_GroupBox}">
<Grid>
<Grid.RowDefinitions>
@@ -76,7 +72,7 @@
IsChecked="{Binding bExternalBackupActive}"
Style="{StaticResource PParameters_CheckBox}"/>
<TextBlock Grid.Column="1"
Text="External file path:"
Text="{Binding External_Msg}"
Style="{StaticResource Ext_TextBlock}"/>
</Grid>
<Grid Grid.Row="1"
@@ -100,7 +96,7 @@
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Reminder Frequency"/>
<TextBlock Text="{Binding Remainder_Msg}"/>
<ComboBox Grid.Column="1"
ItemsSource="{Binding ReminderList}"
SelectedItem="{Binding SelReminder}"
@@ -108,22 +104,35 @@
</Grid>
<StackPanel Grid.Row="3"
Style="{StaticResource PartManager_StackPanel}">
<Button Content="Backup"
<Button Content="{Binding Backup_Msg}"
Command="{Binding Backup_Command}"
Style="{StaticResource MovePartInRawPartWnd_Button}"/>
<Button Content="Restore"
<Button Content="{Binding Restore_Msg}"
Command="{Binding Restore_Command}"
Style="{StaticResource EgtWPFLib5_Button}"/>
</StackPanel>
</Grid>
</GroupBox>
<UniformGrid Columns="2"
<!--<UniformGrid Columns="2"
Style="{StaticResource GeneralConfiguration_UniformGrid}">
<TextBlock Text="Importa BTL con verifica"
<TextBlock Text="{Binding Import_Msg}"
Style="{StaticResource MMUnits_TextBlock}"/>
<CheckBox IsChecked="{Binding bVerifyImportBTL_IsChecked}"
Style="{StaticResource General_CheckBox}"/>
</UniformGrid>
<GroupBox Header="{Binding Tema_Msg}"
Style="{StaticResource Warehouse_GroupBox}">
<UniformGrid Rows="2"
Style="{StaticResource General_UniformGrid}">
<ComboBox ItemsSource="{Binding Themes, Mode=OneWay}"
SelectedItem="{Binding SelectedTheme}"
DisplayMemberPath="Name"
Style="{StaticResource General_ComboBox}"/>
<TextBlock Text="{Binding TemaAdvert_Msg}"
Style="{StaticResource General_TextBlock}"/>
</UniformGrid>
</GroupBox>-->
</StackPanel>
</Grid>
@@ -74,7 +74,7 @@
ToolTip="{Binding SaveToolTip}"
Visibility="{Binding Machine_Visibility}"
Style="{StaticResource SaveMachinePanel_Button}">
<Image Source="/Resources/ProjectManager/Save.png"
<Image Source="{StaticResource Save_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
+3
View File
@@ -309,4 +309,7 @@
' parametri modifica percorsi free contour
Public Const PATH_SIDEANGLAYER As String = "SideAngLayer"
' Strategia
Public Const AI_SETUP As String = "AISETUP"
Public Const STRATEGY As String = "STRATEGY"
End Module
@@ -1,10 +1,7 @@
Public Module ConstDataGridColumnsIni
Public Const DATAGRIDCOLUMNS_FILE_NAME As String = "DataGridColumns.ini"
Public Const OPTIMIZERDATAGRIDCOLUMNS_FILE_NAME As String = "OPTIMIZERDataGridColumns.ini"
Public Const DATAGRIDCOLUMNS_FILE_NAME As String = "DataGridColumns.json"
Public Const S_FEATURELIST As String = "DG_FeatureList"
Public Const S_OPENPROJFILEDLG_PROJ As String = "DG_OpenProjectFileDialog_PROJ"
Public Const S_OPENPROJFILEDLG_PROD As String = "DG_OpenProjectFileDialog_PROD"
Public Const S_NEWOPENPROJFILEDLG_PROD As String = "DG_NewOpenProjectFileDialog_PROD"
Public Const S_RAWPARTLIST_BEAM As String = "DG_RawPartList_BEAM"
@@ -12,8 +9,6 @@
Public Const S_PARTINRAWPARTLIST_BEAM As String = "DG_PartInRawPartList_BEAM"
Public Const S_PARTINRAWPARTLIST_WALL As String = "DG_PartInRawPartList_WALL"
Public Const S_PARAMETERLIST_P As String = "DG_ParameterList_P"
Public Const S_PARAMETERLIST_Q As String = "DG_ParameterList_Q"
Public Const S_DUPLOPARAMETERLIST_Q As String = "DG_DuploParameterList_Q"
Public Const S_RAWPARTLIST_SUPERVISOR As String = "DG_RawPartList_SUPERVISOR"
Public Const S_PARTINRAWPARTLIST_SUPERVISOR As String = "DG_PartInRawPartList_SUPERVISOR"
Public Const S_FEATUREINPARTINRAWPARTLIST_SUPERVISOR As String = "DG_FeatureInPartInRawPartList_SUPERVISOR"
@@ -23,11 +18,8 @@
Public Const S_STATISTICS_PART As String = "DG_Statistics_PART"
Public Const S_OPTIMIZERSTATISTICS As String = "DG_OptimizerStatistics"
Public Const S_RAWPARTSTATISTICS As String = "DG_RawPartStatistics"
Public Const S_BEAMMACHININGS As String = "DG_BeamMachinings"
Public Const S_SPARAMLIST_BEAM As String = "DG_SParamList_BEAM"
Public Const S_SPARAMLIST_WALL As String = "DG_SParamList_WALL"
Public Const S_SECTXMATLIST_BEAM As String = "DG_SectXMatList_BEAM"
Public Const S_SECTXMATLIST_WALL As String = "DG_SectXMatList_WALL"
Public Const S_VARIABLESLIST As String = "DG_VariablesList"
Public Const S_MDICOMMANDS As String = "DG_MDICommands"
Public Const S_MACHINELOG As String = "DG_MachineLog"
+1 -5
View File
@@ -2,13 +2,9 @@
Public Const DIMENSIONS_FILE_NAME As String = "Dimensions.ini"
Public Const PROJECT_VIEW As String = "Project_View"
Public Const PROJECT_OPTIMIZER As String = "Project_Optimizer"
Public Const LEFTPANEL_VIEW As String = "LeftPanel_View"
Public Const LEFTPANEL_OPTIMIZER As String = "LeftPanel_Optimizer"
Public Const TOPPANEL_OPTIMIZER As String = "TopPanel_Optimizer"
Public Const LEFTPANEL_SUPERVISOR As String = "LeftPanel_Supervisor"
Public Const PROJECT_SUPERVISOR As String = "Project_Supervisor"
Public Const PROJECT_ONLYPROD As String = "Project_OnlyProd"
Public Const PROJECT_AEDIFICA As String = "Project_Aedifica"
End Class
+6 -3
View File
@@ -19,7 +19,7 @@ Public Module ConstGen
Public Const K_DATAROOT As String = "DataRoot"
' File con dati di licenza
Public Const LIC_FILE_NAME As String = "EgtBEAMWALL.lic"
Public Const LIC_FILE_NAME As String = "Aedifica.lic"
Public Const S_LICENCE As String = "Licence"
Public Const K_LOCKID As String = "LockId"
Public Const K_KEY As String = "Key"
@@ -57,8 +57,8 @@ Public Module ConstGen
End Enum
' File di log generale
Public Const VWOPTGENLOG_FILE_NAME As String = "EgtBEAMWALL.OptimizerLog#.txt"
Public Const SUPGENLOG_FILE_NAME As String = "EgtBEAMWALL.SupervisorLog#.txt"
Public Const VWOPTGENLOG_FILE_NAME As String = "Aedifica.OptimizerLog#.txt"
Public Const SUPGENLOG_FILE_NAME As String = "Aedifica.SupervisorLog#.txt"
' Sottodirettorio di configurazione
Public Const CONF_DIR As String = "Config"
@@ -110,4 +110,7 @@ Public Module ConstGen
Public Const CUSTOMERCONFIG_FILE As String = "CustomerConfig"
' File contenente i parametri generali
Public Const GENERALPARAMETERS_FILE As String = "GeneralParameters"
' Info per temi
Public Const THEMES_FOLDER As String = "Themes"
Public Const DICTIONARY_FILENAME As String = "Dictionary.xaml"
End Module
+6 -2
View File
@@ -13,7 +13,8 @@
Public Module ConstIni
Public Const INI_FILE_NAME As String = "EgtBEAMWALL.ini"
Public Const INI_FILE_NAME As String = "Aedifica.ini"
Public Const CONFIG_FILE_NAME As String = "Config.ini"
Public Const K_NETKEY As String = "NetKey"
Public Const K_MAXCAMINST As String = "MaxCamInstances"
@@ -56,6 +57,7 @@ Public Module ConstIni
Public Const K_CALCPATH As String = "CalcPath"
Public Const K_BEAMBASEDIR As String = "BaseDir"
Public Const K_BEAMBWEEXEC As String = "BweExec"
Public Const K_FLIPROTEXEC As String = "FlipRotExec"
Public Const S_WALL As String = "Wall"
Public Const S_WALLNEW As String = "WallNew"
@@ -107,6 +109,7 @@ Public Module ConstIni
Public Const S_WAREHOUSE As String = "Warehouse"
Public Const K_TYPE As String = "Type"
Public Const K_DEFAULTQUANTITY As String = "DefaultQuantity"
Public Const K_DEFAULTLENGTH As String = "DefaultLength"
Public Const S_SECTION As String = "Section_Checked"
Public Const S_IMAGE As String = "Image_Checked"
@@ -118,7 +121,6 @@ Public Module ConstIni
Public Const K_EXTERNALFILEPATH As String = "ExternalFilePath"
Public Const K_REMINDERFREQUENCY As String = "ReminderFrequency"
Public Const K_ONLYPROD As String = "OnlyProd"
Public Const K_MODIFYSETUP As String = "ModifySetup"
Public Const K_MACHCONFIG As String = "MachConfig"
@@ -134,4 +136,6 @@ Public Module ConstIni
Public Const K_DEFAULTCONFIG As String = "DefaultConfiguration"
Public Const K_VERIFYIMPORTBTL As String = "VerifyImportBTL"
Public Const K_THEMA As String = "Thema"
End Module
+3 -3
View File
@@ -56,8 +56,8 @@
<Reference Include="EgwProxy.LiMan, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.LiMan.1.0.2408.718\lib\EgwProxy.LiMan.dll</HintPath>
</Reference>
<Reference Include="EgwWPFBaseLib, Version=2.7.11.4, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwWPFBaseLib.2.7.11-beta.4\lib\EgwWPFBaseLib.dll</HintPath>
<Reference Include="EgwWPFBaseLib, Version=3.1.1.2, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwWPFBaseLib.3.1.1.2\lib\EgwWPFBaseLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
@@ -326,6 +326,6 @@
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.Core.dll</PostBuildEvent>
<PostBuildEvent>copy $(TargetPath) c:\EgtProg\Aedifica\EgtBEAMWALL.Core.dll</PostBuildEvent>
</PropertyGroup>
</Project>
@@ -1,6 +1,5 @@
Imports EgtWPFLib5
Imports System.Windows
Imports System.Windows.Forms
Public Class EgtColorPickerV
@@ -8,7 +7,7 @@ Public Class EgtColorPickerV
Private WithEvents m_EgtColorPickerVM As EgtColorPickerVM
Private Shadows DialogResult As DialogResult
Private Shadows DialogResult As Boolean
Public Property CustomColors As Integer()
Get
@@ -45,7 +44,7 @@ Public Class EgtColorPickerV
#Region "EVENTS"
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtColorPickerVM.m_CloseWindow
Private Sub CloseWindow(DialogResult As Boolean) Handles m_EgtColorPickerVM.OnCloseWindow
Me.DialogResult = DialogResult
Me.Close()
End Sub
@@ -58,7 +57,7 @@ Public Class EgtColorPickerV
''' Apre una finestra EgtColorPicker
''' </summary>
''' <returns></returns>
Public Overloads Function ShowDialog() As DialogResult
Public Overloads Function ShowDialog() As Boolean
MyBase.ShowDialog()
Return Me.DialogResult
End Function
@@ -64,7 +64,7 @@ Public Class EgtDataGrid
newItems(index).InitColumn(col)
context.Columns.Add(col)
Catch ex As Exception
MessageBox.Show(String.Format(EgtMsg(61883), newItems(index).Name, newItems(index).ParentDataGridName), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, String.Format(EgtMsg(61883), newItems(index).Name, newItems(index).ParentDataGridName), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
End Try
Next
@@ -159,7 +159,7 @@ Public Class EgtDataGrid
Me.Columns(e.NewStartingIndex).DisplayIndex = e.NewStartingIndex
End If
Catch ex As Exception
MessageBox.Show(String.Format(EgtMsg(61883), one.Name, one.ParentDataGridName), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, String.Format(EgtMsg(61883), one.Name, one.ParentDataGridName), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
End Try
Next
End If
@@ -6,7 +6,7 @@
Title="{Binding sTitle}"
WindowStartupLocation="CenterOwner"
ShowInTaskbar="False"
Height="500" Width="800"
Height="650" Width="1000"
Style="{StaticResource OptimizerWindow.Dialog}">
<Grid Style="{StaticResource AddRawPartWnd_Grid}">
@@ -24,7 +24,7 @@
</Grid.ColumnDefinitions>
<Button Command="{Binding GoBack_Command}"
Style="{StaticResource RightPanel_Button}">
<Image Source="\Resources\EgtDialog\Restore.png"
<Image Source="{DynamicResource Restore_Image}"
Style="{StaticResource Button_Image}"/>
</Button>
<TextBlock Grid.Column="1"
@@ -33,7 +33,18 @@
<ComboBox Grid.Column="2"
ItemsSource="{Binding ViewModeList}"
SelectedItem="{Binding SelViewMode}"
Style="{StaticResource EgtManageDialog_ComboBox}"/>
Style="{StaticResource EgtManageDialog_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Style="{StaticResource PartManager_StackPanel}">
<Image Source="{Binding Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
<TextBlock Text="{Binding Name}"
Style="{StaticResource ComboManageDialog_TextBlock}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
<Grid Grid.Row="1"
Style="{StaticResource AddRawPartWnd_Grid}">
@@ -241,25 +252,13 @@
SelectedItem="{Binding ItemSelected}"
RowStyle="{StaticResource RowDataGrid_CustomHighLight}"
CellStyle="{StaticResource CellDataGrid_CustomHighLight}"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="{StaticResource BeamWall_Teal}"/>
<Setter Property="Foreground" Value="{StaticResource BeamWall_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource BeamWall_Gray}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="Padding" Value="1"/>
<Setter Property="BorderThickness" Value="0,0,1,1"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Width="5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Name_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Style="{StaticResource Name_TextBlock}"/>
<TextBlock Text="{Binding DataContext.Name_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
@@ -283,8 +282,7 @@
ElementStyle="{StaticResource DataGrid_TextBlock}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.LastModify_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Style="{StaticResource Name_TextBlock}"/>
<TextBlock Text="{Binding DataContext.LastModify_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
@@ -293,8 +291,7 @@
ElementStyle="{StaticResource DataGrid_TextBlock}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Type_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Style="{StaticResource Name_TextBlock}"/>
<TextBlock Text="{Binding DataContext.Type_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
@@ -303,8 +300,7 @@
ElementStyle="{StaticResource DataGridR_TextBlock}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Dimension_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
Style="{StaticResource Name_TextBlock}"/>
<TextBlock Text="{Binding DataContext.Dimension_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
@@ -1,6 +1,6 @@
Imports EgtWPFLib5
Imports System.Windows.Forms
Imports System.Windows.Input
Imports System.Windows.Input
Imports EgtWPFLib5
Imports System.Windows
Public Class EgtManageFileDialogV
@@ -8,7 +8,7 @@ Public Class EgtManageFileDialogV
Private WithEvents m_EgtManageFileDialogVM As EgtManageFileDialogVM
Private Shadows DialogResult As DialogResult
Private Shadows DialogResult As Boolean
''' <summary>
''' Stringa che specifica il titolo da mostrare
@@ -31,6 +31,15 @@ Public Class EgtManageFileDialogV
End Set
End Property
Public Property SelFilter As EgtExstension
Get
Return m_EgtManageFileDialogVM.SelFilter
End Get
Set(value As EgtExstension)
m_EgtManageFileDialogVM.SelFilter = value
End Set
End Property
Public Property InitialDirectory As String
Get
Return m_EgtManageFileDialogVM.sInitialDirectory
@@ -103,31 +112,31 @@ Public Class EgtManageFileDialogV
End Set
End Property
#End Region ' FIELDS & PROPERTIES
#End Region ' Fields & Properties
#Region "CONTRUCTORS"
Sub New(Owner As System.Windows.Window, EgtManageFileDialogVM As EgtManageFileDialogVM)
Sub New(Owner As Window, EgtManageFileDialogVM As EgtManageFileDialogVM)
InitializeComponent()
Me.DataContext = EgtManageFileDialogVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_EgtManageFileDialogVM = EgtManageFileDialogVM
End Sub
#End Region
#End Region ' Constructor
#Region "EVENTS"
Private Sub CloseWindow(DialogResult As DialogResult) Handles m_EgtManageFileDialogVM.m_CloseWindow
Private Sub CloseWindow(DialogResult As Boolean) Handles m_EgtManageFileDialogVM.OnCloseWindow
Me.DialogResult = DialogResult
Me.Close()
End Sub
#End Region
#End Region ' Events
#Region "METHODS"
Public Overloads Function ShowDialog() As DialogResult
Public Overloads Function ShowDialog() As Boolean
MyBase.ShowDialog()
Return Me.DialogResult
End Function
@@ -136,6 +145,6 @@ Public Class EgtManageFileDialogV
m_EgtManageFileDialogVM.MouseDoubleClick()
End Sub
#End Region ' METHODS
#End Region ' Methods
End Class
@@ -99,7 +99,7 @@ Public Class EgtMessageBoxV
#Region "EVENTS"
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtMessageBoxVM.m_CloseWindow
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtMessageBoxVM.OnCloseWindow
Me.DialogResult = DialogResult
Me.Close()
End Sub
+2 -2
View File
@@ -214,7 +214,7 @@ Public Class NewMachGroupPanelVM
Dim m_MessageBoxResult As MessageBoxResult
If MachGroupVMList.Count = 1 Then
'chiedo conferma prima di resettare il gruppo di lavorazione
MessageBox.Show(Application.Current.MainWindow, EgtMsg(62539), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62539), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
Select Case m_MessageBoxResult
Case MessageBoxResult.Yes
' cancello il gruppo corrente e ne creo uno nuovo con lo stesso nome
@@ -228,7 +228,7 @@ Public Class NewMachGroupPanelVM
End Select
Else
'chiedo conferma prima di cancellare il gruppo di lavorazione
MessageBox.Show(Application.Current.MainWindow, EgtMsg(62539), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62539), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
Select Case m_MessageBoxResult
Case MessageBoxResult.Yes
' cancello quello selezionato (ovvero il corrente)
@@ -214,7 +214,6 @@ Public Class MyMachGroupPanelM
Dim DuploArray() As Integer
Dim RotArray(DuploList.Count) As Integer
Dim FlipArray(DuploList.Count) As Integer
Dim QArray(DuploList.Count) As Dictionary(Of String, Dictionary(Of String, String))
DuploArray = DuploList.ToArray()
' recupero ROT (gradi) e FLIP (0/1) per non perderli
For Duploindex = 0 To DuploArray.Length - 1
@@ -224,8 +223,6 @@ Public Class MyMachGroupPanelM
EgtGetInfo(DuploArray(Duploindex), MGR_PRT_FLIP, FlipArray(Duploindex))
If FlipArray(Duploindex) <> 0 Then FlipArray(Duploindex) = 180
If nBWType = BWType.WALL Then
' salvo parametri Q
QArray(Duploindex) = New Dictionary(Of String, Dictionary(Of String, String))
' ciclo sugli outline
nOutlineLayer = EgtGetFirstNameInGroup(DuploArray(Duploindex), OUTLINE)
If nOutlineLayer <> GDB_ID.NULL Then
@@ -248,42 +245,10 @@ Public Class MyMachGroupPanelM
nPRId = nGlobPRId
nGlobPRId += 1
End If
Dim sKey As String = nPRId & "." & nPRC
QArray(Duploindex).Add(sKey, New Dictionary(Of String, String))
For QIndex = 1 To 10
Dim QKey As String = "Q" & QIndex.ToString("D2")
Dim QValue As Integer = 0
If EgtGetInfo(nOutlineId, QKey, QValue) Then
QArray(Duploindex)(sKey).Add(QKey, QValue)
End If
Next
End If
nOutlineId = EgtGetNext(nOutlineId)
End While
End If
' ciclo sulle feature
Dim nFeatureLayer As Integer = EgtGetFirstNameInGroup(DuploArray(Duploindex), PROCESSINGS)
If nFeatureLayer <> GDB_ID.NULL Then
Dim nFeatureId As Integer = EgtGetFirstInGroup(nFeatureLayer)
While nFeatureId <> GDB_ID.NULL
' verifico che sia feature
Dim nPRC As Integer
If EgtGetInfo(nFeatureId, MGR_FTR_PRC, nPRC) Then
nPRId = 0
EgtGetInfo(nFeatureId, MGR_FTR_PRID, nPRId)
Dim sKey As String = nPRId & "." & nPRC
QArray(Duploindex).Add(sKey, New Dictionary(Of String, String))
For QIndex = 1 To 10
Dim QKey As String = "Q" & QIndex.ToString("D2")
Dim QValue As Integer = 0
If EgtGetInfo(nFeatureId, QKey, QValue) Then
QArray(Duploindex)(sKey).Add(QKey, QValue)
End If
Next
End If
nFeatureId = EgtGetNext(nFeatureId)
End While
End If
End If
Next
' aggiornamento dei Duplo
@@ -293,50 +258,6 @@ Public Class MyMachGroupPanelM
' ripristino info rot e flip
EgtSetInfo(DuploArray(Duploindex), MGR_PRT_ROT, RotArray(Duploindex))
EgtSetInfo(DuploArray(Duploindex), MGR_PRT_FLIP, FlipArray(Duploindex))
If nBWType = BWType.WALL Then
' ciclo sugli outline
nOutlineLayer = EgtGetFirstNameInGroup(DuploArray(Duploindex), OUTLINE)
If nOutlineLayer <> GDB_ID.NULL Then
Dim nOutlineId As Integer = EgtGetFirstInGroup(nOutlineLayer)
While nOutlineId <> GDB_ID.NULL
' verifico che sia feature
Dim nPRC As Integer
If EgtGetInfo(nOutlineId, MGR_FTR_PRC, nPRC) Then
nPRId = 0
EgtGetInfo(nOutlineId, MGR_FTR_PRID, nPRId)
Dim sKey As String = nPRId & "." & nPRC
' ripristino parametri Q
If QArray(Duploindex).ContainsKey(sKey) Then
For Each QPar In QArray(Duploindex)(sKey)
EgtSetInfo(nOutlineId, QPar.Key, QPar.Value)
Next
End If
End If
nOutlineId = EgtGetNext(nOutlineId)
End While
End If
' ciclo sulle feature
Dim nFeatureLayer As Integer = EgtGetFirstNameInGroup(DuploArray(Duploindex), PROCESSINGS)
If nFeatureLayer <> GDB_ID.NULL Then
Dim nFeatureId As Integer = EgtGetFirstInGroup(nFeatureLayer)
While nFeatureId <> GDB_ID.NULL
' verifico che sia feature
Dim nPRC As Integer
If EgtGetInfo(nFeatureId, MGR_FTR_PRC, nPRC) Then
nPRId = 0
EgtGetInfo(nFeatureId, MGR_FTR_PRID, nPRId)
Dim sKey As String = nPRId & "." & nPRC
' ripristino parametri Q
If QArray(Duploindex).ContainsKey(sKey) Then
For Each QPar In QArray(Duploindex)(sKey)
EgtSetInfo(nFeatureId, QPar.Key, QPar.Value)
Next
End If
End If
nFeatureId = EgtGetNext(nFeatureId)
End While
End If
End If
Next
End Sub
@@ -538,6 +538,7 @@ Public MustInherit Class MyMachGroupVM
MyMachGroupM.nCALC_ROT = 0
MyMachGroupM.nCALC_FALL = 0
MyMachGroupM.sCALC_MSG = ""
MyMachGroupM.nCALC_TIME = 0
NotifyPropertyChanged(NameOf(Calc_Background))
NotifyPropertyChanged(NameOf(CALC_FALL_Visibility))
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
+11
View File
@@ -195,9 +195,14 @@ Public MustInherit Class PartVM
Return m_SelFeatureVM
End Get
Set(value As BTLFeatureVM)
If Not IsNothing(m_SelFeatureVM) Then
Dim OldSelFeatureVM As BTLFeatureVM = m_SelFeatureVM
EgtResetMark(OldSelFeatureVM.nFeatureId)
End If
m_SelFeatureVM = value
If Not IsNothing(m_SelFeatureVM) Then
DirectCast(m_SelFeatureVM, BTLFeatureVM).SelGeomFeature()
EgtSetMark(m_SelFeatureVM.nFeatureId)
Else
EgtDeselectAll()
End If
@@ -478,6 +483,12 @@ Public MustInherit Class PartVM
End Get
End Property
Public ReadOnly Property ButtonIsEnabled As Boolean
Get
Return m_PartM.nProductionState < ItemState.Assigned
End Get
End Property
#End Region ' Supervisor
' definizione comandi
@@ -13,7 +13,7 @@ Public Class MachiningDbWindowV
m_MachiningDbWindowVM = MachiningDbWindowVM
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_MachiningDbWindowVM.m_CloseWindow
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_MachiningDbWindowVM.OnCloseWindow
Me.DataContext = Nothing
Me.DialogResult = bDialogResult
Me.Close()
+5 -5
View File
@@ -10,13 +10,13 @@ Imports System.Windows
' Review the values of the assembly attributes
#If DEBUG Then
<Assembly: AssemblyTitle("EgtBEAMWALL.Core Debug AnyCPU")>
<Assembly: AssemblyTitle("Aedifica.Core Debug AnyCPU")>
#Else
<Assembly: AssemblyTitle("EgtBEAMWALL.Core Release AnyCPU")>
<Assembly: AssemblyTitle("Aedifica.Core Release AnyCPU")>
#End If
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtBEAMWALL.Core")>
<Assembly: AssemblyProduct("Aedifica.Core")>
<Assembly: AssemblyCopyright("Copyright © 2020-2025 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
@@ -38,5 +38,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.7.11.10")>
<Assembly: AssemblyFileVersion("2.7.11.10")>
<Assembly: AssemblyVersion("3.1.4.7")>
<Assembly: AssemblyFileVersion("3.1.4.7")>
@@ -3,9 +3,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core"
xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
Title="{Binding Title}"
ResizeMode="NoResize" TitleBarHeight="30" IsResizable="True"
WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
MinHeight="500" MinWidth="500"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Style="{StaticResource OptimizerWindow.Dialog.NoClose}">
@@ -90,20 +91,20 @@
<Border Grid.Row="1"
Style="{StaticResource NewOpenProjectFileDialog_Border}"/>
<EgtBEAMWALLCORE:EgtDataGrid Grid.Row="1"
x:Name="MainDataGrid"
ItemsSource="{Binding ProjectList}"
SelectedItem="{Binding SelProject}"
SelectionMode="Single"
Margin="5"
BindingColumns="{Binding ProdColumns}"
RowDetailsVisibilityMode="Visible"
CellEditEnding="MainDataGrid_CellEditEnding"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}"
CellStyle="{StaticResource CellDataGrid_CustomHighLight}">
<EgwWPFBaseLib:EgwDataGrid Grid.Row="1"
x:Name="MainDataGrid"
ItemsSource="{Binding ProjectList}"
SelectedItem="{Binding SelProject}"
SelectionMode="Single"
Margin="5"
ColumnLayouts="{Binding ProdColumns}"
RowDetailsVisibilityMode="Visible"
CellEditEnding="MainDataGrid_CellEditEnding"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}"
CellStyle="{StaticResource CellDataGrid_NewOpenProject}">
<DataGrid.Resources>
<!-- ProdId -->
<DataGridTextColumn x:Key="colPRODID" Binding="{Binding sProdId}">
@@ -125,7 +126,7 @@
<ToggleButton Grid.Column="1"
IsChecked="{Binding Path=DataContext.bIsEditNameActive,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:NewOpenProjectFileDialogV}}}"
Style="{StaticResource Small_ToggleButton}">
<Image Source="\Resources\CalcPanel\Edit.png"
<Image Source="{StaticResource Edit_Image}"
Style="{StaticResource Lock_Image}"/>
</ToggleButton>
</Grid>
@@ -147,7 +148,7 @@
<DataGridTemplateColumn x:Key="colARCHIVED">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="\Resources\OpenProjectFileDialog\Archived.png"
<Image Source="{StaticResource Archived_Image}"
Visibility="{Binding Archived_Visibility}"
Style="{StaticResource Archived_Image}"/>
</DataTemplate>
@@ -166,7 +167,7 @@
</DataGrid.RowStyle>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding ProjFileList}"
<ItemsControl ItemsSource="{Binding ProjFileList}" HorizontalAlignment="Left" Margin="50,-1,0,0"
Style="{StaticResource ProjFileList_ItemsControl}">
<ItemsControl.ItemTemplate>
<DataTemplate>
@@ -216,7 +217,7 @@
</ItemsControl>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</EgtBEAMWALLCORE:EgtDataGrid>
</EgwWPFBaseLib:EgwDataGrid>
<UniformGrid Grid.Row="2"
Columns="4"
@@ -41,40 +41,30 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Friend Event m_CloseWindow(bDialogResult As Boolean)
Protected m_ProdColumns As New ObservableCollection(Of EgtDataGridColumn)
Public Property ProdColumns As ObservableCollection(Of EgtDataGridColumn)
Protected m_ProdColumns As New ObservableCollection(Of EgwWPFBaseLib.ColumnLayout)
Public Property ProdColumns As ObservableCollection(Of EgwWPFBaseLib.ColumnLayout)
Get
Return m_ProdColumns
End Get
Set(value As ObservableCollection(Of EgtDataGridColumn))
Set(value As ObservableCollection(Of EgwWPFBaseLib.ColumnLayout))
m_ProdColumns = value
End Set
End Property
Private m_colProdFile_Name As EgtDataGridColumn
Public ReadOnly Property colProdFile_Name As EgtDataGridColumn
Private m_colProdFile_Name As EgwWPFBaseLib.ColumnLayout
Public ReadOnly Property colProdFile_Name As EgwWPFBaseLib.ColumnLayout
Get
Return m_colProdFile_Name
End Get
End Property
Private m_colArchived_Name As EgtDataGridColumn
Public ReadOnly Property colArchived_Name As EgtDataGridColumn
Private m_colArchived_Name As EgwWPFBaseLib.ColumnLayout
Public ReadOnly Property colArchived_Name As EgwWPFBaseLib.ColumnLayout
Get
Return m_colArchived_Name
End Get
End Property
Protected m_ProjColumns As New ObservableCollection(Of EgtDataGridColumn)
Public Property ProjColumns As ObservableCollection(Of EgtDataGridColumn)
Get
Return m_ProjColumns
End Get
Set(value As ObservableCollection(Of EgtDataGridColumn))
m_ProjColumns = value
End Set
End Property
Protected m_ProjectType As ProjectType
Protected m_sFilter As String
@@ -388,9 +378,9 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Set(value As Boolean)
m_bViewArchived = value
WriteMainPrivateProfileString(S_OPENFILEDIALOG, K_VIEWARCHIVED, If(bViewArchived, 1, 0))
If Not IsNothing( m_colArchived_Name) Then
m_colArchived_Name.Visible = value
RefreshProjectList()
If Not IsNothing(m_colArchived_Name) Then
m_colArchived_Name.IsVisible = value
RefreshProjectList()
End If
End Set
End Property
@@ -551,8 +541,8 @@ Public MustInherit Class NewOpenProjectFileDialogVM
ProdItem.m_delIsModifiedSetUp = AddressOf SetIsEditNameActive
' carico colonne
LoadColumns()
m_colProdFile_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_NAME)
m_colArchived_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Name = COL_ARCHIVED)
m_colProdFile_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Key = COL_NAME)
m_colArchived_Name = m_ProdColumns.FirstOrDefault(Function(x) x.Key = COL_ARCHIVED)
' leggo valori per filtri
m_SelDayType = GetMainPrivateProfileInt(S_OPENFILEDIALOG, K_DAYTYPE, 0)
Select Case m_SelDayType
@@ -589,7 +579,7 @@ Public MustInherit Class NewOpenProjectFileDialogVM
Protected Sub LoadColumns()
' carico le colonne della datagrid
GetPrivateProfileColumns(S_NEWOPENPROJFILEDLG_PROD, ProdColumns)
EgwWPFBaseLib.EgwDataGrid.ReadColumnLayout(DataGridColumnsIniFile.m_sDataGridColumnsIniFile, S_NEWOPENPROJFILEDLG_PROD, ProdColumns)
' carico campi su cui eseguire il filtro di ricerca
m_BTLDateTypeList = New List(Of String)({CreateDate_Msg})
m_SelBTLDateType = BTLDateTypes.CREATEDATE
@@ -601,29 +591,14 @@ Public MustInherit Class NewOpenProjectFileDialogVM
New IdNameStruct(FilterTypes.MACHINE, Machine_Msg)})
m_SelFilterType = m_FilterTypeList.FirstOrDefault(Function(x) x.Id = FilterTypes.NULL)
NotifyPropertyChanged(NameOf(SelFilterType))
'End If
' setto la visibilità delle colonne delle EgtDataGrid
For Each col In ProjColumns
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
Next
For Each col In ProdColumns
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
Next
End Sub
Friend Function VerifySelected() As Boolean
' Salvo modifiche a colonne
EgwWPFBaseLib.EgwDataGrid.WriteColumnLayout(DataGridColumnsIniFile.m_sDataGridColumnsIniFile, S_NEWOPENPROJFILEDLG_PROD, ProdColumns)
If IsNothing(SelProject) Then Return False
Dim AllFilesInDir As IEnumerable(Of String) = Nothing
If m_ProjectType = Core.ConstBeam.ProjectType.PROJ Then
If Not IsNothing(SelProject.ProdFileVM) Then
If String.IsNullOrWhiteSpace(SelProject.ProdFileVM.sProdDirPath) OrElse Not Directory.Exists(SelProject.ProdFileVM.sProdDirPath) Then Return False
AllFilesInDir = Directory.EnumerateFiles(SelProject.ProdFileVM.sProdDirPath)
ElseIf SelProject.ProjFileList.Count > 0 Then
If String.IsNullOrWhiteSpace(SelProject.ProjFileList(0).sProjDirPath) OrElse Not Directory.Exists(SelProject.ProjFileList(0).sProjDirPath) Then Return False
AllFilesInDir = Directory.EnumerateFiles(SelProject.ProjFileList(0).sProjDirPath)
Else Return False
End If
ElseIf m_ProjectType = Core.ConstBeam.ProjectType.PROD Then
If m_ProjectType = Core.ConstBeam.ProjectType.PROD Then
If String.IsNullOrWhiteSpace(SelProject.ProdFileVM.sProdDirPath) OrElse Not Directory.Exists(SelProject.ProdFileVM.sProdDirPath) Then Return False
AllFilesInDir = Directory.EnumerateFiles(SelProject.ProdFileVM.sProdDirPath)
Else
@@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core"
xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
Title="{Binding Title}"
ResizeMode="NoResize" TitleBarHeight="30"
WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
@@ -85,17 +86,17 @@
<Border Grid.Row="1"
Style="{StaticResource NewOpenProjectFileDialog_Border}"/>
<EgtBEAMWALLCORE:EgtDataGrid Grid.Row="1"
ItemsSource="{Binding ProjectList}"
SelectedItem="{Binding SelProject}"
SelectionMode="Single"
Margin="5"
BindingColumns="{Binding ProjectColumns}"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}"
CellStyle="{StaticResource CellDataGrid_CustomHighLight}">
<EgwWPFBaseLib:EgwDataGrid Grid.Row="1"
ItemsSource="{Binding ProjectList}"
SelectedItem="{Binding SelProject}"
SelectionMode="Single"
Margin="5"
ColumnLayouts="{Binding ProjectColumns}"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}"
CellStyle="{StaticResource CellDataGrid_CustomHighLight}">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource RowDataGrid_CustomHighLight}">
<Setter Property="IsEnabled" Value="{Binding bIsEnabled}"/>
@@ -103,14 +104,14 @@
</Style>
</DataGrid.RowStyle>
<DataGrid.Resources>
<!-- ProjId -->
<!-- ProjId --><!--
<DataGridTextColumn x:Key="colPROJID" Binding="{Binding sProjId}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.Id_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:OpenProjectFileDialogV}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGridTextColumn>-->
<!-- ProdId -->
<DataGridTextColumn x:Key="colPRODID" Binding="{Binding sProdId}">
<DataGridTextColumn.HeaderTemplate>
@@ -119,14 +120,14 @@
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!-- Project Name -->
<!-- Project Name --><!--
<DataGridTextColumn x:Key="colPROJNAME" Binding="{Binding sDescription}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.BTLFileName_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:OpenProjectFileDialogV}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGridTextColumn>-->
<!-- BTL FileName -->
<DataGridTextColumn x:Key="colBTLNAME" Binding="{Binding sBTLFileName}">
<DataGridTextColumn.HeaderTemplate>
@@ -135,22 +136,22 @@
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!-- ListName -->
<!-- ListName --><!--
<DataGridTextColumn x:Key="colLISTNAME" Binding="{Binding sListName}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.ListName_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:OpenProjectFileDialogV}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!-- Exported date -->
</DataGridTextColumn>-->
<!-- Exported date --><!--
<DataGridTextColumn x:Key="colEXPDATE" Binding="{Binding dtExportDate}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.ExportDate_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:OpenProjectFileDialogV}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGridTextColumn>-->
<!-- Creation date -->
<DataGridTextColumn x:Key="colCRTDATE" Binding="{Binding dtCreateDate}">
<DataGridTextColumn.Header>
@@ -163,14 +164,14 @@
<TextBlock Text="{Binding Path=DataContext.Machine_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:OpenProjectFileDialogV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!-- Name (per Prod) -->
<!-- Name (per Prod) --><!--
<DataGridTextColumn x:Key="colNAME" Binding="{Binding sName}">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.Name_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALLCORE:OpenProjectFileDialogV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGridTextColumn>-->
</DataGrid.Resources>
</EgtBEAMWALLCORE:EgtDataGrid>
</EgwWPFBaseLib:EgwDataGrid>
<UniformGrid Grid.Row="2"
Columns="3"
@@ -69,6 +69,8 @@ Public Class OpenProjectFileDialogV
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_OpenProjFileDialogVM.m_CloseWindow
' Salvo modifiche a colonne
EgwWPFBaseLib.EgwDataGrid.WriteColumnLayout(DataGridColumnsIniFile.m_sDataGridColumnsIniFile, S_OPENPROJFILEDLG_PROD, m_OpenProjFileDialogVM.ProjectColumns)
Me.DialogResult = bDialogResult
End Sub
@@ -42,12 +42,12 @@ Public MustInherit Class OpenProjectFileDialogVM
Protected m_GoToProd As Boolean = False
Protected m_ProjectColumns As New ObservableCollection(Of EgtDataGridColumn)
Public Property ProjectColumns As ObservableCollection(Of EgtDataGridColumn)
Protected m_ProjectColumns As New ObservableCollection(Of EgwWPFBaseLib.ColumnLayout)
Public Property ProjectColumns As ObservableCollection(Of EgwWPFBaseLib.ColumnLayout)
Get
Return m_ProjectColumns
End Get
Set(value As ObservableCollection(Of EgtDataGridColumn))
Set(value As ObservableCollection(Of EgwWPFBaseLib.ColumnLayout))
m_ProjectColumns = value
End Set
End Property
@@ -408,6 +408,8 @@ Public MustInherit Class OpenProjectFileDialogVM
#End Region ' FIELDS & PROPERTIES
Sub New()
' carico colonne
LoadColumns()
' leggo valori per filtri
m_SelDayType = GetMainPrivateProfileInt(S_OPENFILEDIALOG, K_DAYTYPE, 0)
Select Case m_SelDayType
@@ -441,51 +443,28 @@ Public MustInherit Class OpenProjectFileDialogVM
Public Overridable Sub RefreshProjectList()
End Sub
Protected Sub LoadColumns(ProjectType As ProjectType)
If ProjectType = ProjectType.PROJ Then
' carico le colonne della datagrid
GetPrivateProfileColumns(S_OPENPROJFILEDLG_PROJ, ProjectColumns)
' carico campi su cui eseguire il filtro di ricerca
m_BTLDateTypeList = New List(Of String)({CreateDate_Msg, ExportDate_Msg})
m_SelBTLDateType = BTLDateTypes.CREATEDATE
NotifyPropertyChanged(NameOf(BTLDateTypeList))
NotifyPropertyChanged(NameOf(SelBTLDateType))
m_FilterTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(FilterTypes.NULL, ""),
New IdNameStruct(FilterTypes.ID, Id_Msg),
New IdNameStruct(FilterTypes.BTLFILENAME, BTLFileName_Msg),
New IdNameStruct(FilterTypes.LISTNAME, ListName_Msg),
New IdNameStruct(FilterTypes.MACHINE, Machine_Msg)})
m_SelFilterType = m_FilterTypeList.FirstOrDefault(Function(x) x.Id = FilterTypes.NULL)
NotifyPropertyChanged(NameOf(SelFilterType))
ElseIf ProjectType = ProjectType.PROD Then
' carico le colonne della datagrid
GetPrivateProfileColumns(S_OPENPROJFILEDLG_PROD, ProjectColumns)
' carico campi su cui eseguire il filtro di ricerca
m_BTLDateTypeList = New List(Of String)({CreateDate_Msg})
m_SelBTLDateType = BTLDateTypes.CREATEDATE
NotifyPropertyChanged(NameOf(BTLDateTypeList))
NotifyPropertyChanged(NameOf(SelBTLDateType))
m_FilterTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(FilterTypes.NULL, ""),
New IdNameStruct(FilterTypes.ID, Id_Msg),
New IdNameStruct(FilterTypes.BTLFILENAME, BTLFileName_Msg),
New IdNameStruct(FilterTypes.MACHINE, Machine_Msg)})
m_SelFilterType = m_FilterTypeList.FirstOrDefault(Function(x) x.Id = FilterTypes.NULL)
NotifyPropertyChanged(NameOf(SelFilterType))
End If
' setto la visibilità delle colonne delle EgtDataGrid
For Each col In ProjectColumns
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
Next
Protected Sub LoadColumns()
' carico le colonne della datagrid
EgwWPFBaseLib.EgwDataGrid.ReadColumnLayout(DataGridColumnsIniFile.m_sDataGridColumnsIniFile, S_OPENPROJFILEDLG_PROD, ProjectColumns)
' carico campi su cui eseguire il filtro di ricerca
m_BTLDateTypeList = New List(Of String)({CreateDate_Msg})
m_SelBTLDateType = BTLDateTypes.CREATEDATE
NotifyPropertyChanged(NameOf(BTLDateTypeList))
NotifyPropertyChanged(NameOf(SelBTLDateType))
m_FilterTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(FilterTypes.NULL, ""),
New IdNameStruct(FilterTypes.ID, Id_Msg),
New IdNameStruct(FilterTypes.BTLFILENAME, BTLFileName_Msg),
New IdNameStruct(FilterTypes.MACHINE, Machine_Msg)})
m_SelFilterType = m_FilterTypeList.FirstOrDefault(Function(x) x.Id = FilterTypes.NULL)
NotifyPropertyChanged(NameOf(SelFilterType))
End Sub
Friend Function VerifySelected() As Boolean
' Salvo modifiche a colonne
EgwWPFBaseLib.EgwDataGrid.WriteColumnLayout(DataGridColumnsIniFile.m_sDataGridColumnsIniFile, S_OPENPROJFILEDLG_PROD, ProjectColumns)
If IsNothing(SelProject) Then Return False
Dim AllFilesInDir As IEnumerable(Of String) = Nothing
If m_ProjectType = Core.ConstBeam.ProjectType.PROJ Then
If String.IsNullOrWhiteSpace(SelProject.sProjDirPath) OrElse Not Directory.Exists(SelProject.sProjDirPath) Then Return False
' verifico se esiste ProdId
AllFilesInDir = Directory.EnumerateFiles(SelProject.sProjDirPath)
ElseIf m_ProjectType = Core.ConstBeam.ProjectType.PROD Then
If m_ProjectType = Core.ConstBeam.ProjectType.PROD Then
If String.IsNullOrWhiteSpace(SelProject.sProdDirPath) OrElse Not Directory.Exists(SelProject.sProdDirPath) Then Return False
AllFilesInDir = Directory.EnumerateFiles(SelProject.sProdDirPath)
Else
@@ -501,25 +480,13 @@ Public MustInherit Class OpenProjectFileDialogVM
Protected Function ProjectFilter(Proj As Object) As Boolean
Dim bProjectOk As Boolean = True
If m_ProjectType = ProjectType.PROJ Then
Dim CurrProj As ProjFileVM = DirectCast(Proj, ProjFileVM)
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
(m_SelFilterType.Id = BTLDateTypes.EXPORTDATE AndAlso Not SearchDate.Contains(CurrProj.dtExportDate.Date)) OrElse
(m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
(m_SelFilterType.Id = FilterTypes.ID AndAlso CurrProj.sProjId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.LISTNAME AndAlso CurrProj.sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
ElseIf m_ProjectType = ProjectType.PROD Then
Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
(m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
(m_SelFilterType.Id = FilterTypes.ID AndAlso CurrProj.sProdId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
End If
Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso (
(m_SelFilterType.Id = BTLDateTypes.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
If m_SelFilterType.Id <> FilterTypes.NULL AndAlso m_SearchText <> String.Empty AndAlso (
(m_SelFilterType.Id = FilterTypes.ID AndAlso CurrProj.sProdId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
(m_SelFilterType.Id = FilterTypes.MACHINE AndAlso CurrProj.sMachine.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
Return bProjectOk
End Function
+552
View File
@@ -0,0 +1,552 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/EgtBEAMWALL.Core;component/Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--#region Colori per EgtWPFLib5-->
<SolidColorBrush x:Key="TextBox.Static.Border" Color="{StaticResource BeamWall_Bombay_Color}"/>
<!--#endregion Colori per EgtWPFLib5-->
<!--#region Colori Button-->
<SolidColorBrush x:Key="ButtonBasic.Static.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Static.Border" Color="{StaticResource BeamWall_DoveGray_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.MouseOver.Background" Color="{StaticResource BeamWall_FrenchPass_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.MouseOver.Border" Color="{StaticResource BeamWall_BostonBlue_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Pressed.Background" Color="{StaticResource BeamWall_TropicalBlue_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Pressed.Border" Color="{StaticResource BeamWall_Calypso_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Disabled.Background" Color="{StaticResource BeamWall_WildSand_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Disabled.Border" Color="{StaticResource BeamWall_Bombay_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Disabled.Foreground" Color="{StaticResource BeamWall_Gray_Color}"/>
<SolidColorBrush x:Key="Button.Static.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Button.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Button.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="Button.MouseOver.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Button.MouseOver.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Button.Pressed.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Button.Pressed.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Button.Disabled.Background" Color="{StaticResource BeamWall_Glacier_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Button.Disabled.Border" Color="{StaticResource BeamWall_Glacier_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Button.Disabled.Foreground" Color="{StaticResource BeamWall_White_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Button.TitleBar.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<LinearGradientBrush x:Key="Button.MainMenu.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource BeamWall_Kashmir_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0.65"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Button.MainMenu.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Button.General.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Button.PrManagerNew.Background" Color="Transparent"/>
<!--#endregion Colori Button-->
<!--#region Colori ScrollBar-->
<SolidColorBrush x:Key="ScrollBar.Static.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Button.Static.Background" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori ScrollBar-->
<!--#region Colori ComboBox-->
<SolidColorBrush x:Key="ComboBox.Static.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Border" Color="{StaticResource BeamWall_Bombay_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border" Color="Transparent"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border" Color="{StaticResource BeamWall_Seagull_Color}"/>
<LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource BeamWall_Selago_Color}" Offset="0.0"/>
<GradientStop Color="{StaticResource BeamWall_HawkesBlue_Color}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border" Color="{StaticResource BeamWall_Seagull_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border" Color="{StaticResource BeamWall_CornflowerBlue_Color}"/>
<LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource BeamWall_HawkesBlue_Color}" Offset="0.0"/>
<GradientStop Color="{StaticResource BeamWall_FrenchPass_Color}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border" Color="{StaticResource BeamWall_CornflowerBlue_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Glyph" Color="{StaticResource BeamWall_Silver_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border" Color="{StaticResource BeamWall_Silver_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border" Color="Transparent"/>
<!--#endregion Colori ComboBox-->
<!--#region Colori Expander-->
<SolidColorBrush x:Key="Expander.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="Expander.Static.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Expander.Static.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Expander.Static.Circle.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Expander.Static.Circle.Fill" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Expander.Static.Arrow.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Expander.MouseOver.Circle.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.MouseOver.Circle.Fill" Color="{StaticResource BeamWall_AliceBlue_Color}"/>
<SolidColorBrush x:Key="Expander.MouseOver.Arrow.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.Pressed.Circle.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.Pressed.Circle.Fill" Color="{StaticResource BeamWall_PattensBlue_Color}"/>
<SolidColorBrush x:Key="Expander.Pressed.Arrow.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.Disabled.Circle.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Expander.Disabled.Circle.Fill" Color="{StaticResource BeamWall_Mercury_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Expander.Disabled.Arrow.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}" Opacity="0.5"/>
<!--#endregion Colori Expander-->
<!--#region Colori ListBox-->
<SolidColorBrush x:Key="ListBox.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.NewAddFeature.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureNotSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureNotSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.MacroCustom.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.MacroDefault.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.FeatureManager.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.LeftPanel.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.Strategy.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.StrategyIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.StrategyIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.StrategyNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.StrategyNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.BTLNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTL.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLPartIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLPartIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLPartNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.BTLPartNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="Item.MouseOver.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Item.MouseOver.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Item.MouseOver.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Item.SelectedActive.Background" Color="{StaticResource BeamWall_Keppel_Color}"/>
<SolidColorBrush x:Key="Item.SelectedActive.Border" Color="{StaticResource BeamWall_Keppel_Color}"/>
<SolidColorBrush x:Key="Item.SelectedActive.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Item.SelectedInactive.Background" Color="#3DDADADA"/>
<SolidColorBrush x:Key="Item.SelectedInactive.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<!--#endregion Colori ListBox-->
<!--#region Colori TabItem-->
<LinearGradientBrush x:Key="TabItem.Static.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="0.85"/>
<GradientStop Color="{StaticResource BeamWall_LinkWater_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Static.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TabItem.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="TabItem.MouseOver.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="TabItem.MouseOver.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<LinearGradientBrush x:Key="TabItem.Selected.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource BeamWall_Kashmir_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0.85"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Selected.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="TabItem.Disabled.Background" Color="{StaticResource BeamWall_Gallery_Color}"/>
<SolidColorBrush x:Key="TabItem.Disabled.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<!--#endregion Colori TabItem-->
<!--#region Colori TabControl-->
<SolidColorBrush x:Key="TabControl.Static.EgtManageDialog.Background" Color="Transparent"/>
<SolidColorBrush x:Key="TabControl.Static.EgtManageDialog.Border" Color="{StaticResource BeamWall_White_Color}"/>
<LinearGradientBrush x:Key="TabControl.Static.Generic.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="TabControl.Optimizer.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion Colori TabControl-->
<!--#region Colori ScrollViewer-->
<LinearGradientBrush x:Key="ScrollViewer.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Silver_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Alto_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion Colori ScrollViewer-->
<!--#region Colori Grid-->
<LinearGradientBrush x:Key="Grid.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.65"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Grid.Static.ExpanderDown.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Grid.Static.ExpanderUp.Background" Color="Transparent"/>
<SolidColorBrush x:Key="Grid.Statistics.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Grid.UserAdmin.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<!--#endregion Colori Grid-->
<!--#region Colori GridSplitter-->
<SolidColorBrush x:Key="GridSplitter.Width.Background" Color="Transparent"/>
<SolidColorBrush x:Key="GridSplitter.Height.Background" Color="Transparent"/>
<!--#endregion Colori GridSplitter-->
<!--#region Colori TreeView-->
<LinearGradientBrush x:Key="TreeView.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="TreeView.Static.EgtManageDialog.Background" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori TreeView-->
<!--#region Colori TextBlock-->
<SolidColorBrush x:Key="TextBlock.Static.First.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TextBlock.Static.Second.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.Static.Third.Foreground" Color="{StaticResource BeamWall_DarkGray_Color}"/>
<SolidColorBrush x:Key="TextBlock.Static.Fouth.Foreground" Color="{StaticResource BeamWall_Black_Color}"/>
<SolidColorBrush x:Key="TextBlock.UserAdmin.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TextBlock.StrategyModify.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.CALC_ROT.Foreground" Color="{StaticResource BeamWall_Blue_Color}"/>
<SolidColorBrush x:Key="TextBlock.Prod.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="TextBlock.Prod.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TextBlock.RawPartList.Foreground" Color="{StaticResource BeamWall_Orange_Color}"/>
<SolidColorBrush x:Key="TextBlock.Error.Foreground" Color="{StaticResource BeamWall_Red_Color}"/>
<SolidColorBrush x:Key="TextBlock.AlternationIndex_0.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.AlternationIndex_1.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.AlternationIndexIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion TextBlock-->
<!--#region Colori StackPanel-->
<SolidColorBrush x:Key="StackPanel.Static.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.BTLTotParts.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.BTLTotTime.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.BTLRemainingTime.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.RawPart.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.Statistics.Background" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori StackPanel-->
<!--#region Colori GroupBox-->
<SolidColorBrush x:Key="GroupBox.Static.Border" Color="{StaticResource BeamWall_Geyser_Color}"/>
<SolidColorBrush x:Key="GroupBox.Static.OpenProjec.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="GroupBox.PDFPreview.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="GroupBox.MachinePanel.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<!--#endregion Colori GroupBox-->
<!--#region Colori Border-->
<SolidColorBrush x:Key="Border.Static.GroupBox.First.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.Static.GroupBox.Second.Border" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Border.Static.Optmizer.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.Static.EgtManageDialog.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.Static.TitleBar.Background" Color="{StaticResource BeamWall_Casper_Color}"/>
<SolidColorBrush x:Key="Border.Static.TitleBar.Border" Color="{StaticResource BeamWall_Casper_Color}"/>
<SolidColorBrush x:Key="Border.Static.AboutBoxV.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Border.Static.AboutBox.Border" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Border.ButtonTitleBar.Background" Color="Transparent"/>
<SolidColorBrush x:Key="Border.EgwWindow.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.ControlTemplete.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.ControlTemplete.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<LinearGradientBrush x:Key="Border.WithoutTitleBar.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Border.EgtHexItem.Border" Color="{StaticResource BeamWall_Gold_Color}"/>
<SolidColorBrush x:Key="Border.Parameter.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.Parameter.Border" Color="{StaticResource BeamWall_Gray_Color}"/>
<SolidColorBrush x:Key="Border.NewAddFeature.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.AlternationIndex.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.ItemContainer.Background" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="Border.ItemContainer.Border" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="Border.ItemContainerIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Border.ItemContainerIsSelected.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Border.Strategy.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.BTL.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.ForcedStrategyBTL.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.BTLPart.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.TotalTime.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.TotalTime.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.DoneTime.Background" Color="{StaticResource BeamWall_FruitSalad_Color}"/>
<SolidColorBrush x:Key="Border.DoneTime.Border" Color="{StaticResource BeamWall_FruitSalad_Color}"/>
<SolidColorBrush x:Key="Border.RemainingTime.Background" Color="{StaticResource BeamWall_FuelYellow_Color}"/>
<SolidColorBrush x:Key="Border.RemainingTime.Border" Color="{StaticResource BeamWall_FuelYellow_Color}"/>
<SolidColorBrush x:Key="Border.ProjectType.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Border.ProjectType.Border" Color="{StaticResource BeamWall_DarkGray_Color}"/>
<SolidColorBrush x:Key="Border.AddFeature.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.PRC.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.Custom.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.MacroCustom.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.Default.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.MacroDefault.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.BTLPartManager.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Border.BTLPartManager.Border" Color="{StaticResource BeamWall_Teal_Color}"/>
<SolidColorBrush x:Key="Border.SetUp.Border" Color="{StaticResource BeamWall_Indigo_Color}"/>
<SolidColorBrush x:Key="Border.TopPanel.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.TopPanel.Border" Color="{StaticResource BeamWall_Gray_Color}"/>
<!--#endregion Colori Border-->
<!--#region Colori Rectangle-->
<SolidColorBrush x:Key="Rectangle.Static.Stroke" Color="{StaticResource BeamWall_Black_Color}"/>
<SolidColorBrush x:Key="Rectangle.EgtColorPicker.Stroke" Color="{StaticResource BeamWall_Black_Color}"/>
<!--#endregion Colori Rectangle-->
<!--#region Colori StatusBar-->
<SolidColorBrush x:Key="StatusBar.Static.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<!--#endregion Colori StatusBar-->
<!--#region Colori DatePicker-->
<SolidColorBrush x:Key="DatePicker.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="DatePicker.Static.Border" Color="Transparent"/>
<SolidColorBrush x:Key="DatePickerTextBox.Static.Background" Color="Transparent"/>
<!--#endregion Colori DatePicker-->
<!--#region Colori Calendar-->
<LinearGradientBrush x:Key="Calendar.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_LinkWater_Color}" Offset="0.16"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="Calendar.Static.Border" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_LinkWater_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0.75"/>
<GradientStop Color="{StaticResource BeamWall_Kashmir_Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion Colori Calendar-->
<!--#region Colori DataGrid-->
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Main.Background" Color="{StaticResource BeamWall_Teal_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Main.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Feature.Background" Color="{StaticResource BeamWall_Keppel_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Feature.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.PParam.Background" Color="{StaticResource BeamWall_Downy_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.PParam.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.RawPart.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.RawPart.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="DataGrid.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="DataGrid.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="DataGrid.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Selected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Selected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Selected.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Selected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Selected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Selected.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<!--#endregion Colori DataGrid-->
<!--#region Colori OptimizerWindow-->
<LinearGradientBrush x:Key="OptimizerWindow.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="OptimizerWindow.Static.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="OptimizerWindow.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<!--#endregion Colori OtimizerWindow-->
<!--#region Colori EgtCustomWindow-->
<LinearGradientBrush x:Key="EgtCustomWindow.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="EgtCustomWindow.Static.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="EgtCustomWindow.Static.TitleBarBorder" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="EgtCustomWindow.Static.TitleBarForeground" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori EgtCustomWindow-->
<!--#region Colori EgtFloatingPanel-->
<SolidColorBrush x:Key="EgtFloatingPanel.Static.Background" Color="{StaticResource BeamWall_Gray_Color}"/>
<SolidColorBrush x:Key="EgtFloatingPanel.Static.Border" Color="{StaticResource BeamWall_Gray_Color}"/>
<!--#endregion Colori EgtFloatingPanel-->
<!--#region Colori EgtHexItem-->
<SolidColorBrush x:Key="EgtHexItem.Static.Background" Color="{StaticResource BeamWall_CornflowerBlue_Color}"/>
<SolidColorBrush x:Key="EgtHexItem.Static.Border" Color="{StaticResource BeamWall_Black_Color}"/>
<!--#endregion Colori EgtHexItem-->
<!--#region Colori Ellipse-->
<SolidColorBrush x:Key="Ellipse.Static.Fill" Color="{StaticResource BeamWall_Blue_Color}"/>
<SolidColorBrush x:Key="Ellipse.Parameter.Fill" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Ellipse.ParameterIsChecked.Fill" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Ellipse.UpdateBTL.Fill" Color="{StaticResource BeamWall_Red_Color}"/>
<!--#endregion Colori Ellipse-->
<!--#region Colori ToggleButton-->
<SolidColorBrush x:Key="ToggleButton.Static.Background" Color="Transparent"/>
<!--#endregion Colori ToggleButton-->
<!--#region Colori UniformGrid-->
<SolidColorBrush x:Key="UniformGrid.LeftPanel.Background" Color="{DynamicResource BeamWall_LinkWater_Color}"/>
<!--#endregion UniformGrid-->
<!--#region Colori ToolTip-->
<SolidColorBrush x:Key="ToolTip.PParameters.Background" Color="{DynamicResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ToolTip.PParameters.Foreground" Color="{DynamicResource BeamWall_White_Color}"/>
<!--#endregion Colori ToolTip-->
</ResourceDictionary>
@@ -0,0 +1,552 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/EgtBEAMWALL.Core;component/Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--#region Colori per EgtWPFLib5-->
<SolidColorBrush x:Key="TextBox.Static.Border" Color="{StaticResource BeamWall_Bombay_Color}"/>
<!--#endregion Colori per EgtWPFLib5-->
<!--#region Colori Button-->
<SolidColorBrush x:Key="ButtonBasic.Static.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Static.Border" Color="{StaticResource BeamWall_DoveGray_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.MouseOver.Background" Color="{StaticResource BeamWall_FrenchPass_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.MouseOver.Border" Color="{StaticResource BeamWall_BostonBlue_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Pressed.Background" Color="{StaticResource BeamWall_TropicalBlue_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Pressed.Border" Color="{StaticResource BeamWall_Calypso_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Disabled.Background" Color="{StaticResource BeamWall_WildSand_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Disabled.Border" Color="{StaticResource BeamWall_Bombay_Color}"/>
<SolidColorBrush x:Key="ButtonBasic.Disabled.Foreground" Color="{StaticResource BeamWall_Gray_Color}"/>
<SolidColorBrush x:Key="Button.Static.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Button.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Button.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="Button.MouseOver.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Button.MouseOver.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Button.Pressed.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Button.Pressed.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Button.Disabled.Background" Color="{StaticResource BeamWall_Glacier_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Button.Disabled.Border" Color="{StaticResource BeamWall_Glacier_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Button.Disabled.Foreground" Color="{StaticResource BeamWall_White_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Button.TitleBar.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<LinearGradientBrush x:Key="Button.MainMenu.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource BeamWall_Kashmir_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0.65"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Button.MainMenu.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Button.General.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Button.PrManagerNew.Background" Color="Transparent"/>
<!--#endregion Colori Button-->
<!--#region Colori ScrollBar-->
<SolidColorBrush x:Key="ScrollBar.Static.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ScrollBar.Button.Static.Background" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori ScrollBar-->
<!--#region Colori ComboBox-->
<SolidColorBrush x:Key="ComboBox.Static.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Border" Color="{StaticResource BeamWall_Bombay_Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border" Color="Transparent"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border" Color="{StaticResource BeamWall_Seagull_Color}"/>
<LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource BeamWall_Selago_Color}" Offset="0.0"/>
<GradientStop Color="{StaticResource BeamWall_HawkesBlue_Color}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border" Color="{StaticResource BeamWall_Seagull_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Glyph" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border" Color="{StaticResource BeamWall_CornflowerBlue_Color}"/>
<LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource BeamWall_HawkesBlue_Color}" Offset="0.0"/>
<GradientStop Color="{StaticResource BeamWall_FrenchPass_Color}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border" Color="{StaticResource BeamWall_CornflowerBlue_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Glyph" Color="{StaticResource BeamWall_Silver_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border" Color="{StaticResource BeamWall_Silver_Color}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border" Color="Transparent"/>
<!--#endregion Colori ComboBox-->
<!--#region Colori Expander-->
<SolidColorBrush x:Key="Expander.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="Expander.Static.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Expander.Static.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Expander.Static.Circle.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Expander.Static.Circle.Fill" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Expander.Static.Arrow.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Expander.MouseOver.Circle.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.MouseOver.Circle.Fill" Color="{StaticResource BeamWall_AliceBlue_Color}"/>
<SolidColorBrush x:Key="Expander.MouseOver.Arrow.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.Pressed.Circle.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.Pressed.Circle.Fill" Color="{StaticResource BeamWall_PattensBlue_Color}"/>
<SolidColorBrush x:Key="Expander.Pressed.Arrow.Stroke" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Expander.Disabled.Circle.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Expander.Disabled.Circle.Fill" Color="{StaticResource BeamWall_Mercury_Color}" Opacity="0.5"/>
<SolidColorBrush x:Key="Expander.Disabled.Arrow.Stroke" Color="{StaticResource BeamWall_RegentStBlue_Color}" Opacity="0.5"/>
<!--#endregion Colori Expander-->
<!--#region Colori ListBox-->
<SolidColorBrush x:Key="ListBox.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.NewAddFeature.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureNotSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.NewAddFeatureNotSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.MacroCustom.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.MacroDefault.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.FeatureManager.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.LeftPanel.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.Strategy.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.StrategyIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.StrategyIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.StrategyNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.StrategyNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.BTLNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTL.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.ForcedStrategyBTLNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLPartIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLPartIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="ListBox.BTLPartNoSelected.Background" Color="Transparent"/>
<SolidColorBrush x:Key="ListBox.BTLPartNoSelected.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="Item.MouseOver.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Item.MouseOver.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Item.MouseOver.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Item.SelectedActive.Background" Color="{StaticResource BeamWall_Keppel_Color}"/>
<SolidColorBrush x:Key="Item.SelectedActive.Border" Color="{StaticResource BeamWall_Keppel_Color}"/>
<SolidColorBrush x:Key="Item.SelectedActive.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Item.SelectedInactive.Background" Color="#3DDADADA"/>
<SolidColorBrush x:Key="Item.SelectedInactive.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<!--#endregion Colori ListBox-->
<!--#region Colori TabItem-->
<LinearGradientBrush x:Key="TabItem.Static.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="0.85"/>
<GradientStop Color="{StaticResource BeamWall_LinkWater_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Static.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TabItem.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="TabItem.MouseOver.Background" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="TabItem.MouseOver.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<LinearGradientBrush x:Key="TabItem.Selected.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource BeamWall_Kashmir_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0.85"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Selected.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="TabItem.Disabled.Background" Color="{StaticResource BeamWall_Gallery_Color}"/>
<SolidColorBrush x:Key="TabItem.Disabled.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<!--#endregion Colori TabItem-->
<!--#region Colori TabControl-->
<SolidColorBrush x:Key="TabControl.Static.EgtManageDialog.Background" Color="Transparent"/>
<SolidColorBrush x:Key="TabControl.Static.EgtManageDialog.Border" Color="{StaticResource BeamWall_White_Color}"/>
<LinearGradientBrush x:Key="TabControl.Static.Generic.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="TabControl.Optimizer.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion Colori TabControl-->
<!--#region Colori ScrollViewer-->
<LinearGradientBrush x:Key="ScrollViewer.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Silver_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Alto_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion Colori ScrollViewer-->
<!--#region Colori Grid-->
<LinearGradientBrush x:Key="Grid.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.65"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Grid.Static.ExpanderDown.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Grid.Static.ExpanderUp.Background" Color="Transparent"/>
<SolidColorBrush x:Key="Grid.Statistics.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Grid.UserAdmin.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<!--#endregion Colori Grid-->
<!--#region Colori GridSplitter-->
<SolidColorBrush x:Key="GridSplitter.Width.Background" Color="Transparent"/>
<SolidColorBrush x:Key="GridSplitter.Height.Background" Color="Transparent"/>
<!--#endregion Colori GridSplitter-->
<!--#region Colori TreeView-->
<LinearGradientBrush x:Key="TreeView.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="TreeView.Static.EgtManageDialog.Background" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori TreeView-->
<!--#region Colori TextBlock-->
<SolidColorBrush x:Key="TextBlock.Static.First.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TextBlock.Static.Second.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.Static.Third.Foreground" Color="{StaticResource BeamWall_DarkGray_Color}"/>
<SolidColorBrush x:Key="TextBlock.Static.Fouth.Foreground" Color="{StaticResource BeamWall_Black_Color}"/>
<SolidColorBrush x:Key="TextBlock.UserAdmin.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TextBlock.StrategyModify.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.CALC_ROT.Foreground" Color="{StaticResource BeamWall_Blue_Color}"/>
<SolidColorBrush x:Key="TextBlock.Prod.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="TextBlock.Prod.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="TextBlock.RawPartList.Foreground" Color="{StaticResource BeamWall_Orange_Color}"/>
<SolidColorBrush x:Key="TextBlock.Error.Foreground" Color="{StaticResource BeamWall_Red_Color}"/>
<SolidColorBrush x:Key="TextBlock.AlternationIndex_0.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.AlternationIndex_1.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="TextBlock.AlternationIndexIsSelected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion TextBlock-->
<!--#region Colori StackPanel-->
<SolidColorBrush x:Key="StackPanel.Static.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.BTLTotParts.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.BTLTotTime.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.BTLRemainingTime.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.RawPart.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="StackPanel.Statistics.Background" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori StackPanel-->
<!--#region Colori GroupBox-->
<SolidColorBrush x:Key="GroupBox.Static.Border" Color="{StaticResource BeamWall_Geyser_Color}"/>
<SolidColorBrush x:Key="GroupBox.Static.OpenProjec.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="GroupBox.PDFPreview.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="GroupBox.MachinePanel.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<!--#endregion Colori GroupBox-->
<!--#region Colori Border-->
<SolidColorBrush x:Key="Border.Static.GroupBox.First.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.Static.GroupBox.Second.Border" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Border.Static.Optmizer.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.Static.EgtManageDialog.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.Static.TitleBar.Background" Color="{StaticResource BeamWall_Casper_Color}"/>
<SolidColorBrush x:Key="Border.Static.TitleBar.Border" Color="{StaticResource BeamWall_Casper_Color}"/>
<SolidColorBrush x:Key="Border.Static.AboutBoxV.Border" Color="{StaticResource BeamWall_RegentStBlue_Color}"/>
<SolidColorBrush x:Key="Border.Static.AboutBox.Border" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Border.ButtonTitleBar.Background" Color="Transparent"/>
<SolidColorBrush x:Key="Border.EgwWindow.Border" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.ControlTemplete.Background" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.ControlTemplete.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<LinearGradientBrush x:Key="Border.WithoutTitleBar.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Border.EgtHexItem.Border" Color="{StaticResource BeamWall_Gold_Color}"/>
<SolidColorBrush x:Key="Border.Parameter.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.Parameter.Border" Color="{StaticResource BeamWall_Gray_Color}"/>
<SolidColorBrush x:Key="Border.NewAddFeature.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.AlternationIndex.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.ItemContainer.Background" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="Border.ItemContainer.Border" Color="{StaticResource BeamWall_LinkWater_Color}"/>
<SolidColorBrush x:Key="Border.ItemContainerIsSelected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Border.ItemContainerIsSelected.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Border.Strategy.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.BTL.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.ForcedStrategyBTL.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.BTLPart.Border" Color="Transparent"/>
<SolidColorBrush x:Key="Border.TotalTime.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.TotalTime.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.DoneTime.Background" Color="{StaticResource BeamWall_FruitSalad_Color}"/>
<SolidColorBrush x:Key="Border.DoneTime.Border" Color="{StaticResource BeamWall_FruitSalad_Color}"/>
<SolidColorBrush x:Key="Border.RemainingTime.Background" Color="{StaticResource BeamWall_FuelYellow_Color}"/>
<SolidColorBrush x:Key="Border.RemainingTime.Border" Color="{StaticResource BeamWall_FuelYellow_Color}"/>
<SolidColorBrush x:Key="Border.ProjectType.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="Border.ProjectType.Border" Color="{StaticResource BeamWall_DarkGray_Color}"/>
<SolidColorBrush x:Key="Border.AddFeature.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.PRC.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.Custom.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.MacroCustom.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.Default.Background" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Border.MacroDefault.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Border.BTLPartManager.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="Border.BTLPartManager.Border" Color="{StaticResource BeamWall_Teal_Color}"/>
<SolidColorBrush x:Key="Border.SetUp.Border" Color="{StaticResource BeamWall_Indigo_Color}"/>
<SolidColorBrush x:Key="Border.TopPanel.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<SolidColorBrush x:Key="Border.TopPanel.Border" Color="{StaticResource BeamWall_Gray_Color}"/>
<!--#endregion Colori Border-->
<!--#region Colori Rectangle-->
<SolidColorBrush x:Key="Rectangle.Static.Stroke" Color="{StaticResource BeamWall_Black_Color}"/>
<SolidColorBrush x:Key="Rectangle.EgtColorPicker.Stroke" Color="{StaticResource BeamWall_Black_Color}"/>
<!--#endregion Colori Rectangle-->
<!--#region Colori StatusBar-->
<SolidColorBrush x:Key="StatusBar.Static.Background" Color="{StaticResource BeamWall_Alto_Color}"/>
<!--#endregion Colori StatusBar-->
<!--#region Colori DatePicker-->
<SolidColorBrush x:Key="DatePicker.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="DatePicker.Static.Border" Color="Transparent"/>
<SolidColorBrush x:Key="DatePickerTextBox.Static.Background" Color="Transparent"/>
<!--#endregion Colori DatePicker-->
<!--#region Colori Calendar-->
<LinearGradientBrush x:Key="Calendar.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_LinkWater_Color}" Offset="0.16"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="Calendar.Static.Border" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_LinkWater_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_RegentStBlue_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_Glacier_Color}" Offset="0.75"/>
<GradientStop Color="{StaticResource BeamWall_Kashmir_Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion Colori Calendar-->
<!--#region Colori DataGrid-->
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Main.Background" Color="{StaticResource BeamWall_Teal_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Main.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Feature.Background" Color="{StaticResource BeamWall_Keppel_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.Feature.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.PParam.Background" Color="{StaticResource BeamWall_Downy_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.PParam.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.RawPart.Background" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="DataGridColumnHeader.Static.RawPart.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="DataGrid.Static.Background" Color="Transparent"/>
<SolidColorBrush x:Key="DataGrid.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="DataGrid.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Static.Foreground" Color="{StaticResource BeamWall_Corduroy_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Selected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Selected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="RowDataGrid.Selected.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Selected.Background" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Selected.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="CellDataGrid.Selected.Border" Color="{StaticResource BeamWall_FountainBlue_Color}"/>
<!--#endregion Colori DataGrid-->
<!--#region Colori OptimizerWindow-->
<LinearGradientBrush x:Key="OptimizerWindow.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="OptimizerWindow.Static.Foreground" Color="{StaticResource BeamWall_White_Color}"/>
<SolidColorBrush x:Key="OptimizerWindow.Static.Border" Color="{StaticResource BeamWall_Glacier_Color}"/>
<!--#endregion Colori OtimizerWindow-->
<!--#region Colori EgtCustomWindow-->
<LinearGradientBrush x:Key="EgtCustomWindow.Static.Background" EndPoint="0.5,1" StartPoint="0.35,0">
<GradientStop Color="{StaticResource BeamWall_Mercury_Color}" Offset="0"/>
<GradientStop Color="{StaticResource BeamWall_Concrete_Color}" Offset="0.45"/>
<GradientStop Color="{StaticResource BeamWall_White_Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="EgtCustomWindow.Static.Border" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="EgtCustomWindow.Static.TitleBarBorder" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="EgtCustomWindow.Static.TitleBarForeground" Color="{StaticResource BeamWall_White_Color}"/>
<!--#endregion Colori EgtCustomWindow-->
<!--#region Colori EgtFloatingPanel-->
<SolidColorBrush x:Key="EgtFloatingPanel.Static.Background" Color="{StaticResource BeamWall_Gray_Color}"/>
<SolidColorBrush x:Key="EgtFloatingPanel.Static.Border" Color="{StaticResource BeamWall_Gray_Color}"/>
<!--#endregion Colori EgtFloatingPanel-->
<!--#region Colori EgtHexItem-->
<SolidColorBrush x:Key="EgtHexItem.Static.Background" Color="{StaticResource BeamWall_CornflowerBlue_Color}"/>
<SolidColorBrush x:Key="EgtHexItem.Static.Border" Color="{StaticResource BeamWall_Black_Color}"/>
<!--#endregion Colori EgtHexItem-->
<!--#region Colori Ellipse-->
<SolidColorBrush x:Key="Ellipse.Static.Fill" Color="{StaticResource BeamWall_Blue_Color}"/>
<SolidColorBrush x:Key="Ellipse.Parameter.Fill" Color="{StaticResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="Ellipse.ParameterIsChecked.Fill" Color="{StaticResource BeamWall_Kashmir_Color}"/>
<SolidColorBrush x:Key="Ellipse.UpdateBTL.Fill" Color="{StaticResource BeamWall_Red_Color}"/>
<!--#endregion Colori Ellipse-->
<!--#region Colori ToggleButton-->
<SolidColorBrush x:Key="ToggleButton.Static.Background" Color="Transparent"/>
<!--#endregion Colori ToggleButton-->
<!--#region Colori UniformGrid-->
<SolidColorBrush x:Key="UniformGrid.LeftPanel.Background" Color="{DynamicResource BeamWall_LinkWater_Color}"/>
<!--#endregion UniformGrid-->
<!--#region Colori ToolTip-->
<SolidColorBrush x:Key="ToolTip.PParameters.Background" Color="{DynamicResource BeamWall_Glacier_Color}"/>
<SolidColorBrush x:Key="ToolTip.PParameters.Foreground" Color="{DynamicResource BeamWall_White_Color}"/>
<!--#endregion Colori ToolTip-->
</ResourceDictionary>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,11 @@
Public Class ThemesDataServiceM
#Region "FIELDS & PROPERTIES"
Public Property Name As String
Public Property Path As String
Public Property AssemblyName As String
#End Region ' Fields & Properties
End Class
@@ -0,0 +1,101 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Resources
Imports System.Windows
Imports EgtUILib
Public Class ThemesDataServiceVM
#Region "FIELDS & PROPERTIES"
Private ReadOnly m_Themes As New ObservableCollection(Of ThemesDataServiceM)()
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
ScanResources()
ScanDisk(THEMES_FOLDER)
End Sub
#End Region ' Constructor
#Region "METHODS"
''' <summary>
''' Restiusce il nome derivato dalla cartella
''' </summary>
''' <param name="path"></param>
''' <param name="pathChar"></param>
''' <param name="fileEnding"></param>
''' <returns></returns>
Private Function GetNameFromPath(ByVal path As String, ByVal Optional pathChar As Char = "/"c, ByVal Optional fileEnding As String = "Theme.xaml") As String
Dim name As String = path.Substring(path.LastIndexOf(pathChar) + 1)
name = name.Substring(0, name.Length - fileEnding.Length)
name = Char.ToUpper(name(0)) & If(name.Length > 1, name.Substring(1), "")
Return name
End Function
''' <summary>
''' Ricerca i file dizionario contente il tema
''' </summary>
''' <param name="fileEnding"></param>
Private Sub ScanResources(ByVal Optional fileEnding As String = DICTIONARY_FILENAME)
Dim assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim resourceNames = assembly.GetManifestResourceNames()
For Each resourceName In resourceNames
Dim [set] As New ResourceSet(assembly.GetManifestResourceStream(resourceName))
For Each item As DictionaryEntry In [set]
Dim fileName As String = item.Key.ToString()
If fileName.ToLower().EndsWith(fileEnding.ToLower()) Then
m_Themes.Add(New ThemesDataServiceM() With {
.Name = GetNameFromPath(fileName),
.Path = "pack://application:,,,/WpfTheme;component/" & fileName
})
End If
Next
Next
End Sub
''' <summary>
''' Ricerca i temi presenti nel programma
''' </summary>
''' <param name="relativePath"></param>
Private Sub ScanDisk(ByVal relativePath As String)
If Directory.Exists(AppDomain.CurrentDomain.BaseDirectory & relativePath) Then
Dim themeFiles = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory & relativePath, "*" & DICTIONARY_FILENAME, SearchOption.AllDirectories)
For Each fileName In themeFiles
m_Themes.Add(New ThemesDataServiceM() With {
.Name = GetNameFromPath(fileName, "\"c),
.Path = fileName
})
Next
End If
End Sub
''' <summary>
''' Funzione che permette di selezionare e applicare il tema
''' </summary>
''' <param name="theme"></param>
Public Sub SetTheme(ByVal theme As ThemesDataServiceM)
If theme Is Nothing Then
EgtOutLog("Error setting theme: Attempting to set theme to null.")
Return
End If
Try
Dim uri As New Uri($"pack://application:,,,/{theme.AssemblyName};component/{theme.Path}", UriKind.Absolute)
Application.Current.Resources.MergedDictionaries(1).Source = uri
Catch ex As Exception
EgtOutLog("Error setting theme: " & ex.Message)
End Try
End Sub
#End Region ' Methods
End Class
@@ -1,7 +1,7 @@
Imports System.Windows
Imports EgtWPFLib5
Imports System.Collections.ObjectModel
Imports System.Windows
Imports EgtUILib
Imports System.Collections.ObjectModel
Imports EgtWPFLib5
Public Module DimensionsIniFile
@@ -32,6 +32,11 @@ Public Module DimensionsIniFile
End If
Index += 1
End While
If GridDimsList.Count = 0 Then
For Ind As Integer = 0 To 4
GridDimsList.Add(New GridDimension(GridName, Ind, 0, New GridLength(1, GridUnitType.Star)))
Next
End If
For Each GridDimsItem In GridDimsList
GridDimsItem.GridDimensions = GridDimsList
Next
@@ -54,8 +59,4 @@ Public Module DimensionsIniFile
Return WritePrivateProfileString(GridName, Index, sValue, m_sDimensionsIniFile)
End Function
Private Function GetGridLengthFromIndexAndType(GridDimsList As List(Of GridDimension), Index As Integer, DimType As DimensionType) As GridDimension
Return GridDimsList.FirstOrDefault(Function(x) x.Index = Index And x.DimType = DimType)
End Function
End Module
+1
View File
@@ -5,6 +5,7 @@
WARNING = 2
ERROR_ = 3
COLLISION = 4
SECTION = 5
End Enum
Public Enum EventType
+7 -7
View File
@@ -6,43 +6,43 @@
<Button ToolTip="{Binding ZoomAllToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding ZoomAllCommand}">
<Image Source="/Resources/ViewPanel/ZoomAll.png"
<Image Source="{StaticResource ZoomAll_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding LookFromTopToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding TopViewCommand}">
<Image Source="/Resources/ViewPanel/LookFromTOP.png"
<Image Source="{StaticResource LookFromTOP_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding LookFromFrontToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding FrontViewCommand}">
<Image Source="/Resources/ViewPanel/LookFromFRONT.png"
<Image Source="{StaticResource LookFromFRONT_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding LookFromRightToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding RightViewCommand}">
<Image Source="/Resources/ViewPanel/LookFromRIGHT.png"
<Image Source="{StaticResource LookFromRIGHT_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding LookFromBackToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding BackViewCommand}">
<Image Source="/Resources/ViewPanel/LookFromBACK.png"
<Image Source="{StaticResource LookFromBACK_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding LookFromLeftToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding LeftViewCommand}">
<Image Source="/Resources/ViewPanel/LookFromLEFT.png"
<Image Source="{StaticResource LookFromLEFT_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding LookFromIso_SWToolTip}"
Style="{StaticResource Mach_Button}"
Command="{Binding IsoViewSWCommand}">
<Image Source="/Resources/ViewPanel/LookFromISO_SW.png"
<Image Source="{StaticResource LookFromISO_SW_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.LiMan" version="1.0.2408.718" targetFramework="net472" />
<package id="EgwWPFBaseLib" version="2.7.11-beta.4" targetFramework="net472" />
<package id="EgwWPFBaseLib" version="3.1.1.2" targetFramework="net472" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.4" targetFramework="net472" />
<package id="RestSharp" version="111.2.0" targetFramework="net472" />
@@ -409,7 +409,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
@@ -146,7 +146,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
@@ -257,7 +257,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
@@ -187,7 +187,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
@@ -809,7 +809,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
@@ -461,7 +461,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
@@ -1128,7 +1128,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
@@ -967,7 +967,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
@@ -293,7 +293,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <summary>
/// Istanza logger
/// </summary>
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
private NLog.Logger Log = NLog.LogManager
.Setup()
.LoadConfigurationFromFile(DbConfig.NLOG_PATH + @"\NLog.config")
.GetCurrentClassLogger();
#endregion Private Fields
}
+6 -13
View File
@@ -12,7 +12,7 @@ namespace EgtBEAMWALL.DataLayer
{
#region Public Fields
public static string DATABASE_NAME = "EgtBwDb";
public static string DATABASE_NAME = "AedificaDb";
public static int DATABASE_PROCESS_TIMEOUT = 5;
public static string DATABASE_PWD = "viacremasca";
@@ -23,6 +23,8 @@ namespace EgtBEAMWALL.DataLayer
public static string DATABASE_USER = "EgtUser";
public static string ZIP_PWD = "viacremasca-viacremasca-viacremasca-viacremasca";
public static string NLOG_PATH = "";
#endregion Public Fields
#region Public Properties
@@ -245,7 +247,7 @@ namespace EgtBEAMWALL.DataLayer
// se nulla metto amster come nKey...
masterKey = string.IsNullOrEmpty(masterKey) ? nKey : masterKey;
DATABASE_SERV = server;
DATABASE_NAME = $"EgtBwDb_{masterKey}";
DATABASE_NAME = $"AedificaDb_{masterKey}";
DATABASE_USER = $"user_{nKey}";
DATABASE_PWD = $"pwd_{sKey}";
ZIP_PWD = $"{DATABASE_USER}:{DATABASE_PWD}:{DATABASE_USER}:{DATABASE_PWD}";
@@ -258,18 +260,9 @@ namespace EgtBEAMWALL.DataLayer
/// Aggiorna conf NLog x target DIR
/// </summary>
/// <param name="logDir"></param>
public static void SetupLogDir(string logDir)
public static void SetupLogDir(string NLogPath)
{
string appDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string filePath = Path.Combine(appDir, "NLog.config");
// leggo il file NLog
string rawData = File.ReadAllText(filePath);
// sostituzione livello minimo da selezione
rawData = rawData.Replace("${basedir}", logDir);
// ri-scrivo file NLog
File.WriteAllText(filePath, rawData);
NLOG_PATH = NLogPath;
}
#endregion Public Methods
@@ -238,7 +238,7 @@
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.DataLayer.dll</PostBuildEvent>
<PostBuildEvent>copy $(TargetPath) c:\EgtProg\Aedifica\EgtBEAMWALL.DataLayer.dll</PostBuildEvent>
</PropertyGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Egalware s.r.l.")]
[assembly: AssemblyProduct("EgtBEAMWALL.DataLayer")]
[assembly: AssemblyCopyright("Copyright © 2020-2025 by Egalware s.r.l.")]
[assembly: AssemblyCopyright("Copyright © 2020-2026 by Egalware s.r.l.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.7.1.1")]
[assembly: AssemblyFileVersion("2.7.1.1")]
[assembly: AssemblyVersion("3.1.4.7")]
[assembly: AssemblyFileVersion("3.1.4.7")]
@@ -1,11 +1,16 @@
<Window x:Class="AboutBoxV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="AboutBox" Height="400" Width="360" WindowStyle="None" ResizeMode="NoResize"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
Title="AboutBox"
Height="400"
Width="360"
WindowStyle="None"
ResizeMode="NoResize"
ShowInTaskbar="False"
WindowStartupLocation="CenterOwner">
<Border BorderThickness="2" BorderBrush="LightBlue">
<Grid >
<Border Style="{StaticResource AboutBoxV_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="5*"/>
@@ -24,29 +29,39 @@
<RowDefinition Height="0.35*"/>
</Grid.RowDefinitions>
<Grid Grid.Column="1" Grid.Row="1">
<Grid Grid.Row="1"
Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Border Name="LogoBrd" Grid.Column="1" Background="White">
<Image Source="/Resources/AboutBox/EgalwareLogo.png" Stretch="Uniform"/>
<Border Grid.Column="1"
Style="{StaticResource AboutBox_Border}">
<Image Source="{StaticResource AboutBox_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Border>
</Grid>
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18" />
<TextBlock Name="VersionLbl" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18"/>
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="12" />
<TextBox Name="InfoLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="True" TextWrapping="Wrap"/>
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="8" IsCancel="True"
Margin="100,0"/>
<TextBlock Grid.Row="3"
Grid.Column="1"
Name="DescriptionLbl"
Style="{StaticResource AboutBox_TextBlock}"/>
<TextBlock Grid.Row="4"
Grid.Column="1"
Name="VersionLbl"
Style="{StaticResource AboutBox_TextBlock}"/>
<TextBlock Grid.Row="5"
Grid.Column="1"
Name="CopyrightLbl"
Style="{StaticResource Copyright_TextBlock}"/>
<TextBox Grid.Row="6"
Grid.Column="1"
Name="InfoLbl"
Style="{StaticResource AboutBox_TextBox}"/>
<Button Grid.Row="8"
Grid.Column="1"
Name="ExitBtn"
Style="{StaticResource AboutBox_Button}"/>
</Grid>
</Border>
</Window>
@@ -7,7 +7,7 @@
Title="AddProcess"
Style="{StaticResource OptimizerWindow.Dialog.NoClose}">
<Grid Margin="5">
<Grid Style="{StaticResource BlockedWnd_Grid}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
@@ -314,7 +314,7 @@ Public Class AddFeatureWndVM
If Not IsNothing(m_nSelPRC) AndAlso m_nSelPRC.nPRC > 0 Then
RaiseEvent m_CloseWindow(True)
Else
MessageBox.Show(EgtMsg(61852), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61852), EgtMsg(30007))
End If
End Sub
@@ -8,7 +8,7 @@
Title="AddPartWndV"
Style="{StaticResource OptimizerWindow.Dialog.NoClose}">
<Grid Margin="5,5,5,0">
<Grid Style="{StaticResource AddPartWndV_Grid}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
@@ -165,7 +165,7 @@ Public Class AddPartWndVM
Not IsNothing(m_dH) AndAlso m_dH >= 0 Then
RaiseEvent m_CloseWindow(True)
Else
MessageBox.Show(EgtMsg(61853), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61853), EgtMsg(30007))
End If
End Sub
@@ -4,7 +4,7 @@
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
WindowStartupLocation="CenterScreen"
Title="AddRawPartWnd"
Style="{StaticResource OptimizerWindow.Dialog.NoClose}">
@@ -44,8 +44,7 @@
Content="Ok"
Command="{Binding Ok_Command}"
IsDefault="True"
Style="{StaticResource AddRawPartWnd_Button}"
Margin="0,0,5,0"/>
Style="{StaticResource AddRawPartWnd_Button}"/>
<Button Grid.Column="3"
Content="Cancel"
IsCancel="True"
@@ -159,7 +159,7 @@ Public Class AddRawPartWndVM
For Each Variable In m_VariableList
If (Variable.nType = Variable.VariableType.STRING_ AndAlso IsNothing(Variable.sValue)) OrElse
((Variable.nType = Variable.VariableType.DOUBLE_ OrElse Variable.nType = Variable.VariableType.LENGTH) AndAlso IsNothing(Variable.dValue)) Then
MessageBox.Show(If(m_nProjectType = MachineType.BEAM, EgtMsg(61854), EgtMsg(61855)), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, If(m_nProjectType = MachineType.BEAM, EgtMsg(61854), EgtMsg(61855)), EgtMsg(30007))
Return
End If
Next
+2
View File
@@ -6,6 +6,8 @@
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!--<ResourceDictionary Source="pack://application:,,,/EgtBEAMWALL.Core;component/Themes/DarkDictionary.xaml"/>
<ResourceDictionary Source="pack://application:,,,/EgtBEAMWALL.Core;component/Themes/DefaultDictionary.xaml"/>-->
<ResourceDictionary Source="pack://application:,,,/EgtBEAMWALL.Core;component/Themes/Generic.xaml"/>
<ResourceDictionary Source="Utility/Dictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
@@ -18,9 +18,19 @@
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ComboBox ItemsSource="{Binding StrategySetupList}"
SelectedItem="{Binding SelStrategySetup, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource BTLDataWnd_ComboBox}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<ComboBox ItemsSource="{Binding StrategySetupList}"
SelectedItem="{Binding SelStrategySetup, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource BTLDataWnd_ComboBox}">
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<EventSetter Event="PreviewMouseDown" Handler="ComboBoxItem_PreviewMouseDown"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
<TextBlock Text="{Binding ErrText}"
Style="{StaticResource ErrConfig_TextBlock}"/>
</StackPanel>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@@ -31,17 +41,20 @@
</Grid.ColumnDefinitions>
<OPTIMIZER:ProjectParametersV Grid.RowSpan="2"
Margin="0,10,0,0"
Tag="{Binding GeneralParametersList}"
IsEnabled="{Binding GeneralParametersIsEnable}"/>
Tag="{Binding GeneralParametersList}"/>
<UniformGrid Grid.Column="1"
Rows="2"
Columns="2"
Style="{StaticResource BTLDataWnd_UniformGrid}">
<CheckBox IsChecked="{Binding bSaveGeneralParameters, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource BTLDataWnd_CheckBox}"/>
<Button Command="{Binding Ok_Command}"
ToolTip="{Binding SaveAsToolTip}"
Style="{StaticResource OKBTLDataWnd_Button}">
<Image Source="{StaticResource Ok_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Cancel_Command}"
ToolTip="{Binding SaveAsToolTip}"
Style="{StaticResource BTLDataWnd_Button}">
<Image Source="/Resources/NewPage/Ok.png"
<Image Source="{StaticResource Delete_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</UniformGrid>
@@ -14,4 +14,14 @@
Me.DialogResult = bDialogResult
End Sub
Private Sub ComboBoxItem_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
Dim SelStrategy As ComboBoxItem = DirectCast(sender, ComboBoxItem)
If Not IsNothing(Map.refBTLDataWndVM.SelStrategySetup) AndAlso Map.refBTLDataWndVM.SelStrategySetup.Equals(SelStrategy.Content) Then
Map.refStrategyManagerVM.SelStrategySetup.sName = SelStrategy.Content
Map.refStrategyManagerVM.SelStrategySetup.Read()
Map.refBTLDataWndVM.ReadCustomGeneralParameters(SelStrategy.Content)
Map.refBTLDataWndVM.SelStrategySetup = SelStrategy.Content
End If
End Sub
End Class
+273 -185
View File
@@ -11,6 +11,8 @@ Public Class BTLDataWndVM
#Region "FIELDS & PROPERTIES"
Private PADLOCK_IMAGE As String = "pack://application:,,,/Resources/NewPage/padlock.png"
Friend Event m_CloseWindow(bDialogResult As Boolean)
Private m_StrategySetupList As New ObservableCollection(Of String)
@@ -20,18 +22,18 @@ Public Class BTLDataWndVM
End Get
End Property
Private m_OldSelStrategySetup As String
Private m_SelStrategySetup As String
Public Property SelStrategySetup As String
Get
Return m_SelStrategySetup
End Get
Set(value As String)
m_OldSelStrategySetup = m_SelStrategySetup
If m_SelStrategySetup <> value Then
EgtSetInfo(m_nBTLInfoLayerId, "AISETUP", value)
WriteMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, value & ".json")
Map.refStrategyManagerVM.SelStrategySetup.sName = value
Map.refStrategyManagerVM.SelStrategySetup.Read()
Map.refProdManagerVM.Save()
ReadCustomGeneralParameters(value)
End If
m_SelStrategySetup = value
NotifyPropertyChanged(NameOf(SelStrategySetup))
@@ -56,43 +58,26 @@ Public Class BTLDataWndVM
End Set
End Property
Private m_bSaveGeneralParameters As Boolean
Public Property bSaveGeneralParameters As Boolean
Private m_IsBTLDataWnd As Boolean = False
Public ReadOnly Property IsBTLDataWnd As Boolean
Get
Return m_bSaveGeneralParameters
Return m_IsBTLDataWnd
End Get
Set(value As Boolean)
m_bSaveGeneralParameters = value
If m_bSaveGeneralParameters Then
SetGeneralParametersIsEnable(True)
Else
SetGeneralParametersIsEnable(False)
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
End If
End If
NotifyPropertyChanged(NameOf(bSaveGeneralParameters))
End Set
End Property
Friend Sub SetbSaveGeneralParameters(value As Boolean)
m_bSaveGeneralParameters = value
NotifyPropertyChanged(NameOf(bSaveGeneralParameters))
Friend Sub SetIsBTLDataWnd(value As Boolean)
m_IsBTLDataWnd = value
NotifyPropertyChanged(NameOf(IsBTLDataWnd))
End Sub
Private m_GeneralParametersIsEnable As Boolean = False
Public ReadOnly Property GeneralParametersIsEnable As Boolean
Private m_sErrText As String = String.Empty
Public ReadOnly Property ErrText As String
Get
Return m_GeneralParametersIsEnable
Return m_sErrText
End Get
End Property
Friend Sub SetGeneralParametersIsEnable(value As Boolean)
m_GeneralParametersIsEnable = value
NotifyPropertyChanged(NameOf(GeneralParametersIsEnable))
Friend Sub SetErrText(value As String)
m_sErrText = value
NotifyPropertyChanged(NameOf(ErrText))
End Sub
#Region "Parametri generici"
@@ -569,125 +554,25 @@ Public Class BTLDataWndVM
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New(nProjId As Integer)
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProjectManagerVM.CurrProd.nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath)
For Each AiSetup In AISetupPaths
m_StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
Sub New(nType As BWType)
' leggo file default config
Map.refMainWindowVM.MainWindowM.GetDefaultConfigDirPath(nType, True)
End Sub
' cerco tra i layer BTLInfo
Dim nCurrBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
While nCurrBTLInfoLayerId <> GDB_ID.NULL
' verifico se il layer appartiene al ProjId
Dim nBTLInfoLayerProjId As Integer
EgtGetInfo(nCurrBTLInfoLayerId, BTL_PRT_PROJ, nBTLInfoLayerProjId)
If nBTLInfoLayerProjId = nProjId Then
m_nBTLInfoLayerId = nCurrBTLInfoLayerId
Exit While
End If
nCurrBTLInfoLayerId = EgtGetNextName(nCurrBTLInfoLayerId, BTLINFO)
End While
Sub New()
Map.SetRefBTLDataWndVM(Me)
SetIsBTLDataWnd(True)
' leggo parametri Btl
ReadBtlParams()
' Controllo se presente file default config
Dim sDefaultConfigFile As String = String.Empty
Dim sTrimDefaultConfig As String = String.Empty
If GetMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile) <> 0 Then
sTrimDefaultConfig = System.IO.Path.GetFileNameWithoutExtension(sDefaultConfigFile)
m_SelStrategySetup = sTrimDefaultConfig
EgtSetInfo(m_nBTLInfoLayerId, "AISETUP", m_SelStrategySetup)
End If
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
End If
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
End If
' Leggo info se presenti
Dim sInfo As String = String.Empty
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue) Then
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(DoubleGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue) Then
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ComboGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpComboValue As String = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue) Then
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(StringGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue) Then
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ListGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
Dim sTmpInfo As String = sInfo
If Not EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo) Then
sInfo = sTmpInfo
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
End If
Next
End Select
Next
' leggo file default config
Map.refMainWindowVM.MainWindowM.GetDefaultConfigDirPath(ProjectManagerVM.CurrProd.nType, True)
Read(ProjectManagerVM.CurrProd.nType)
End Sub
#End Region ' CONSTRUCTOR
@@ -723,6 +608,223 @@ Public Class BTLDataWndVM
EgtGetInfo(m_nBTLInfoLayerId, BTL_GEN_USERATTRIBUTE, m_sUSERATTRIBUTE)
End Sub
Friend Sub Read(nType As BWType)
m_GeneralParametersList.Clear()
m_StrategySetupList.Clear()
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath).Where(Function(f) Path.GetExtension(f).ToLower() <> ".ini").ToArray()
For Each AiSetup In AISetupPaths
m_StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
' cerco tra i layer BTLInfo
m_nBTLInfoLayerId = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
' Leggo parametri generali
Dim sDefaultConfigFile As String = String.Empty
If EgtGetInfo(m_nBTLInfoLayerId, AI_SETUP, sDefaultConfigFile) Then
If m_StrategySetupList.Contains(sDefaultConfigFile) Then
m_SelStrategySetup = sDefaultConfigFile
SetErrText(String.Empty)
Else
SetErrText(EgtMsg(62113) & sDefaultConfigFile & EgtMsg(62114))
End If
ElseIf EgtUILib.GetPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile, Map.refMainWindowVM.MainWindowM.sDefaultConfig) <> 0 Then
m_SelStrategySetup = sDefaultConfigFile
End If
If Not EgtExistsInfo(m_nBTLInfoLayerId, AI_SETUP) AndAlso Not IsNothing(m_SelStrategySetup) Then EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
GetGeneralParamtersList(nType)
Dim sAISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(nType, True)
Dim sStrategyConfigurationFilePath As String = sAISetupDirPath & "\" & SelStrategySetup & ".json"
ReadGeneralConfiguration(sStrategyConfigurationFilePath)
' Leggo info se presenti
Dim sInfo As String = String.Empty
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If EgtExistsInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
Else
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
End If
Case GetType(DoubleGenericParameter)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If EgtExistsInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
Else
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
End If
Case GetType(ComboGenericParameter)
Dim sTmpComboValue As String = String.Empty
If Not IsNothing(DirectCast(GeneralParameter, ComboGenericParameter).SelValue) Then
sTmpComboValue = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
Else
sTmpComboValue = DirectCast(GeneralParameter, ComboGenericParameter).ComboList(0).sValue
End If
Dim sTmpValueInfo As String = String.Empty
If EgtExistsInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sTmpValueInfo)
DirectCast(GeneralParameter, ComboGenericParameter).SelValue = DirectCast(GeneralParameter, ComboGenericParameter).ComboList.FirstOrDefault(Function(x) x.sValue = sTmpValueInfo)
Else
If IsNothing(DirectCast(GeneralParameter, ComboGenericParameter).SelValue) Then
DirectCast(GeneralParameter, ComboGenericParameter).SelValue = New ComboParameter
End If
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
End If
Case GetType(StringGenericParameter)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If EgtExistsInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
Else
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
End If
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
If EgtExistsInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ListGenericParameter).sValue)
Else
DirectCast(GeneralParameter, ListGenericParameter).sValue = sInfo
End If
End If
Next
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
End Sub
Friend Sub ReadCustomGeneralParameters(SelStrategySetup As String)
SetErrText(String.Empty)
GetGeneralParamtersList(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sAISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(Map.refStrategyManagerVM.SelStrategyType.Id, False)
Dim sStrategyConfigurationFilePath As String = sAISetupDirPath & "\" & SelStrategySetup & ".json"
ReadGeneralConfiguration(sStrategyConfigurationFilePath)
NotifyPropertyChanged(NameOf(GeneralParametersList))
End Sub
Friend Sub SaveInfoBTL(nType As BWType)
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(nType, True)
Dim sDefaultConfigFile As String = String.Empty
Dim sTmpStrategySetup As String = String.Empty
' Controllo se presente file default config
If IsNothing(m_SelStrategySetup) Then
If EgtUILib.GetPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile, Map.refMainWindowVM.MainWindowM.sDefaultConfig) <> 0 Then
m_SelStrategySetup = sDefaultConfigFile
EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
Else
' restituisce la lista dei file presenti nella cartella con le relative informazioni
Dim StrategySetupListFile As List(Of FileInfo) = m_StrategySetupList.Where(Function(f) File.Exists(AISetupDirPath & "\" & f & ".json")).
Select(Function(f) New FileInfo(AISetupDirPath & "\" & f & ".json")).
OrderByDescending(Function(fi) fi.LastWriteTime).ToList()
' restituisce l'ultimo file modificato
If StrategySetupListFile.Any() Then
sDefaultConfigFile = Path.GetFileNameWithoutExtension(StrategySetupListFile.First().Name)
End If
sTmpStrategySetup = m_StrategySetupList.FirstOrDefault(Function(x) x = sDefaultConfigFile)
m_SelStrategySetup = sTmpStrategySetup
If Not IsNothing(m_SelStrategySetup) Then EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
End If
End If
SetInfoGeneralParameters()
End Sub
Private Sub SaveInfo()
EgtSetInfo(m_nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
SetInfoGeneralParameters()
End Sub
Private Sub ReadGeneralConfiguration(sStrategyConfigurationFilePath As String)
If File.Exists(sStrategyConfigurationFilePath) Then
Dim sReadedFile As String = File.ReadAllText(sStrategyConfigurationFilePath)
Dim JsonRoot As CustomJsonRoot = Nothing
Try
JsonRoot = JsonConvert.DeserializeObject(Of CustomJsonRoot)(sReadedFile)
Catch ex As Exception
JsonRoot = Nothing
Return
End Try
For Each ProjectItem In JsonRoot.GENERAL
Dim DefaultProject As ProjectParameters = m_GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectItem.sName)
If Not IsNothing(DefaultProject) Then
DefaultProject.ReadConfiguration(ProjectItem, m_GeneralParametersList)
Else
EgtOutLog("Parametro Generale: " & ProjectItem.sName & " non presente")
End If
Next
End If
End Sub
Private Sub GetGeneralParamtersList(nTypeId As BWType)
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(nTypeId)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
m_GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
UserLevelControl(m_GeneralParametersList)
End If
End Sub
Private Sub UserLevelControl(GeneralParametersList As ObservableCollection(Of ProjectParameters))
For Each GenericItem As ProjectParameters In GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, True, False))
Case UserLevel.ADMINISTRATOR
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UnlockAllIsChecked, True, False))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, True, False))
Map.refMainMenuVM.SetUnloackImage(PADLOCK_IMAGE)
End If
End Select
Next
End Sub
Private Sub SetInfoGeneralParameters()
Dim sInfo As String = String.Empty
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, BooleanGenericParameter).bIsBooleanModify)
Case GetType(DoubleGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, DoubleGenericParameter).bIsDoubleModify)
Case GetType(ComboGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, ComboGenericParameter).bIsComboBoxModify)
Case GetType(StringGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, StringGenericParameter).bIsStringModify)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
End If
Next
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge & "_FORCED", DirectCast(GeneralParameter, ListGenericParameter).bIsListModify)
End Select
Next
NotifyPropertyChanged(NameOf(GeneralParametersList))
End Sub
#End Region ' METHODS
#Region "COMMANDS"
@@ -739,54 +841,40 @@ Public Class BTLDataWndVM
End Property
Public Sub Ok()
Dim sInfo As String = String.Empty
If m_bSaveGeneralParameters Then
For Each GeneralParameter In GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
Case GetType(DoubleGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
Case GetType(ComboGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
Case GetType(StringGenericParameter)
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtSetInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
End If
Next
End Select
Next
Else
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(DoubleGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(ComboGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(StringGenericParameter)
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtRemoveInfo(m_nBTLInfoLayerId, GeneralParameter.sNameNge)
End If
Next
End Select
Next
' Messaggio ripristino verifica se presente
If Not IsNothing(m_OldSelStrategySetup) AndAlso m_SelStrategySetup <> m_OldSelStrategySetup Then
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62579), EgtMsg(15002), MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) = MessageBoxResult.OK Then
Map.refProjectVM.ResetGeneralParameters()
Else
Return
End If
End If
Map.refProdManagerVM.Save()
SetIsBTLDataWnd(True)
SaveInfo()
Map.refLeftPanelVM.ResetCalc()
Map.refSceneHostVM.SaveProject()
RaiseEvent m_CloseWindow(True)
End Sub
#End Region ' Ok
#Region "Cancel"
Public ReadOnly Property Cancel_Command As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Public Sub Cancel()
RaiseEvent m_CloseWindow(False)
End Sub
#End Region ' Cancel
#End Region ' COMMANDS
End Class
@@ -4,14 +4,13 @@
DataContext="{StaticResource BTLPartManagerVM}"
Style="{StaticResource BTLPartManager_Border}">
<StackPanel Orientation="Horizontal"
Style="{StaticResource BTLPartManager_StackPanel}">
<StackPanel Style="{StaticResource PartManager_StackPanel}">
<Button Command="{Binding CopyPart_Command}"
Click="ClosePopUp_Click"
ToolTip="{Binding CopyPart_ToolTip}"
IsEnabled="{Binding CopyPart_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/LeftPanel/CopyPart.png"
<Image Source="{StaticResource CopyPart_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding RemovePart_Command}"
@@ -19,7 +18,7 @@
ToolTip="{Binding RemovePart_ToolTip}"
IsEnabled="{Binding RemovePart_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/NewPage/Remove.png"
<Image Source="{StaticResource Remove_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding Simulate_ToolTip}"
@@ -27,7 +26,7 @@
Command="{Binding Simulate_Command}"
IsEnabled="{Binding Simulate_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/CALCPanel/Simulate.png"
<Image Source="{StaticResource Simulate_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding Edit_ToolTip}"
@@ -35,7 +34,7 @@
Command="{Binding Edit_Command}"
IsEnabled="{Binding Edit_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/CALCPanel/Edit.png"
<Image Source="{StaticResource Edit_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding ResetCalc_Command}"
@@ -43,7 +42,7 @@
ToolTip="{Binding ResetCalc_ToolTip}"
IsEnabled="{Binding CALCPanel_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/CALCPanel/ResetCalc.png"
<Image Source="{StaticResource ResetCalc_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -3,8 +3,8 @@
Private Sub ClosePopUp_Click(sender As Object, e As RoutedEventArgs)
Dim Button As Button = DirectCast(sender, Button)
Dim StackPanel As StackPanel = DirectCast(Button.Parent, StackPanel)
Dim OnlyProdBTLPartManagerV As BTLPartManagerV = DirectCast(StackPanel.Parent, BTLPartManagerV)
Dim Popup As Primitives.Popup = DirectCast(OnlyProdBTLPartManagerV.Parent, Primitives.Popup)
Dim BTLPartManagerV As BTLPartManagerV = DirectCast(StackPanel.Parent, BTLPartManagerV)
Dim Popup As Primitives.Popup = DirectCast(BTLPartManagerV.Parent, Primitives.Popup)
If Not IsNothing(Popup) Then
Popup.IsOpen = False
@@ -1,16 +1,15 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtBEAMWALL.Optimizer.MainMenuVM
Imports EgtUILib
Imports EgtWPFLib5
Imports Newtonsoft.Json
Public Class BTLPartManagerVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private PADLOCK_IMAGE As String = "pack://application:,,,/Resources/NewPage/padlock.png"
Private m_BTLPartManager_IsEnabled As Boolean = True
Public ReadOnly Property BTLPartManager_IsEnabled As Boolean
Get
@@ -175,103 +174,6 @@ Public Class BTLPartManagerVM
Map.refMyStatusBarVM.SetOutputMessage(sProgress)
End Sub
Private Sub GetGeneralParameters()
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProjectManagerVM.CurrProd.nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath)
For Each AiSetup In AISetupPaths
Map.refProjectVM.StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
Dim JsonGeneralParametersList As List(Of JsonGeneralParameters) = JsonConvert.DeserializeObject(Of List(Of JsonGeneralParameters))(sReadedFiles)
Map.refProjectVM.GeneralParametersList = New ObservableCollection(Of ProjectParameters)((From JsonGeneralParameter In JsonGeneralParametersList
Select JsonGeneralParameter.Deserialize(Map.refStrategyManagerVM.SelStrategyType.Id)).ToList())
For Each GenericItem As ProjectParameters In Map.refProjectVM.GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
End If
End Select
Next
NotifyPropertyChanged(NameOf(Map.refProjectVM.GeneralParametersList))
End If
' Leggo info se presenti
Dim sInfo As String = String.Empty
EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, "AISETUP", Map.refProjectVM.SelStrategySetup)
If IsNothing(Map.refProjectVM.SelStrategySetup) Then
Dim nBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
EgtGetInfo(nBTLInfoLayerId, "AISETUP", Map.refProjectVM.SelStrategySetup)
End If
For Each GeneralParameter In Map.refProjectVM.GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
Map.refProjectVM.SetbSaveGeneralParameters(True)
Map.refProjectVM.SetGeneralParametersIsEnable(True)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If Not EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue) Then
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
Map.refProjectVM.SetbSaveGeneralParameters(False)
Map.refProjectVM.SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(DoubleGenericParameter)
Map.refProjectVM.SetbSaveGeneralParameters(True)
Map.refProjectVM.SetGeneralParametersIsEnable(True)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If Not EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue) Then
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
Map.refProjectVM.SetbSaveGeneralParameters(False)
Map.refProjectVM.SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ComboGenericParameter)
Map.refProjectVM.SetbSaveGeneralParameters(True)
Map.refProjectVM.SetGeneralParametersIsEnable(True)
Dim sTmpComboValue As String = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
If Not EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue) Then
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
Map.refProjectVM.SetbSaveGeneralParameters(False)
Map.refProjectVM.SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(StringGenericParameter)
Map.refProjectVM.SetbSaveGeneralParameters(True)
Map.refProjectVM.SetGeneralParametersIsEnable(True)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If Not EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue) Then
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
Map.refProjectVM.SetbSaveGeneralParameters(False)
Map.refProjectVM.SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(ListGenericParameter)
Map.refProjectVM.SetbSaveGeneralParameters(True)
Map.refProjectVM.SetGeneralParametersIsEnable(True)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
Dim sTmpInfo As String = sInfo
If Not EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, GeneralParameter.sNameNge, sInfo) Then
sInfo = sTmpInfo
Map.refProjectVM.SetbSaveGeneralParameters(False)
Map.refProjectVM.SetGeneralParametersIsEnable(False)
Return
End If
End If
Next
End Select
Next
End Sub
#End Region ' Methods
#Region "COMMANDS"
@@ -294,6 +196,7 @@ Public Class BTLPartManagerVM
' creo copia
Dim NewPart As BTLPartM = SelPart.Copy()
If Not IsNothing(NewPart) Then
Map.refProjectVM.UpdatePart(NewPart.nPartId)
' selezione ultimo che e' quello appena creato
Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Map.refProjectVM.BTLStructureVM.BTLPartVMList(Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1), False, True)
End If
@@ -314,7 +217,7 @@ Public Class BTLPartManagerVM
Public Sub RemovePartCmd()
If IsNothing(ProjectManagerVM.CurrProd) Then Return
If MessageBox.Show(EgtMsg(62573), EgtMsg(30009), MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) = MessageBoxResult.OK Then
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62573), EgtMsg(30009), MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) = MessageBoxResult.OK Then
If Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 Then
Dim CurrSelBTLParts As List(Of BTLPartVM) = Map.refProjectVM.BTLStructureVM.SelBTLParts.ToList()
For RemoveIndex = CurrSelBTLParts.Count - 1 To 0 Step -1
@@ -331,7 +234,7 @@ Public Class BTLPartManagerVM
Dim nDuploCount As Integer = 0
If EgtDuploCount(BTLPartToDelete.nPartId, nDuploCount) AndAlso nDuploCount > 0 Then
' avviso che il pezzo non è cancellabile perchè in produzione
MessageBox.Show(String.Format(EgtMsg(61929), nDuploCount), EgtMsg(15003), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, String.Format(EgtMsg(61929), nDuploCount), EgtMsg(15003), MessageBoxButton.OK, MessageBoxImage.Warning)
Return
End If
' verifico se rimuovere sezione dalla lista
@@ -341,6 +244,7 @@ Public Class BTLPartManagerVM
End If
' Eseguo cancellazione
EgtBeamSetPart(BTLPartToDelete.nPartId)
RemoveScenePart(BTLPartToDelete)
' seleziono elemento precedente
Dim Index As Integer = Map.refProjectVM.BTLStructureVM.BTLPartVMList.IndexOf(BTLPartToDelete)
Dim FilteredIndex As Integer = Map.refProjectVM.BTLStructureVM.BTLPartVMList_View.IndexOf(BTLPartToDelete)
@@ -368,6 +272,22 @@ Public Class BTLPartManagerVM
End If
End Sub
Private Sub RemoveScenePart(BTLPartToDelete As BTLPartVM)
' Rimuovo pezzo dalla scena
Dim IdAsseBase As Integer = Map.refProdManagerVM.ListProjAsseBase(BTLPartToDelete.nPROJ)
If IdAsseBase < 0 Then Return
' Setto il nuovo contesto
EgtSetCurrentContext(Map.refSceneShowBuldingVM.SceneShowBulding.GetCtx())
If EgtBeamGetBuildingIsOn(IdAsseBase) Then EgtBeamShowBuilding(IdAsseBase, False)
Dim DeletePartId As Integer = Map.refSceneShowBuldingVM.MapInfo(BTLPartToDelete.nPartId)
EgtErase(DeletePartId)
Map.refSceneShowBuldingVM.MapInfo.Remove(BTLPartToDelete.nPartId)
EgtBeamShowBuilding(IdAsseBase, True)
EgtZoom(ZM.ALL)
' Ritorno al contesto corrente
EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx())
End Sub
#End Region ' RemovePart
#Region "SimulateCommand"
@@ -429,9 +349,22 @@ Public Class BTLPartManagerVM
End Property
Friend Sub Edit()
GetGeneralParameters()
Map.refProjectVM.SetRawPartManagerVisibility(Visibility.Collapsed)
Map.refProjectVM.SetFeatureListVisibility(Visibility.Collapsed)
Map.refBTLDataWndVM.SetIsBTLDataWnd(False)
Dim bValuePart As Boolean = False
For Each GeneralParam As ProjectParameters In Map.refProjectVM.GeneralParametersList
bValuePart = False
EgtGetInfo(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.nPartId, GeneralParam.sNameNge & "_FORCED", bValuePart)
If bValuePart Then Exit For
Next
If bValuePart Then
Map.refProjectVM.GetGeneralParameters(bValuePart)
Else
Map.refProjectVM.Read(ProjectManagerVM.CurrProd.nType)
End If
Map.refProjectVM.SetRawPartManagerVisibility(False)
Map.refProjectVM.SetFeatureListVisibility(False)
Map.refProjectVM.SetSelManagerTab(ProjectVM.StrategyManagerTab.FEATUREMANAGER)
' Disabilito LeftPanel
Map.refProjectVM.SetLeftPanel_IsEnabled(False)
@@ -453,6 +386,8 @@ Public Class BTLPartManagerVM
Public Sub ResetCalc()
If IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Return
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
Map.refCALCPanelVM.SetCalculating(False)
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLPart
If IsNothing(SelPart) Then Return
If SelPart.nGlobalState <> CalcStates.NOTCALCULATED Then
@@ -319,21 +319,25 @@ Public Class BTLFeatureVM
m_BTLFeatureM = BTLFeatureM
AddHandler m_BTLFeatureM.PBTLParamAdded, AddressOf OnPBTLParamAdded
m_BTLPartM = BTLPartM
m_PartM = Nothing
CreatePBTLParamVMList()
NotifyPropertyChanged(NameOf(Calc_Background))
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
NotifyPropertyChanged(NameOf(bStrategy_Visibility))
m_MenuList.Add(New MenuItemVm(Me))
End Sub
Sub New(BTLFeatureM As BTLFeatureM)
Sub New(BTLFeatureM As BTLFeatureM, PartM As PartM)
m_BTLFeatureM = BTLFeatureM
m_BTLPartM = Nothing
m_PartM = PartM
NotifyPropertyChanged(NameOf(Calc_Background))
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
NotifyPropertyChanged(NameOf(bStrategy_Visibility))
End Sub
#End Region ' CONSTRUCTOR
@@ -591,12 +595,12 @@ Public Class BTLFeatureVM
End If
' se modalità building, la tolgo
If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
Map.refShowBeamPanelVM.SetShowBuilding(False)
Map.refShowBeamPanelVM.ShowBuilding_IsChecked = False
End If
Map.refProjectVM.SetRawPartManagerVisibility(Visibility.Collapsed)
Map.refProjectVM.SetRawPartManagerVisibility(False)
Map.refProjectVM.SetSelManagerTab(ProjectVM.StrategyManagerTab.FEATUREMANAGERBTL)
Map.refProjectVM.SetSelFeatureManagerTab(ProjectVM.FeatureManagerTab.STRATEGYMANAGERBTL)
Map.refFeatureManagerVM.SetEditIsEnabled()
' Disabilito LeftPanel
Map.refProjectVM.SetLeftPanel_IsEnabled(False)
Map.refProjectVM.SetLeftPanel_Opacity(0.2)
@@ -132,7 +132,7 @@ Public Class BTLParamVM
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
' verifico che sia compreso tra minimo e massimo
If dNewValue < m_BTLParamM.dMin OrElse dNewValue > m_BTLParamM.dMax Then
MessageBox.Show(EgtMsg(61856), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61856), EgtMsg(30007))
NotifyPropertyChanged(NameOf(sValue))
Return
End If
@@ -147,9 +147,9 @@ Public Class BTLParamVM
Dim nDoneCnt As Integer = DbControllers.m_ProjController.getCountItemState(ProjectManagerVM.CurrProd.nProdId, nPartId, ItemState.Assigned)
' controllo se i pezzi sono lavorati se si messaggio di warning altrimenti messaggio informativo
If nDoneCnt > 0 Then
MessageBox.Show("Pezzo " & nPartId & " non modificato in " & INPROD & " barra/e perche' settata/e come da produrre", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62555) & nPartId & EgtMsg(62556) & INPROD & EgtMsg(62557), EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Warning)
ElseIf INPROD > 0 Then
MessageBox.Show("Pezzo " & nPartId & " modificato in " & INPROD & " barra/e grezza/e", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Information)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62555) & nPartId & EgtMsg(62558) & INPROD & EgtMsg(62559), EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Information)
End If
UpdateParamValue(dNewValue, "")
Case Else
@@ -194,7 +194,7 @@ Public Class BTLParamVM
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
' verifico che sia compreso tra minimo e massimo
If dNewValue < m_BTLParamM.dMin OrElse dNewValue > m_BTLParamM.dMax Then
MessageBox.Show(EgtMsg(61856), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61856), EgtMsg(30007))
NotifyPropertyChanged(NameOf(sDefault))
Return
End If
+241 -88
View File
@@ -10,6 +10,8 @@ Public Class BTLPartVM
#Region "FIELDS & PROPERTIES"
Private DOWN_IMAGE As String = "pack://application:,,,/Resources/NewPage/down.png"
Private WithEvents m_BTLPartM As BTLPartM
Public ReadOnly Property BTLPartM As BTLPartM
Get
@@ -90,7 +92,7 @@ Public Class BTLPartVM
Else
Dim MachGroupModel = Nothing
If Not IsNothing(Map.refProdManagerVM) Then
MachGroupModel = DbControllers.m_MachGroupController.FindByMachGroupId(ProjectManagerVM.CurrProj.nProdId, nMachgroupId)
MachGroupModel = DbControllers.m_MachGroupController.FindByMachGroupId(ProjectManagerVM.CurrProd.nProdId, nMachgroupId)
End If
If Not IsNothing(MachGroupModel) AndAlso MachGroupModel.State > ItemState.ND Then
bDuploInProduction = True
@@ -100,12 +102,12 @@ Public Class BTLPartVM
End If
Next
If bDuploInProduction Then
MessageBox.Show("Impossible change dimension because already in production!", "", MessageBoxButton.OK, MessageBoxImage.Exclamation)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62586), "", MessageBoxButton.OK, MessageBoxImage.Exclamation)
Return False
End If
' lo impedisco
' avviso che tutti i pezzi verranno tolti dai grezzi e chiedo di confermare
If MessageBox.Show(String.Format(EgtMsg(61851), nDuploCount), EgtMsg(15003), MessageBoxButton.YesNo, MessageBoxImage.Information) = MessageBoxResult.Yes Then
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, String.Format(EgtMsg(61851), nDuploCount), EgtMsg(15003), MessageBoxButton.YesNo, MessageBoxImage.Information) = MessageBoxResult.Yes Then
MyMachGroupPanelM.DuploSetToDelete(m_BTLPartM.nPartId)
DeleteDuplo_Otmizer(DuploList)
Else
@@ -184,7 +186,10 @@ Public Class BTLPartVM
Public Property sL As String
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If EgtGetCurrentContext() = Map.refSceneShowBuldingVM.SceneShowBulding.GetCtx() Then
nOrigGroupId = Map.refSceneShowBuldingVM.MapInfo(nPartId)
End If
If EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -242,7 +247,10 @@ Public Class BTLPartVM
Public Property sW As String
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If EgtGetCurrentContext() = Map.refSceneShowBuldingVM.SceneShowBulding.GetCtx() Then
nOrigGroupId = Map.refSceneShowBuldingVM.MapInfo(nPartId)
End If
If EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -300,7 +308,10 @@ Public Class BTLPartVM
Public Property sH As String
Get
Dim nOrigGroupId As Integer = nPartId
If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
If EgtGetCurrentContext() = Map.refSceneShowBuldingVM.SceneShowBulding.GetCtx() Then
nOrigGroupId = Map.refSceneShowBuldingVM.MapInfo(nPartId)
End If
If EgtBeamGetBuildingIsOn() AndAlso Map.refShowBeamPanelVM.bShowAll Then
nOrigGroupId = GetOrigFrameGroup(nPartId)
End If
Dim frBeam As New Frame3d
@@ -1165,7 +1176,7 @@ Public Class BTLPartVM
If nTempADDED >= nINPROD Then
m_BTLPartM.nADDED = nTempADDED
Else
MessageBox.Show(EgtMsg(61857), "", MessageBoxButton.OK, MessageBoxImage.Warning)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61857), "", MessageBoxButton.OK, MessageBoxImage.Warning)
End If
End If
NotifyPropertyChanged(NameOf(sADDED))
@@ -1344,7 +1355,7 @@ Public Class BTLPartVM
Select Case m_BTLPartM.nGlobalState
Case CalcStates.ERROR_, CalcStates.COLLISION
Return Brushes.Red
Case CalcStates.WARNING
Case CalcStates.WARNING, CalcStates.SECTION
Return Brushes.Orange
Case CalcStates.INFO, CalcStates.OK
Return Brushes.Green
@@ -1379,6 +1390,8 @@ Public Class BTLPartVM
Return "w"
Case CalcStates.INFO
Return "i"
Case CalcStates.SECTION
Return "x"
Case Else
Return ""
End Select
@@ -1390,7 +1403,7 @@ Public Class BTLPartVM
Select Case m_BTLPartM.m_nGlobalState
Case CalcStates.ERROR_, CalcStates.COLLISION
Return Brushes.Red
Case CalcStates.WARNING
Case CalcStates.WARNING, CalcStates.SECTION
Return Brushes.Orange
Case CalcStates.INFO
Return Brushes.Green
@@ -1541,11 +1554,9 @@ Public Class BTLPartVM
If Not IsNothing(SelBTLFeatureVM.SelPBTLParam) Then SelBTLFeatureVM.SelPBTLParam = Nothing
' rinfresco bottoni freecontour
m_SelBTLFeatureVM.RefreshFCMBtnVisibility()
Map.refStatisticsTimePanelVM.SetViewPage_Visibility(Visibility.Visible)
Map.refStatisticsTimePanelVM.SetMachiningPage_Visibility(Visibility.Collapsed)
' Controlo se nPRC è 900 rendo visibile combobox Variant
If m_SelBTLFeatureVM.nPRC = 900 Then
Map.refFeatureManagerVM.SetVariant_Visibility(Visibility.Visible)
Map.refFeatureManagerVM.SetVariant_Visibility(True)
Dim nVariant As Integer = 0
If Integer.TryParse(m_SelBTLFeatureVM.sDES, nVariant) Then
m_SelBTLFeatureVM.nSelVARIANT = nVariant
@@ -1558,24 +1569,71 @@ Public Class BTLPartVM
Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & ".png")
End If
Else
Map.refFeatureManagerVM.SetVariant_Visibility(Visibility.Collapsed)
Map.refFeatureManagerVM.SetVariant_Visibility(False)
End If
End If
If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.FeatureSelectionChanged()
Map.refProdManagerVM.SetBtlImage(DOWN_IMAGE)
Map.refProdManagerVM.SetOpenImage(DOWN_IMAGE)
Map.refProdManagerVM.SetSaveImage(DOWN_IMAGE)
If Not IsNothing(m_SelBTLFeatureVM) Then
SetSelFeatureMsg(EgtMsg(5356) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName)
SetDeselFeatureMsg(EgtMsg(5357) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName)
End If
EgtDraw()
NotifyPropertyChanged(NameOf(SelBTLFeatureVM))
' se modalità building, la tolgo
If Not IsNothing(m_SelBTLFeatureVM) AndAlso Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
Map.refProjectVM.SetSceneShowBuldingVisibility(Visibility.Collapsed)
Map.refProjectVM.SetSceneShowBuldingVisibility(False)
Map.refProjectVM.BTLStructureVM.ShowBuilding(False, False)
Map.refShowBeamPanelVM.SetShowBuilding(False)
Map.refProjectVM.SetManagerTabVisibility(Visibility.Visible)
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Map.refProjectVM.SetFeatureListVisibility(Visibility.Visible)
Map.refProjectVM.SetManagerTabVisibility(True)
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Map.refProjectVM.SetFeatureListVisibility(True)
End If
End Set
End Property
Friend Sub SetSelFeature(value As BTLFeatureVM)
If Not IsNothing(m_PrevSelBTLFeatureVM) Then m_PrevSelBTLFeatureVM.DeselGeomFeature()
m_SelBTLFeatureVM = value
If Not IsNothing(m_SelBTLFeatureVM) Then
m_SelBTLFeatureVM.SelGeomFeature()
m_PrevSelBTLFeatureVM = value
Map.refPParameterListVM.SetCurrDraw(DirectCast(m_SelBTLFeatureVM, BTLFeatureVM).sDrawPath)
' deseleziono i parametri
If Not IsNothing(SelBTLFeatureVM.SelPBTLParam) Then SelBTLFeatureVM.SelPBTLParam = Nothing
' rinfresco bottoni freecontour
m_SelBTLFeatureVM.RefreshFCMBtnVisibility()
' Controlo se nPRC è 900 rendo visibile combobox Variant
If m_SelBTLFeatureVM.nPRC = 900 Then
Map.refFeatureManagerVM.SetVariant_Visibility(True)
Dim nVariant As Integer = 0
If Integer.TryParse(m_SelBTLFeatureVM.sDES, nVariant) Then
m_SelBTLFeatureVM.nSelVARIANT = nVariant
End If
If m_SelBTLFeatureVM.nSelVARIANT > 0 AndAlso
System.IO.File.Exists(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & "." & m_SelBTLFeatureVM.sDES & ".png") Then
' imposto path disegno da mostrare in BottomPanel
Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & "." & m_SelBTLFeatureVM.sDES & ".png")
Else
Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & ".png")
End If
Else
Map.refFeatureManagerVM.SetVariant_Visibility(False)
End If
End If
If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.FeatureSelectionChanged()
Map.refProdManagerVM.SetBtlImage(DOWN_IMAGE)
Map.refProdManagerVM.SetOpenImage(DOWN_IMAGE)
Map.refProdManagerVM.SetSaveImage(DOWN_IMAGE)
If Not IsNothing(m_SelBTLFeatureVM) Then
SetSelFeatureMsg(EgtMsg(5356) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName)
SetDeselFeatureMsg(EgtMsg(5357) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName)
End If
EgtDraw()
NotifyPropertyChanged(NameOf(SelBTLFeatureVM))
End Sub
Private m_Calc_PartEnd As Boolean = False
Public ReadOnly Property Calc_PartEnd As Boolean
Get
@@ -1618,20 +1676,6 @@ Public Class BTLPartVM
NotifyPropertyChanged(NameOf(bOpenFeatureList))
End Sub
Private m_IsSettingBtnOpen As Boolean = False
Public Property IsSettingBtnOpen As Boolean
Get
Return m_IsSettingBtnOpen
End Get
Set(value As Boolean)
m_IsSettingBtnOpen = value
End Set
End Property
Friend Sub SetIsSettingBtnOpen(bIsSettingBtnOpen As Boolean)
m_IsSettingBtnOpen = bIsSettingBtnOpen
NotifyPropertyChanged(NameOf(IsSettingBtnOpen))
End Sub
Public Property IsInverted As Boolean
Get
Return BTLPartM.nINVERTED = 180
@@ -1647,6 +1691,14 @@ Public Class BTLPartVM
NotifyPropertyChanged(NameOf(IsInverted))
End Set
End Property
Friend Sub SetInverted(value As Boolean)
' eseguo inversione
m_BTLPartM.Inversion(Map.refProjectVM.BTLStructureVM.nPROJTYPE)
EgtRedraw()
' imposto lock
bLockInversion = True
NotifyPropertyChanged(NameOf(IsInverted))
End Sub
Private m_IsRowEnabled As Boolean = True
Public ReadOnly Property IsRowEnabled As Boolean
@@ -1659,15 +1711,57 @@ Public Class BTLPartVM
NotifyPropertyChanged(NameOf(IsRowEnabled))
End Sub
Private m_SelFeatureMsg As String = String.Empty
Public ReadOnly Property SelFeatureMsg As String
Get
Return m_SelFeatureMsg
End Get
End Property
Friend Sub SetSelFeatureMsg(value As String)
m_SelFeatureMsg = value
NotifyPropertyChanged(NameOf(SelFeatureMsg))
End Sub
Private m_DeselFeatureMsg As String = String.Empty
Public ReadOnly Property DeselFeatureMsg As String
Get
Return m_DeselFeatureMsg
End Get
End Property
Friend Sub SetDeselFeatureMsg(value As String)
m_DeselFeatureMsg = value
NotifyPropertyChanged(NameOf(DeselFeatureMsg))
End Sub
Public ReadOnly Property bStrategy_Visibility As Visibility
Get
Return m_SelBTLFeatureVM.bStrategy_Visibility
End Get
End Property
Private m_bStrategyModify_Visibility As Visibility = Visibility.Hidden
Public ReadOnly Property StrategyModify_Visibility As Visibility
Get
Return m_bStrategyModify_Visibility
End Get
End Property
Friend Sub SetStrategyModify_Visibility(value As Boolean)
m_bStrategyModify_Visibility = If(value, Visibility.Visible, Visibility.Hidden)
NotifyPropertyChanged(NameOf(StrategyModify_Visibility))
End Sub
' Definizione comandi
Private m_cmdInvert As ICommand
Private m_cmdBackRotation As ICommand
Private m_cmdForwardRotation As ICommand
Private m_cmdXRotation As ICommand
Private m_cmdPartColour As ICommand
Private m_cmdShowPopUpSettingBtnCmd As ICommand
Private m_cmdVerify As ICommand
Private m_cmdAddToRawPart As ICommand
Private m_cmdSelectAllFeature As ICommand
Private m_cmdDeselectAllFeature As ICommand
Private m_cmdSelectItemFeature As ICommand
Private m_cmdDeselectItemFeature As ICommand
#Region "MESSAGES"
@@ -1683,6 +1777,18 @@ Public Class BTLPartVM
End Get
End Property
Public ReadOnly Property SelectAll_Msg As String
Get
Return EgtMsg(63034)
End Get
End Property
Public ReadOnly Property DeselectAll_Msg As String
Get
Return EgtMsg(63035)
End Get
End Property
Public ReadOnly Property ForwardRotation_ToolTip As String
Get
Return EgtMsg(61997)
@@ -1759,7 +1865,7 @@ Public Class BTLPartVM
AddHandler m_BTLFeatureVMList.CollectionChanged, AddressOf OnBTLFeatureVMListChanged
End Sub
Public Sub Rotation(IsPositive As Boolean, SelectedMachineType As MachineType, Optional bRedraw As Boolean = True, Optional dAng As Double = 90, Optional bVerifyDuplo As Boolean = True)
Public Sub Rotation(IsPositive As Boolean, SelectedMachineType As MachineType, Optional bRedraw As Boolean = True, Optional dAng As Double = 90, Optional bVerifyDuplo As Boolean = True, Optional bResetCalc As Boolean = True)
Dim OldSection As SectionXMaterial = Section
If m_BTLPartM.Rotation(IsPositive, SelectedMachineType, bRedraw, dAng) Then
' aggiorno visualizzazione dimensioni
@@ -1767,7 +1873,7 @@ Public Class BTLPartVM
NotifyPropertyChanged(NameOf(sH))
NotifyPropertyChanged(NameOf(sL))
' setto part e tutte le feature da ricalcolare
ResetCalcTotalPart()
If Not bResetCalc Then ResetCalcTotalPart()
' aggiorno sezioni
Map.refProjectVM.BTLStructureVM.UpdateSection(Section, OldSection)
End If
@@ -1787,7 +1893,9 @@ Public Class BTLPartVM
nState = CalcStates.OK
Case 22
nState = CalcStates.COLLISION
Case 17, 19
Case 17
nState = CalcStates.SECTION
Case 19
nState = CalcStates.WARNING
Case < 0
nState = CalcStates.INFO
@@ -1812,6 +1920,7 @@ Public Class BTLPartVM
m_BTLPartM.nCALC_ROT = 0
m_BTLPartM.nCALC_FALL = 0
m_BTLPartM.sCALC_MSG = ""
m_BTLPartM.nCALC_TIME = 0
' aggiorno lista feature in iconcina calcolo
BTLFeatureVMList_View.Refresh()
NotifyPropertyChanged(NameOf(Calc_BorderBrush))
@@ -2091,7 +2200,7 @@ Public Class BTLPartVM
For Each sPart In ToAddList
sMessage &= " - " & sPart & Environment.NewLine
Next
If MessageBox.Show(sMessage & EgtMsg(61893), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, sMessage & EgtMsg(61893), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
For Each PartVM In ToAddVM
PartVM.AddNewPartToAdded()
Next
@@ -2177,10 +2286,10 @@ Public Class BTLPartVM
ForwardRotation(True)
End Sub
Public Sub ForwardRotation(Optional bUpdateSection As Boolean = False, Optional bRedraw As Boolean = True)
Public Sub ForwardRotation(Optional bUpdateSection As Boolean = False, Optional bRedraw As Boolean = True, Optional dAng As Double = 90, Optional bResetCalc As Boolean = True)
' salvo sezione impostata
Dim CurrSection As SectionXMaterial = Map.refProjectVM.BTLStructureVM.SelSection
Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, bRedraw)
Rotation(True, Map.refProjectVM.BTLStructureVM.nPROJTYPE, bRedraw, dAng, True, bResetCalc)
' imposto lock
bLockRotation = True
' se progetto travi e sezione precedente diversa da vuota (tutti i pezzi)
@@ -2256,43 +2365,18 @@ Public Class BTLPartVM
Private Function SelectColor(Col As Color3d, ByRef NewCol As Color3d) As Boolean
' Creo dialogo colori
'Dim ColorDlg As New System.Windows.Forms.ColorDialog With {
' .FullOpen = True,
' .Color = Col.ToColor()
'}
Dim ColorDlg As New EgtColorPickerV(Application.Current.MainWindow, New EgtColorPickerVM()) With {
.Color = Col.ToColor()
}
' Visualizzo dialogo
If ColorDlg.ShowDialog() <> Forms.DialogResult.OK Then Return False
If ColorDlg.ShowDialog() = False Then Return False
' Recupero colore scelto
NewCol.FromString(ColorDlg.Color.R & "," & ColorDlg.Color.G & "," & ColorDlg.Color.B & "," & ColorDlg.Color.A) 'NewCol.FromColor(ColorDlg.Color)
NewCol.FromColor(ColorDlg.Color)
Return True
End Function
#End Region ' PartColour
#Region "ShowPopUpSettingBtnCommand"
Public ReadOnly Property ShowPopUpSettingBtnCommand As ICommand
Get
If m_cmdShowPopUpSettingBtnCmd Is Nothing Then
m_cmdShowPopUpSettingBtnCmd = New Command(AddressOf ShowPopUpSettingBtn)
End If
Return m_cmdShowPopUpSettingBtnCmd
End Get
End Property
Public Sub ShowPopUpSettingBtn(ByVal param As Object)
If m_IsSettingBtnOpen Then
SetIsSettingBtnOpen(False)
Else
SetIsSettingBtnOpen(True)
End If
End Sub
#End Region ' ShowPopUpSettingBtnCommand
#Region "Verify"
Public ReadOnly Property Verify_Command As ICommand
@@ -2306,7 +2390,8 @@ Public Class BTLPartVM
Friend Sub Verify()
If IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Return
Map.refCALCPanelVM.Verify(ProjectType.PROJ)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetIsRowEnabled(False)
Map.refCALCPanelVM.Verify(ProjectType.PROJ, CalcIntegration.CmdTypes.CHECKNOSIM)
Return
End Sub
@@ -2343,7 +2428,7 @@ Public Class BTLPartVM
If IsNothing(SelMachGroup) Then Return
' se pareti e piu' di uno selezionato, esco
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL And SelParts.Count > 1 Then
MessageBox.Show(EgtMsg(61971), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61971), EgtMsg(30007))
Return
End If
' se MachGroup gia' mandato in produzione, esco
@@ -2362,13 +2447,13 @@ Public Class BTLPartVM
' verifico sezione e materiale
For Each Part In SelParts
If Part.Section <> BeamMachGroup.Section Then
MessageBox.Show(EgtMsg(61866), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61866), EgtMsg(30007))
Return
End If
Next
' verifico lunghezza totale
If Not VerifyTotLength(BeamMachGroup, SelParts) Then
MessageBox.Show(EgtMsg(61867), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61867), EgtMsg(30007))
Return
End If
If AddPartToBeam(BeamMachGroup, SelParts) Then
@@ -2386,7 +2471,7 @@ Public Class BTLPartVM
Dim WallMachGroup As MyMachGroupVM = SelMachGroup
' verifico spessore
If SelPart.Section <> WallMachGroup.Section Then
MessageBox.Show(EgtMsg(61868), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61868), EgtMsg(30007))
Return
End If
If AddPartToWall(WallMachGroup, SelPart) Then
@@ -2415,6 +2500,8 @@ Public Class BTLPartVM
End Function
Friend Function AddPartToBeam(BeamMachGroup As MyMachGroupVM, PartsToAdd As List(Of BTLPartVM)) As Boolean
EgtBeamShowFacesName(False)
EgtBeamShowLoadingSide(False, False)
' ordino i pezzi da aggiungere
PartsToAdd = PartsToAdd.OrderBy(Function(x) x.dL).ToList()
' creo copie dei pezzi
@@ -2607,6 +2694,90 @@ Public Class BTLPartVM
#End Region ' AddToRawPart
#Region "SelectAllFeature"
Public ReadOnly Property SelectAllFeature_Command As ICommand
Get
If m_cmdSelectAllFeature Is Nothing Then
m_cmdSelectAllFeature = New Command(AddressOf SelectAllFeature)
End If
Return m_cmdSelectAllFeature
End Get
End Property
Friend Sub SelectAllFeature()
bDOALL = True
NotifyPropertyChanged(NameOf(bDOALL))
End Sub
#End Region ' SelectAllFeature
#Region "DeselectAllFeature"
Public ReadOnly Property DeselectAllFeature_Command As ICommand
Get
If m_cmdDeselectAllFeature Is Nothing Then
m_cmdDeselectAllFeature = New Command(AddressOf DeselectAllFeature)
End If
Return m_cmdDeselectAllFeature
End Get
End Property
Friend Sub DeselectAllFeature()
bDOALL = False
NotifyPropertyChanged(NameOf(bDOALL))
End Sub
#End Region ' DeselectAllFeature
#Region "SelectItemFeature"
Public ReadOnly Property SelectItemFeature_Command As ICommand
Get
If m_cmdSelectItemFeature Is Nothing Then
m_cmdSelectItemFeature = New Command(AddressOf SelectItemFeature)
End If
Return m_cmdSelectItemFeature
End Get
End Property
Friend Sub SelectItemFeature()
For Each ItemFeature As BTLFeatureVM In m_BTLFeatureVMList
If ItemFeature.sName = m_SelBTLFeatureVM.sName Then
ItemFeature.bDO = True
Else
ItemFeature.bDO = False
End If
NotifyPropertyChanged(NameOf(ItemFeature.bDO))
Next
End Sub
#End Region ' SelectItemFeature
#Region "DeselectItemFeature"
Public ReadOnly Property DeselectItemFeature_Command As ICommand
Get
If m_cmdDeselectItemFeature Is Nothing Then
m_cmdDeselectItemFeature = New Command(AddressOf DeselectItemFeature)
End If
Return m_cmdDeselectItemFeature
End Get
End Property
Friend Sub DeselectItemFeature()
For Each ItemFeature As BTLFeatureVM In m_BTLFeatureVMList
If Not ItemFeature.sName = m_SelBTLFeatureVM.sName Then
ItemFeature.bDO = True
Else
ItemFeature.bDO = False
End If
NotifyPropertyChanged(NameOf(ItemFeature.bDO))
Next
End Sub
#End Region ' DeselectItemFeature
#End Region ' COMMANDS
#Region "EVENTS"
@@ -2641,18 +2812,6 @@ Public Class BTLPartVM
Next
End If
End Sub
Private Sub OnBTLQParamVMListChanged(sender As Object, e As NotifyCollectionChangedEventArgs)
If Not IsNothing(e.NewItems) AndAlso e.NewItems.Count > 0 Then
For Each BTLParamVM As BTLParamVM In e.NewItems
AddHandler BTLParamVM.PropertyChanged, AddressOf OnBTLQParamVMPropertyChanged
Next
End If
If Not IsNothing(e.OldItems) AndAlso e.OldItems.Count > 0 Then
For Each BTLParamVM As BTLParamVM In e.OldItems
RemoveHandler BTLParamVM.PropertyChanged, AddressOf OnBTLQParamVMPropertyChanged
Next
End If
End Sub
Private Sub OnBTLFeatureVMPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
Select Case e.PropertyName
@@ -2673,12 +2832,6 @@ Public Class BTLPartVM
CalcGlobalUpdate(True)
End Select
End Sub
Private Sub OnBTLQParamVMPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
Select Case e.PropertyName
Case NameOf(sender.dValue), NameOf(sender.sValue)
CalcGlobalUpdate(True)
End Select
End Sub
#End Region ' EVENTS
@@ -13,6 +13,8 @@ Public Class BTLStructureVM
#Region "FIELDS & PROPERTIES"
Private DOWN_IMAGE As String = "pack://application:,,,/Resources/NewPage/down.png"
' Nome file NGE con i pezzi selezionati per effettuare UpdateBTL
Friend Const UPDATEBTL_NGE As String = "UpdateBTL.nge"
@@ -110,9 +112,9 @@ Public Class BTLStructureVM
If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then
ShowBuilding(False, False)
Map.refShowBeamPanelVM.SetShowBuilding(False)
Map.refProjectVM.SetSceneShowBuldingVisibility(Visibility.Collapsed)
Map.refProjectVM.SetManagerTabVisibility(Visibility.Visible)
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Map.refProjectVM.SetFeatureListVisibility(Visibility.Visible)
Map.refProjectVM.SetSceneShowBuldingVisibility(False)
Map.refProjectVM.SetManagerTabVisibility(True)
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then Map.refProjectVM.SetFeatureListVisibility(True)
End If
SceneSelPartSelection()
' seleziono pezzo in Db geometrico
@@ -121,8 +123,102 @@ Public Class BTLStructureVM
Dim bLoadingSideShow As Boolean = (nPROJTYPE = BWType.BEAM)
Dim bLeftToRight As Boolean = Not (CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE)
EgtBeamShowLoadingSide(bLoadingSideShow, bLeftToRight)
' imposto tipo di grid selezionata
Map.refProjectVM.SetLastSelGridType(ProjectVM.GridSelTypes.PART)
' trovo ed evidenzio MachGroup e Duplo di questo pezzo
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
For Each Machgroup As MyMachGroupVM In Map.refProjectVM.MachGroupPanelVM.MachGroupVMList
Dim bFound As Boolean = False
For Each Part As PartVM In Machgroup.PartVMList
If EgtDuploGetOriginal(Part.nPartId) = BtlPart.nPartId Then
Part.SetSearchFound()
bFound = True
Else
Part.ResetSearchFound()
End If
Next
If bFound Then
Machgroup.SetSearchFound()
Else
Machgroup.ResetSearchFound()
End If
Next
End If
End If
' seleziono la prima feature
If Not IsNothing(BtlPart) AndAlso Not IsNothing(BtlPart.BTLFeatureVMList) AndAlso BtlPart.BTLFeatureVMList.Count > 0 Then SelBTLPart.SelBTLFeatureVM = BtlPart.BTLFeatureVMList(0)
' Mostro le strategie forzate
Dim bValue As Boolean = False
Dim bValueForced As Boolean = False
For Each FeatureParam As BTLFeatureVM In SelBTLPart.BTLFeatureVMList
bValue = False
EgtGetInfo(FeatureParam.nFeatureId, ConstBeam.STRATEGY & FeatureParam.nFeatureId & "_FORCED", bValue)
If bValue Then
SelBTLPart.SetStrategyModify_Visibility(True)
FeatureParam.SetbStrategy_Visibility(True)
End If
For Each StrategySetupParam As StrategySetup In Map.refStrategyManagerVM.StrategySetupList
For Each StrategyFeatureParam As StrategyFeature In StrategySetupParam.StrategyFeatureList
For Each TopologyParam As Topology In StrategyFeatureParam.TopologyList
For Each StrategyParam As Strategy In TopologyParam.StrategyList
For Each Param As StrategyParameter In StrategyParam.ParameterList
bValueForced = False
EgtGetInfo(FeatureParam.nFeatureId, StrategyParam.sStrategyId & "_" & Param.sNameNge & "_FORCED", bValueForced)
If bValueForced Then FeatureParam.SetbStrategy_Visibility(True)
Next
Next
Next
Next
Next
Next
' aggiorno stato selezionato tutto
Map.refShowBeamPanelVM.bShowAll = False
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
EgtZoom(ZM.ALL)
Map.refProdManagerVM.SetBtlImage(DOWN_IMAGE)
Map.refProdManagerVM.SetOpenImage(DOWN_IMAGE)
Map.refProdManagerVM.SetSaveImage(DOWN_IMAGE)
NotifyPropertyChanged(NameOf(SelBTLPart))
If Not bIsReselect AndAlso m_SelBTLParts.Count = 1 Then BtlPart.SetOpenFeatureList(True)
End Sub
Private Sub DeselectBTLPart(BtlPart As BTLPartVM)
' se necessario tolgo solido dal precedentemente selezionato
Configuration.DeselectSolid(BtlPart.nPartId, True)
If m_SelBTLPart Is BtlPart Then
EgtBeamShowFacesName(False)
EgtBeamShowLoadingSide(False, False)
m_SelBTLPart = Nothing
NotifyPropertyChanged(NameOf(SelBTLPart))
End If
' disabilito eventuale feature selezionata
If Not IsNothing(BtlPart.m_SelBTLFeatureVM) Then
BtlPart.SelBTLFeatureVM = Nothing
End If
EgtDraw()
If m_SelBTLParts.Count = 1 Then
m_SelBTLParts(0).SetOpenFeatureList(True)
End If
If BtlPart.bOpenFeatureList Then
BtlPart.SetOpenFeatureList(False)
End If
End Sub
Public Sub SelectBTLPartScene(BtlPart As BTLPartVM, Optional bIsReselect As Boolean = False)
m_SelBTLPart = BtlPart
If Map.refProjectVM.LastSelGridType = ProjectVM.GridSelTypes.MACHGROUP Then
' resetto gruppo di lavorazione corrente
EgtResetCurrMachGroup()
End If
If Not IsNothing(BtlPart) Then
' gestisco selezione pezzo
EgtBeamShowFacesName(False)
EgtBeamShowLoadingSide(False, False)
Map.refProjectVM.MacroFeature_IsEnabled = True
SceneSelPartSelection()
' seleziono pezzo in Db geometrico
EgtBeamSetPart(BtlPart.nPartId)
EgtBeamShowFacesName(True)
Dim bLoadingSideShow As Boolean = (nPROJTYPE = BWType.BEAM)
Dim bLeftToRight As Boolean = Not (CurrentMachine.ViewDir = VT.ISO_NW OrElse CurrentMachine.ViewDir = VT.ISO_NE)
EgtBeamShowLoadingSide(bLoadingSideShow, bLeftToRight)
' trovo ed evidenzio MachGroup e Duplo di questo pezzo
If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) Then
Dim MachGroupList As New List(Of MyMachGroupVM)
@@ -145,36 +241,11 @@ Public Class BTLStructureVM
End If
End If
' seleziono la prima feature
If Not IsNothing(BtlPart) AndAlso Not IsNothing(BtlPart.BTLFeatureVMList) AndAlso BtlPart.BTLFeatureVMList.Count > 0 Then SelBTLPart.SelBTLFeatureVM = BtlPart.BTLFeatureVMList(0)
' aggiorno stato selezionato tutto
Map.refShowBeamPanelVM.bShowAll = False
If Not IsNothing(BtlPart) AndAlso Not IsNothing(BtlPart.BTLFeatureVMList) AndAlso BtlPart.BTLFeatureVMList.Count > 0 Then SelBTLPart.SetSelFeature(SelBTLPart.SelBTLFeatureVM)
Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False)
EgtZoom(ZM.ALL)
NotifyPropertyChanged(NameOf(SelBTLPart))
If Not bIsReselect AndAlso m_SelBTLParts.Count = 1 Then
BtlPart.SetOpenFeatureList(True)
End If
End Sub
Private Sub DeselectBTLPart(BtlPart As BTLPartVM)
' se necessario tolgo solido dal precedentemente selezionato
Configuration.DeselectSolid(BtlPart.nPartId, True)
If m_SelBTLPart Is BtlPart Then
EgtBeamShowFacesName(False)
EgtBeamShowLoadingSide(False, False)
m_SelBTLPart = Nothing
NotifyPropertyChanged(NameOf(SelBTLPart))
End If
' disabilito eventuale feature selezionata
If Not IsNothing(BtlPart.m_SelBTLFeatureVM) Then
BtlPart.SelBTLFeatureVM = Nothing
End If
EgtDraw()
If m_SelBTLParts.Count = 1 Then
m_SelBTLParts(0).SetOpenFeatureList(True)
End If
If BtlPart.bOpenFeatureList Then
BtlPart.SetOpenFeatureList(False)
End If
If Not bIsReselect AndAlso m_SelBTLParts.Count = 1 Then BtlPart.SetOpenFeatureList(True)
End Sub
Private m_SelBTLPart As BTLPartVM = Nothing
@@ -764,7 +835,7 @@ Public Class BTLStructureVM
Public ReadOnly Property Data_ToolTip As String
Get
Return EgtMsg(61897)
Return EgtMsg(61898)
End Get
End Property
@@ -802,6 +873,19 @@ Public Class BTLStructureVM
If BTLStructureM.nAsseBaseId = GDB_ID.NULL Then
Map.refShowBeamPanelVM.SetShowBuilding(False)
End If
If Not IsNothing(Map.refProdManagerVM.BTLDataWnd) Then
Dim bValue As Boolean = False
Dim bValueForced As Boolean = False
For Each BTLPart As BTLPartVM In m_BTLPartVMList
For Each GeneralParameter As ProjectParameters In Map.refProdManagerVM.BTLDataWnd.GeneralParametersList
bValue = False
bValueForced = False
EgtGetInfo(m_BTLStructureM.nBTLInfoId, GeneralParameter.sNameNge & "_FORCED", bValue)
EgtGetInfo(BTLPart.nPartId, GeneralParameter.sNameNge & "_FORCED", bValueForced)
If bValueForced Then BTLPart.SetStrategyModify_Visibility(True)
Next
Next
End If
End Sub
#End Region ' Constructor
@@ -1088,6 +1172,7 @@ Public Class BTLStructureVM
End Function
Friend Sub UpdateSection(NewPartSection As SectionXMaterial, OldPartSection As SectionXMaterial)
Dim tmpSectionList As New List(Of SectionXMaterial)
If IsNothing(BTLPartVMList) Then Return
' verifico se era unico con vecchia sezione
If Not m_BTLPartVMList.Any(Function(x) x.Section = OldPartSection) Then
@@ -1099,8 +1184,13 @@ Public Class BTLStructureVM
End If
' verifico se esiste già nuova sezione
If Not m_SectionList.Any(Function(x) x = NewPartSection) Then
m_SectionList.Add(NewPartSection)
tmpSectionList.Add(NewPartSection)
End If
Application.Current.Dispatcher.Invoke(Sub()
For Each SectionItem As SectionXMaterial In tmpSectionList
m_SectionList.Add(SectionItem)
Next
End Sub)
End Sub
' funzione che aggiorna totale tempi a fine calcolo
@@ -1182,7 +1272,7 @@ Public Class BTLStructureVM
End Property
Friend Sub Data(nProjId As Integer)
Dim BTLDataWnd As New BTLDataWndV(Application.Current.MainWindow, New BTLDataWndVM(nProjId))
Dim BTLDataWnd As New BTLDataWndV(Application.Current.MainWindow, New BTLDataWndVM())
BTLDataWnd.ShowDialog()
End Sub
@@ -1236,6 +1326,7 @@ Public Class BTLStructureVM
Map.refProjectVM.BTLStructureVM.SectionList.Add(NewPartVM.Section)
End If
End If
If Map.refProdManagerVM.ListProjAsseBase.Count > 0 Then Map.refProjectVM.UpdatePart(nNewPartId)
End If
End Sub
@@ -1256,13 +1347,13 @@ Public Class BTLStructureVM
If IsNothing(CurrProd) Then Return
' verifico se progetto modificato, e chiedo se salvare
If CurrProd.bIsNew Or EgtGetModified() OrElse Map.refCALCPanelVM.IsMachineModified() Then
Select Case MessageBox.Show(EgtMsg(61877), "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
Select Case EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61877), "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
Case MessageBoxResult.Yes
Map.refProdManagerVM.Save()
Case MessageBoxResult.Cancel
Return
Case Else ' No
MessageBox.Show(EgtMsg(61892), "", MessageBoxButton.OK, MessageBoxImage.Exclamation)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61892), "", MessageBoxButton.OK, MessageBoxImage.Exclamation)
Return
End Select
End If
@@ -1291,12 +1382,14 @@ Public Class BTLStructureVM
If bWithDlg Then
' apro finestra scelta file
Dim BTLDlg As New Microsoft.Win32.OpenFileDialog() With {
.Title = EgtMsg(61834),
.DefaultExt = ".btl",
.Filter = "BTL (*.btl)|*.btl" &
"|BTLX (*.btlx)|*.btlx",
.InitialDirectory = If(Directory.Exists(sDir), sDir, ""),
.CheckFileExists = True,
.ValidateNames = True}
If BTLDlg.ShowDialog() Then
sFile = BTLDlg.FileName
Else
+77 -27
View File
@@ -95,6 +95,17 @@ Public Class CALCPanelVM
End Set
End Property
Private m_bCalculating As Boolean = False
Friend ReadOnly Property bCalculating As Boolean
Get
Return m_bCalculating
End Get
End Property
Friend Sub SetCalculating(value As Boolean)
m_bCalculating = value
NotifyPropertyChanged(NameOf(bCalculating))
End Sub
' Definizione comandi
Private m_cmdChooseMachine As ICommand
Private m_cmdOk As ICommand
@@ -140,7 +151,7 @@ Public Class CALCPanelVM
Private Sub Calc_Ended(sender As Object, e As CalcEndEventArgs)
If e.End_ = CalcEndEventArgs.Results.ERROR_ OrElse e.End_ = CalcEndEventArgs.Results.NULL Then
MessageBox.Show("Execution error (all processes are disabled)")
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62540))
End If
If e.End_ = CalcEndEventArgs.Results.EDIT Then
Map.refMyStatusBarVM.SetOutputMessage("Editor closed")
@@ -377,6 +388,7 @@ Public Class CALCPanelVM
If nProgramPage = ProjectType.PROJ Then
' aggiorno il pezzo
Dim BTLPart As BTLPartVM = GetBTLPartVMFromBTLPartId(nBarId)
BTLPart.SetIsRowEnabled(True)
BTLPart.CalcGlobalUpdate()
' lancio aggiornamento tempo su BTL
Map.refProjectVM.BTLStructureVM.CalcGlobalTime()
@@ -385,6 +397,7 @@ Public Class CALCPanelVM
For Each Part In Machgroup.PartVMList
Part.CalcGlobalUpdate()
Next
Machgroup.SetIsRowEnabled(True)
Machgroup.CalcGlobalUpdate()
' lancio aggiornamento tempo su MachgroupPanel
Map.refProjectVM.MachGroupPanelVM.CalcGlobalTime()
@@ -397,7 +410,6 @@ Public Class CALCPanelVM
nLastErr = 25
sLastMsg = "Execution Error"
End If
End Sub
Private Shared Function GetVal(sText As String, sKey As String) As Integer?
@@ -487,7 +499,7 @@ Public Class CALCPanelVM
(nMachType = 3 And Not IsNothing(Map.refProdManagerVM) AndAlso Not IsNothing(ProjectManagerVM.CurrProd)) Then
MachineList.Add(Machine)
' Se il nome Macchina coincide setto la macchina selezionata con la macchina associata al progetto
If Machine.Name = sMachineName Then
If String.Equals(Machine.Name, sMachineName, StringComparison.OrdinalIgnoreCase) Then
SelectedMachine = MachineList(MachineList.IndexOf(Machine))
m_OrigSelectedMachine = SelectedMachine
End If
@@ -520,7 +532,7 @@ Public Class CALCPanelVM
m_OrigSelectedMachine = SelectedMachine
End Sub
Friend Sub Verify(ProgramPage As ProjectType)
Friend Sub Verify(ProgramPage As ProjectType, CmdType As Integer)
If (IsNothing(ProjectManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.BTLStructureVM) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM)) Then Return
Dim ProjType As BWType = ProjectManagerVM.CurrProd.nType
Dim BarList() As EgtBEAMWALL.Core.Bar = Nothing
@@ -536,14 +548,14 @@ Public Class CALCPanelVM
End If
Else
Dim ExecThread As New Thread(Sub()
VerifyWithEngine(ProgramPage)
VerifyWithEngine(ProgramPage, CmdType)
End Sub)
ExecThread.Start()
End If
End Sub
Private Sub VerifyProjWithEngine(CurrPart As BTLPartVM)
Private Sub VerifyProjWithEngine(CurrPart As BTLPartVM, CmdType As Integer)
If Not CurrPart.bDO Then Return
Dim Args As New Dictionary(Of String, String)
Args.Add("BarId", CurrPart.nPartId)
@@ -562,7 +574,7 @@ Public Class CALCPanelVM
Dim sBTLPartFilePath As String = BarPath & "\" & CurrPart.nPDN.ToString() & ".ori.bwe"
If File.Exists(sBTLPartFilePath) Then File.Delete(sBTLPartFilePath)
End If
nCmdType = CalcIntegration.CmdTypes.CHECKNOSIM
nCmdType = CmdType
End Select
Args.Add("CmdType", nCmdType)
Dim ExecEnvironment As EXECENVIRONMENTS = EXECENVIRONMENTS.NULL
@@ -572,11 +584,23 @@ Public Class CALCPanelVM
Case BWType.WALL
ExecEnvironment = EXECENVIRONMENTS.WALL
End Select
' Imposto contesto scena principale
Dim CurrContext As Integer = EgtGetCurrentContext()
Dim MainSceneContext As Integer = Map.refSceneHostVM.MainScene.GetCtx()
If CurrContext <> MainSceneContext Then
EgtSetCurrentContext(MainSceneContext)
End If
Dim Request As New QuestionDTO(1, ExecEnvironment, Args)
Request.Args("BarPath") = CreateNewProjectFromPart(CurrPart.nPartId, BarPath)
EgtSetCurrentContext(CurrContext)
EgtOutLog("Creato progetto " & CurrPart.nPartId)
If Request.ExecEnvironment <> EXECENVIRONMENTS.NULL Then
MyExecProcessManager.ExecProcessManagerList(Request.ExecEnvironment).ArgumentsEnqueue(Request)
If Not MyExecProcessManager.ExecProcessManagerList.ContainsKey(Request.ExecEnvironment) Then
EgtOutLog(EgtMsg(62588))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62588), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
Else
MyExecProcessManager.ExecProcessManagerList(Request.ExecEnvironment).ArgumentsEnqueue(Request)
End If
End If
End Sub
@@ -612,15 +636,27 @@ Public Class CALCPanelVM
Case BWType.WALL
ExecEnvironment = EXECENVIRONMENTS.WALL
End Select
' Imposto contesto scena principale
Dim CurrContext As Integer = EgtGetCurrentContext()
Dim MainSceneContext As Integer = Map.refSceneHostVM.MainScene.GetCtx()
If CurrContext <> MainSceneContext Then
EgtSetCurrentContext(MainSceneContext)
End If
Dim Request As New QuestionDTO(1, ExecEnvironment, Args)
Request.Args("BarPath") = CreateNewProjectFromMachGroup(CurrMachGroup.Id, BarPath, CurrMachGroup.nGlobalState)
EgtSetCurrentContext(CurrContext)
EgtOutLog("Creato progetto " & CurrMachGroup.Id)
If Request.ExecEnvironment <> EXECENVIRONMENTS.NULL Then
MyExecProcessManager.ExecProcessManagerList(Request.ExecEnvironment).ArgumentsEnqueue(Request)
If Not MyExecProcessManager.ExecProcessManagerList.ContainsKey(Request.ExecEnvironment) Then
EgtOutLog(EgtMsg(62588))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62588), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
Else
MyExecProcessManager.ExecProcessManagerList(Request.ExecEnvironment).ArgumentsEnqueue(Request)
End If
End If
End Sub
Private Sub VerifyWithEngine(ProgramPage As ProjectType)
Private Sub VerifyWithEngine(ProgramPage As ProjectType, CmdType As Integer)
Dim ProjType As BWType = ProjectManagerVM.CurrProd.nType
' lancio calcolo
Dim ExecEnvironment As EXECENVIRONMENTS = EXECENVIRONMENTS.NULL
@@ -630,9 +666,15 @@ Public Class CALCPanelVM
Case BWType.WALL
ExecEnvironment = EXECENVIRONMENTS.WALL
End Select
' Blocco scena dell'assemblato
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(False)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(False)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
Map.refMyStatusBarVM.StartLoading(EgtMsg(62576), False)
Map.refMyStatusBarVM.MaximumValue = 1
If ProgramPage = ProjectType.PROJ Then
If Not Map.refProjectVM.BTLStructureVM.SelBTLPart.bDO Then Return
VerifyProjWithEngine(Map.refProjectVM.BTLStructureVM.SelBTLPart)
VerifyProjWithEngine(Map.refProjectVM.BTLStructureVM.SelBTLPart, CmdType)
ElseIf ProgramPage = ProjectType.PROD Then
' se e' gia' stato assegnato a supervisor, la salto e vado alla prossima barra
If Map.refMachGroupPanelVM.SelectedMachGroup.nProduction_State >= ItemState.Assigned Then Return
@@ -723,7 +765,7 @@ Public Class CALCPanelVM
Map.refMyStatusBarVM.SetOutputMessage(sProgress)
End Sub
Friend Sub VerifyAll(ProgramPage As ProjectType)
Friend Sub VerifyAll(ProgramPage As ProjectType, CmdType As Integer)
Dim ProjType As BWType = ProjectManagerVM.CurrProd.nType
If GetMainPrivateProfileInt(S_GENERAL, "UseCam5", 0) = 1 Then
Dim BarList() As EgtBEAMWALL.Core.Bar = Nothing
@@ -738,34 +780,32 @@ Public Class CALCPanelVM
End If
Else
Dim ExecThread As New Thread(Sub()
VerifyAllWithEngine(ProgramPage)
VerifyAllWithEngine(ProgramPage, CmdType)
End Sub)
ExecThread.Start()
End If
End Sub
Private Sub VerifyAllWithEngine(ProgramPage As ProjectType)
Private Sub VerifyAllWithEngine(ProgramPage As ProjectType, CmdType As Integer)
Dim QuestionList As New List(Of QuestionDTO)
' Blocco scena dell'assemblato
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(False)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(False)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False
Map.refMyStatusBarVM.StartLoading(EgtMsg(62576), False)
If ProgramPage = ProjectType.PROJ Then
Map.refMyStatusBarVM.MaximumValue = Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count
For PartIndex = 0 To Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
If Not Map.refProjectVM.BTLStructureVM.BTLPartVMList(PartIndex).bDO Then Continue For
VerifyProjWithEngine(Map.refProjectVM.BTLStructureVM.BTLPartVMList(PartIndex))
VerifyProjWithEngine(Map.refProjectVM.BTLStructureVM.BTLPartVMList(PartIndex), CmdType)
Next
For PartIndex = 0 To Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count - 1
Map.refProjectVM.BTLStructureVM.BTLPartVMList(PartIndex).SetIsRowEnabled(True)
Next
Map.refLeftPanelVM.SetCALCPanel_IsEnabled(True)
ElseIf ProgramPage = ProjectType.PROD Then
Map.refMyStatusBarVM.MaximumValue = Map.refMachGroupPanelVM.MachGroupVMList.Count
For PartIndex = 0 To Map.refMachGroupPanelVM.MachGroupVMList.Count - 1
' se e' gia' stato assegnato a supervisor, la salto e vado alla prossima barra
If DirectCast(Map.refMachGroupPanelVM.MachGroupVMList(PartIndex), MyMachGroupVM).nProduction_State >= ItemState.Assigned Then Return
VerifyProdWithEngine(Map.refMachGroupPanelVM.MachGroupVMList(PartIndex))
Next
For PartIndex = 0 To Map.refMachGroupPanelVM.MachGroupVMList.Count - 1
DirectCast(Map.refMachGroupPanelVM.MachGroupVMList(PartIndex), MyMachGroupVM).SetIsRowEnabled(True)
Next
Map.refRawPartManagerVM.SetCALCPanel_IsEnabled(True)
End If
End Sub
@@ -848,7 +888,7 @@ Public Class CALCPanelVM
Friend Sub ChooseMachine()
' rendo visibile la CmBx per la scelta e il pulsante di conferma solo se il Proj corrente non ha associato alcun Prod
If ProjectManagerVM.CurrProd.nProjId > 0 Then
MessageBox.Show(EgtMsg(61929), EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61929), EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation)
Else
SetChooseMachine_Visibility(True)
End If
@@ -919,9 +959,8 @@ Public Class CALCPanelVM
End If
nPartId = EgtGetNextPart(nPartId)
End While
' Se OnlyProdPage rimuovo MachGroup
If Map.refProjectVM.MachGroupPanelVM.MachGroupVMList.Count > 0 Then
If MessageBox.Show(EgtMsg(61779), EgtMsg(30009), MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) = MessageBoxResult.OK Then
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61779), EgtMsg(30009), MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) = MessageBoxResult.OK Then
For Index As Integer = Map.refMachGroupPanelVM.MachGroupVMList.Count - 1 To 0 Step -1
Dim CurrMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.MachGroupVMList(Index)
CurrMachGroup.DeleteMachGroup()
@@ -930,6 +969,17 @@ Public Class CALCPanelVM
End If
' rigenero struttura BTL
Map.refProjectVM.BTLStructureVM = New BTLStructureVM(BTLStructureM.CreateBTLStructure(ProjId))
For Each Part In Map.refProjectVM.BTLStructureVM.BTLPartVMList
Part.ResetCalcTotalPart()
Part.SetStrategyModify_Visibility(False)
For Each Feature As BTLFeatureVM In Part.BTLFeatureVMList
Map.refForcedStrategyPanelVM.ResetForcedStrategy(Feature.nFeatureId)
Next
Next
If Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count > 0 Then
Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Map.refProjectVM.BTLStructureVM.BTLPartVMList(0))
End If
Map.refMyStatusBarVM.RefreshMachName()
End Sub
#End Region ' Ok
@@ -8,7 +8,7 @@
IsEnabled="{Binding CALCPanel_IsEnabled}"
Visibility="{Binding ChooseMachineBtn_Visibility}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/CALCPanel/ChooseMachine.png"
<Image Source="{StaticResource ChooseMachine_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
@@ -14,8 +14,7 @@
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0"
Style="{StaticResource ChangeMaterialWnd_Grid}">
<Grid Style="{StaticResource ChangeMaterialWnd_Grid}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
@@ -129,7 +129,7 @@ Public Class ChangeMaterialWndVM
Not IsNothing(m_SelWhMaterial) AndAlso m_SelWhMaterial <> "" Then
RaiseEvent m_CloseWindow(True)
Else
MessageBox.Show(EgtMsg(61858), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61858), EgtMsg(30007))
End If
End Sub
@@ -37,7 +37,8 @@
<TextBlock Grid.Row="2"
Text="Parameter"
Style="{StaticResource Option_TextBlock}"/>
<ComboBox Grid.Row="2" Grid.Column="1"
<ComboBox Grid.Row="2"
Grid.Column="1"
ItemsSource="{Binding ParamList}"
SelectedItem="{Binding SelParam}"
DisplayMemberPath="sNameAndDescription"
@@ -46,7 +47,8 @@
<TextBlock Grid.Row="4"
Text="Actual value"
Style="{StaticResource Option_TextBlock}"/>
<EgtWPFLib5:EgtTextBox Grid.Row="4" Grid.Column="1"
<EgtWPFLib5:EgtTextBox Grid.Row="4"
Grid.Column="1"
Text="{Binding SelParam.sActualValue}"
Visibility="{Binding SelParam.IsTextBox_Visibility}"/>
<CheckBox Grid.Row="4"
@@ -108,7 +108,7 @@ Public Class ChangeParameterWndVM
Not IsNothing(m_SelParam) AndAlso m_SelParam.sName <> "" Then
RaiseEvent m_CloseWindow(True)
Else
MessageBox.Show(EgtMsg(61858), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61858), EgtMsg(30007))
End If
End Sub
@@ -1,10 +1,10 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.IO.Compression
Imports System.Reflection
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtBEAMWALL.Core
Imports MS.Internal
Imports Ionic.Zip
Public Class ConfigurationPageVM
Inherits VMBase
@@ -27,21 +27,21 @@ Public Class ConfigurationPageVM
If m_SelConfigSubPage = ConfigSubPages.GENERAL Then
' Controllo se il file CustomConfig Json è stato modificato
If Map.refStrategyManagerVM.bIsModifyStrategy Then Map.refStrategyManagerVM.SaveCustomConfigJson()
SetGeneral_Visibility(Visibility.Visible)
SetStrategyManager_Visibility(Visibility.Collapsed)
SetPDFEditor_Visibility(Visibility.Collapsed)
SetGeneral_Visibility(True)
SetStrategyManager_Visibility(False)
SetPDFEditor_Visibility(False)
ElseIf m_SelConfigSubPage = ConfigSubPages.MACHINE Then
' Controllo se il file CustomConfig Json è stato modificato
If Map.refStrategyManagerVM.bIsModifyStrategy Then Map.refStrategyManagerVM.SaveCustomConfigJson()
SetGeneral_Visibility(Visibility.Collapsed)
SetStrategyManager_Visibility(Visibility.Collapsed)
SetPDFEditor_Visibility(Visibility.Collapsed)
SetGeneral_Visibility(False)
SetStrategyManager_Visibility(False)
SetPDFEditor_Visibility(False)
ElseIf m_SelConfigSubPage = ConfigSubPages.PDFEDITOR Then
' Controllo se il file CustomConfig Json è stato modificato
If Map.refStrategyManagerVM.bIsModifyStrategy Then Map.refStrategyManagerVM.SaveCustomConfigJson()
SetPDFEditor_Visibility(Visibility.Visible)
SetGeneral_Visibility(Visibility.Collapsed)
SetStrategyManager_Visibility(Visibility.Collapsed)
SetPDFEditor_Visibility(True)
SetGeneral_Visibility(False)
SetStrategyManager_Visibility(False)
End If
End Set
End Property
@@ -204,8 +204,8 @@ Public Class ConfigurationPageVM
Return m_bGeneral_Visibility
End Get
End Property
Friend Sub SetGeneral_Visibility(value As Visibility)
m_bGeneral_Visibility = value
Friend Sub SetGeneral_Visibility(value As Boolean)
m_bGeneral_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(General_Visibility))
End Sub
@@ -215,8 +215,8 @@ Public Class ConfigurationPageVM
Return m_bStrategyManager_Visibility
End Get
End Property
Friend Sub SetStrategyManager_Visibility(value As Visibility)
m_bStrategyManager_Visibility = value
Friend Sub SetStrategyManager_Visibility(value As Boolean)
m_bStrategyManager_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(StrategyManager_Visibility))
End Sub
@@ -226,8 +226,8 @@ Public Class ConfigurationPageVM
Return m_bMachine_Visibility
End Get
End Property
Friend Sub SetMachine_Visibility(value As Visibility)
m_bMachine_Visibility = value
Friend Sub SetMachine_Visibility(value As Boolean)
m_bMachine_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(Machine_Visibility))
End Sub
@@ -237,8 +237,8 @@ Public Class ConfigurationPageVM
Return m_bPDFEditor_Visibility
End Get
End Property
Friend Sub SetPDFEditor_Visibility(value As Visibility)
m_bPDFEditor_Visibility = value
Friend Sub SetPDFEditor_Visibility(value As Boolean)
m_bPDFEditor_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(PDFEditor_Visibility))
End Sub
@@ -248,8 +248,8 @@ Public Class ConfigurationPageVM
Return m_MachineParameter_Visibility
End Get
End Property
Friend Sub SetMachineParameter_Visibility(value As Visibility)
m_MachineParameter_Visibility = value
Friend Sub SetMachineParameter_Visibility(value As Boolean)
m_MachineParameter_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(MachineParameter_Visibility))
End Sub
@@ -264,6 +264,39 @@ Public Class ConfigurationPageVM
End Set
End Property
'Private ReadOnly m_ThemesDataService As New ThemesDataServiceVM()
'Private m_Themes As New ObservableCollection(Of ThemesDataServiceM)
'Public Property Themes As ObservableCollection(Of ThemesDataServiceM)
' Get
' Return m_Themes
' End Get
' Set(value As ObservableCollection(Of ThemesDataServiceM))
' If Not m_Themes.Equals(value) Then
' m_Themes = value
' End If
' End Set
'End Property
'Private m_SelectedThema As Integer = 0
'Private m_SelectedTheme As ThemesDataServiceM
'Public Property SelectedTheme As ThemesDataServiceM
' Get
' Return m_SelectedTheme
' End Get
' Set(value As ThemesDataServiceM)
' m_ThemesDataService.SetTheme(value)
' m_SelectedTheme = value
' ' salvo in file ini la scelta del tema corrente
' Dim IndexThema As Integer = Themes.IndexOf(m_SelectedTheme)
' If IndexThema < 0 Then
' IndexThema = 0
' End If
' WriteMainPrivateProfileString(S_GENERAL, K_THEMA, IndexThema.ToString())
' m_SelectedThema = IndexThema
' End Set
'End Property
' Definizione comandi
Private m_cmdSave As ICommand
Private m_cmdChooseExternalBackupFolderPath As ICommand
@@ -490,11 +523,59 @@ Public Class ConfigurationPageVM
End Get
End Property
Public ReadOnly Property TemaAdvert_Msg As String
Get
Return EgtMsg(110008) ' Il nuovo tema diventerà corrente quando verrà selezionato.
End Get
End Property
Public ReadOnly Property Tema_Msg As String
Get
Return EgtMsg(110009) ' Tema
End Get
End Property
Public ReadOnly Property Import_Msg As String
Get
Return EgtMsg(63042)
End Get
End Property
Public ReadOnly Property Backup_Msg As String
Get
Return EgtMsg(63022)
End Get
End Property
Public ReadOnly Property Restore_Msg As String
Get
Return EgtMsg(63025)
End Get
End Property
Public ReadOnly Property Remainder_Msg As String
Get
Return EgtMsg(63043)
End Get
End Property
Public ReadOnly Property External_Msg As String
Get
Return EgtMsg(63044)
End Get
End Property
Public ReadOnly Property BackupRestore_Msg As String
Get
Return EgtMsg(63045)
End Get
End Property
#End Region ' Messages
#End Region ' Fields & Properties
#Region "Constructor"
#Region "CONSTRUCTOR"
Sub New()
' imposto riferimento in Map
@@ -533,10 +614,13 @@ Public Class ConfigurationPageVM
SelReminder = m_ReminderList.FirstOrDefault(Function(x) x.Id = nDefaultReminderFrequency)
Dim nExternalBackupActive As Integer = GetMainPrivateProfileInt(S_BACKUPANDRESTORE, K_EXTERNALBACKUPACTIVE, 0)
m_bExternalBackupActive = nExternalBackupActive > 0
SetMachineParameter_Visibility(Visibility.Collapsed)
SetMachine_Visibility(Visibility.Collapsed)
SetMachineParameter_Visibility(False)
SetMachine_Visibility(False)
' Recupero flag per verificare se fare solo l'importazione del btl o anche la verifica
m_bVerifyImportBTL_IsChecked = GetMainPrivateProfileInt(S_GENERAL, K_VERIFYIMPORTBTL, 0) <> 0
'' imposto il tema
'm_SelectedThema = GetMainPrivateProfileInt(S_GENERAL, K_THEMA, 0)
'LoadThemes()
NotifyPropertyChanged(NameOf(bExternalBackupActive))
End Sub
@@ -552,6 +636,7 @@ Public Class ConfigurationPageVM
WriteMainPrivateProfileString(S_NEST, K_SECTIONTIME, DoubleToString(m_SectionTime, 5))
WriteMainPrivateProfileString(S_NEST, K_PARTTIME, DoubleToString(m_PartTime, 5))
WriteMainPrivateProfileString(S_PRINTER, K_ENABLE, If(m_bPrintLabel_IsChecked, 1, 0))
Map.refMyMachine.VerifyConfigPageModification()
End Sub
' funzione che verifica l'inserimento della password quando si edita un parametro Macchina
@@ -569,6 +654,37 @@ Public Class ConfigurationPageVM
Return False
End Function
'''' <summary>
'''' Seleziona il tema se presente
'''' </summary>
'''' <param name="IndexThema"></param>
'Public Sub SetThema(IndexThema As Integer)
' If m_Themes.Count > 0 Then
' m_ThemesDataService.SetTheme(m_Themes(IndexThema))
' End If
'End Sub
'''' <summary>
'''' Fuzione che carica i temi del dizionario
'''' </summary>
'Private Sub LoadThemes()
' ' Popolo la lista temi
' m_Themes.Add(New ThemesDataServiceM() With {
' .Name = "Default",
' .Path = "Themes/DefaultDictionary.xaml",
' .AssemblyName = "EgtBEAMWALL.Core"
' })
' m_Themes.Add(New ThemesDataServiceM() With {
' .Name = "Dark",
' .Path = "Themes/DarkDictionary.xaml",
' .AssemblyName = "EgtBEAMWALL.Core"
' })
' ' Seleziono elemento in ComboBox
' m_SelectedTheme = m_Themes(m_SelectedThema)
' ' Attivo il tema letto sopra
' SetThema(m_SelectedThema)
'End Sub
#End Region ' Methods
#Region "COMMANDS"
@@ -608,7 +724,7 @@ Public Class ConfigurationPageVM
.DefaultExt = ".folder",
.OverwritePrompt = False,
.FileName = "Select this ",
.Title = "Backup & Restore File Path"}
.Title = EgtMsg(63039)}
If FileDialog.ShowDialog() Then
m_ExternalBackupFolderPath = Path.GetDirectoryName(FileDialog.FileName)
WriteMainPrivateProfileString(S_BACKUPANDRESTORE, K_EXTERNALFILEPATH, m_ExternalBackupFolderPath)
@@ -692,35 +808,40 @@ Public Class ConfigurationPageVM
Try
DataLayer.DbConfig.DataBaseDumpToFile(sBackupZipPath)
Catch ex As Exception
MessageBox.Show(EgtMsg(62103), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62103), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
bOk = False
End Try
If bOk AndAlso File.Exists(sBackupZipPath) Then
If bLoadingWindow Then LoadingWndHelper.UpdateLoadingWnd(ActiveIds.BACKUP, 2, EgtMsg(63024), 15, 100) ' Projects backup
' backup dei progetti correnti
Try
Using zip As New Ionic.Zip.ZipFile(sBackupFolder, Console.Out)
zip.AlternateEncodingUsage = ZipOption.Always
zip.AlternateEncoding = Text.Encoding.UTF8
zip.CompressionMethod = CompressionMethod.None
' aggiungo Db
zip.AddItem(sBackupZipPath, "")
' aggiungo cartella progetti
Dim sProjectFolder As String = Map.refMainWindowVM.MainWindowM.sDataDir & "\"
Dim sKey As String = ""
EgtGetKeyInfo(sKey)
sKey = sKey.Replace(" ", "")
Dim sUserFolder As String = ""
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
sUserFolder = sKey.Substring(3, 6)
sProjectFolder &= sUserFolder
End If
zip.AddItem(sProjectFolder, sUserFolder)
' salvo lo zip
zip.Save()
Using zipStream As FileStream = New FileStream(sBackupFolder, FileMode.Create)
Using archive As ZipArchive = New ZipArchive(zipStream, ZipArchiveMode.Create)
Dim dbEntry As ZipArchiveEntry = archive.CreateEntry(Path.GetFileName(sBackupZipPath), CompressionLevel.NoCompression)
Using entryStream = dbEntry.Open()
Using fileStream = File.OpenRead(sBackupZipPath)
fileStream.CopyTo(entryStream)
End Using
End Using
Dim sProjectFolder As String = Map.refMainWindowVM.MainWindowM.sDataDir & "\"
Dim sKey As String = ""
EgtGetKeyInfo(sKey)
sKey = sKey.Replace(" ", "")
Dim sUserFolder As String = ""
If Not IsNothing(sKey) AndAlso sKey.Length > 11 Then
sUserFolder = sKey.Substring(3, 6)
sProjectFolder &= sUserFolder
End If
If Directory.Exists(sProjectFolder) Then
AddDirectoryToZip(archive, sProjectFolder, sUserFolder)
End If
End Using
End Using
Catch ex As Exception
MessageBox.Show(EgtMsg(62103), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62103), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
bOk = False
End Try
End If
@@ -733,7 +854,7 @@ Public Class ConfigurationPageVM
If Directory.Exists(m_ExternalBackupFolderPath) Then
CopyForExternalBackup(sBackupFolder, m_ExternalBackupFolderPath)
Else
MessageBox.Show(EgtMsg(62104), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' External folder does not exist or is not reachable! Copy to external folder impossible!
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62104), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' External folder does not exist or is not reachable! Copy to external folder impossible!
End If
End If
'chiudo finestra di caricamento
@@ -750,6 +871,21 @@ Public Class ConfigurationPageVM
End Using
End Sub
Private Sub AddDirectoryToZip(archive As ZipArchive, folderPath As String, entryRoot As String)
Dim files As String() = Directory.GetFiles(folderPath, "*.*", SearchOption.AllDirectories)
For Each file As String In files
Dim relativePath As String = entryRoot & "\" & file.Substring(folderPath.Length).TrimStart("\"c)
Dim entry As ZipArchiveEntry = archive.CreateEntry(relativePath, CompressionLevel.NoCompression)
Using entryStream = entry.Open()
Using fileStream = System.IO.File.OpenRead(file)
fileStream.CopyTo(entryStream)
End Using
End Using
Next
End Sub
#End Region ' Backup
#Region "Restore"
@@ -765,11 +901,11 @@ Public Class ConfigurationPageVM
Public Sub Restore()
' recupero processo del supervisore
Dim sSupervisorName As String = "EgtBEAMWALL.SupervisorR32"
Dim sSupervisorName As String = "Aedifica.SupervisorR32"
Dim localProc As Process() = Process.GetProcessesByName(sSupervisorName)
' verifico che sia chiuso
If localProc.Length > 0 Then
MessageBox.Show(EgtMsg(62105), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning) ' Please verify the machine is stoped and close the supervisor before proceding with the restore operation!
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62105), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning) ' Please verify the machine is stoped and close the supervisor before proceding with the restore operation!
Return
End If
m_bRestoreRunning = True
@@ -815,22 +951,22 @@ Public Class ConfigurationPageVM
Next
End If
If String.IsNullOrEmpty(sRestorePath) Then
MessageBox.Show(EgtMsg(62106), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Restore impossible! Last backup not found!
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62106), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Restore impossible! Last backup not found!
m_bRestoreRunning = False
Return
End If
If MessageBox.Show(String.Format(EgtMsg(62107), nYear, nMonth, nDay), EgtMsg(15002), MessageBoxButton.OKCancel, MessageBoxImage.Warning) <> MessageBoxResult.OK Then 'Are you sure you want to restore the last backup from {0}\{1}\{2}? If you proceed you will lose actual data!
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, String.Format(EgtMsg(62107), nYear, nMonth, nDay), EgtMsg(15002), MessageBoxButton.OKCancel, MessageBoxImage.Warning) <> MessageBoxResult.OK Then 'Are you sure you want to restore the last backup from {0}\{1}\{2}? If you proceed you will lose actual data!
m_bRestoreRunning = False
Return
End If
Dim bDoBackup = False
Select Case MessageBox.Show(EgtMsg(62108), EgtMsg(15003), MessageBoxButton.YesNoCancel, MessageBoxImage.Information) ' Do you want to do a backup of the current project before proceding with the restore?
Select Case EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62108), EgtMsg(15003), MessageBoxButton.YesNoCancel, MessageBoxImage.Information) ' Do you want to do a backup of the current project before proceding with the restore?
Case MessageBoxResult.Yes
bDoBackup = True
Case MessageBoxResult.No
bDoBackup = False
Case MessageBoxResult.Cancel
MessageBox.Show(EgtMsg(62109), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62109), EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
m_bRestoreRunning = False
Return
End Select
@@ -862,14 +998,12 @@ Public Class ConfigurationPageVM
Dim bOk As Boolean = True
' apro file zip
Try
Using zip As New Ionic.Zip.ZipFile(sRestorePath, Console.Out)
' estraggo file da zip
zip.ExtractAll(sRestoreDir)
End Using
If Directory.Exists(sRestoreDir) Then Directory.Delete(sRestoreDir, True)
ZipFile.ExtractToDirectory(sRestorePath, sRestoreDir)
Catch ex1 As Exception
EgtOutLog("Error! Impossible importing Recovery file " & sRestorePath & "!")
EgtOutLog("Exception in zip: " & ex1.ToString())
MessageBox.Show(EgtMsg(62110), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Impossible importing Recovery file!
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62110), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Impossible importing Recovery file!
bOk = False
End Try
Dim sBackupTempPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\DbRestore"
@@ -879,7 +1013,7 @@ Public Class ConfigurationPageVM
Try
DataLayer.DbConfig.DataBaseRestoreFromFile(sRestoreDir & "\DbBackup.zip", "", sBackupTempPath)
Catch ex As Exception
MessageBox.Show(EgtMsg(62111), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Restore failed! Impossible to restore the backup Database
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62111), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Restore failed! Impossible to restore the backup Database
bOk = False
End Try
End If
@@ -26,7 +26,7 @@
ToolTip="{Binding SaveToolTip}"
Visibility="{Binding General_Visibility}"
Style="{StaticResource SaveOptionPanel_Button}">
<Image Source="/Resources/ProjectManager/Save.png"
<Image Source="{StaticResource Save_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -44,7 +44,7 @@
ToolTip="{Binding SaveToolTip}"
Visibility="{Binding PDFEditor_Visibility}"
Style="{StaticResource SaveOptionPanel_Button}">
<Image Source="/Resources/ProjectManager/Save.png"
<Image Source="{StaticResource Save_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -90,6 +90,7 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Management" />
<Reference Include="System.Numerics" />
<Reference Include="System.Printing" />
@@ -184,6 +185,12 @@
<Compile Include="Panel\TopPanelV.xaml.vb">
<DependentUpon>TopPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="PopUp\BTLPartListPopUpV.xaml.vb">
<DependentUpon>BTLPartListPopUpV.xaml</DependentUpon>
</Compile>
<Compile Include="PopUp\RawPartListPopUpV.xaml.vb">
<DependentUpon>RawPartListPopUpV.xaml</DependentUpon>
</Compile>
<Compile Include="ProdManager\ProdManagerV.xaml.vb">
<DependentUpon>ProdManagerV.xaml</DependentUpon>
</Compile>
@@ -272,7 +279,6 @@
<Compile Include="Statistics\PDFEditorV.xaml.vb">
<DependentUpon>PDFEditorV.xaml</DependentUpon>
</Compile>
<Compile Include="Statistics\PDFFlowHelper.vb" />
<Compile Include="Statistics\StatisticsV.xaml.vb">
<DependentUpon>StatisticsV.xaml</DependentUpon>
</Compile>
@@ -672,6 +678,14 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="PopUp\BTLPartListPopUpV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="PopUp\RawPartListPopUpV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ProdManager\ProdManagerV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -975,21 +989,21 @@
<Resource Include="Resources\ViewPanel\ZoomIn.png" />
<Resource Include="Resources\ViewPanel\ZoomOut.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\down.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="BouncyCastle">
<Version>1.8.5</Version>
</PackageReference>
<PackageReference Include="DotNetZip">
<Version>1.16.0</Version>
</PackageReference>
<PackageReference Include="EgwMultiEngineManager.Core">
<Version>2.7.10.1</Version>
<Version>3.1.1.2</Version>
</PackageReference>
<PackageReference Include="EgwMultiEngineManager.Data">
<Version>2.7.10.1</Version>
<Version>3.1.1.2</Version>
</PackageReference>
<PackageReference Include="EgwWPFBaseLib">
<Version>2.7.11-beta.4</Version>
<Version>3.1.3-beta.6</Version>
</PackageReference>
<PackageReference Include="EntityFramework">
<Version>6.4.4</Version>
@@ -1145,18 +1159,78 @@
<ItemGroup>
<Resource Include="Resources\NewPage\adjustment.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\up.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\openfolder.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\fileimport.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\newdocument.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\export.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\import.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\ViewPanel\ZoomAll+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\InstrumentPanel\GetDist+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\modify_adjustment.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\SplashScreen\SplashScreen.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\clock.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Desktop.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Download.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Windows.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\HardDrive.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Content.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Details.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\List.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Tiles.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewPage\VerifyAllR.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerR32.exe
IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerD32.exe
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerR64.exe
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerD64.exe
IF "$(ConfigurationName)" == "Debug" copy c:\EgtDev\EgtBEAMWALL\EgtBEAMWALL.Optimizer\bin\x86\Debug\EgwMultiEngineManager.Data.dll c:\EgtProg\EgtBEAMWALL\EgwMultiEngineManager.Data.dll
IF "$(ConfigurationName)" == "Release" copy c:\EgtDev\EgtBEAMWALL\EgtBEAMWALL.Optimizer\bin\x86\Release\EgwMultiEngineManager.Data.dll c:\EgtProg\EgtBEAMWALL\EgwMultiEngineManager.Data.dll
IF "$(ConfigurationName)" == "Debug" copy c:\EgtDev\EgtBEAMWALL\EgtBEAMWALL.Optimizer\bin\x86\Debug\EgwMultiEngineManager.Core.dll c:\EgtProg\EgtBEAMWALL\EgwMultiEngineManager.Core.dll
IF "$(ConfigurationName)" == "Release" copy c:\EgtDev\EgtBEAMWALL\EgtBEAMWALL.Optimizer\bin\x86\Release\EgwMultiEngineManager.Core.dll c:\EgtProg\EgtBEAMWALL\EgwMultiEngineManager.Core.dll
IF "$(ConfigurationName)" == "Debug" copy c:\EgtDev\EgtBEAMWALL\EgtBEAMWALL.Optimizer\bin\x86\Debug\EgwWPFBaseLib.dll c:\EgtProg\EgtBEAMWALL\EgwWPFBaseLib.dll
IF "$(ConfigurationName)" == "Release" copy c:\EgtDev\EgtBEAMWALL\EgtBEAMWALL.Optimizer\bin\x86\Release\EgwWPFBaseLib.dll c:\EgtProg\EgtBEAMWALL\EgwWPFBaseLib.dll</PostBuildEvent>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Aedifica\Aedifica.OptimizerR32.exe
IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\Aedifica\Aedifica.OptimizerD32.exe
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Aedifica\EgtBEAMWALL.OptimizerR64.exe
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\Aedifica\Aedifica.OptimizerD64.exe
IF "$(ConfigurationName)" == "Debug" copy "$(TargetDir)EgwMultiEngineManager.Data.dll" c:\EgtProg\Aedifica\EgwMultiEngineManager.Data.dll
IF "$(ConfigurationName)" == "Release" copy "$(TargetDir)EgwMultiEngineManager.Data.dll" c:\EgtProg\Aedifica\EgwMultiEngineManager.Data.dll
IF "$(ConfigurationName)" == "Debug" copy "$(TargetDir)EgwMultiEngineManager.Core.dll" c:\EgtProg\Aedifica\EgwMultiEngineManager.Core.dll
IF "$(ConfigurationName)" == "Release" copy "$(TargetDir)EgwMultiEngineManager.Core.dll" c:\EgtProg\Aedifica\EgwMultiEngineManager.Core.dll
IF "$(ConfigurationName)" == "Debug" copy "$(TargetDir)EgwWPFBaseLib.dll" c:\EgtProg\Aedifica\EgwWPFBaseLib.dll
IF "$(ConfigurationName)" == "Release" copy "$(TargetDir)EgwWPFBaseLib.dll" c:\EgtProg\Aedifica\EgwWPFBaseLib.dll</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>
@@ -1,4 +1,5 @@
Imports System.IO
Imports EgtBEAMWALL.Core.ConstBeam
Imports EgtBEAMWALL.Core.ConstIni
Imports EgtUILib
Imports EgtWPFLib5
@@ -67,13 +68,42 @@ Module MyExecProcessManager
End Function
Private Sub ExecProcessManager_AnswerReceived(Answer As AnswerDTO)
Map.refMyStatusBarVM.SetLoadingProgress_Visibility(True)
Dim sBarPath As String = Answer.Args("BarPath")
Dim nProgramPage As Integer = -1
Integer.TryParse(Answer.Args("ProgramPage"), nProgramPage)
Dim nBarId As Integer = -1
Integer.TryParse(Answer.Args("BarId"), nBarId)
EgtOutLog("Risultato progetto " & nBarId)
Map.refCALCPanelVM.ProcessResults(sBarPath, nProgramPage, nBarId)
CALCPanelVM.ProcessResults(sBarPath, nProgramPage, nBarId)
If Answer.Args.Count > 4 Then
Dim nPreInvert As Integer = -1
Dim bPreInvert As Boolean = False
Integer.TryParse(Answer.Args("PREINVERT"), nPreInvert)
If nPreInvert = 1 Then bPreInvert = True
Dim nPreRotate As Integer = -1
Integer.TryParse(Answer.Args("PREROTATE90"), nPreRotate)
Dim dAng As Integer = nPreRotate * 90
Dim BTLPartItem As BTLPartVM = Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nBarId)
If nPreInvert > 0 Then
If BTLPartItem.IsInverted Then bPreInvert = False
BTLPartItem.SetInverted(bPreInvert)
End If
If nPreRotate > 0 Then BTLPartItem.ForwardRotation(True, True, dAng, False)
End If
' Gestione progressbar per verificare l'inizio e la fine della verifica
Dim BeamManager As ExecProcessManager = m_ExecProcessManagerList(EXECENVIRONMENTS.BEAM)
Dim nQuestionInQueue As Integer = BeamManager.nQuestionInQueue
Dim nFreeOrWaitingAnswerProcesses As Integer = BeamManager.nFreeOrWaitingAnswerProcesses
Dim nRunningProcesses As Integer = BeamManager.nRunningProcesses
Map.refMyStatusBarVM.SetLoadingProgress(Map.refMyStatusBarVM.MaximumValue - nQuestionInQueue - (nRunningProcesses - nFreeOrWaitingAnswerProcesses))
If nQuestionInQueue = 0 AndAlso nFreeOrWaitingAnswerProcesses = nRunningProcesses Then
Map.refMyStatusBarVM.EndLoading(EgtMsg(62577), 2)
Map.refSceneShowBuldingVM.SceneShowBulding.Enable(True)
Map.refSceneBuildingVM.SetViewPanel_IsEnable(True)
Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = True
Map.refCALCPanelVM.SetCalculating(False)
End If
End Sub
Friend Function Close()
@@ -6,23 +6,20 @@
<Button Command="{Binding CopyFeature_Command}"
ToolTip="{Binding CopyFeature_ToolTip}"
IsEnabled="{Binding CopyFeature_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/LeftPanel/CopyFeature.png"
<Image Source="{StaticResource CopyFeature_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding AddFeature_Command}"
ToolTip="{Binding AddFeature_ToolTip}"
IsEnabled="{Binding AddFeature_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/LeftPanel/AddFeature.png"
<Image Source="{StaticResource AddFeature_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding RemoveFeature_Command}"
ToolTip="{Binding RemoveFeature_ToolTip}"
IsEnabled="{Binding RemoveFeature_IsEnabled}"
Style="{StaticResource LP_Button}">
<Image Source="/Resources/NewPage/Remove.png"
<Image Source="{StaticResource Remove_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
@@ -117,7 +117,7 @@ Public Class FeatureListManagerVM
' Reset lua
EgtLuaResetGlobVar("MACRO")
If Not bOk Then
MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61869), EgtMsg(30007))
Return
End If
bMacroFlag = True
@@ -79,7 +79,7 @@
ToolTip="{Binding MacroFeature_ToolTip}"
IsEnabled="{Binding MacroFeature_IsEnabled}"
Style="{StaticResource MacroFeaturen_Button}">
<Image Source="/Resources/LeftPanel/MacroFeature.png"
<Image Source="{StaticResource MacroFeature_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
@@ -23,8 +23,8 @@ Public Class FeatureManagerVM
Return m_Variant_Visibility
End Get
End Property
Public Sub SetVariant_Visibility(value As Visibility)
m_Variant_Visibility = value
Public Sub SetVariant_Visibility(value As Boolean)
m_Variant_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(Variant_Visibility))
End Sub
@@ -21,7 +21,7 @@
<Image Source="{Binding sStrategyImagePath}"
Style="{StaticResource ForcedStrategyBTL_Image}"/>
<TextBlock Text="{Binding sStrategyName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
Style="{StaticResource ForcedStrategy_TextBlock}"/>
</StackPanel>
</DataTemplate>
</ListBox.Resources>
@@ -24,7 +24,7 @@
<Image Source="{Binding sStrategyImagePath}"
Style="{StaticResource ForcedStrategyBTL_Image}"/>
<TextBlock Text="{Binding sStrategyName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
Style="{StaticResource ForcedStrategy_TextBlock}"/>
</StackPanel>
</DataTemplate>
</ListBox.Resources>
@@ -42,17 +42,18 @@
<StackPanel Grid.Row="2"
Grid.ColumnSpan="2"
HorizontalAlignment="Right"
Style="{StaticResource PartManager_StackPanel}">
Style="{StaticResource PParameters_StackPanel}">
<Button Command="{Binding Ok_Command}"
ToolTip="{Binding Ok_Msg}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/NewPage/Ok.png" Stretch="Uniform"/>
<Image Source="{StaticResource Ok_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Cancel_Command}"
ToolTip="{Binding Cancel_Msg}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/PDFEditor/Delete.png" Stretch="Uniform"/>
<Image Source="{StaticResource Delete_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -73,7 +73,7 @@ Public Class ForcedStrategyPanelVM
LoadStrategyListFromTopology(Feature.nFeatureId, Feature.nPRC, nTmpGRP)
' leggo eventuali parametri forzati
Dim sStrategyID As String = ""
EgtGetInfo(m_CurrentFeature.nFeatureId, "STRATEGY", sStrategyID)
EgtGetInfo(m_CurrentFeature.nFeatureId, ConstBeam.STRATEGY, sStrategyID)
If String.IsNullOrWhiteSpace(sStrategyID) Then Return
Dim ForcedStrategy As Strategy = m_StrategyList.FirstOrDefault(Function(x) x.sStrategyId = sStrategyID)
If IsNothing(ForcedStrategy) Then
@@ -133,7 +133,6 @@ Public Class ForcedStrategyPanelVM
If File.Exists(sAvailableStrategiesFilePath) Then
sReadedFile = File.ReadAllText(sAvailableStrategiesFilePath)
Dim JsonStrategyFeatureList As List(Of JsonAvailableStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonAvailableStrategyFeature))(sReadedFile)
'nGRP = CalcBeamPrivateProfileGRP(nGRP)
Dim JsonAvailableStrategyFeature As JsonAvailableStrategyFeature = JsonStrategyFeatureList.FirstOrDefault(Function(x) x.nGrp = nGRP AndAlso x.nPrc = nPRC)
If IsNothing(JsonAvailableStrategyFeature) Then Return False
Dim JsonAvailableTopology As JsonAvailableTopology = JsonAvailableStrategyFeature.TopologyList.FirstOrDefault(Function(x) x.sName = sTopologyName)
@@ -149,7 +148,6 @@ Public Class ForcedStrategyPanelVM
If File.Exists(sAvailableStrategiesFilePath) Then
sReadedFile = File.ReadAllText(sAvailableStrategiesFilePath)
Dim JsonStrategyFeatureList As List(Of JsonAvailableStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonAvailableStrategyFeature))(sReadedFile)
'nGRP = CalcBeamPrivateProfileGRP(nGRP)
Dim JsonAvailableStrategyFeature As JsonAvailableStrategyFeature = JsonStrategyFeatureList.FirstOrDefault(Function(x) x.nGrp = nGRP AndAlso x.nPrc = nPRC)
If IsNothing(JsonAvailableStrategyFeature) Then Return False
Dim JsonAvailableTopology As JsonAvailableTopology = JsonAvailableStrategyFeature.TopologyList.FirstOrDefault(Function(x) x.sName = sTopologyName)
@@ -168,7 +166,7 @@ Public Class ForcedStrategyPanelVM
If Not EgtGetInfo(nPartId, PROJ, nPartProjId) OrElse nPartProjId <= 0 Then Return False
Dim nBTLInfoLayerId As Integer = GetCurrProjBtlInfoLayerId(nPartProjId)
Dim sStrategySetupName As String = ""
EgtGetInfo(nBTLInfoLayerId, "AISETUP", sStrategySetupName)
EgtGetInfo(nBTLInfoLayerId, AI_SETUP, sStrategySetupName)
If Not String.IsNullOrWhiteSpace(sStrategySetupName) Then
' carico custom
Dim sAISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProjectManagerVM.CurrProd.nType, True)
@@ -191,7 +189,6 @@ Public Class ForcedStrategyPanelVM
If File.Exists(sAvailableStrategiesFilePath) Then
sReadedFile = File.ReadAllText(sAvailableStrategiesFilePath)
Dim JsonStrategyFeatureList As List(Of JsonAvailableStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonAvailableStrategyFeature))(sReadedFile)
'nGRP = CalcBeamPrivateProfileGRP(nGRP)
Dim JsonAvailableStrategyFeature As JsonAvailableStrategyFeature = JsonStrategyFeatureList.FirstOrDefault(Function(x) x.nGrp = nGRP AndAlso x.nPrc = nPRC)
If IsNothing(JsonAvailableStrategyFeature) Then Return False
Dim JsonAvailableTopology As JsonAvailableTopology = JsonAvailableStrategyFeature.TopologyList.FirstOrDefault(Function(x) x.sName = sTopologyName)
@@ -211,7 +208,6 @@ Public Class ForcedStrategyPanelVM
End If
End If
'Dim JsonStrategyFeatureList As List(Of JsonStrategyFeature) = JsonConvert.DeserializeObject(Of List(Of JsonStrategyFeature))(sReadedFile)
Dim JsonStrategyFeature As JsonStrategyFeature = JsonFeatureList.FirstOrDefault(Function(x) x.nGrp = nGRP AndAlso x.nPrc = nPRC)
If IsNothing(JsonStrategyFeature) Then Return False
Dim JsonTopology As JsonTopology = JsonStrategyFeature.TopologyList.FirstOrDefault(Function(x) x.sName = sTopologyName)
@@ -275,7 +271,7 @@ Public Class ForcedStrategyPanelVM
Friend Sub ForcedStrategy()
' cancello precedenti valori
Dim sPrecStrategyID As String = ""
EgtGetInfo(m_CurrentFeature.nFeatureId, "STRATEGY", sPrecStrategyID)
EgtGetInfo(m_CurrentFeature.nFeatureId, ConstBeam.STRATEGY, sPrecStrategyID)
If Not String.IsNullOrWhiteSpace(sPrecStrategyID) Then
Dim PrecInfo As String() = {}
EgtGetAllInfo(m_CurrentFeature.nFeatureId, PrecInfo)
@@ -286,20 +282,36 @@ Public Class ForcedStrategyPanelVM
End If
If Not IsNothing(m_SelStrategy) Then
If m_SelStrategy.sStrategyId = AUTOMATICSTRATEGYID Then
EgtRemoveInfo(m_CurrentFeature.nFeatureId, "STRATEGY")
m_SelStrategy.SetbIsStrategyModify(False)
EgtRemoveInfo(m_CurrentFeature.nFeatureId, ConstBeam.STRATEGY)
EgtRemoveInfo(m_CurrentFeature.nFeatureId, ConstBeam.STRATEGY & m_CurrentFeature.nFeatureId & "_FORCED")
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(False)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.SetbStrategy_Visibility(False)
Else
EgtSetInfo(m_CurrentFeature.nFeatureId, "STRATEGY", SelStrategy.sStrategyId)
m_SelStrategy.SetbIsStrategyModify(True)
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(True)
If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) Then
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.SetbStrategy_Visibility(True)
ElseIf Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.SelPart.SelFeatureVM) Then
Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.SelPart.SelFeatureVM.SetbStrategy_Visibility(True)
End If
EgtSetInfo(m_CurrentFeature.nFeatureId, ConstBeam.STRATEGY, SelStrategy.sStrategyId)
EgtSetInfo(m_CurrentFeature.nFeatureId, ConstBeam.STRATEGY & m_CurrentFeature.nFeatureId & "_FORCED", SelStrategy.bIsStrategyModify)
Dim sInfo As String = String.Empty
For Each Param In SelStrategy.ParameterList
Select Case Param.GetType()
Case GetType(BooleanStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge, DirectCast(Param, BooleanStrategyParameter).bValue)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge & "_FORCED", DirectCast(Param, BooleanStrategyParameter).bIsBooleanModify)
Case GetType(DoubleStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge, DirectCast(Param, DoubleStrategyParameter).sValue)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge & "_FORCED", DirectCast(Param, DoubleStrategyParameter).bIsDoubleModify)
Case GetType(ComboStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge, DirectCast(Param, ComboStrategyParameter).SelValue.sValue)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge & "_FORCED", DirectCast(Param, ComboStrategyParameter).bIsComboBoxModify)
Case GetType(StringStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge, DirectCast(Param, StringStrategyParameter).sValue)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge & "_FORCED", DirectCast(Param, StringStrategyParameter).bIsStringModify)
Case GetType(ListStrategyParameter)
For Each Item As ToolParameter In DirectCast(Param, ListStrategyParameter).ListValue
If Item.bIsActive Then
@@ -307,12 +319,29 @@ Public Class ForcedStrategyPanelVM
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge, sInfo)
End If
Next
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyId & "_" & Param.sNameNge & "_FORCED", DirectCast(Param, ListStrategyParameter).bIsListModify)
End Select
Next
End If
End If
End Sub
Friend Sub ResetForcedStrategy(nFeatureId As Integer)
' cancello precedenti valori
Dim sPrecStrategyID As String = ""
EgtGetInfo(nFeatureId, ConstBeam.STRATEGY, sPrecStrategyID)
If Not String.IsNullOrWhiteSpace(sPrecStrategyID) Then
Dim PrecInfo As String() = {}
EgtGetAllInfo(nFeatureId, PrecInfo)
Dim PrecStrategyInfo As String() = PrecInfo.Where(Function(x) x.StartsWith(sPrecStrategyID)).ToArray()
For Each Info In PrecStrategyInfo
EgtRemoveInfo(nFeatureId, Info.Split("="c)(0))
Next
EgtRemoveInfo(nFeatureId, ConstBeam.STRATEGY)
EgtRemoveInfo(nFeatureId, ConstBeam.STRATEGY & nFeatureId & "_FORCED")
End If
End Sub
#End Region ' Methods
#Region "COMMANDS"
@@ -334,6 +363,7 @@ Public Class ForcedStrategyPanelVM
' Abilito LeftPanel
Map.refProjectVM.SetLeftPanel_IsEnabled(True)
Map.refProjectVM.SetLeftPanel_Opacity(1)
Map.refSceneHostVM.SaveProject()
End Sub
#End Region ' Ok_Command
@@ -1,7 +1,7 @@
<StackPanel x:Class="FreeContourManagerV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Style="{StaticResource BTLPartManager_StackPanel}">
Style="{StaticResource FreeContourManager_StackPanel}">
<ComboBox ItemsSource="{Binding TypeList}"
SelectedIndex="{Binding SelType, Delay=1}"
@@ -14,62 +14,62 @@
ToolTip="{Binding Line2P_ToolTip}"
IsEnabled="{Binding Line2P_IsEnabled}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/Line2P.png"
<Image Source="{StaticResource Line2P_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Delete_Command}"
ToolTip="{Binding Delete_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/Delete.png"
<Image Source="{StaticResource DeleteD_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding ModifyCurve_Command}"
ToolTip="{Binding ModifyCurve_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/ModifyCurve.png"
<Image Source="{StaticResource ModifyCurve_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding AddPointCurve_Command}"
ToolTip="{Binding AddPointCurve_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png"
<Image Source="{StaticResource AddPointCurve_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding RemovePointCurve_Command}"
ToolTip="{Binding RemovePointCurve_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png"
<Image Source="{StaticResource RemovePointCurve_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding ChangeStart_Command}"
ToolTip="{Binding ChangeStart_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/ChangeStart.png"
<Image Source="{StaticResource ChangeStart_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding InvertCurve_Command}"
ToolTip="{Binding InvertCurve_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/InvertCurve.png"
<Image Source="{StaticResource InvertCurve_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Move_Command}"
ToolTip="{Binding Move_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/Move.png"
<Image Source="{StaticResource Move_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Rotate_Command}"
ToolTip="{Binding Rotate_ToolTip}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/Rotate.png"
<Image Source="{StaticResource RotateD_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding TextAngle_Command}"
ToolTip="{Binding TextAngle_ToolTip}"
Visibility="{Binding TextAngle_Visibility}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/DrawPanel/Text.png"
<Image Source="{StaticResource Text_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
@@ -83,7 +83,7 @@ Public Class FreeContourManagerVM
NotifyPropertyChanged(NameOf(TextAngle_Visibility))
Case FreeContourTypes.TWO
' chiedo conferma
If MessageBox.Show(EgtMsg(61862), "", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
If EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(61862), "", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
m_SelType = FreeContourTypes.TWO
NotifyPropertyChanged(NameOf(SelType))
Return
@@ -423,7 +423,7 @@ Public Class FreeContourManagerVM
Dim frFace As New Frame3d
EgtBeamGetSideData(SelFeature.nSelSIDE, frFace)
Dim frFrame As New Frame3d(SelFeature.BTLFeatureM.frFRAME)
frFrame.ToGlob( frFace)
frFrame.ToGlob(frFace)
EgtSetGridFrame(frFrame)
EgtSetGridShow(True, True)
Map.refSceneHostVM.MainScene.CPlaneView()
@@ -25,7 +25,7 @@
<Button Command="{Binding Ok_Command}"
ToolTip="{Binding SaveAsToolTip}"
Style="{StaticResource SaveStrategy_Button}">
<Image Source="/Resources/NewPage/Ok.png"
<Image Source="{StaticResource Ok_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -1,6 +1,4 @@
Imports System.Windows.Forms
Public Class GeneralParametersStrategyV
Public Class GeneralParametersStrategyV
#Region "FIELDS & PROPERTIES"
@@ -3,7 +3,6 @@ Imports System.ComponentModel
Imports System.Globalization
Imports System.IO
Imports System.Reflection
Imports System.Windows.Forms
Imports EgtBEAMWALL.Core
Imports EgtBEAMWALL.Optimizer.MainMenuVM
Imports EgtUILib
@@ -15,6 +14,8 @@ Public Class GeneralParametersStrategyVM
#Region "FIELDS & PROPERTIES"
Private PADLOCK_IMAGE As String = "pack://application:,,,/Resources/NewPage/padlock.png"
' Evento per chiusura finestra
Public Event m_CloseWindow(bDialogResult As Boolean)
@@ -73,11 +74,13 @@ Public Class GeneralParametersStrategyVM
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, True, False))
Case UserLevel.ADMINISTRATOR
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UnlockAllIsChecked, True, False))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, True, False))
Map.refMainMenuVM.SetUnloackImage(PADLOCK_IMAGE)
End If
End Select
Next
@@ -101,11 +104,14 @@ Public Class GeneralParametersStrategyVM
For Each ProjectItem In JsonRoot.GENERAL
Dim DefaultProject As ProjectParameters = m_GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectItem.sName)
DefaultProject.ReadConfiguration(ProjectItem)
If Not IsNothing(DefaultProject) Then
DefaultProject.ReadConfiguration(ProjectItem, m_GeneralParametersList)
Else
EgtOutLog("Parametro Generale: " & ProjectItem.sName & " non presente")
End If
Next
End If
End If
End Sub
#End Region ' Methods
@@ -138,10 +144,10 @@ Public Class GeneralParametersStrategyVM
ProjectItem.sValue = DirectCast(ProjectItem, ListGenericParameter).SelValue.sName
End Select
Next
Map.refStrategyManagerVM.Save()
Map.refStrategyManagerVM.Save(m_GeneralParametersList)
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
' Chiudo finestra
RaiseEvent m_CloseWindow(DialogResult.OK)
RaiseEvent m_CloseWindow(True)
End Sub
#End Region ' Ok_Command
@@ -159,7 +165,7 @@ Public Class GeneralParametersStrategyVM
Public Sub Close()
' Chiudo finestra senza fare niente
RaiseEvent m_CloseWindow(DialogResult.Cancel)
RaiseEvent m_CloseWindow(False)
End Sub
#End Region ' CloseCommand
@@ -423,8 +429,8 @@ Public MustInherit Class ProjectParameters
Friend MustOverride Function Serialize() As JsonParametersHelper
Friend Sub ReadConfiguration(ProjectParameters As JsonParameters)
Dim DefaultProject As ProjectParameters = Map.refGeneralParametersStrategyVM.GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectParameters.sName)
Friend Sub ReadConfiguration(ProjectParameters As JsonParameters, GeneralParametersList As ObservableCollection(Of ProjectParameters))
Dim DefaultProject As ProjectParameters = GeneralParametersList.FirstOrDefault(Function(x) x.sName = ProjectParameters.sName)
If IsNothing(DefaultProject) Then
' verifico indici!!
Else
@@ -432,29 +438,29 @@ Public MustInherit Class ProjectParameters
Case GetType(BooleanGenericParameter)
DirectCast(DefaultProject, BooleanGenericParameter).SetValue(ProjectParameters.sValue)
If m_sMinUserLevel = 1 Then
DirectCast(DefaultProject, BooleanGenericParameter).SetbBooleanVisibility(Visibility.Visible)
DirectCast(DefaultProject, BooleanGenericParameter).SetbBooleanVisibility(True)
End If
Case GetType(DoubleGenericParameter)
DirectCast(DefaultProject, DoubleGenericParameter).SetValue(ProjectParameters.sValue)
If m_sMinUserLevel = 1 Then
DirectCast(DefaultProject, DoubleGenericParameter).SetbDoubleVisibility(Visibility.Visible)
DirectCast(DefaultProject, DoubleGenericParameter).SetbDoubleVisibility(True)
End If
Case GetType(ComboGenericParameter)
DirectCast(DefaultProject, ComboGenericParameter).SetSelValue(ProjectParameters.sValue)
If m_sMinUserLevel = 1 Then
DirectCast(DefaultProject, ComboGenericParameter).SetbComboBoxVisibility(Visibility.Visible)
DirectCast(DefaultProject, ComboGenericParameter).SetbComboBoxVisibility(True)
End If
Case GetType(StringGenericParameter)
DirectCast(DefaultProject, StringGenericParameter).SetValue(ProjectParameters.sValue)
If m_sMinUserLevel = 1 Then
DirectCast(DefaultProject, StringGenericParameter).SetbStringVisibility(Visibility.Visible)
DirectCast(DefaultProject, StringGenericParameter).SetbStringVisibility(True)
End If
Case GetType(ListGenericParameter)
DirectCast(DefaultProject, ListGenericParameter).SetSelValue(ProjectParameters.sValue)
DirectCast(DefaultProject, ListGenericParameter).CreateToolsViews()
DirectCast(DefaultProject, ListGenericParameter).ToolView()
If DefaultProject.sMinUserLevel = 1 Then
DirectCast(DefaultProject, ListGenericParameter).SetbListBoxVisibility(Visibility.Visible)
DirectCast(DefaultProject, ListGenericParameter).SetbListBoxVisibility(True)
End If
End Select
End If
@@ -474,8 +480,11 @@ Public Class BooleanGenericParameter
Return m_bValue
End Get
Set(value As Boolean)
If m_bValue <> value Then
If Not Map.refBTLDataWndVM.IsBTLDataWnd Then Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
SetbIsBooleanModify(True)
End If
m_bValue = value
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
End Set
End Property
Friend Sub SetValue(bValue As Boolean)
@@ -491,11 +500,25 @@ Public Class BooleanGenericParameter
Return m_bBooleanVisibility
End Get
End Property
Friend Sub SetbBooleanVisibility(value As Visibility)
m_bBooleanVisibility = value
Friend Sub SetbBooleanVisibility(value As Boolean)
m_bBooleanVisibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(bBooleanVisibility))
End Sub
Private m_bIsBooleanModify As Boolean = False
Public ReadOnly Property bIsBooleanModify As Boolean
Get
Return m_bIsBooleanModify
End Get
End Property
Friend Sub SetbIsBooleanModify(value As Boolean)
m_bIsBooleanModify = value
If m_bIsBooleanModify AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso Map.refProjectVM.bSaveGeneralParameters Then
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(True)
End If
NotifyPropertyChanged(NameOf(bIsBooleanModify))
End Sub
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
@@ -515,10 +538,7 @@ Public Class BooleanGenericParameter
#Region "METHODS"
Friend Overrides Function Serialize() As JsonParametersHelper
Dim sValue As String = "false"
If bValue Then
sValue = "true"
End If
Dim sValue As String = If(bValue, "true", "false")
Dim JsonParametersHelper As New JsonParametersHelper(sName, sNameNge, sValue, "b")
Return JsonParametersHelper
End Function
@@ -542,11 +562,14 @@ Public Class DoubleGenericParameter
If String.IsNullOrWhiteSpace(value) Then
m_dValue = Nothing
ElseIf StringToDouble(value, dValue) Then
If m_dValue <> dValue Then
If Not Map.refBTLDataWndVM.IsBTLDataWnd Then Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
SetbIsDoubleModify(True)
End If
m_dValue = dValue
Else
NotifyPropertyChanged(NameOf(sValue))
End If
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
End Set
End Property
Friend Sub SetValue(dValue As Double)
@@ -570,11 +593,25 @@ Public Class DoubleGenericParameter
Return m_bDoubleVisibility
End Get
End Property
Friend Sub SetbDoubleVisibility(value As Visibility)
m_bDoubleVisibility = value
Friend Sub SetbDoubleVisibility(value As Boolean)
m_bDoubleVisibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(bDoubleVisibility))
End Sub
Private m_bIsDoubleModify As Boolean = False
Public ReadOnly Property bIsDoubleModify As Boolean
Get
Return m_bIsDoubleModify
End Get
End Property
Friend Sub SetbIsDoubleModify(value As Boolean)
m_bIsDoubleModify = value
If m_bIsDoubleModify AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso Map.refProjectVM.bSaveGeneralParameters Then
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(True)
End If
NotifyPropertyChanged(NameOf(bIsDoubleModify))
End Sub
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
@@ -615,8 +652,11 @@ Public Class StringGenericParameter
Return m_sValue
End Get
Set(value As String)
m_sValue = Nothing
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
If m_sValue <> value Then
If Not Map.refBTLDataWndVM.IsBTLDataWnd Then Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
SetbIsStringModify(True)
End If
m_sValue = value
End Set
End Property
Friend Sub SetValue(dValue As String)
@@ -629,11 +669,25 @@ Public Class StringGenericParameter
Return m_bStringVisibility
End Get
End Property
Friend Sub SetbStringVisibility(value As Visibility)
m_bStringVisibility = value
Friend Sub SetbStringVisibility(value As Boolean)
m_bStringVisibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(bStringVisibility))
End Sub
Private m_bIsStringModify As Boolean = False
Public ReadOnly Property bIsStringModify As Boolean
Get
Return m_bIsStringModify
End Get
End Property
Friend Sub SetbIsStringModify(value As Boolean)
m_bIsStringModify = value
If m_bIsStringModify AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso Map.refProjectVM.bSaveGeneralParameters Then
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(True)
End If
NotifyPropertyChanged(NameOf(bIsStringModify))
End Sub
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
@@ -685,8 +739,13 @@ Public Class ComboGenericParameter
Return m_SelValue
End Get
Set(value As ComboParameter)
If Not IsNothing(value) AndAlso Not IsNothing(m_SelValue) Then
If m_SelValue.sValue <> value.sValue Then
If Not Map.refBTLDataWndVM.IsBTLDataWnd Then Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
SetbIsComboBoxModify(True)
End If
End If
m_SelValue = value
Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
End Set
End Property
Friend Sub SetSelValue(sValue As String)
@@ -699,11 +758,25 @@ Public Class ComboGenericParameter
Return m_bComboBoxVisibility
End Get
End Property
Friend Sub SetbComboBoxVisibility(value As Visibility)
m_bComboBoxVisibility = value
Friend Sub SetbComboBoxVisibility(value As Boolean)
m_bComboBoxVisibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(bComboBoxVisibility))
End Sub
Private m_bIsComboBoxModify As Boolean = False
Public ReadOnly Property bIsComboBoxModify As Boolean
Get
Return m_bIsComboBoxModify
End Get
End Property
Friend Sub SetbIsComboBoxModify(value As Boolean)
m_bIsComboBoxModify = value
If m_bIsComboBoxModify AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso Map.refProjectVM.bSaveGeneralParameters Then
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(True)
End If
NotifyPropertyChanged(NameOf(bIsComboBoxModify))
End Sub
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
@@ -716,7 +789,7 @@ Public Class ComboGenericParameter
MyBase.New(JsonProjectParameters)
If IsNothing(JsonProjectParameters) Then Return
ComboList = JsonProjectParameters.Choices.Select(Function(jsonChoice) New ComboParameter(jsonChoice)).ToList()
'm_SelValue = m_ComboList.FirstOrDefault(Function(x) x.sValue = JsonProjectParameters.sValue)
SelValue = ComboList.FirstOrDefault(Function(x) x.sValue = JsonProjectParameters.sValue)
End Sub
#End Region ' Constructor
@@ -753,6 +826,12 @@ Public Class ListGenericParameter
Return m_SelValue
End Get
Set(value As ToolParameter)
If Not IsNothing(value) AndAlso Not IsNothing(m_SelValue) Then
If m_SelValue.sUUID <> value.sUUID Then
If Not Map.refBTLDataWndVM.IsBTLDataWnd Then Map.refStrategyManagerVM.SetbIsModifyStrategy(True)
SetbIsListModify(True)
End If
End If
m_SelValue = value
NotifyPropertyChanged(NameOf(SelValue))
End Set
@@ -791,8 +870,8 @@ Public Class ListGenericParameter
Return m_bAvailableToolListVisibility
End Get
End Property
Friend Sub SetAvailableToolListVisibility(value As Visibility)
m_bAvailableToolListVisibility = value
Friend Sub SetAvailableToolListVisibility(value As Boolean)
m_bAvailableToolListVisibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(AvailableToolListVisibility))
End Sub
@@ -835,11 +914,25 @@ Public Class ListGenericParameter
Return m_bListBoxVisibility
End Get
End Property
Friend Sub SetbListBoxVisibility(value As Visibility)
m_bListBoxVisibility = value
Friend Sub SetbListBoxVisibility(value As Boolean)
m_bListBoxVisibility = If(value, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(bListBoxVisibility))
End Sub
Private m_bIsListModify As Boolean = False
Public ReadOnly Property bIsListModify As Boolean
Get
Return m_bIsListModify
End Get
End Property
Friend Sub SetbIsListModify(value As Boolean)
m_bIsListModify = value
If m_bIsListModify AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso Map.refProjectVM.bSaveGeneralParameters Then
Map.refProjectVM.BTLStructureVM.SelBTLPart.SetStrategyModify_Visibility(True)
End If
NotifyPropertyChanged(NameOf(bIsListModify))
End Sub
#Region "Messages"
Public ReadOnly Property SelectAllToolTip As String
@@ -932,17 +1025,8 @@ Public Class ListGenericParameter
''' Funzione per visualizzare le liste available e active tool
''' </summary>
Friend Sub ToolView()
If m_ActiveToolList_View.IsEmpty Then
SetActiveToolListIsEnable(False)
Else
SetActiveToolListIsEnable(True)
End If
If m_AvailableToolList_View.IsEmpty Then
SetAvailableToolListIsEnable(False)
Else
SetAvailableToolListIsEnable(True)
End If
SetActiveToolListIsEnable(If(m_ActiveToolList_View.IsEmpty, False, True))
SetAvailableToolListIsEnable(If(m_AvailableToolList_View.IsEmpty, False, True))
End Sub
#End Region ' Methods
@@ -960,7 +1044,7 @@ Public Class ListGenericParameter
End Property
Friend Sub OpenToolList()
SetAvailableToolListVisibility(Visibility.Visible)
SetAvailableToolListVisibility(True)
SetOpenToolListIsEnable(False)
End Sub
@@ -978,7 +1062,7 @@ Public Class ListGenericParameter
End Property
Friend Sub CloseToolList()
SetAvailableToolListVisibility(Visibility.Collapsed)
SetAvailableToolListVisibility(False)
SetOpenToolListIsEnable(True)
End Sub
@@ -1048,8 +1132,8 @@ Class GroupVisibilityConverter
Dim prop As PropertyInfo = item.GetType().GetProperty("sMinUserLevel")
If Not IsNothing(prop) Then
Dim levelObj = prop.GetValue(item)
Dim level As Integer
If Not IsNothing(levelObj) AndAlso Integer.TryParse(levelObj.ToString(), level) AndAlso level <> 5 Then
Dim level As Integer = 0
If Not IsNothing(levelObj) AndAlso Integer.TryParse(levelObj.ToString(), level) AndAlso level <> 5 AndAlso level <> 10 Then
Return Visibility.Visible
ElseIf Map.refMainMenuVM.UserAdmin_IsChecked Then
Return Visibility.Visible
@@ -35,7 +35,7 @@
<Button Command="{Binding Ok_Command}"
ToolTip="{Binding SaveAsToolTip}"
Style="{StaticResource GeneralParametersWnd_Button}">
<Image Source="/Resources/NewPage/Ok.png"
<Image Source="{StaticResource Ok_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</UniformGrid>
@@ -1,6 +1,5 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Windows.Forms
Imports EgtBEAMWALL.Core
Imports EgtBEAMWALL.Optimizer.MainMenuVM
Imports EgtUILib
@@ -12,6 +11,8 @@ Public Class GeneralParametersWndVM
#Region "FIELDS & PROPERTIES"
Private PADLOCK_IMAGE As String = "pack://application:,,,/Resources/NewPage/padlock.png"
Friend Event m_CloseWindow(bDialogResult As Boolean)
Private m_GeneralParametersList As New ObservableCollection(Of ProjectParameters)
@@ -89,15 +90,15 @@ Public Class GeneralParametersWndVM
#Region "CONSTRUCTOR"
Sub New()
Sub New(nType As BWType)
' leggo cartella dei setup delle strategie
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(ProjectManagerVM.CurrProd.nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath)
Dim AISetupDirPath As String = Map.refMainWindowVM.MainWindowM.GetAISetupDirPath(nType, True)
Dim AISetupPaths As String() = Directory.GetFiles(AISetupDirPath).Where(Function(f) Path.GetExtension(f).ToLower() <> ".ini").ToArray()
For Each AiSetup In AISetupPaths
m_StrategySetupList.Add(Path.GetFileNameWithoutExtension(AiSetup))
Next
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(Map.refStrategyManagerVM.SelStrategyType.Id)
Dim sStrategiesDirPath As String = Map.refMainWindowVM.MainWindowM.GetStrategiesDirPath(nType)
Dim sGeneralParametersFilePath As String = sStrategiesDirPath & "\" & GENERALPARAMETERS_FILE & ".json"
If File.Exists(sGeneralParametersFilePath) Then
Dim sReadedFiles As String = File.ReadAllText(sGeneralParametersFilePath)
@@ -107,11 +108,13 @@ Public Class GeneralParametersWndVM
For Each GenericItem As ProjectParameters In m_GeneralParametersList
Select Case GenericItem.sMinUserLevel
Case UserLevel.ADVANCED
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UserAdmin_IsChecked, True, False))
Case UserLevel.ADMINISTRATOR
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(Map.refMainMenuVM.UnlockAllIsChecked, True, False))
Case Else
If Not Map.refMainMenuVM.UserAdmin_IsChecked Then
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, Visibility.Visible, Visibility.Collapsed))
Map.refMainMenuVM.SetUnloackImage("pack://application:,,,/Resources/NewPage/padlock.png")
Map.refMainMenuVM.UserLevelGenericVisibility(GenericItem, If(GenericItem.sMinUserLevel = UserLevel.USER, True, False))
Map.refMainMenuVM.SetUnloackImage(PADLOCK_IMAGE)
End If
End Select
Next
@@ -120,17 +123,26 @@ Public Class GeneralParametersWndVM
' Leggo info se presenti
Dim nBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, PROJECTINFO)
' leggo file default config
Map.refMainWindowVM.MainWindowM.GetDefaultConfigDirPath(nType, True)
Dim sInfo As String = String.Empty
Dim sDefaultConfigFile As String = String.Empty
Dim sTrimDefaultConfig As String = String.Empty
EgtGetInfo(nBTLInfoLayerId, "AISETUP", m_SelStrategySetup)
If IsNothing(m_SelStrategySetup) Then
If GetMainPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile) <> 0 Then
sTrimDefaultConfig = System.IO.Path.GetFileNameWithoutExtension(sDefaultConfigFile)
m_SelStrategySetup = sTrimDefaultConfig
EgtGetInfo(nBTLInfoLayerId, "AISETUP", m_SelStrategySetup)
EgtGetInfo(nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
If m_SelStrategySetup Is String.Empty Then
If EgtUILib.GetPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile, Map.refMainWindowVM.MainWindowM.sDefaultConfig) <> 0 Then
m_SelStrategySetup = sDefaultConfigFile
Else
' restituisce la lista dei file presenti nella cartella con le relative informazioni
Dim StrategySetupListFile As List(Of FileInfo) = m_StrategySetupList.Where(Function(f) File.Exists(AISetupDirPath & "\" & f & ".json")).
Select(Function(f) New FileInfo(AISetupDirPath & "\" & f & ".json")).
OrderByDescending(Function(fi) fi.LastWriteTime).ToList()
' restituisce l'ultimo file modificato
If StrategySetupListFile.Any() Then
sDefaultConfigFile = Path.GetFileNameWithoutExtension(StrategySetupListFile.First().Name)
End If
sDefaultConfigFile = m_StrategySetupList.FirstOrDefault(Function(x) x = sDefaultConfigFile)
m_SelStrategySetup = sDefaultConfigFile
End If
End If
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
@@ -138,41 +150,45 @@ Public Class GeneralParametersWndVM
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpBoolValue As Boolean = DirectCast(GeneralParameter, BooleanGenericParameter).bValue
If Not EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue) Then
If EgtExistsInfo(nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
Else
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
DirectCast(GeneralParameter, BooleanGenericParameter).bValue = sTmpBoolValue
Return
End If
Case GetType(DoubleGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpDoubleValue As String = DirectCast(GeneralParameter, DoubleGenericParameter).sValue
If Not EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue) Then
If EgtExistsInfo(nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
Else
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
DirectCast(GeneralParameter, DoubleGenericParameter).sValue = sTmpDoubleValue
Return
End If
Case GetType(ComboGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpComboValue As String = DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue
If Not EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue) Then
If EgtExistsInfo(nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
Else
DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue = sTmpComboValue
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
Return
End If
Case GetType(StringGenericParameter)
SetbSaveGeneralParameters(True)
SetGeneralParametersIsEnable(True)
Dim sTmpStringValue As String = DirectCast(GeneralParameter, StringGenericParameter).sValue
If Not EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue) Then
If EgtExistsInfo(nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
Else
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
DirectCast(GeneralParameter, StringGenericParameter).sValue = sTmpStringValue
Return
End If
Case GetType(ListGenericParameter)
SetbSaveGeneralParameters(True)
@@ -181,11 +197,12 @@ Public Class GeneralParametersWndVM
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
Dim sTmpInfo As String = sInfo
If Not EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo) Then
If EgtExistsInfo(nBTLInfoLayerId, GeneralParameter.sNameNge) Then
EgtGetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
Else
SetbSaveGeneralParameters(False)
SetGeneralParametersIsEnable(False)
sInfo = sTmpInfo
Return
End If
End If
Next
@@ -199,50 +216,34 @@ Public Class GeneralParametersWndVM
Friend Sub SaveProjectParameters()
Dim sInfo As String = String.Empty
Dim sDefaultConfigFile As String = String.Empty
Dim nBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, PROJECTINFO)
If m_bSaveGeneralParameters Then
EgtSetInfo(nBTLInfoLayerId, "AISETUP", m_SelStrategySetup)
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
Case GetType(DoubleGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
Case GetType(ComboGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
Case GetType(StringGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
End If
Next
End Select
Next
Else
EgtRemoveInfo(nBTLInfoLayerId, "AISETUP")
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtRemoveInfo(nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(DoubleGenericParameter)
EgtRemoveInfo(nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(ComboGenericParameter)
EgtRemoveInfo(nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(StringGenericParameter)
EgtRemoveInfo(nBTLInfoLayerId, GeneralParameter.sNameNge)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtRemoveInfo(nBTLInfoLayerId, GeneralParameter.sNameNge)
End If
Next
End Select
Next
If Not IsNothing(m_SelStrategySetup) Then EgtSetInfo(nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
If m_SelStrategySetup Is String.Empty Then
If EgtUILib.GetPrivateProfileString(S_STRATEGY, K_DEFAULTCONFIG, "", sDefaultConfigFile, Map.refMainWindowVM.MainWindowM.sDefaultConfig) <> 0 Then
m_SelStrategySetup = sDefaultConfigFile
EgtSetInfo(nBTLInfoLayerId, AI_SETUP, m_SelStrategySetup)
End If
End If
For Each GeneralParameter In m_GeneralParametersList
Select Case GeneralParameter.GetType()
Case GetType(BooleanGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, BooleanGenericParameter).bValue)
Case GetType(DoubleGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, DoubleGenericParameter).sValue)
Case GetType(ComboGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, ComboGenericParameter).SelValue.sValue)
Case GetType(StringGenericParameter)
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, DirectCast(GeneralParameter, StringGenericParameter).sValue)
Case GetType(ListGenericParameter)
For Each Item As ToolParameter In DirectCast(GeneralParameter, ListGenericParameter).ListValue
If Item.bIsActive Then
sInfo &= Item.sUUID & "," & Item.sName & ";"
EgtSetInfo(nBTLInfoLayerId, GeneralParameter.sNameNge, sInfo)
End If
Next
End Select
Next
End Sub
#End Region ' Methods
@@ -264,7 +265,7 @@ Public Class GeneralParametersWndVM
SaveProjectParameters()
Map.refProdManagerVM.Save()
' Chiudo finestra
RaiseEvent m_CloseWindow(DialogResult.OK)
RaiseEvent m_CloseWindow(True)
End Sub
#End Region ' Ok_Command
@@ -156,13 +156,13 @@ Public Class JsonGeneralParameters
ProjectParameters = New BooleanGenericParameter()
DirectCast(ProjectParameters, BooleanGenericParameter).SetValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, BooleanGenericParameter).SetbBooleanVisibility(Visibility.Visible)
DirectCast(ProjectParameters, BooleanGenericParameter).SetbBooleanVisibility(True)
End If
Case "d"
ProjectParameters = New DoubleGenericParameter()
DirectCast(ProjectParameters, DoubleGenericParameter).SetValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, DoubleGenericParameter).SetbDoubleVisibility(Visibility.Visible)
DirectCast(ProjectParameters, DoubleGenericParameter).SetbDoubleVisibility(True)
End If
Case "combo"
ProjectParameters = New ComboGenericParameter()
@@ -171,19 +171,19 @@ Public Class JsonGeneralParameters
Next
DirectCast(ProjectParameters, ComboGenericParameter).SetSelValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, ComboGenericParameter).SetbComboBoxVisibility(Visibility.Visible)
DirectCast(ProjectParameters, ComboGenericParameter).SetbComboBoxVisibility(True)
End If
Case "tool"
'ProjectParameters = New ListGenericParameter(m_sSubType)
'DirectCast(ProjectParameters, ListGenericParameter).CreateToolsViews()
'If m_sMinUserLevel = 1 Then
' DirectCast(ProjectParameters, ListGenericParameter).SetbListBoxVisibility(Visibility.Visible)
' DirectCast(ProjectParameters, ListGenericParameter).SetbListBoxVisibility(True)
'End If
Case "s"
ProjectParameters = New StringGenericParameter()
DirectCast(ProjectParameters, StringGenericParameter).SetValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, StringGenericParameter).SetbStringVisibility(Visibility.Visible)
DirectCast(ProjectParameters, StringGenericParameter).SetbStringVisibility(True)
End If
Case Else
EgtOutLog("Tipo: " & m_sType & " non presente")
@@ -155,13 +155,13 @@ Public Class JsonProjectParameters
ProjectParameters = New BooleanGenericParameter()
DirectCast(ProjectParameters, BooleanGenericParameter).SetValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, BooleanGenericParameter).SetbBooleanVisibility(Visibility.Visible)
DirectCast(ProjectParameters, BooleanGenericParameter).SetbBooleanVisibility(True)
End If
Case "d"
ProjectParameters = New DoubleGenericParameter()
DirectCast(ProjectParameters, DoubleGenericParameter).SetValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, DoubleGenericParameter).SetbDoubleVisibility(Visibility.Visible)
DirectCast(ProjectParameters, DoubleGenericParameter).SetbDoubleVisibility(True)
End If
Case "combo"
ProjectParameters = New ComboGenericParameter()
@@ -170,19 +170,19 @@ Public Class JsonProjectParameters
Next
DirectCast(ProjectParameters, ComboGenericParameter).SetSelValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, ComboGenericParameter).SetbComboBoxVisibility(Visibility.Visible)
DirectCast(ProjectParameters, ComboGenericParameter).SetbComboBoxVisibility(True)
End If
Case "tool"
'ProjectParameters = New ListGenericParameter(m_sSubType)
'DirectCast(ProjectParameters, ListGenericParameter).CreateToolsViews()
'If m_sMinUserLevel = 1 Then
' DirectCast(ProjectParameters, ListGenericParameter).SetbListBoxVisibility(Visibility.Visible)
' DirectCast(ProjectParameters, ListGenericParameter).SetbListBoxVisibility(True)
'End If
Case "s"
ProjectParameters = New StringGenericParameter()
DirectCast(ProjectParameters, StringGenericParameter).SetValue(m_sValue)
If m_sMinUserLevel = 1 Then
DirectCast(ProjectParameters, StringGenericParameter).SetbStringVisibility(Visibility.Visible)
DirectCast(ProjectParameters, StringGenericParameter).SetbStringVisibility(True)
End If
Case Else
EgtOutLog("Tipo: " & m_sType & " non presente")
@@ -79,16 +79,16 @@ Public Class JsonParametersHelper
m_sName = ProjectParameters.sName
m_sNameNge = ProjectParameters.sNameNge
Select Case ProjectParameters.GetType()
'Case GetType(BooleanStrategyParameter)
' m_sValue = If(DirectCast(ProjectParameters, BooleanStrategyParameter).bValue, "true", "false")
Case GetType(BooleanGenericParameter)
m_sValue = If(DirectCast(ProjectParameters, BooleanGenericParameter).bValue, "true", "false")
Case GetType(DoubleGenericParameter)
m_sValue = DirectCast(ProjectParameters, DoubleGenericParameter).sValue
Case GetType(ComboGenericParameter)
m_sValue = DirectCast(ProjectParameters, ComboGenericParameter).SelValue.sValue
'Case GetType(StringStrategyParameter)
' m_sValue = DirectCast(ProjectParameters, StringStrategyParameter).sValue
'Case GetType(ListStrategyParameter)
' m_sValue = DirectCast(ProjectParameters, ListStrategyParameter).SelValue.sName
Case GetType(StringGenericParameter)
m_sValue = DirectCast(ProjectParameters, StringGenericParameter).sValue
Case GetType(ListGenericParameter)
m_sValue = DirectCast(ProjectParameters, ListGenericParameter).SelValue.sName
End Select
End Sub
@@ -76,8 +76,8 @@
Style="{StaticResource ProjectParameters_UniformGrid}">
<TextBlock Text="{Binding sDescriptionShort}"
Style="{StaticResource ProjectParameters_TextBlock}"/>
<ComboBox ItemsSource="{Binding ComboList}"
SelectedItem="{Binding SelValue}"
<ComboBox ItemsSource="{Binding ComboList, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelValue, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="sValue"
Style="{StaticResource ProjectParameters_ComboBox}">
</ComboBox>
@@ -113,14 +113,14 @@
IsEnabled="{Binding OpenToolListIsEnable}"
Command="{Binding OpenToolListCommand}"
Style="{StaticResource ProjectParameters_Button}">
<Image Source="/Resources/NewPage/+.png"
<Image Source="{StaticResource Plus_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding DeselectAllToolTip}"
IsEnabled="{Binding ActiveToolListIsEnable}"
Command="{Binding DeselectAllCommand}"
Style="{StaticResource CloseProjectParameters_Button}">
<Image Source="/Resources/NewPage/deselectall.png"
<Image Source="{StaticResource DeselectAll_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -148,14 +148,14 @@
<Button ToolTip="{Binding CloseToolListToolTip}"
Command="{Binding CloseToolListCommand}"
Style="{StaticResource ProjectParameters_Button}">
<Image Source="/Resources/PDFEditor/Delete.png"
<Image Source="{StaticResource Delete_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button ToolTip="{Binding SelectAllToolTip}"
IsEnabled="{Binding AvailableToolListIsEnable}"
Command="{Binding SelectAllCommand}"
Style="{StaticResource ProjectParameters_Button}">
<Image Source="/Resources/NewPage/selectall.png"
<Image Source="{StaticResource SelectAll_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -1,4 +1,5 @@
Imports EgtWPFLib5
Imports EgtUILib
Public Class InputPwdWndVM
Inherits VMBase
@@ -19,7 +20,7 @@ Public Class InputPwdWndVM
Public ReadOnly Property PasswordMsg As String
Get
Return "Inserire Password: "
Return EgtMsg(63046)
End Get
End Property
@@ -6,7 +6,7 @@
<ToggleButton ToolTip="{Binding GetDistToolTip}"
IsChecked="{Binding GetDistIsChecked}"
Style="{StaticResource ToolBar_ToggleButton}">
<Image Source="/Resources/InstrumentPanel/GetDist.png"
<Image Source="{StaticResource GetDist_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</ToggleButton>
@@ -15,15 +15,15 @@
Visibility="{Binding ChangeParam_Visibility}"
IsEnabled="{Binding InstrumentPanel_IsEnabled}"
Style="{StaticResource ToolBarViewPanel_Button}">
<Image Source="/Resources/InstrumentPanel/ChangeParam.png"
<Image Source="{StaticResource ChangeParam_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Content="MAT"
ToolTip="{Binding ChangeMaterial_ToolTip}"
Command="{Binding ChangeMaterial_Command}"
Visibility="{Binding ChangeMaterial_Visibility}"
Visibility="Collapsed"
IsEnabled="{Binding InstrumentPanel_IsEnabled}"
Style="{StaticResource InstrumentPanel_Button}"/>
<!--Visibility="{Binding ChangeMaterial_Visibility}"-->
</StackPanel>
@@ -4,9 +4,9 @@
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:OPTIMIZER="clr-namespace:EgtBEAMWALL.Optimizer">
<UniformGrid Margin="5"
Columns="6"
Rows="7">
<UniformGrid Columns="6"
Rows="7"
Style="{StaticResource AddFeatureWnd_UniformGrid}">
<TextBlock Text="{Binding PROJNUM_MSG}"
Style="{StaticResource PartParam_TextBlock}"/>
@@ -14,67 +14,59 @@
</UserControl.Resources>
<EgwWPFBaseLib:EgwDataGrid ItemsSource="{Binding Tag.BTLPartVMList,
RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}"
SelectionMode="Extended"
PreviewMouseMove="DataGrid_PreviewMouseMove"
Margin="0,0,0,5"
OPTIMIZER:MultiSelectorBehaviours.SynchronizedSelectedItems="{Binding Tag.SelBTLParts,
RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}"
ColumnLayouts="{Binding PartColumns}"
IsEnabled="{Binding PartList_IsEnabled}"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
AreRowDetailsFrozen="True"
EnableRowVirtualization="True"
EnableColumnVirtualization="True"
VirtualizingStackPanel.VirtualizationMode="Recycling"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
VirtualizingPanel.ScrollUnit="Pixel"
RenderOptions.CachingHint="Cache"
VirtualizingPanel.CacheLength="10"
VirtualizingPanel.CacheLengthUnit="Pixel"
RowBackground="{StaticResource BeamWall_BLackSqueeze}"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}">
<DataGrid.InputBindings>
SelectionMode="Extended"
PreviewMouseMove="DataGrid_PreviewMouseMove"
Margin="0,0,0,5"
OPTIMIZER:MultiSelectorBehaviours.SynchronizedSelectedItems="{Binding Tag.SelBTLParts,
RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}"
ColumnLayouts="{Binding PartColumns}"
IsEnabled="{Binding PartList_IsEnabled}"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
AreRowDetailsFrozen="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
VirtualizingPanel.ScrollUnit="Pixel"
RenderOptions.CachingHint="Cache"
VirtualizingPanel.CacheLength="2"
VirtualizingPanel.CacheLengthUnit="Page"
RowBackground="{StaticResource BeamWall_BLackSqueeze}"
ColumnHeaderStyle="{StaticResource Main_DataGridColumnHeader}"
Style="{StaticResource Optimizer_DataGrid}">
<EgwWPFBaseLib:EgwDataGrid.InputBindings>
<KeyBinding Key="Delete" Command="{Binding Tag.DeletePart_Command,
RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}" />
</DataGrid.InputBindings>
<DataGrid.GroupStyle>
</EgwWPFBaseLib:EgwDataGrid.InputBindings>
<EgwWPFBaseLib:EgwDataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,0,5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander Width="{Binding ActualWidth, Converter={StaticResource ExpanderWidthConverter}, RelativeSource={RelativeSource AncestorType={x:Type EgwWPFBaseLib:EgwDataGrid}}}"
Style="{StaticResource BTLPartList_Expander}">
<Expander Style="{StaticResource BTLPartList_Expander}">
<Expander.Header>
<StackPanel Style="{StaticResource PartManager_StackPanel}">
<TextBlock Text="{Binding Path=Name}"
Style="{StaticResource BTLPartList_TextBlock}"/>
<TextBlock Text="{Binding Path=Name, Converter={StaticResource ProjIdToBtlFileName}}"
Style="{StaticResource BTLPartList_TextBlock}"/>
<Button Command="{Binding Tag.Data_Command, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding Path=Name}"
ToolTip="{Binding Tag.Data_ToolTip, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
Style="{StaticResource BTLPartList_Button}">
<Image Source="/Resources/NewPage/adjustment.png"
<Image Source="{StaticResource Adjustment_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Tag.AddPart_Command, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding Path=Name}"
ToolTip="{Binding Tag.AddPart_ToolTip, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
Style="{StaticResource BTLPartList_Button}">
<Image Source="/Resources/LeftPanel/AddPart.png"
<Image Source="{StaticResource AddPart_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Button Command="{Binding Tag.UpdateBTL_Command, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding Path=Name}"
ToolTip="{Binding Tag.UpdateBTL_ToolTip, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
Style="{StaticResource BTLPartList_Button}">
<Image Source="/Resources/ProjectManager/UpdateBTL.png"
<Image Source="{StaticResource UpdateBTL_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</StackPanel>
@@ -89,8 +81,8 @@
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</DataGrid.GroupStyle>
<DataGrid.CellStyle>
</EgwWPFBaseLib:EgwDataGrid.GroupStyle>
<EgwWPFBaseLib:EgwDataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource CellDataGrid_CustomHighLight}">
<Setter Property="BorderBrush" Value="{Binding Search_Background}"/>
<Setter Property="BorderThickness">
@@ -102,8 +94,8 @@
</Setter.Value>
</Setter>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
</EgwWPFBaseLib:EgwDataGrid.CellStyle>
<EgwWPFBaseLib:EgwDataGrid.RowStyle>
<Style TargetType="DataGridRow" BasedOn="{StaticResource RowDataGrid_CustomHighLight}">
<Setter Property="DetailsVisibility" Value="{Binding bOpenFeatureList, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<EventSetter Event="PreviewMouseDown" Handler="PartList_PreviewMouseDown"/>
@@ -113,8 +105,8 @@
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Resources>
</EgwWPFBaseLib:EgwDataGrid.RowStyle>
<EgwWPFBaseLib:EgwDataGrid.Resources>
<!--PDN - Nome-->
<DataGridTextColumn x:Key="colPDN" Binding="{Binding nPDN}">
<DataGridTextColumn.HeaderTemplate>
@@ -132,7 +124,8 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="12"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="↓"
Visibility="{Binding CALC_FALL_Visibility}"
@@ -142,21 +135,24 @@
Background="{Binding Calc_BorderBrush}">
</Border>
<Grid Grid.Column="2"
HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
Style="{StaticResource FeatureInPartInRawPartList_Grid}">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Ellipse Visibility="{Binding CALC_ROT_Visibility}"
Style="{StaticResource CALC_ROT_Ellipse}"/>
<TextBlock Text="&#11119;"
Visibility="{Binding CALC_ROT_Visibility}"
Style="{StaticResource CALC_ROT_TextBlock}"/>
<TextBlock Grid.Row="1"
Text="{Binding CALC_ERR_Letter}"
Foreground="{Binding CALC_ERR_Foreground}"
Style="{StaticResource CALC_ERR_TextBlock}"/>
</Grid>
<TextBlock Grid.Column="3"
Text="&#9999;"
Visibility="{Binding StrategyModify_Visibility}"
Style="{StaticResource StrategyModify_TextBlock}"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
@@ -166,14 +162,13 @@
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=Tag.bDOALL, RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}"
VerticalAlignment="Center"/>
Style="{StaticResource PParameters_CheckBox}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding bDO, UpdateSourceTrigger=PropertyChanged}"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
Style="{StaticResource FeatureInPartInRawPartList_CheckBox}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
@@ -278,7 +273,7 @@
<DataGridTemplateColumn x:Key="colROT" SortMemberPath="dROT">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Source="/Resources/NewPage/RotateIntestazione.png"
<Image Source="{StaticResource HeaderRotate_Image}"
Style="{StaticResource BTLPartList_Image}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
@@ -286,8 +281,8 @@
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding sROTATED}"
Style="{StaticResource Rotate_TextBlock}"/>
@@ -296,7 +291,7 @@
ToolTip="{Binding ForwardRotation_ToolTip}"
IsEnabled="{Binding RotatePart_IsEnabled}"
Style="{StaticResource BTLPanel_Button}">
<Image Source="/Resources/NewPage/Rotate.png"
<Image Source="{StaticResource Rotate_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</Grid>
@@ -307,7 +302,7 @@
<DataGridTemplateColumn x:Key="colFLIP">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Source="/Resources/NewPage/InversionIntestazione.png"
<Image Source="{StaticResource HeaderInversion_Image}"
Style="{StaticResource BTLPartList_Image}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
@@ -322,7 +317,7 @@
<DataGridTemplateColumn x:Key="colVERIFY">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Source="/Resources/NewPage/VerifyIntestazione.png"
<Image Source="{StaticResource HeaderVerify_Image}"
Style="{StaticResource BTLPartList_Image}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
@@ -332,7 +327,7 @@
Command="{Binding Verify_Command}"
IsEnabled="{Binding Verify_IsEnabled}"
Style="{StaticResource BTLPanel_Button}">
<Image Source="/Resources/CALCPanel/Verify.png"
<Image Source="{StaticResource Verify_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</DataTemplate>
@@ -342,7 +337,7 @@
<DataGridTemplateColumn x:Key="colADD">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Source="/Resources/NewPage/AddToRawPartIntestazione.png"
<Image Source="{StaticResource HeaderAddToRawPart_Image}"
Style="{StaticResource BTLPartList_Image}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
@@ -353,7 +348,7 @@
ToolTip="{Binding AddToRawPart_ToolTip}"
IsEnabled="{Binding BTLPartManager_IsEnabled}"
Style="{StaticResource BTLPanel_Button}">
<Image Source="/Resources/LeftPanel/AddToRawPart.png"
<Image Source="{StaticResource AddToRawPart_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</DataTemplate>
@@ -363,35 +358,25 @@
<DataGridTemplateColumn x:Key="colSETTING">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image Source="/Resources/NewPage/SettingIntestazione.png"
<Image Source="{StaticResource HeaderSetting_Image}"
Style="{StaticResource BTLPartList_Image}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<Button Command="{Binding ShowPopUpSettingBtnCommand}"
ToolTip="{Binding Settings_Command_ToolTip}"
<Button ToolTip="{Binding Settings_Command_ToolTip}"
Style="{StaticResource BTLPanel_Button}"
Click="OpenPopUp_Click">
<Image Source="/Resources/NewPage/Setting.png"
<Image Source="{StaticResource Setting_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
<Popup Style="{StaticResource BTLPartList_PopUp}">
<Popup.VerticalOffset>
<MultiBinding Converter="{StaticResource DataGridCellBorderThicknessConverter}">
<Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}"/>
<Binding Path="ActualWidth" ElementName="SettingsBtn"/>
</MultiBinding>
</Popup.VerticalOffset>
<OPTIMIZER:BTLPartManagerV/>
</Popup>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Resources>
<DataGrid.RowDetailsTemplate>
</EgwWPFBaseLib:EgwDataGrid.Resources>
<EgwWPFBaseLib:EgwDataGrid.RowDetailsTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
@@ -407,6 +392,9 @@
ItemsSource="{Binding BTLFeatureVMList}"
SelectedItem="{Binding SelBTLFeatureVM, UpdateSourceTrigger=PropertyChanged}"
PreviewMouseWheel="ListBox_PreviewMouseWheel"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.VirtualizationMode="Recycling"
ScrollViewer.CanContentScroll="True"
Style="{StaticResource BTLPartList_ListBox}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
@@ -417,6 +405,30 @@
MinHeight="{Binding Parent.Children[0].ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type Grid}}}"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Command="{Binding SelectAllFeature_Command}">
<MenuItem.Header>
<TextBlock Text="{Binding SelectAll_Msg}"/>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding DeselectAllFeature_Command}">
<MenuItem.Header>
<TextBlock Text="{Binding DeselectAll_Msg}"/>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding SelectItemFeature_Command}">
<MenuItem.Header>
<TextBlock Text="{Binding SelFeatureMsg, UpdateSourceTrigger=PropertyChanged}"/>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding DeselectItemFeature_Command}">
<MenuItem.Header>
<TextBlock Text="{Binding DeselFeatureMsg, UpdateSourceTrigger=PropertyChanged}"/>
</MenuItem.Header>
</MenuItem>
</ContextMenu>
</ListBox.ContextMenu>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Style="{StaticResource BTLPartList_Grid}">
@@ -437,22 +449,28 @@
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="18"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Width="{Binding ActualHeight, RelativeSource={RelativeSource self}}"
Background="{Binding Calc_Background}"/>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Ellipse Visibility="{Binding CALC_ROT_Visibility}"
Style="{StaticResource FeatureInPartInRawPartList_Ellipse}"/>
<TextBlock Grid.Row="1"
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.ColumnSpan="2"
Visibility="{Binding CALC_ROT_Visibility}"
Style="{StaticResource CALC_ROTFeature_TextBlock}"/>
<TextBlock Grid.Column="1"
Text="{Binding CALC_ERR_Letter}"
Foreground="{Binding CALC_ERR_Foreground}"
Style="{StaticResource FeatureInPartInRawPartList_TextBlock}"/>
Style="{StaticResource CALC_ERR_Letter_TextBlock}"/>
</Grid>
<TextBlock Grid.Column="2"
Visibility="{Binding bStrategy_Visibility}"
Style="{StaticResource bStrategy_TextBlock}"/>
</Grid>
<CheckBox Grid.Column="2"
IsChecked="{Binding bDO, UpdateSourceTrigger=PropertyChanged}"
@@ -479,20 +497,19 @@
Command="{Binding EditFeature_Command}"
Click="SelectButton_Click"
Style="{StaticResource EditFeature_Button}">
<Image Source="/Resources/CALCPanel/Edit.png"
<Image Source="{StaticResource Edit_Image}"
Style="{StaticResource BTLDataWnd_Image}"/>
</Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Row="1"
Grid.ColumnSpan="2"
Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
<StackPanel Grid.Row="1"
Grid.Column="1"
Style="{StaticResource BTLPartList_StackPanel}">
<TextBlock Text="STATUS:"
Style="{StaticResource Status_TextBlock}"/>
<TextBlock Text="{Binding Tag.SelBTLPart.sCALC_MSG, RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}"
Visibility="{Binding Tag.SelBTLPart.CALC_MSG_Visibility, RelativeSource={RelativeSource AncestorType={x:Type OPTIMIZER:BTLPartListV}}}"
Style="{StaticResource SelBTLPart_TextBlock}"/>
@@ -502,7 +519,7 @@
</StackPanel>
</Grid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</EgwWPFBaseLib:EgwDataGrid.RowDetailsTemplate>
</EgwWPFBaseLib:EgwDataGrid>
@@ -1,5 +1,4 @@
Imports System.Reflection
Imports System.Windows.Controls.Primitives
Public Class BTLPartListV
@@ -73,8 +72,7 @@ Public Class BTLPartListV
parent = VisualTreeHelper.GetParent(parent)
End While
If Not IsNothing(parent) Then
Dim row As DataGridRow = DirectCast(parent, DataGridRow)
Dim popup As Popup = TryCast(TreeHelperManager.FindVisualChild(Of Popup)(row), Popup)
Dim popup As New BTLPartListPopUpV()
If Not IsNothing(popup) Then
popup.PlacementTarget = btn ' Associa il popup al bottone
popup.IsOpen = True ' Mostra il popup

Some files were not shown because too many files have changed in this diff Show More