Files
omagoffice/MyMachiningDbWindow/MyMachiningDbWindowVM.vb
T
Emmanuele Sassi 4c679fbd48 OmagOFFICE :
- Migliorato AboutBox.
- Miglioramenti per compatibilità con nuova versione WPFLib5.
2017-11-25 16:55:39 +00:00

115 lines
4.8 KiB
VB.net

Imports System.Windows.Forms.Integration
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Public Class MyMachiningDbWindowVM
Inherits MachiningDbWindowVM
#Region "MESSAGES"
'Definizione dei messaggi della pagina
Public ReadOnly Property MaterialMsg As String
Get
Return EgtMsg(MSG_MYMACHININGDBWINDOW + 1)
End Get
End Property
Public ReadOnly Property MinThicknessMsg As String
Get
Return EgtMsg(MSG_MYMACHININGDBWINDOW + 2)
End Get
End Property
Public ReadOnly Property MaxThicknessMsg As String
Get
Return EgtMsg(MSG_MYMACHININGDBWINDOW + 3)
End Get
End Property
#End Region
#Region "CONSTRUCTOR"
Sub New(sMachineIniPath As String, ProjectSceneContext As Integer)
MyBase.New(sMachineIniPath, ProjectSceneContext)
End Sub
#End Region ' Constructor
#Region "METHODS"
''' <summary>
''' Method that search the machines in the correct folder and add to the MachinesList those valid.
''' </summary>
Public Overrides Sub LoadSelectedMachineMachinings()
EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx())
Dim ActiveMachiningsTypes() As MachiningsType = MachineUtility.ReadMachiningFamilies(CurrentMachine.sMachIniFile)
For Each MachiningsType In ActiveMachiningsTypes
Dim FamilyTreeView As New FamilyMachiningTreeViewItem(MachiningsType.Name, MachiningsType.Id, Nothing)
MachiningsList.Add(FamilyTreeView)
Dim MachiningName As String = String.Empty
EgtMdbGetFirstMachining(MachiningsType.Id, MachiningName)
While Not String.IsNullOrWhiteSpace(MachiningName)
' recupero tuuid
EgtMdbSetCurrMachining(MachiningName)
Dim sCurrMachTUUID As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sCurrMachTUUID)
FamilyTreeView.Items.Add(New MyMachiningTreeViewItem(MachiningName, MachiningsType.Id, ToolDbUtility.IsToolInDb(sCurrMachTUUID), FamilyTreeView))
EgtMdbGetNextMachining(MachiningsType.Id, MachiningName)
End While
FamilyTreeView.VerifyMachiningValidity()
Next
' Se esiste almeno una famiglia di lavorazioni, la seleziono
If MachiningsList.Count > 0 Then
MachiningsList(0).IsSelected = True
MachiningsList(0).NotifyPropertyChanged("IsSelected")
End If
End Sub
Public Overrides Sub NewPar(ByVal param As Object)
' Verifico se sia selezionata una famiglia
Dim NewMachiningItem As MachiningTreeViewItem
If TypeOf param Is FamilyMachiningTreeViewItem Then
Dim MachiningFamily As FamilyMachiningTreeViewItem = DirectCast(param, FamilyMachiningTreeViewItem)
Dim NewName As String = MachiningFamily.Name
EgtMdbGetMachiningNewName(NewName)
If EgtMdbAddMachining(NewName, MachiningFamily.MachiningType) Then
NewMachiningItem = New MyMachiningTreeViewItem(NewName, MachiningFamily.MachiningType, False, MachiningFamily)
MachiningFamily.Items.Add(NewMachiningItem)
EgtMdbSaveCurrMachining()
NewMachiningItem.NewMachining = True
If Not MachiningFamily.IsExpanded Then MachiningFamily.IsExpanded = True
NewMachiningItem.IsSelected = True
NewMachiningItem.NotifyPropertyChanged("IsSelected")
End If
' Verifico se sia selezionata una lavorazione
ElseIf TypeOf param Is MachiningTreeViewItem Then
Dim MachiningCopied As MachiningTreeViewItem = DirectCast(param, MachiningTreeViewItem)
Dim NewName As String = MachiningCopied.Name
EgtMdbGetMachiningNewName(NewName)
If EgtMdbCopyMachining(MachiningCopied.Name, NewName) Then
Dim CurrType As Integer
EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, CurrType)
For Each MachiningFamily In MachiningsList
If (MachiningFamily.MachiningType And CurrType) <> 0 Then
NewMachiningItem = New MyMachiningTreeViewItem(NewName, MachiningFamily.MachiningType, False, MachiningFamily)
MachiningFamily.Items.Add(NewMachiningItem)
EgtMdbSaveCurrMachining()
NewMachiningItem.NewMachining = True
' Reimposto la lavorazione vecchia nel Db per deselezionarla e fare le verifiche correttamente
EgtMdbSetCurrMachining(MachiningCopied.Name)
MachiningCopied.IsSelected = False
MachiningCopied.NotifyPropertyChanged("IsSelected")
NewMachiningItem.IsSelected = True
Exit For
End If
Next
End If
End If
End Sub
#End Region ' Methods
End Class