Imports System.ComponentModel Imports EgtUILib Public Module MachineModel ''' ''' Method that search the machines in the correct folder and add to the MachinesList those valid. ''' Friend Function ReadActiveMachiningsFamilies() As MachiningsType() Dim ActiveMachiningsFamiliesList As New List(Of MachiningsType) If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_DRILLING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.DRILLING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 1)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.SAWING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 2)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_MILLING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.MILLING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 3)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_POCKETING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.POCKETING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 4)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_MORTISING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.MORTISING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 5)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWROUGHING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.SAWROUGHING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 6)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWFINISHING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.SAWFINISHING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 7)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_GENMACHINING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.GENMACHINING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 8)}) End If If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_CHISELING, 0, m_sCurrMachIniFilePath) <> 0 Then ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.CHISELING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 9)}) End If Return ActiveMachiningsFamiliesList.ToArray End Function Friend Sub LoadMachiningListByType(MachiningList As List(Of String), nType As MCH_MY) Dim MachiningName As String = String.Empty EgtMdbGetFirstMachining(nType, MachiningName) While Not String.IsNullOrWhiteSpace(MachiningName) MachiningList.Add(MachiningName) EgtMdbGetNextMachining(nType, MachiningName) End While End Sub ''' ''' Structure that represent a tool's family, containing family type and family name ''' Public Class MachiningsType Implements INotifyPropertyChanged Friend TypeId As MCH_MY Private m_TypeName As String Public Property TypeName As String Get Return m_TypeName End Get Set(value As String) m_TypeName = value End Set End Property Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged Public Sub NotifyPropertyChanged(propName As String) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName)) End Sub End Class End Module