f68dd5c81a
- primo rilascio.
210 lines
6.7 KiB
VB.net
210 lines
6.7 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class MachinePanelVM
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
' Radice del direttorio delle macchine
|
|
Private m_sMachinesRoot As String
|
|
Friend ReadOnly Property sMachinesRoot As String
|
|
Get
|
|
Return m_sMachinesRoot
|
|
End Get
|
|
End Property
|
|
|
|
' Lista delle macchine disponibili
|
|
Private m_MachineList As ObservableCollection(Of Machine)
|
|
Public Property MachineList As ObservableCollection(Of Machine)
|
|
Get
|
|
Return m_MachineList
|
|
End Get
|
|
Set(value As ObservableCollection(Of Machine))
|
|
m_MachineList = value
|
|
End Set
|
|
End Property
|
|
' Macchina correntemente selezionata e quindi attiva
|
|
Private m_SelectedMachine As Machine
|
|
Public Property SelectedMachine As Machine
|
|
Get
|
|
Return m_SelectedMachine
|
|
End Get
|
|
Set(value As Machine)
|
|
If value IsNot m_SelectedMachine Then
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
If EgtSetCurrMachine(value.Name) Then
|
|
m_SelectedMachine = value
|
|
'IniFile.m_sMachineName = m_SelectedMachine.Name
|
|
'IniFile.m_sCurrMachIniFilePath = m_SelectedMachine.MachineDirPath & "\" & m_SelectedMachine.Name & ".ini"
|
|
'IniFile.m_sCurrMachToolsDirPath = m_SelectedMachine.MachineDirPath & "\Tools"
|
|
'IniFile.m_sCurrMachSetUpDirPath = m_SelectedMachine.MachineDirPath & "\SetUp"
|
|
'IniFile.m_sCurrMachScriptsDirPath = m_SelectedMachine.MachineDirPath & "\Scripts"
|
|
'UpdateToolAndMachDbParamVisibility()
|
|
NotifyPropertyChanged("SelectedMachine")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdToolDb As ICommand
|
|
Private m_cmdMachDb As ICommand
|
|
Private m_cmdMachOptions As ICommand
|
|
|
|
#Region "Messages"
|
|
|
|
Public ReadOnly Property ToolDBMsg As String
|
|
Get
|
|
'Return EgtMsg(MSG_MAINWINDOW + 6)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property MachiningDbMsg As String
|
|
Get
|
|
'Return EgtMsg(MSG_MAINWINDOW + 7)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' Messages
|
|
|
|
#Region "ToolTip"
|
|
|
|
Public ReadOnly Property ToolDBToolTip As String
|
|
Get
|
|
'Return EgtMsg(MSG_MAINWINDOW + 3)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property MachiningDbToolTip As String
|
|
Get
|
|
'Return EgtMsg(MSG_MAINWINDOW + 4)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' ToolTip
|
|
|
|
#End Region 'FIELDS & PROPERTIES
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New()
|
|
' Creo riferimento a questa classe in OmagOFFICEMap
|
|
OmagOFFICEMap.SetRefMachinePanelVM(Me)
|
|
' recupero cartella radice delle macchine
|
|
m_sMachinesRoot = OmagOFFICE.refMainWindowVM.MainWindowM.sMachinesRoot
|
|
' Carica macchine da cartella delle macchine
|
|
Dim MachineList As New List(Of Machine)
|
|
If Machine.MachineListInit(sMachinesRoot, MachineList) Then 'OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot, MachineList) Then
|
|
m_MachineList = New ObservableCollection(Of Machine)(MachineList)
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTOR
|
|
|
|
#Region "METHODS"
|
|
|
|
#End Region
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "ToolDbCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property ToolDbCommand As ICommand
|
|
Get
|
|
If m_cmdToolDb Is Nothing Then
|
|
m_cmdToolDb = New Command(AddressOf ToolDb)
|
|
End If
|
|
Return m_cmdToolDb
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub ToolDb(ByVal param As Object)
|
|
'If Not EgtVerifyMachinesDir() Then Return
|
|
'' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
|
|
'If Not EgtTdbReload() Then
|
|
' EgtOutLog("Impossible reloading tool Db")
|
|
' MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
|
|
' Return
|
|
'End If
|
|
'Dim ToolDbWindow As New ToolsDbView
|
|
'ToolDbWindow.Height = 640
|
|
'ToolDbWindow.Width = 1024
|
|
'ToolDbWindow.DataContext = New ToolsDbViewModel
|
|
'ToolDbWindow.Owner = Application.Current.MainWindow
|
|
'ToolDbWindow.ShowDialog()
|
|
End Sub
|
|
|
|
#End Region ' ToolDbCommand
|
|
|
|
#Region "MachDbCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property MachDbCommand As ICommand
|
|
Get
|
|
If m_cmdMachDb Is Nothing Then
|
|
m_cmdMachDb = New Command(AddressOf MachDb)
|
|
End If
|
|
Return m_cmdMachDb
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub MachDb(ByVal param As Object)
|
|
'If Not EgtVerifyMachinesDir() Then Return
|
|
'' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
|
|
'If Not EgtMdbReload() Then
|
|
' EgtOutLog("Impossible reloading machining Db")
|
|
' MessageBox.Show(EgtMsg(MSG_MACHININGSERRORS + 7), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
|
|
' Return
|
|
'End If
|
|
'Dim MachDbWindow As New MachiningsDbView
|
|
'MachDbWindow.Height = 614
|
|
'MachDbWindow.Width = 1024
|
|
'MachDbWindow.DataContext = New MachiningsDbViewModel
|
|
'MachDbWindow.Owner = Application.Current.MainWindow
|
|
'MachDbWindow.ShowDialog()
|
|
End Sub
|
|
|
|
#End Region ' MachDbCommand
|
|
|
|
#Region "MachOptionsCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property MachOptionsCommand As ICommand
|
|
Get
|
|
If m_cmdMachOptions Is Nothing Then
|
|
m_cmdMachOptions = New Command(AddressOf MachOptions)
|
|
End If
|
|
Return m_cmdMachOptions
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub MachOptions(ByVal param As Object)
|
|
'Dim MachOptionWindow As New MachOptionsView
|
|
''MachOptionWindow.Height = 614
|
|
''MachOptionWindow.Width = 256
|
|
'MachOptionWindow.DataContext = New MachOptionsViewModel
|
|
'MachOptionWindow.Owner = Application.Current.MainWindow
|
|
'MachOptionWindow.ShowDialog()
|
|
End Sub
|
|
|
|
#End Region ' MachOptionsCommand
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class |