4c679fbd48
- Migliorato AboutBox. - Miglioramenti per compatibilità con nuova versione WPFLib5.
115 lines
4.8 KiB
VB.net
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 |