3e41014f5b
- corretto aggiornamento visualizzazione PreviewTool di tipo corretto al rientro nella lavorazione.
589 lines
24 KiB
VB.net
589 lines
24 KiB
VB.net
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class MachiningParameterExpanderVM
|
|
Inherits VMBase
|
|
|
|
''' <summary>
|
|
''' Evento che permette di mettere il focus sullo slider
|
|
''' </summary>
|
|
Friend Event m_EventFocusOnSlider()
|
|
''' <summary>
|
|
''' Evento che permette di mettere il focus sul bottone
|
|
''' </summary>
|
|
Friend Event m_EventFocusOnButtonPreview()
|
|
|
|
Private m_nPreviewMachiningTool As Integer = MCH_LOOK.NONE
|
|
Public ReadOnly Property nPreviewMachiningTool As Integer
|
|
Get
|
|
Return m_nPreviewMachiningTool
|
|
End Get
|
|
End Property
|
|
Friend Sub SetPreviewMachiningTool(value As MCH_LOOK)
|
|
m_nPreviewMachiningTool = value
|
|
NotifyPropertyChanged(NameOf(nPreviewMachiningTool))
|
|
End Sub
|
|
|
|
Private m_sToolPreview_Image As String
|
|
Public ReadOnly Property sToolPreview_Image As String
|
|
Get
|
|
Return m_sToolPreview_Image
|
|
End Get
|
|
End Property
|
|
Friend Sub SetToolPreview_Image(value As String)
|
|
m_sToolPreview_Image = value
|
|
NotifyPropertyChanged(NameOf(sToolPreview_Image))
|
|
End Sub
|
|
|
|
Private WithEvents m_CurrOperation As MachiningTreeViewItem
|
|
Public Property CurrOperation As MachiningTreeViewItem
|
|
Get
|
|
Return m_CurrOperation
|
|
End Get
|
|
Set(value As MachiningTreeViewItem)
|
|
m_CurrOperation = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_CurrOperation_IsModified As Boolean
|
|
Public Property CurrOperation_IsModified As Boolean
|
|
Get
|
|
Return m_CurrOperation_IsModified
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_CurrOperation_IsModified = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_CurrOperation_ErrorOnOperation As Boolean
|
|
Public Property CurrOperation_ErrorOnOperation As Boolean
|
|
Get
|
|
Return m_CurrOperation_ErrorOnOperation
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_CurrOperation_ErrorOnOperation = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_UpdateMachiningBtn_Background As SolidColorBrush = Brushes.LightGray
|
|
Public ReadOnly Property UpdateMachiningBtn_Background As SolidColorBrush
|
|
Get
|
|
If m_CurrOperation_ErrorOnOperation Then
|
|
Return Brushes.Red
|
|
ElseIf m_CurrOperation_IsModified Then
|
|
Return Brushes.Gold
|
|
Else
|
|
Return Brushes.LightGray
|
|
End If
|
|
End Get
|
|
End Property
|
|
|
|
' Slider per muovere l'utensile in aggiunta ai pulsanti indietro e avanti
|
|
Private m_SliderScale As Integer = 100
|
|
Public ReadOnly Property SliderScale As Integer
|
|
Get
|
|
Return m_SliderScale
|
|
End Get
|
|
End Property
|
|
Friend Sub SetSliderScale(value As Integer)
|
|
m_SliderScale = Math.Max(value, 1)
|
|
If m_SliderScale <= 10 Then
|
|
m_SliderTick = 1
|
|
Else
|
|
m_SliderTick = CInt(m_SliderScale / 10)
|
|
End If
|
|
NotifyPropertyChanged(NameOf(SliderScale))
|
|
NotifyPropertyChanged(NameOf(SliderTick))
|
|
End Sub
|
|
|
|
Private m_SliderTick As Integer = 10
|
|
Public ReadOnly Property SliderTick As Integer
|
|
Get
|
|
Return m_SliderTick
|
|
End Get
|
|
End Property
|
|
|
|
Private m_nPtEntId As Integer = GDB_ID.NULL
|
|
Private m_SliderValue As Integer = 1
|
|
Public Property SliderValue As Integer
|
|
Get
|
|
Return m_SliderValue
|
|
End Get
|
|
Set(value As Integer)
|
|
If m_nPreviewMachiningTool = MCH_LOOK.TAB_TOOL OrElse m_nPreviewMachiningTool = MCH_LOOK.TAB_HEAD Then
|
|
Dim nId As Integer = EgtPreviewMachiningTool(m_nPtEntId, value - m_SliderValue)
|
|
If nId <> GDB_ID.NULL Then m_nPtEntId = nId
|
|
EgtDraw()
|
|
End If
|
|
m_SliderValue = value
|
|
End Set
|
|
End Property
|
|
Friend Sub ResetSliderValue()
|
|
If m_nPreviewMachiningTool = MCH_LOOK.TAB_TOOL OrElse m_nPreviewMachiningTool = MCH_LOOK.TAB_HEAD Then
|
|
m_nPtEntId = EgtPreviewMachiningTool(GDB_ID.NULL, MCH_PTM.AFTER)
|
|
Else
|
|
m_nPtEntId = GDB_ID.NULL
|
|
End If
|
|
m_SliderValue = 1
|
|
NotifyPropertyChanged(NameOf(SliderValue))
|
|
End Sub
|
|
Friend Sub SetSliderValue(value As Integer)
|
|
If m_nPreviewMachiningTool = MCH_LOOK.NONE Then Return
|
|
Dim nOldSliderValue As Integer = m_SliderValue
|
|
m_SliderValue = Math.Min(Math.Max(m_SliderValue + value, 1), m_SliderScale)
|
|
Dim nStep As Integer = m_SliderValue - nOldSliderValue
|
|
If nStep = 0 Then Return
|
|
Dim nId As Integer = EgtPreviewMachiningTool(m_nPtEntId, nStep)
|
|
If nId <> GDB_ID.NULL Then m_nPtEntId = nId
|
|
EgtDraw()
|
|
NotifyPropertyChanged(NameOf(SliderValue))
|
|
End Sub
|
|
|
|
Private m_Slider_IsEnable As Boolean
|
|
Public ReadOnly Property Slider_IsEnable As Boolean
|
|
Get
|
|
Return m_Slider_IsEnable
|
|
End Get
|
|
End Property
|
|
Friend Sub SetSlider_IsEnable(value As Boolean)
|
|
m_Slider_IsEnable = value
|
|
NotifyPropertyChanged(NameOf(Slider_IsEnable))
|
|
End Sub
|
|
|
|
Dim WoodDrillParamExpanderV As WoodDrillingParameterExpanderV
|
|
Dim WoodSawParamExpanderV As WoodSawingParameterExpanderV
|
|
Dim WoodMillParamExpanderV As WoodMillingParameterExpanderV
|
|
Dim BeamMillParamExpanderV As BeamMillingParameterExpanderV
|
|
Dim PocketParamExpanderV As PocketingParameterExpanderV
|
|
Dim MortiseParamExpanderV As MortisingParameterExpanderV
|
|
Dim GenMachinParamExpanderV As GenMachiningParameterExpanderV
|
|
Dim ChiselParamExpanderV As ChiselingParameterExpanderV
|
|
Dim StoneSawParamExpanderV As StoneSawingParameterExpanderV
|
|
Dim StoneSawFinishParamExpanderV As StoneSawFinishingParameterExpanderV
|
|
Dim StoneSawRoughParamExpanderV As StoneSawRoughingParameterExpanderV
|
|
Dim StoneMillParamExpanderV As StoneMillingParameterExpanderV
|
|
Dim StoneDrillParamExpanderV As StoneDrillingParameterExpanderV
|
|
Dim SurfFinishParamExpanderV As SurfFinishingParameterExpanderV
|
|
Dim WjParamExpanderV As WaterjettingParameterExpanderV
|
|
Dim FiveAxExpanderV As FiveAxisMachiningParameterExpanderV
|
|
Dim SurfRoughExpanderV As SurfRoughingParameterExpanderV
|
|
Dim ProbExpanderV As ProbingParameterExpanderV
|
|
|
|
Private Sub Dummy()
|
|
|
|
End Sub
|
|
|
|
Public ReadOnly Property ParamExpanderPageV As ContentControl
|
|
Get
|
|
|
|
' !!! Inizializzo delegati con funzione vuota, per evitare problemi !!!
|
|
MachiningTreeViewItem.m_delRemoveMachining = AddressOf Dummy
|
|
MachiningTreeViewItem.m_delErrorOnMachining = AddressOf Dummy
|
|
MachiningTreeViewItem.m_delIsEnabledBtns = AddressOf Dummy
|
|
FamilyMachiningTreeViewItem.m_delIsEnabledBtns = AddressOf Dummy
|
|
MachiningTreeViewItem.m_delNotifyPropertyChanged = AddressOf Dummy
|
|
FamilyMachiningTreeViewItem.m_delNotifyPropertyChanged = AddressOf Dummy
|
|
|
|
Dim sName = String.Empty
|
|
Dim nType As Integer
|
|
EgtGetMachiningParam(MCH_MP.NAME, sName)
|
|
EgtGetMachiningParam(MCH_MP.TYPE, nType)
|
|
m_CurrOperation = New MachiningTreeViewItem(sName, DirectCast(nType, MCH_MY))
|
|
|
|
m_CurrOperation.ReadOperationParam()
|
|
|
|
' Riferimento a operazione selezionata
|
|
EgtWPFLib5.MachiningTreeViewItem.sh_SelMach = m_CurrOperation
|
|
|
|
IsModified(False)
|
|
ErrorOnOperation(False)
|
|
|
|
' EgtGetMachiningParam(MCH_MP.TYPE, m_Type)
|
|
If IsNothing(nType) Then Return Nothing
|
|
|
|
Dim MatType As MaterialType = EgtWPFLib5.MachiningTreeViewItem.m_MatType
|
|
EgtWPFLib5.MachiningTreeViewItem.m_MPE_SysNotes_Visibility = IniFile.m_nUserLevel > 9
|
|
|
|
Select Case nType
|
|
Case MCH_OY.DRILLING
|
|
If MatType = MaterialType.STONE5 Then
|
|
If IsNothing(StoneDrillParamExpanderV) Then StoneDrillParamExpanderV = New StoneDrillingParameterExpanderV
|
|
StoneDrillParamExpanderV.DataContext = m_CurrOperation
|
|
Return StoneDrillParamExpanderV
|
|
Else
|
|
If IsNothing(WoodDrillParamExpanderV) Then WoodDrillParamExpanderV = New WoodDrillingParameterExpanderV
|
|
WoodDrillParamExpanderV.DataContext = m_CurrOperation
|
|
Return WoodDrillParamExpanderV
|
|
End If
|
|
Case MCH_OY.SAWING
|
|
If MatType = MaterialType.STONE5 Then
|
|
If IsNothing(StoneSawParamExpanderV) Then StoneSawParamExpanderV = New StoneSawingParameterExpanderV
|
|
StoneSawParamExpanderV.DataContext = m_CurrOperation
|
|
Return StoneSawParamExpanderV
|
|
Else
|
|
If IsNothing(WoodSawParamExpanderV) Then WoodSawParamExpanderV = New WoodSawingParameterExpanderV
|
|
WoodSawParamExpanderV.DataContext = m_CurrOperation
|
|
Return WoodSawParamExpanderV
|
|
End If
|
|
Case MCH_OY.MILLING
|
|
If MatType = MaterialType.BEAM Then
|
|
If IsNothing(BeamMillParamExpanderV) Then BeamMillParamExpanderV = New BeamMillingParameterExpanderV
|
|
BeamMillParamExpanderV.DataContext = m_CurrOperation
|
|
Return BeamMillParamExpanderV
|
|
ElseIf MatType = MaterialType.STONE5 Then
|
|
If IsNothing(StoneMillParamExpanderV) Then StoneMillParamExpanderV = New StoneMillingParameterExpanderV
|
|
StoneMillParamExpanderV.DataContext = m_CurrOperation
|
|
Return StoneMillParamExpanderV
|
|
Else
|
|
If IsNothing(WoodMillParamExpanderV) Then WoodMillParamExpanderV = New WoodMillingParameterExpanderV
|
|
WoodMillParamExpanderV.DataContext = m_CurrOperation
|
|
Return WoodMillParamExpanderV
|
|
End If
|
|
Case MCH_OY.SAWROUGHING
|
|
If IsNothing(StoneSawRoughParamExpanderV) Then StoneSawRoughParamExpanderV = New StoneSawRoughingParameterExpanderV
|
|
StoneSawRoughParamExpanderV.DataContext = m_CurrOperation
|
|
Return StoneSawRoughParamExpanderV
|
|
Case MCH_OY.SAWFINISHING
|
|
If IsNothing(StoneSawFinishParamExpanderV) Then StoneSawFinishParamExpanderV = New StoneSawFinishingParameterExpanderV
|
|
StoneSawFinishParamExpanderV.DataContext = m_CurrOperation
|
|
Return StoneSawFinishParamExpanderV
|
|
Case MCH_OY.POCKETING
|
|
If MatType = MaterialType.STONE5 Then
|
|
' se macchina di tipo STONE ricavo il tipo di utensile
|
|
Dim sMachiningToolName = String.Empty
|
|
EgtMdbSetCurrMachining(sName)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, sMachiningToolName)
|
|
EgtTdbSetCurrTool(sMachiningToolName)
|
|
Dim dValue As Double = 0
|
|
Dim nToolType As Integer
|
|
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nToolType)
|
|
' se utensile di tipo POLISHING rendo visibili i campi sugli epicicli
|
|
If nToolType = MCH_TY.MILL_POLISHING Then m_CurrOperation.Epicycles_Visibility = Visibility.Visible
|
|
End If
|
|
If IsNothing(PocketParamExpanderV) Then PocketParamExpanderV = New PocketingParameterExpanderV
|
|
PocketParamExpanderV.DataContext = m_CurrOperation
|
|
Return PocketParamExpanderV
|
|
Case MCH_OY.MORTISING
|
|
If IsNothing(MortiseParamExpanderV) Then MortiseParamExpanderV = New MortisingParameterExpanderV
|
|
MortiseParamExpanderV.DataContext = m_CurrOperation
|
|
Return MortiseParamExpanderV
|
|
Case MCH_OY.GENMACHINING
|
|
If IsNothing(GenMachinParamExpanderV) Then GenMachinParamExpanderV = New GenMachiningParameterExpanderV
|
|
GenMachinParamExpanderV.DataContext = m_CurrOperation
|
|
Return GenMachinParamExpanderV
|
|
Case MCH_OY.CHISELING
|
|
If IsNothing(ChiselParamExpanderV) Then ChiselParamExpanderV = New ChiselingParameterExpanderV
|
|
ChiselParamExpanderV.DataContext = m_CurrOperation
|
|
Return ChiselParamExpanderV
|
|
Case MCH_OY.SURFFINISHING
|
|
If IsNothing(SurfFinishParamExpanderV) Then SurfFinishParamExpanderV = New SurfFinishingParameterExpanderV
|
|
SurfFinishParamExpanderV.DataContext = m_CurrOperation
|
|
Return SurfFinishParamExpanderV
|
|
Case MCH_OY.WATERJETTING
|
|
If IsNothing(WjParamExpanderV) Then WjParamExpanderV = New WaterjettingParameterExpanderV
|
|
WjParamExpanderV.DataContext = m_CurrOperation
|
|
Return WjParamExpanderV
|
|
Case MCH_OY.FIVEAXISMILLING
|
|
If IsNothing(FiveAxExpanderV) Then FiveAxExpanderV = New FiveAxisMachiningParameterExpanderV
|
|
FiveAxExpanderV.DataContext = m_CurrOperation
|
|
Return FiveAxExpanderV
|
|
Case MCH_OY.SURFROUGHING
|
|
If IsNothing(SurfRoughExpanderV) Then SurfRoughExpanderV = New SurfRoughingParameterExpanderV
|
|
SurfRoughExpanderV.DataContext = m_CurrOperation
|
|
Return SurfRoughExpanderV
|
|
Case MCH_OY.PROBING
|
|
If IsNothing(ProbExpanderV) Then ProbExpanderV = New ProbingParameterExpanderV
|
|
ProbExpanderV.DataContext = m_CurrOperation
|
|
Return ProbExpanderV
|
|
End Select
|
|
|
|
'MachiningParameterExpanderItem.ReadOperationParam()
|
|
|
|
Return Nothing
|
|
End Get
|
|
End Property
|
|
|
|
#Region "Messages"
|
|
|
|
Public ReadOnly Property UpdateMachiningBtnMsg As String
|
|
Get
|
|
Return EgtMsg(MSG_OPERATION + 3) 'Applica Lavorazione
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ViewToolBtnMsg As String
|
|
Get
|
|
Return EgtMsg(MSG_OPERATION + 13) 'Anteprima Utensile
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property NextStepToolBtnMsg As String
|
|
Get
|
|
Return EgtMsg(MSG_OPERATION + 14) 'Avanti
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property PrevStepToolBtnMsg As String
|
|
Get
|
|
Return EgtMsg(MSG_OPERATION + 15) 'Indietro
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' Messages
|
|
|
|
' Definizione comando
|
|
Private m_cmdUpdateMachining As ICommand
|
|
Private m_cmdPreviewMachiningTool As ICommand
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New()
|
|
EgtWPFLib5.MachiningDbWindowVM.m_sMachineIniPath = IniFile.m_sCurrMachIniFilePath
|
|
Map.SetRefMachiningParameterExpanderVM(Me)
|
|
NotifyPropertyChanged("ParamExpanderPageV")
|
|
End Sub
|
|
|
|
#End Region ' Constructor
|
|
|
|
#Region "METHODS"
|
|
|
|
''' <summary>
|
|
''' Funzione che attiva l'evento che mette il focus sullo slider
|
|
''' </summary>
|
|
Public Sub FocusSlider()
|
|
RaiseEvent m_EventFocusOnSlider()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Funzione che attiva l'evento che mette il focus sul bottone
|
|
''' </summary>
|
|
Public Sub FocusButtonPreview()
|
|
RaiseEvent m_EventFocusOnButtonPreview()
|
|
End Sub
|
|
|
|
Friend Sub PreviewMachiningTool()
|
|
Select Case nPreviewMachiningTool
|
|
Case MCH_LOOK.NONE
|
|
SetPreviewMachiningTool(MCH_LOOK.TAB_TOOL)
|
|
SetToolPreview_Image("pack://application:,,,/Resources/ToolPreview/Tool.png")
|
|
SetSlider_IsEnable(True)
|
|
Case MCH_LOOK.TAB_TOOL
|
|
SetPreviewMachiningTool(MCH_LOOK.TAB_HEAD)
|
|
SetToolPreview_Image("pack://application:,,,/Resources/ToolPreview/Head.png")
|
|
SetSlider_IsEnable(True)
|
|
Case MCH_LOOK.TAB_HEAD
|
|
SetPreviewMachiningTool(MCH_LOOK.NONE)
|
|
SetToolPreview_Image("pack://application:,,,/Resources/ToolPreview/Delete.png")
|
|
SetSlider_IsEnable(False)
|
|
End Select
|
|
EgtChangePreviewMachiningToolShow(nPreviewMachiningTool)
|
|
EgtDraw()
|
|
End Sub
|
|
|
|
Friend Sub RevertPreviewMachiningTool()
|
|
Select Case nPreviewMachiningTool
|
|
Case MCH_LOOK.NONE
|
|
SetPreviewMachiningTool(MCH_LOOK.TAB_HEAD)
|
|
SetToolPreview_Image("pack://application:,,,/Resources/ToolPreview/Head.png")
|
|
SetSlider_IsEnable(True)
|
|
Case MCH_LOOK.TAB_TOOL
|
|
SetPreviewMachiningTool(MCH_LOOK.NONE)
|
|
SetToolPreview_Image("pack://application:,,,/Resources/ToolPreview/Delete.png")
|
|
SetSlider_IsEnable(False)
|
|
Case MCH_LOOK.TAB_HEAD
|
|
SetPreviewMachiningTool(MCH_LOOK.TAB_TOOL)
|
|
SetToolPreview_Image("pack://application:,,,/Resources/ToolPreview/Tool.png")
|
|
SetSlider_IsEnable(True)
|
|
End Select
|
|
EgtChangePreviewMachiningToolShow(nPreviewMachiningTool)
|
|
EgtDraw()
|
|
End Sub
|
|
|
|
#End Region ' Methods
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "UpdateMachiningCommand"
|
|
|
|
''' <summary>
|
|
''' Restituisce funzione per ricalcolo lavorazione.
|
|
''' </summary>
|
|
Public ReadOnly Property UpdateMachiningCommand As ICommand
|
|
Get
|
|
If m_cmdUpdateMachining Is Nothing Then
|
|
m_cmdUpdateMachining = New RelayCommand(AddressOf UpdateMachining)
|
|
End If
|
|
Return m_cmdUpdateMachining
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Ricalcola una lavorazione.
|
|
''' </summary>
|
|
Public Sub UpdateMachining(ByVal param As Object)
|
|
' Verifico la presenza di errori: se ci sono li mostro in una MessageBox ed esco da UpdateMachining
|
|
If m_CurrOperation_ErrorOnOperation Then
|
|
Dim sErrorList As String = String.Empty
|
|
For Each [property] As String In EgtWPFLib5.MachiningTreeViewItem.ValidatedProperties
|
|
If Not String.IsNullOrEmpty(m_CurrOperation.GetErrorString([property])) Then
|
|
sErrorList += Environment.NewLine + " - " + m_CurrOperation.GetErrorString([property])
|
|
End If
|
|
Next [property]
|
|
MessageBox.Show(EgtMsg(5423) + sErrorList, EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
|
Return
|
|
End If
|
|
|
|
' Verifico se forzato ricalcolo da interfaccia
|
|
Dim bRecalc As Boolean = ((Keyboard.Modifiers And ModifierKeys.Shift) <> 0)
|
|
|
|
' Aggiorno parametri di lavorazione
|
|
m_CurrOperation.WriteOperationParam()
|
|
|
|
' Imposto geometria da lavorare (tutta quella selezionata)
|
|
Dim vId() As Integer = Nothing
|
|
Dim vSub() As Integer = Nothing
|
|
SelData.GetAllSelectedGeom(vId, vSub)
|
|
EgtSetMachiningGeometry(vId, vSub)
|
|
|
|
' Rigenero la lavorazione
|
|
If Not EgtApplyMachining(bRecalc) Then
|
|
If EgtGetLastMachMgrErrorId() <> 0 Then
|
|
Dim sErr As String = EgtGetLastMachMgrErrorString()
|
|
Dim sInfo As String = String.Empty
|
|
EgtGetOutstrokeInfo(sInfo)
|
|
If Not String.IsNullOrEmpty(sInfo) Then sErr &= " " & sInfo
|
|
MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
|
Else
|
|
' Errore nel calcolo della lavorazione!
|
|
MessageBox.Show(EgtMsg(5345), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error)
|
|
End If
|
|
Else
|
|
If EgtGetMachMgrWarningId(0) <> 0 Then
|
|
Dim sWarn As String = EgtGetMachMgrWarningString(0)
|
|
Map.refStatusBarVM.NotifyStatusOutput(sWarn)
|
|
Else
|
|
Map.refStatusBarVM.NotifyStatusOutput("")
|
|
End If
|
|
End If
|
|
|
|
' Restart visualizzazione utensile
|
|
EgtPreparePreviewMachiningTool()
|
|
EgtChangePreviewMachiningToolShow(nPreviewMachiningTool)
|
|
SetSliderScale(EgtGetPreviewMachiningToolStepCount())
|
|
SetSlider_IsEnable(True)
|
|
ResetSliderValue()
|
|
IsModified(False)
|
|
ErrorOnOperation(False)
|
|
EgtDraw()
|
|
Map.refProjectVM.EmitTitle()
|
|
End Sub
|
|
|
|
#End Region ' UpdateMachiningCommand
|
|
|
|
#Region "PreviewMachiningTool_Command"
|
|
|
|
Public ReadOnly Property PreviewMachiningTool_Command As ICommand
|
|
Get
|
|
If m_cmdPreviewMachiningTool Is Nothing Then
|
|
m_cmdPreviewMachiningTool = New RelayCommand(AddressOf PreviewMachiningTool)
|
|
End If
|
|
Return m_cmdPreviewMachiningTool
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub PreviewMachiningTool(ByVal param As Object)
|
|
PreviewMachiningTool()
|
|
End Sub
|
|
|
|
#End Region ' PreviewMachiningTool_Command
|
|
|
|
#End Region ' Commands
|
|
|
|
Private Sub IsModified(IsModified As Boolean) Handles m_CurrOperation.m_IsModified
|
|
m_CurrOperation_IsModified = IsModified
|
|
' NotifyPropertyChanged("CurrOperation_IsModified")
|
|
NotifyPropertyChanged("UpdateMachiningBtn_Background")
|
|
End Sub
|
|
|
|
Private Sub ErrorOnOperation(ErrorOnOperation As Boolean) Handles m_CurrOperation.m_ErrorOnOperation
|
|
m_CurrOperation_ErrorOnOperation = ErrorOnOperation
|
|
' NotifyPropertyChanged("CurrOperation_ErrorOnOperation")
|
|
NotifyPropertyChanged("UpdateMachiningBtn_Background")
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
''' <summary>
|
|
''' Class that represent a Converter that use machining type and param type, to set the visibility state of the param type.
|
|
''' </summary>
|
|
Public Class OperationParamVisibilityConverter
|
|
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_OY.NONE
|
|
Return Visibility.Hidden
|
|
Case MCH_OY.DISP
|
|
Return TMDbParamVisibility.OperationDisposition(CInt(parameter))
|
|
Case MCH_OY.DRILLING
|
|
Return TMDbParamVisibility.Drilling(CInt(parameter))
|
|
Case MCH_OY.SAWING
|
|
Return TMDbParamVisibility.Sawing(CInt(parameter))
|
|
Case MCH_OY.MILLING
|
|
Return TMDbParamVisibility.Milling(CInt(parameter))
|
|
Case MCH_OY.POCKETING
|
|
Return TMDbParamVisibility.Pocketing(CInt(parameter))
|
|
Case MCH_OY.MORTISING
|
|
Return TMDbParamVisibility.Mortising(CInt(parameter))
|
|
Case MCH_OY.SAWROUGHING
|
|
Return TMDbParamVisibility.Sawroughing(CInt(parameter))
|
|
Case MCH_OY.SAWFINISHING
|
|
Return TMDbParamVisibility.Sawfinishing(CInt(parameter))
|
|
Case MCH_OY.GENMACHINING
|
|
Return TMDbParamVisibility.GenMachining(CInt(parameter))
|
|
Case MCH_OY.CHISELING
|
|
Return TMDbParamVisibility.Chiseling(CInt(parameter))
|
|
Case MCH_OY.SURFFINISHING
|
|
Return TMDbParamVisibility.SurfFinishing(CInt(parameter))
|
|
Case MCH_OY.SURFROUGHING
|
|
Return TMDbParamVisibility.SurfRoughing(CInt(parameter))
|
|
Case MCH_OY.WATERJETTING
|
|
Return TMDbParamVisibility.WaterJetting(CInt(parameter))
|
|
Case MCH_OY.FIVEAXISMILLING
|
|
Return TMDbParamVisibility.FiveAxMachining(CInt(parameter))
|
|
Case Else
|
|
Return Visibility.Hidden
|
|
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
|
|
|
|
''' <summary>
|
|
''' Class that represent a Converter that convert mm in inch if necessary for the param depth.
|
|
''' </summary>
|
|
Public Class DepthUnitConverter
|
|
Implements IValueConverter
|
|
|
|
Friend Const INCHTOMM As String = "*25.4"
|
|
Friend Const INCHSYMBOL As String = """"
|
|
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If Not IsNothing(value) Then
|
|
value = CStr(value).Replace(INCHTOMM, INCHSYMBOL)
|
|
End If
|
|
Return value
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If Not IsNothing(value) Then
|
|
value = CStr(value).Replace(INCHSYMBOL, INCHTOMM)
|
|
End If
|
|
Return value
|
|
End Function
|
|
|
|
End Class |