From 367a8c9fc326acc96cb63d22702628d44ffc33d1 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Tue, 5 Jul 2022 17:13:42 +0200 Subject: [PATCH] Nuova gestione libreria EgtWPFLib5 --- Machine/CurrentMachine.vb | 4 +-- Machine/MachinePageUC.xaml.vb | 36 ++++++++++---------- Machine/WaterJetPageUC.xaml.vb | 6 ++-- Machine/WaterjetDbWindowVM.vb | 60 ++++++++++++++++++++++++++++++++++ MainWindow.xaml.vb | 6 ++-- OmagCUT.vbproj | 1 + 6 files changed, 87 insertions(+), 26 deletions(-) create mode 100644 Machine/WaterjetDbWindowVM.vb diff --git a/Machine/CurrentMachine.vb b/Machine/CurrentMachine.vb index f61cfd3..cfad857 100644 --- a/Machine/CurrentMachine.vb +++ b/Machine/CurrentMachine.vb @@ -1327,7 +1327,7 @@ Public Class CurrentMachine ' Leggo valori da file Data e li carico nelle proprietà Dim sFilePath As String = sMachDir & "\" & MACHININGS_DIR & "\" & WATERJETDB_FILE Dim Local_MaterialList = New ObservableCollection(Of EgtWPFLib5.WjMaterial) - Local_MaterialList = EgtWPFLib5.WaterjetDbWindowVM.LoadWjMaterials(sFilePath) + Local_MaterialList = WaterjetDbWindowVM_OmagCUT.LoadWjMaterials(sFilePath) ' definisco la lista delle qualità (solo se è vuota) If m_Qualities.Count < 1 Then m_Qualities.Add("Q1") @@ -1358,7 +1358,7 @@ Public Class CurrentMachine ' Leggo valori da file Data e li carico nelle proprietà Dim sFilePath As String = sMachDir & "\" & MACHININGS_DIR & "\" & WATERJETDB_FILE Dim Local_MaterialList = New ObservableCollection(Of EgtWPFLib5.WjMaterial) - Local_MaterialList = EgtWPFLib5.WaterjetDbWindowVM.LoadWjMaterials(sFilePath) + Local_MaterialList = WaterjetDbWindowVM_OmagCUT.LoadWjMaterials(sFilePath) Dim sItems() As String = sCurMat.Split("."c) If sItems.Count > 1 Then Dim sMat As String = sItems(0) diff --git a/Machine/MachinePageUC.xaml.vb b/Machine/MachinePageUC.xaml.vb index 3fb1078..d725942 100644 --- a/Machine/MachinePageUC.xaml.vb +++ b/Machine/MachinePageUC.xaml.vb @@ -145,12 +145,12 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.Alarms Case MachinePages.WaterJet ' Verifica ed eventuale salvataggio Db Waterjet - Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then AlarmsBtn.IsChecked = False WaterJetBtn.IsChecked = True Return - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_WaterJetPageUC.WaterJetPage_Reinitialize() End If ' passo alla pagina Dati Macchina @@ -215,12 +215,12 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.ToolsDb Case MachinePages.WaterJet 'Verifica ed eventuale salvataggio Db Waterjet - Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then ToolsDBBtn.IsChecked = False WaterJetBtn.IsChecked = True Return - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_WaterJetPageUC.WaterJetPage_Reinitialize() End If ' passo alla pagina Dati Macchina @@ -285,12 +285,12 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.MachiningDb Case MachinePages.WaterJet ' Verifica ed eventuale salvataggio Db Waterjet - Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then MachiningDBBtn.IsChecked = False WaterJetBtn.IsChecked = True Return - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_WaterJetPageUC.WaterJetPage_Reinitialize() End If ' passo alla pagina Dati Macchina @@ -358,12 +358,12 @@ Public Class MachinePageUC PolishingsBtn.IsChecked = True Case MachinePages.WaterJet ' Verifica ed eventuale salvataggio Db Waterjet - Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then PolishingsBtn.IsChecked = False WaterJetBtn.IsChecked = True Return - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_WaterJetPageUC.WaterJetPage_Reinitialize() End If ' passo alla pagina Dati Macchina @@ -513,12 +513,12 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.MachineCN Case MachinePages.WaterJet ' Verifica ed eventuale salvataggio Db Waterjet - Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then TestingPageBtn.IsChecked = False WaterJetBtn.IsChecked = True Return - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_WaterJetPageUC.WaterJetPage_Reinitialize() End If ' passo alla pagina Dati Macchina @@ -593,12 +593,12 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.Statistics Case MachinePages.WaterJet ' Verifica ed eventuale salvataggio Db Waterjet - Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then StatisticsBtn.IsChecked = False WaterJetBtn.IsChecked = True Return - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_WaterJetPageUC.WaterJetPage_Reinitialize() End If ' passo alla pagina Dati Macchina diff --git a/Machine/WaterJetPageUC.xaml.vb b/Machine/WaterJetPageUC.xaml.vb index be33a3d..ea728f2 100644 --- a/Machine/WaterJetPageUC.xaml.vb +++ b/Machine/WaterJetPageUC.xaml.vb @@ -8,18 +8,18 @@ Public Class WaterJetPageUC ' Riferimento alla MainWindow Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow) - Private m_refWaterjetDbWindowVM As EgtWPFLib5.WaterjetDbWindowVM + Private m_refWaterjetDbWindowVM As WaterjetDbWindowVM_OmagCUT Private m_sOrigNewMaterial As String = String.Empty Private m_sOrigNewSubMaterial As String = String.Empty Private Sub WaterJetPage_Initialized(sender As Object, e As EventArgs) - m_refWaterjetDbWindowVM = New EgtWPFLib5.WaterjetDbWindowVM(m_MainWindow.m_CurrentMachine.sMachDir) + m_refWaterjetDbWindowVM = New WaterjetDbWindowVM_OmagCUT(m_MainWindow.m_CurrentMachine.sMachDir) Me.DataContext = m_refWaterjetDbWindowVM EgtWPFLib.Utility.MainWindow = m_MainWindow End Sub Public Sub WaterJetPage_Reinitialize() - m_refWaterjetDbWindowVM = New EgtWPFLib5.WaterjetDbWindowVM(m_MainWindow.m_CurrentMachine.sMachDir) + m_refWaterjetDbWindowVM = New WaterjetDbWindowVM_OmagCUT(m_MainWindow.m_CurrentMachine.sMachDir) Me.DataContext = m_refWaterjetDbWindowVM End Sub diff --git a/Machine/WaterjetDbWindowVM.vb b/Machine/WaterjetDbWindowVM.vb new file mode 100644 index 0000000..2f97eac --- /dev/null +++ b/Machine/WaterjetDbWindowVM.vb @@ -0,0 +1,60 @@ +Imports System.Collections.ObjectModel +Imports System.IO +Imports EgtUILib +Imports EgtWPFLib5 +Imports EgtWPFLib + +Public Class WaterjetDbWindowVM_OmagCUT + Inherits EgtWPFLib5.WaterjetDbWindowVM + + Public Function CloseWaterjetDb_OmagCut(MainWindow As Window) As SaveWndBtnEnum + If bIsModified Then + Dim SaveWjDbWnd As New EgtMsgBox(MainWindow, "", EgtMsg(31759), EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL) + Select Case SaveWjDbWnd.m_nPressedBtn + Case 1 ' Yes + WriteWaterjetDb() + bIsModified = False + Return SaveWndBtnEnum.YES + Case 2 ' No + Return SaveWndBtnEnum.NO + Case Else ' Cancel + Return SaveWndBtnEnum.CANCEL + End Select + Else + Dim bExitFor As Boolean = False + For Each Material As EgtWPFLib5.WjMaterial In MaterialList + If Not IsNothing(Material.SubMaterialList) Then + For Each SubMaterial As EgtWPFLib5.WjSubMaterial In Material.SubMaterialList + If Not IsNothing(SubMaterial.ParamList) Then + For Each QParam As EgtWPFLib5.WjParam In SubMaterial.ParamList + bExitFor = QParam.IsModified() + If bExitFor Then Exit For + Next + End If + If bExitFor Then Exit For + Next + End If + If bExitFor Then Exit For + Next + If bExitFor Then + Dim SaveWjDbWnd As New EgtMsgBox(MainWindow, "", EgtMsg(31759), EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL) + Select Case SaveWjDbWnd.m_nPressedBtn + Case 1 ' Yes + WriteWaterjetDb() + bIsModified = False + Return SaveWndBtnEnum.YES + Case 2 ' No + Return SaveWndBtnEnum.NO + Case Else ' Cancel + Return SaveWndBtnEnum.CANCEL + End Select + End If + End If + Return SaveWndBtnEnum.YES + End Function + + Sub New(sMachDir As String) + MyBase.New(sMachDir) + End Sub + +End Class diff --git a/MainWindow.xaml.vb b/MainWindow.xaml.vb index d5b960c..9e76cd7 100644 --- a/MainWindow.xaml.vb +++ b/MainWindow.xaml.vb @@ -1092,10 +1092,10 @@ Class MainWindow Case MachinePageUC.MachinePages.WaterJet ' Verifica ed eventuale salvataggio Db Waterjet Dim m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow) - Dim nPressedBtn As Integer = DirectCast(m_MachinePageUC.m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) - If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + Dim nPressedBtn As Integer = DirectCast(m_MachinePageUC.m_WaterJetPageUC.DataContext, WaterjetDbWindowVM_OmagCUT).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.CANCEL Then Return False - ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + ElseIf nPressedBtn = WaterjetDbWindowVM_OmagCUT.SaveWndBtnEnum.NO Then m_MachinePageUC.m_WaterJetPageUC.WaterJetPage_Reinitialize() End If End Select diff --git a/OmagCUT.vbproj b/OmagCUT.vbproj index 5589832..aa1d3ec 100644 --- a/OmagCUT.vbproj +++ b/OmagCUT.vbproj @@ -205,6 +205,7 @@ ImportExportToolWD.xaml + WaterJetPageUC.xaml