0f32dde7db
- Aggiunta voce SplitArcs nelle MachOptions. - Aggiunto modulo con parametri utili della finestra Options. - Piccola miglioria progetto selezione avanzata(scalo le linee sul piano di vista corrente).
126 lines
3.9 KiB
VB.net
126 lines
3.9 KiB
VB.net
Imports EgtUILib
|
|
|
|
Namespace EgtCAM5
|
|
|
|
Public Class MachOptionsViewModel
|
|
|
|
' Definizione comandi
|
|
Private m_cmdCloseMachOptions As ICommand
|
|
|
|
Private m_dSafeZ As String
|
|
Public Property SafeZ As String
|
|
Get
|
|
Return m_dSafeZ
|
|
End Get
|
|
Set(value As String)
|
|
Dim dSafeZ As Double = 0
|
|
StringToLen(value, dSafeZ)
|
|
EgtMdbSetGeneralParam(MCH_GP.SAFEZ, dSafeZ)
|
|
EgtMdbSave()
|
|
m_dSafeZ = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SplitArcsList As New List(Of MCH_SA)({MCH_SA.NEVER, MCH_SA.GEN_PLANE, MCH_SA.NO_XY_PLANE, MCH_SA.ALWAYS})
|
|
Public ReadOnly Property SplitArcsList As List(Of MCH_SA)
|
|
Get
|
|
Return m_SplitArcsList
|
|
End Get
|
|
End Property
|
|
|
|
Private m_SelectedSplitArcs As MCH_SA
|
|
Public Property SelectedSplitArcs As MCH_SA
|
|
Get
|
|
Return m_SelectedSplitArcs
|
|
End Get
|
|
Set(value As MCH_SA)
|
|
EgtMdbSetGeneralParam(MCH_GP.SPLITARCS, value)
|
|
EgtMdbSave()
|
|
m_SelectedSplitArcs = value
|
|
End Set
|
|
End Property
|
|
|
|
#Region "Messages"
|
|
|
|
Public ReadOnly Property SafeZMsg As String
|
|
Get
|
|
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 1)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property SplitArcsMsg As String
|
|
Get
|
|
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 2)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
Sub New()
|
|
' Leggo distanza di sicurezza
|
|
Dim dVal As Double = 0
|
|
EgtMdbGetGeneralParam(MCH_GP.SAFEZ, dVal)
|
|
m_dSafeZ = LenToString(dVal, 2)
|
|
' Leggo tipo di spezzatura archi
|
|
Dim nVal As Integer = 0
|
|
EgtMdbGetGeneralParam(MCH_GP.SPLITARCS, nVal)
|
|
m_SelectedSplitArcs = DirectCast(nVal, MCH_SA)
|
|
End Sub
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "CloseMachOptionsCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that remove the current selected machining.
|
|
''' </summary>
|
|
Public ReadOnly Property CloseMachOptionsCommand() As ICommand
|
|
Get
|
|
If m_cmdCloseMachOptions Is Nothing Then
|
|
m_cmdCloseMachOptions = New RelayCommand(AddressOf CloseMachOptions)
|
|
End If
|
|
Return m_cmdCloseMachOptions
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
|
''' </summary>
|
|
Public Sub CloseMachOptions()
|
|
' Chiusura finestra
|
|
For Each Window In Application.Current.Windows
|
|
If TypeOf Window Is MachOptionsView Then
|
|
Dim MachOptionsWindow As MachOptionsView = DirectCast(Window, MachOptionsView)
|
|
MachOptionsWindow.Close()
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
#End Region ' CloseMachOptionsCommand
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
End Namespace
|
|
|
|
Public Class SplitArcTypeConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
Select Case CInt(value)
|
|
Case MCH_SA.NEVER
|
|
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 3)
|
|
Case MCH_SA.GEN_PLANE
|
|
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 4)
|
|
Case MCH_SA.NO_XY_PLANE
|
|
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 5)
|
|
Case Else
|
|
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 6)
|
|
End Select
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
Throw New NotImplementedException
|
|
End Function
|
|
|
|
End Class |