EgtCAM5 :
- Cambiati nomi classi e file.
This commit is contained in:
@@ -0,0 +1,643 @@
|
||||
Imports System.Windows.Forms.Integration
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Reflection
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Namespace EgtCAM5
|
||||
|
||||
Public Class ToolsDbVM
|
||||
Inherits TabViewModel
|
||||
|
||||
Friend Shared m_bActive As Boolean = False
|
||||
|
||||
Private m_Title As String
|
||||
Public ReadOnly Property Title As String
|
||||
Get
|
||||
Return EgtMsg(MSG_MAINWINDOW + 3)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Lista degli utensili
|
||||
Private m_ToolsList As New ObservableCollection(Of FamilyToolTreeViewItem)
|
||||
Public Property ToolsList As ObservableCollection(Of FamilyToolTreeViewItem)
|
||||
Get
|
||||
Return m_ToolsList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of FamilyToolTreeViewItem))
|
||||
m_ToolsList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_IsEnabledNewBtn As Boolean
|
||||
Public ReadOnly Property IsEnabledNewBtn As Boolean
|
||||
Get
|
||||
Return m_IsEnabledNewBtn
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_IsEnabledSaveBtn As Boolean
|
||||
Public ReadOnly Property IsEnabledSaveBtn As Boolean
|
||||
Get
|
||||
Return m_IsEnabledSaveBtn
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_IsEnabledRemoveBtn As Boolean
|
||||
Public ReadOnly Property IsEnabledRemoveBtn As Boolean
|
||||
Get
|
||||
Return m_IsEnabledRemoveBtn
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'PROJECT PAGE'S SCENE FIELDS AND PROPERTIES
|
||||
' Reference to the ProjectScene
|
||||
Private WithEvents m_ToolScene As New Scene
|
||||
' Reference to the ProjectSceneHost
|
||||
Private SceneHost As WindowsFormsHost
|
||||
' Property used to bind the scene to the WindowsFormsHost in XAML
|
||||
Private m_bfirst As Boolean = True
|
||||
Public ReadOnly Property ToolSceneHost As WindowsFormsHost
|
||||
Get
|
||||
If m_bfirst Then
|
||||
SceneHost = New WindowsFormsHost() With {.Child = m_ToolScene}
|
||||
If Not m_ToolScene.Init() Then
|
||||
EgtOutLog("Error in Tool scene creation")
|
||||
'Application.Msn.NotifyColleagues(Application.CLOSEAPPLICATION)
|
||||
End If
|
||||
IniFile.m_ToolsDbSceneContext = m_ToolScene.GetCtx()
|
||||
' inibisco selezione diretta da Scene
|
||||
m_ToolScene.SetStatusNull()
|
||||
'OnPropertyChanged("SelectedMachine")
|
||||
m_bfirst = False
|
||||
End If
|
||||
Return SceneHost
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdNew As ICommand
|
||||
Private m_cmdSave As ICommand
|
||||
Private m_cmdRemove As ICommand
|
||||
Private m_cmdReloadTool As ICommand
|
||||
Private m_cmdCloseToolsDb As ICommand
|
||||
|
||||
#Region "MESSAGES"
|
||||
|
||||
'Definizione dei messaggi della pagina
|
||||
Public ReadOnly Property CorrTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 51)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ExitParTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 52)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TypeTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 53)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CoolantTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 54)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CornRadTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 55)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DiamTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 56)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TotDiamTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 57)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property FeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 58)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EndFeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 59)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property StartFeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 60)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TipFeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 61)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property LenTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 62)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TotLenTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 63)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MaxMatTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 64)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property LonOffsetTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 65)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property RadOffsetTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 66)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property SpeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 67)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property SideAngTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 68)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MaxSpeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 69)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ThickTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 70)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MaxAbsorptionTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 71)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MinFeedTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 72)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DrawTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 73)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property HeadTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 74)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property NameParTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 75)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property UserNotesTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 76)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TcPosTxBl As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOOLSDBPAGE + 77)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New()
|
||||
|
||||
m_bActive = True
|
||||
|
||||
' leggo direttorio toolmakers
|
||||
GetPrivateProfileString(S_MACH, K_TOOLMAKERSDIR, "", IniFile.m_sToolMakersDir)
|
||||
|
||||
' Passo all'item della lista il delegato alla funzuione che permette di cancellare una lavorazione
|
||||
ToolTreeViewItem.m_delRemoveTool = AddressOf RemoveTool
|
||||
' Passo all'item della lista il delegato alla funzuione che permette di disattivare la lista delle lavorazioni
|
||||
ToolTreeViewItem.m_delErrorOnTool = AddressOf ErrorOnTool
|
||||
' Passo all'item della lista il delegato alla funzuione che permette di disattivare la lista delle lavorazioni
|
||||
ToolTreeViewItem.m_delIsEnabledBtns = AddressOf IsEnabledBtns
|
||||
FamilyToolTreeViewItem.m_delIsEnabledBtns = AddressOf IsEnabledBtns
|
||||
|
||||
LoadSelectedMachineTools()
|
||||
|
||||
' carico lista teste
|
||||
ToolTreeViewItem.m_HeadList.Clear()
|
||||
Dim sHeads As String = String.Empty
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
If EgtGetAllHeadsNames(sHeads) Then
|
||||
Dim sHeadList() As String = sHeads.Split(","c)
|
||||
For HeadIndex = 0 To sHeadList.Count - 1
|
||||
Dim sHText As String = String.Empty
|
||||
EgtUILib.GetPrivateProfileString(S_HEADS, sHeadList(HeadIndex), "", sHText, IniFile.m_sCurrMachIniFilePath)
|
||||
Dim sHTextMsg As String = String.Empty
|
||||
If IsNumeric(sHText) Then
|
||||
sHTextMsg = EgtMsg(CInt(sHText))
|
||||
If sHTextMsg = ("Msg" & CInt(sHText)) Then
|
||||
sHTextMsg = sHText
|
||||
End If
|
||||
Else
|
||||
sHTextMsg = sHText
|
||||
End If
|
||||
sHTextMsg &= " (" & sHeadList(HeadIndex) & ")"
|
||||
ToolTreeViewItem.m_HeadList.Add(New HeadItem(sHeadList(HeadIndex), sHTextMsg))
|
||||
Next
|
||||
Else
|
||||
MessageBox.Show("Impossible loading Head list from machine!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
EgtOutLog("Error: Impossible loading Head list from machine!")
|
||||
End If
|
||||
' se carico Lua che contiene le funzioni di attrezzaggio
|
||||
ToolTreeViewItem.m_OrigTcPosList.Clear()
|
||||
If EgtLuaExecFile(IniFile.m_sCurrMachScriptsDirPath & "\" & SETUP_LUA) Then
|
||||
' creo lista di tutti i TcPos
|
||||
Dim nPosIndex As Integer = 1
|
||||
Dim sTcPos As String = String.Empty
|
||||
Dim nErr As Integer = 0
|
||||
While nErr = 0
|
||||
EgtLuaSetGlobIntVar("STU.INDEX", nPosIndex)
|
||||
If Not EgtLuaCallFunction("STU.GetTcPosFromPos") Then Exit While
|
||||
' Leggo variabili
|
||||
EgtLuaGetGlobStringVar("STU.TCPOS", sTcPos)
|
||||
If Not EgtLuaGetGlobIntVar("STU.ERR", nErr) Then nErr = 999
|
||||
If nErr = 0 Then
|
||||
ToolTreeViewItem.m_OrigTcPosList.Add(sTcPos)
|
||||
End If
|
||||
nPosIndex += 1
|
||||
End While
|
||||
' altrimenti
|
||||
Else
|
||||
MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 25), EgtMsg(MSG_TOOLSERRORS + 26), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
EgtOutLog("Error: SetUp configuration file not found!")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Private Sub IsEnabledBtns(bIsEnabledNewBtn As Boolean, bIsEnabledSaveBtn As Boolean, bIsEnabledDeleteBtn As Boolean)
|
||||
m_IsEnabledNewBtn = bIsEnabledNewBtn
|
||||
m_IsEnabledSaveBtn = bIsEnabledSaveBtn
|
||||
m_IsEnabledRemoveBtn = bIsEnabledDeleteBtn
|
||||
OnPropertyChanged("IsEnabledNewBtn")
|
||||
OnPropertyChanged("IsEnabledSaveBtn")
|
||||
OnPropertyChanged("IsEnabledRemoveBtn")
|
||||
End Sub
|
||||
|
||||
' Quando chiamato, disattiva tutti gli item dell'albero o li riattiva a seconda che ci sia o meno un errore
|
||||
Private Sub ErrorOnTool(bIsEnabled As Boolean)
|
||||
For Each FamilyToolItem In ToolsList
|
||||
FamilyToolItem.IsEnabled = Not bIsEnabled
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Method that search tools for the currently selected Machine and add it to the ToolsList.
|
||||
''' </summary>
|
||||
Private Sub LoadSelectedMachineTools()
|
||||
Dim ActiveToolsFamilies() As ToolsFamily = MachineModel.ReadActiveToolsFamilies()
|
||||
For Each ToolsFamily In ActiveToolsFamilies
|
||||
Dim FamilyTreeView As New FamilyToolTreeViewItem(ToolsFamily.FamilyName, ToolsFamily.FamilyId)
|
||||
ToolsList.Add(FamilyTreeView)
|
||||
Dim nType As Integer = 0
|
||||
Dim ToolName As String = String.Empty
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
If EgtTdbGetFirstTool(ToolsFamily.FamilyId, ToolName, nType) Then
|
||||
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
||||
While EgtTdbGetNextTool(ToolsFamily.FamilyId, ToolName, nType)
|
||||
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
||||
End While
|
||||
End If
|
||||
Next
|
||||
' Se esiste almeno una famiglia di utensili, la seleziono
|
||||
If ToolsList.Count > 0 Then
|
||||
ToolsList(0).IsSelected = True
|
||||
ToolsList(0).NotifyPropertyChanged("IsSelected")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region ' Methods
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "NewCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that create a new tool.
|
||||
''' </summary>
|
||||
Public ReadOnly Property NewCommand As ICommand
|
||||
Get
|
||||
If m_cmdNew Is Nothing Then
|
||||
m_cmdNew = New RelayCommand(AddressOf NewPar)
|
||||
End If
|
||||
Return m_cmdNew
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Creata the new tool. This method is invoked by the NewCommand.
|
||||
''' </summary>
|
||||
Public Sub NewPar(ByVal param As Object)
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
' Verifico se sia selezionata una famiglia
|
||||
Dim NewToolItem As ToolTreeViewItem
|
||||
If TypeOf param Is FamilyToolTreeViewItem Then
|
||||
Dim ToolFamily As FamilyToolTreeViewItem = DirectCast(param, FamilyToolTreeViewItem)
|
||||
Dim NewName As String = ToolFamily.Name
|
||||
EgtTdbGetToolNewName(NewName)
|
||||
If EgtTdbAddTool(NewName, ToolFamily.ToolType) Then
|
||||
NewToolItem = New ToolTreeViewItem(NewName)
|
||||
ToolFamily.Items.Add(NewToolItem)
|
||||
EgtTdbSaveCurrTool()
|
||||
NewToolItem.NewTool = True
|
||||
If Not ToolFamily.IsExpanded Then ToolFamily.IsExpanded = True
|
||||
NewToolItem.IsSelected = True
|
||||
NewToolItem.NotifyPropertyChanged("IsSelected")
|
||||
End If
|
||||
' Verifico se sia selezionato un utensile
|
||||
ElseIf TypeOf param Is ToolTreeViewItem Then
|
||||
Dim ToolCopied As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
||||
Dim NewName As String = ToolCopied.Name
|
||||
EgtTdbGetToolNewName(NewName)
|
||||
If EgtTdbCopyTool(ToolCopied.Name, NewName) Then
|
||||
' Elimino disegno che non deve essere copiato
|
||||
EgtTdbSetCurrToolParam(MCH_TP.DRAW, String.Empty)
|
||||
Dim CurrType As Integer
|
||||
EgtTdbGetCurrToolParam(MCH_TP.TYPE, CurrType)
|
||||
For Each ToolFamily In ToolsList
|
||||
If (ToolFamily.ToolType And CurrType) <> 0 Then
|
||||
NewToolItem = New ToolTreeViewItem(NewName)
|
||||
ToolFamily.Items.Add(NewToolItem)
|
||||
EgtTdbSaveCurrTool()
|
||||
NewToolItem.NewTool = True
|
||||
' Reimposto l'utensile vecchio nel Db per deselezionarlo e fare le verifiche correttamente
|
||||
EgtTdbSetCurrTool(ToolCopied.Name)
|
||||
ToolCopied.IsSelected = False
|
||||
ToolCopied.NotifyPropertyChanged("IsSelected")
|
||||
NewToolItem.IsSelected = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region ' NewCommand
|
||||
|
||||
#Region "SaveCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that save the current selected tool.
|
||||
''' </summary>
|
||||
Public ReadOnly Property SaveCommand() As ICommand
|
||||
Get
|
||||
If m_cmdSave Is Nothing Then
|
||||
m_cmdSave = New RelayCommand(AddressOf Save)
|
||||
End If
|
||||
Return m_cmdSave
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Saves the current tool. This method is invoked by the SaveCommand.
|
||||
''' </summary>
|
||||
Public Sub Save(ByVal param As Object)
|
||||
Dim CurrTool As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
||||
CurrTool.WriteToolParam()
|
||||
CurrTool.m_Name = CurrTool.m_Name.Trim()
|
||||
CurrTool.WriteToolName()
|
||||
If IsUUID(Path.GetFileNameWithoutExtension(CurrTool.m_Draw)) Then
|
||||
CurrTool.SaveToolDraw()
|
||||
End If
|
||||
EgtTdbSaveCurrTool()
|
||||
CurrTool.NewTool = False
|
||||
CurrTool.IsModifiedReset()
|
||||
IsEnabledBtns(CurrTool.IsValid And Not CurrTool.IsModified, False, True)
|
||||
End Sub
|
||||
|
||||
#End Region ' SaveCommand
|
||||
|
||||
#Region "RemoveCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that remove the current selected tool.
|
||||
''' </summary>
|
||||
Public ReadOnly Property RemoveCommand() As ICommand
|
||||
Get
|
||||
If m_cmdRemove Is Nothing Then
|
||||
m_cmdRemove = New RelayCommand(AddressOf Remove)
|
||||
End If
|
||||
Return m_cmdRemove
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Remove the current selected tools from Db and TreeView. This method is invoked by the RemoveCommand.
|
||||
''' </summary>
|
||||
Public Sub Remove(ByVal param As Object)
|
||||
Dim ToolToRemove As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
||||
' Chiedo conferma cancellazione lavorazione
|
||||
If MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 22) & " " & ToolToRemove.Name & EgtMsg(MSG_TOOLSERRORS + 23), EgtMsg(MSG_TOOLSERRORS + 24), MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.Yes Then
|
||||
Return
|
||||
End If
|
||||
RemoveTool(ToolToRemove)
|
||||
End Sub
|
||||
|
||||
Private Sub RemoveTool(ToolToRemove As ToolTreeViewItem)
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
' Cancello disegno dell'utensile
|
||||
EraseToolDraw()
|
||||
' Salvo il tipo di utensile per poterlo cancellare
|
||||
Dim ToolType As Integer = ToolToRemove.Type
|
||||
' Cancello l'utensile
|
||||
Dim CurrToolOriginalName As String = String.Empty
|
||||
EgtTdbGetToolFromUUID(ToolToRemove.Uuid, CurrToolOriginalName)
|
||||
EgtTdbRemoveTool(CurrToolOriginalName)
|
||||
' Rimuovo il nome dell'albero
|
||||
For Each ToolFamily In ToolsList
|
||||
If (ToolFamily.ToolType And ToolType) <> 0 Then
|
||||
ToolFamily.Items.Remove(ToolToRemove)
|
||||
End If
|
||||
Next
|
||||
ErrorOnTool(False)
|
||||
End Sub
|
||||
|
||||
Private Function EraseToolDraw() As Boolean
|
||||
' nome e direttorio del file da cancellare
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
Dim sDrawName As String = String.Empty
|
||||
EgtTdbGetCurrToolParam(MCH_TP.DRAW, sDrawName)
|
||||
Dim sPath As String = String.Empty
|
||||
EgtTdbGetToolDir(sPath)
|
||||
sPath = sPath & "\" & sDrawName
|
||||
' se automatico ed esiste lo cancello
|
||||
Try
|
||||
If IsUUID(Path.GetFileNameWithoutExtension(sPath)) And
|
||||
My.Computer.FileSystem.FileExists(sPath) Then
|
||||
My.Computer.FileSystem.DeleteFile(sPath)
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
#End Region ' RemoveCommand
|
||||
|
||||
#Region "ReloadToolCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that reload the current selected tool.
|
||||
''' </summary>
|
||||
Public ReadOnly Property ReloadToolCommand() As ICommand
|
||||
Get
|
||||
If m_cmdReloadTool Is Nothing Then
|
||||
m_cmdReloadTool = New RelayCommand(AddressOf ReloadTool)
|
||||
End If
|
||||
Return m_cmdReloadTool
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Reload the current selected tools. This method is invoked by the RemoveCommand.
|
||||
''' </summary>
|
||||
Public Sub ReloadTool(ByVal param As Object)
|
||||
If TypeOf param Is FamilyToolTreeViewItem Then
|
||||
Return
|
||||
' Verifico se sia selezionato un utensile
|
||||
ElseIf TypeOf param Is ToolTreeViewItem Then
|
||||
Dim ToolToReload As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
ToolToReload.ReadToolParam()
|
||||
ToolToReload.ReadToolName()
|
||||
ToolToReload.IsModifiedReset()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' ReloadToolCommand
|
||||
|
||||
#Region "CloseToolDbCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that remove the current selected machining.
|
||||
''' </summary>
|
||||
Public ReadOnly Property CloseToolsDbCommand() As ICommand
|
||||
Get
|
||||
If m_cmdCloseToolsDb Is Nothing Then
|
||||
m_cmdCloseToolsDb = New RelayCommand(AddressOf CloseToolsDb)
|
||||
End If
|
||||
Return m_cmdCloseToolsDb
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
||||
''' </summary>
|
||||
Public Sub CloseToolsDb(param As Object)
|
||||
m_bActive = False
|
||||
' Imposto contesto di progetto
|
||||
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
' Se selezionata una lavorazione, verifico salvataggio
|
||||
If TypeOf param Is ToolTreeViewItem Then
|
||||
Dim CurrTool As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
||||
If CurrTool.IsValid Then
|
||||
CurrTool.WriteToolParam()
|
||||
If EgtTdbIsCurrToolModified() Or CurrTool.m_IsModifiedName Or CurrTool.NewTool Then
|
||||
Select Case MsgBox(EgtMsg(MSG_TOOLSERRORS), MsgBoxStyle.YesNo, EgtMsg(MSG_TOOLSERRORS + 1))
|
||||
Case MsgBoxResult.Yes
|
||||
CurrTool.NewTool = False
|
||||
CurrTool.m_Name = CurrTool.m_Name.Trim()
|
||||
CurrTool.WriteToolName()
|
||||
EgtTdbSaveCurrTool()
|
||||
Case MsgBoxResult.No
|
||||
If CurrTool.NewTool Then
|
||||
RemoveTool(CurrTool)
|
||||
ElseIf CurrTool.m_IsModifiedName Then
|
||||
Dim DbName As String = String.Empty
|
||||
EgtTdbGetCurrToolParam(MCH_TP.NAME, DbName)
|
||||
CurrTool.NamePar = DbName
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
Else
|
||||
MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 29), EgtMsg(MSG_TOOLSERRORS + 26))
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
' Salvataggio DB utensili
|
||||
EgtTdbSave()
|
||||
' Reset lua
|
||||
EgtLuaResetGlobVar("STU")
|
||||
' Chiusura finestra
|
||||
ToolTreeViewItem.m_delRemoveTool = Nothing
|
||||
ToolTreeViewItem.m_delErrorOnTool = Nothing
|
||||
ToolTreeViewItem.m_delIsEnabledBtns = Nothing
|
||||
FamilyToolTreeViewItem.m_delIsEnabledBtns = Nothing
|
||||
For Each Window In Application.Current.Windows
|
||||
If TypeOf Window Is ToolsDbV Then
|
||||
Dim ToolsDbWindow As ToolsDbV = DirectCast(Window, ToolsDbV)
|
||||
ToolsDbWindow.DataContext = Nothing
|
||||
ToolsDbWindow.Close()
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
#End Region ' CloseToolsDbCommand
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
Reference in New Issue
Block a user