Files
EgtCAM5/MachiningDbWindow/MachiningTreeView.vb
T
Emmanuele Sassi a4b5cd4834 EgtCAM5 :
- Cambiati nomi classi e file.
2018-04-10 17:08:35 +00:00

2268 lines
99 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtCAM5.Utility
''' <summary>
''' Class that represent a FamilyMachining in the treeview.
''' It's an element in the treeview that represent a folder, but also a machining family
''' </summary>
Public Class FamilyMachiningTreeViewItem
Inherits InheritableTreeViewItem
' Actions
Friend Shared m_delIsEnabledBtns As Action(Of Boolean, Boolean, Boolean)
''' <summary>
''' Property that determines if the Machining is selected or not
''' </summary>
Public Overrides Property IsSelected As Boolean
Get
Return m_IsSelected
End Get
Set(value As Boolean)
If (value <> m_IsSelected) Then
m_IsSelected = value
If value Then
m_delIsEnabledBtns(True, False, False)
End If
End If
End Set
End Property
Private m_MachiningType As MCH_MY
''' <summary>
''' Property that determines the machining type of the family
''' </summary>
Public Property MachiningType As MCH_MY
Get
Return m_MachiningType
End Get
Set(value As MCH_MY)
m_MachiningType = value
End Set
End Property
' Proprietà che permette di nascondere tutti i parametri di lavorazione grazie al binding ed al converter
Public ReadOnly Property Type As Integer
Get
Return MCH_MY.NONE
End Get
End Property
''' <summary>
''' Constructor that receive the name of the FamilyMachiningTreeViewItem, the MachiningType, and set
''' the picture(Folder.png)
''' </summary>
Sub New(Name As String, MachiningType As MCH_MY)
MyBase.New(Name)
Me.MachiningType = MachiningType
Me.PictureString = "/Resources/TreeView/Folder.png"
End Sub
End Class
''' <summary>
''' Class that represent a Machining in the treeview.
''' It's an element in the treeview that represent the child of familymachiningtreeviewitem, but also the class that read and write in the machining's database
''' </summary>
Public Class MachiningTreeViewItem
Inherits InheritableTreeViewItem
' Actions
Friend Shared m_delRemoveMachining As Action(Of MachiningTreeViewItem)
Friend Shared m_delErrorOnMachining As Action(Of Boolean)
Friend Shared m_delIsEnabledBtns As Action(Of Boolean, Boolean, Boolean)
#Region "Machining Property"
' Variabile che indica se la lavorazione è appena stata creata
Dim m_NewMachining As Boolean = False
Public Property NewMachining As Boolean
Get
Return m_NewMachining
End Get
Set(value As Boolean)
m_NewMachining = value
End Set
End Property
''' <summary>
''' Property that determines if the Machining is selected or not
''' </summary>
Public Overrides Property IsSelected As Boolean
Get
Return m_IsSelected
End Get
Set(value As Boolean)
If (value <> m_IsSelected) Then
m_isSelected = value
If value Then
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
EgtMdbSetCurrMachining(Me.Name)
ReadMachiningParam()
IsModifiedReset()
NotifyPropertyChanged("Type")
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
Else
WriteMachiningParam()
If EgtMdbIsCurrMachiningModified() Or m_IsModifiedName Or Me.NewMachining Then
Select Case MsgBox(EgtMsg(MSG_MACHININGSERRORS), MsgBoxStyle.YesNo, EgtMsg(MSG_MACHININGSERRORS + 1))
Case MsgBoxResult.Yes
m_NewMachining = False
m_Name = m_Name.Trim()
WriteMachiningName()
EgtMdbSaveCurrMachining()
Case MsgBoxResult.No
If m_NewMachining Then
m_delRemoveMachining(Me)
ElseIf m_IsModifiedName Then
Dim DbName As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, DbName)
NamePar = DbName
End If
End Select
End If
End If
NotifyPropertyChanged("IsSelected")
End If
End Set
End Property
Private m_IsModifiedInvert As Boolean = False
Private m_Invert As Boolean
''' <summary>
''' Property that read and write to the Machining's database the Invert
''' </summary>
Public Property Invert As Boolean
Get
Return m_Invert
End Get
Set(value As Boolean)
If value <> m_Invert Then
m_Invert = value
Dim DbInvert As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, DbInvert)
m_IsModifiedInvert = If(value <> DbInvert, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("Invert")
End If
End Set
End Property
Private m_IsModifiedLeaveTab As Boolean = False
Private m_LeaveTab As Boolean
''' <summary>
''' Property that read and write to the Machining's database the Leave Tab
''' </summary>
Public Property LeaveTab As Boolean
Get
Return m_LeaveTab
End Get
Set(value As Boolean)
If value <> m_LeaveTab Then
m_LeaveTab = value
Dim DbLeaveTab As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, DbLeaveTab)
m_IsModifiedLeaveTab = If(value <> DbLeaveTab, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LeaveTab")
End If
End Set
End Property
Private m_IsModifiedToolInvert As Boolean = False
Private m_ToolInvert As Boolean = False
''' <summary>
''' Property that read and write to the Machining's database the Invert
''' </summary>
Public Property InvertToolDir As Boolean
Get
Return m_ToolInvert
End Get
Set(value As Boolean)
If value <> m_ToolInvert Then
m_ToolInvert = value
Dim OrigToolInvert As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.TOOLINVERT, OrigToolInvert)
m_IsModifiedToolInvert = If(value <> OrigToolInvert, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("InvertToolDir")
End If
End Set
End Property
Private m_Type As MCH_MY
''' <summary>
''' Property that read from the Machining's database the Type
''' </summary>
Public ReadOnly Property Type As Integer
Get
Return m_Type
End Get
End Property
'ObservableCollection che contiene le variabili per il combobox WorkSide
Private m_WorkSideList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property WorkSideList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.MORTISING
m_WorkSideList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MORTISE_WS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
New IdNameStruct(MCH_MORTISE_WS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
Case MCH_MY.CHISELING
m_WorkSideList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_CHISEL_WS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
New IdNameStruct(MCH_CHISEL_WS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
Case Else
m_WorkSideList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAW_WS.CENTER, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
New IdNameStruct(MCH_SAW_WS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
New IdNameStruct(MCH_SAW_WS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
End Select
Return m_WorkSideList
End Get
End Property
Private m_IsModifiedSelectedWorkSide As Boolean = False
Private m_SelectedWorkSide As Integer
' Proprietà che indica il WorkSide (MCH_SAW_WS)
Public Property SelectedWorkSide As Integer
Get
If IsNothing(WorkSideList) Then Return Nothing
Return m_SelectedWorkSide
End Get
Set(value As Integer)
If value <> m_SelectedWorkSide Then
If Not IsNothing(WorkSideList) Then
m_SelectedWorkSide = value
Dim DbWorkSide As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, DbWorkSide)
DbWorkSide = IdNameStruct.IndFromId(DbWorkSide, WorkSideList)
m_IsModifiedSelectedWorkSide = If(value <> DbWorkSide, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedWorkSide")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox HeadSide
Private m_HeadSideList As New ObservableCollection(Of IdNameStruct)({New IdNameStruct(MCH_SAW_HS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)), New IdNameStruct(MCH_SAW_HS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
Public ReadOnly Property HeadSideList As ObservableCollection(Of IdNameStruct)
Get
Return m_HeadSideList
End Get
End Property
Private m_IsModifiedSelectedHeadSide As Boolean = False
Private m_SelectedHeadSide As Integer
' Proprietà che indica il HeadSide (MCH_SAW_HS)
Public Property SelectedHeadSide As Integer
Get
If IsNothing(HeadSideList) Then Return Nothing
Return m_SelectedHeadSide
End Get
Set(value As Integer)
If value <> m_SelectedHeadSide Then
If Not IsNothing(HeadSideList) Then
m_SelectedHeadSide = value
Dim DbHeadSide As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, DbHeadSide)
DbHeadSide = IdNameStruct.IndFromId(DbHeadSide, HeadSideList)
m_IsModifiedSelectedHeadSide = If(value <> DbHeadSide, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedHeadSide")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadInType
Private m_LeadInTypeList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property LeadInTypeList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.SAWING
m_LeadInTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAW_LI.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
New IdNameStruct(MCH_SAW_LI.STRICT, EgtMsg(MSG_MACHININGSDBPAGE + 125)),
New IdNameStruct(MCH_SAW_LI.OUT, EgtMsg(MSG_MACHININGSDBPAGE + 126)),
New IdNameStruct(MCH_SAW_LI.EXT_CENT, EgtMsg(MSG_MACHININGSDBPAGE + 127)),
New IdNameStruct(MCH_SAW_LI.EXT_OUT, EgtMsg(MSG_MACHININGSDBPAGE + 128))})
Case MCH_MY.MILLING
m_LeadInTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MIL_LI.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
New IdNameStruct(MCH_MIL_LI.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
New IdNameStruct(MCH_MIL_LI.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131)),
New IdNameStruct(MCH_MIL_LI.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132)),
New IdNameStruct(MCH_MIL_LI.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_MIL_LI.HELIX, EgtMsg(MSG_MACHININGSDBPAGE + 133))})
Case MCH_MY.POCKETING
m_LeadInTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_POCK_LI.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
New IdNameStruct(MCH_POCK_LI.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132)),
New IdNameStruct(MCH_POCK_LI.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_POCK_LI.HELIX, EgtMsg(MSG_MACHININGSDBPAGE + 133))})
Case Else
m_LeadInTypeList = Nothing
End Select
Return m_LeadInTypeList
End Get
End Property
Private m_IsModifiedSelectedLeadInType As Boolean = False
Private m_SelectedLeadInType As Integer
' Proprietà che indica il LeadInType
Public Property SelectedLeadInType As Integer
Get
If IsNothing(LeadInTypeList) Then Return Nothing
Return IdNameStruct.IdFromInd(m_SelectedLeadInType, LeadInTypeList)
End Get
Set(value As Integer)
If value <> m_SelectedLeadInType Then
If Not IsNothing(LeadInTypeList) Then
m_SelectedLeadInType = IdNameStruct.IndFromId(value, LeadInTypeList)
Dim DbLeadInType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, DbLeadInType)
m_IsModifiedSelectedLeadInType = If(value <> DbLeadInType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedLeadInType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox ExtLinkType
Private m_ExtLinkTypeList As New ObservableCollection(Of IdNameStruct)({New IdNameStruct(MCH_SAW_EL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)), New IdNameStruct(MCH_SAW_EL.EXT_PREV, EgtMsg(MSG_MACHININGSDBPAGE + 134)), New IdNameStruct(MCH_SAW_EL.EXT_NEXT, EgtMsg(MSG_MACHININGSDBPAGE + 135)), New IdNameStruct(MCH_SAW_EL.EXT_BOTH, EgtMsg(MSG_MACHININGSDBPAGE + 136))})
Public ReadOnly Property ExtLinkTypeList As ObservableCollection(Of IdNameStruct)
Get
Return m_ExtLinkTypeList
End Get
End Property
Private m_IsModifiedSelectedExtLinkType As Boolean = False
Private m_SelectedExtLinkType As Integer
' Proprietà che indica il ExtLinkType (MCH_SAW_EL)
Public Property SelectedExtLinkType As Integer
Get
If IsNothing(ExtLinkTypeList) Then Return Nothing
Return IdNameStruct.IdFromInd(m_SelectedExtLinkType, ExtLinkTypeList)
End Get
Set(value As Integer)
If value <> m_SelectedExtLinkType Then
If Not IsNothing(ExtLinkTypeList) Then
m_SelectedExtLinkType = IdNameStruct.IndFromId(value, ExtLinkTypeList)
Dim DbExtLinkType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, DbExtLinkType)
m_IsModifiedSelectedExtLinkType = If(value <> DbExtLinkType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedExtLinkType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadOutType
Private m_LeadOutTypeList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property LeadOutTypeList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.SAWING
m_LeadOutTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAW_LO.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
New IdNameStruct(MCH_SAW_LO.STRICT, EgtMsg(MSG_MACHININGSDBPAGE + 125)),
New IdNameStruct(MCH_SAW_LO.OUT, EgtMsg(MSG_MACHININGSDBPAGE + 126)),
New IdNameStruct(MCH_SAW_LO.EXT_CENT, EgtMsg(MSG_MACHININGSDBPAGE + 127)),
New IdNameStruct(MCH_SAW_LO.EXT_OUT, EgtMsg(MSG_MACHININGSDBPAGE + 128))})
Case MCH_MY.MILLING
m_LeadOutTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MIL_LO.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
New IdNameStruct(MCH_MIL_LO.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
New IdNameStruct(MCH_MIL_LO.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131)),
New IdNameStruct(MCH_MIL_LO.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132)),
New IdNameStruct(MCH_MIL_LO.AS_LI, EgtMsg(MSG_MACHININGSDBPAGE + 137))})
Case MCH_MY.POCKETING
m_LeadOutTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_POCK_LO.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
New IdNameStruct(MCH_POCK_LO.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132))})
Case Else
m_LeadOutTypeList = Nothing
End Select
Return m_LeadOutTypeList
End Get
End Property
Private m_IsModifiedSelectedLeadOutType As Boolean = False
Private m_SelectedLeadOutType As Integer
' Proprietà che indica il LeadOutType
Public Property SelectedLeadOutType As Integer
Get
If IsNothing(LeadOutTypeList) Then Return Nothing
Return m_SelectedLeadOutType
End Get
Set(value As Integer)
If value <> m_SelectedLeadOutType Then
If Not IsNothing(LeadOutTypeList) Then
m_SelectedLeadOutType = value
Dim OrigLeadOutType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, OrigLeadOutType)
OrigLeadOutType = IdNameStruct.IndFromId(OrigLeadOutType, LeadOutTypeList)
m_IsModifiedSelectedLeadOutType = If(value <> OrigLeadOutType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedLeadOutType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox CurveUse
Private m_CurveUseList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property CurveUseList As ObservableCollection(Of IdNameStruct)
Get
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWINGONARCS, 0, IniFile.m_sCurrMachIniFilePath) <> 0 Then
m_CurveUseList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAW_CU.SKIP, EgtMsg(MSG_MACHININGSDBPAGE + 138)),
New IdNameStruct(MCH_SAW_CU.APPROX, EgtMsg(MSG_MACHININGSDBPAGE + 139)),
New IdNameStruct(MCH_SAW_CU.CONVEX, EgtMsg(MSG_MACHININGSDBPAGE + 140)),
New IdNameStruct(MCH_SAW_CU.KEEP, EgtMsg(MSG_MACHININGSDBPAGE + 141))})
Else
m_CurveUseList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAW_CU.SKIP, EgtMsg(MSG_MACHININGSDBPAGE + 138)),
New IdNameStruct(MCH_SAW_CU.APPROX, EgtMsg(MSG_MACHININGSDBPAGE + 139)),
New IdNameStruct(MCH_SAW_CU.CONVEX, EgtMsg(MSG_MACHININGSDBPAGE + 140))})
End If
Return m_CurveUseList
End Get
End Property
Private m_IsModifiedSelectedCurveUse As Boolean = False
Private m_SelectedCurveUse As Integer
' Proprietà che indica il CurveUse (MCH_SAW_CU)
Public Property SelectedCurveUse As Integer
Get
If IsNothing(CurveUseList) Then Return Nothing
Return IdNameStruct.IdFromInd(m_SelectedCurveUse, CurveUseList)
End Get
Set(value As Integer)
If value <> m_SelectedCurveUse Then
If Not IsNothing(CurveUseList) Then
m_SelectedCurveUse = IdNameStruct.IndFromId(value, CurveUseList)
Dim DbCurveUse As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, DbCurveUse)
m_IsModifiedSelectedCurveUse = If(value <> DbCurveUse, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedCurveUse")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox StepType
Private m_StepTypeList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property StepTypeList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.SAWING
m_StepTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAW_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_SAW_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
New IdNameStruct(MCH_SAW_ST.TOANDFROM, EgtMsg(MSG_MACHININGSDBPAGE + 145))})
Case MCH_MY.MILLING
m_StepTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MIL_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_MIL_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
New IdNameStruct(MCH_MIL_ST.SPIRAL, EgtMsg(MSG_MACHININGSDBPAGE + 144))})
Case MCH_MY.MORTISING
m_StepTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MORTISE_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_MORTISE_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143))})
Case MCH_MY.SAWROUGHING, MCH_MY.SAWFINISHING
m_StepTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAWROU_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_SAWROU_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143))})
Case Else
m_StepTypeList = Nothing
End Select
Return m_StepTypeList
End Get
End Property
Private m_IsModifiedSelectedStepType As Boolean = False
Private m_SelectedStepType As Integer
' Proprietà che indica lo StepType
Public Property SelectedStepType As Integer
Get
If IsNothing(StepTypeList) Then Return Nothing
Return IdNameStruct.IdFromInd(m_SelectedStepType, StepTypeList)
End Get
Set(value As Integer)
If value <> m_SelectedStepType Then
If Not IsNothing(StepTypeList) Then
m_SelectedStepType = IdNameStruct.IndFromId(value, StepTypeList)
Dim DbStepType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, DbStepType)
m_IsModifiedSelectedStepType = If(value <> DbStepType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedStepType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox SubType
Private m_SubTypeList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property SubTypeList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.POCKETING
m_SubTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_POCK_SUB.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
New IdNameStruct(MCH_POCK_SUB.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
New IdNameStruct(MCH_POCK_SUB.SPIRALIN, EgtMsg(MSG_MACHININGSDBPAGE + 148)),
New IdNameStruct(MCH_POCK_SUB.SPIRALOUT, EgtMsg(MSG_MACHININGSDBPAGE + 149))})
Case MCH_MY.SAWFINISHING
m_SubTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SAWFIN_SUB.ALONG, EgtMsg(MSG_MACHININGSDBPAGE + 146)),
New IdNameStruct(MCH_SAWFIN_SUB.ACROSS, EgtMsg(MSG_MACHININGSDBPAGE + 147))})
Case MCH_MY.GENMACHINING
Dim Index = 1
Dim sGenScript As String = String.Empty
m_SubTypeList = New ObservableCollection(Of IdNameStruct)
While EgtUILib.GetPrivateProfileString(S_GENMACHINING, K_GENSCRIPT & Index, "", sGenScript, IniFile.m_sCurrMachIniFilePath) > 0
m_SubTypeList.Add(New IdNameStruct(Index, sGenScript))
Index += 1
End While
If m_SubTypeList.Count = 0 Then
m_SubTypeList.Add(New IdNameStruct(0, ""))
End If
Case Else
m_SubTypeList = Nothing
End Select
Return m_SubTypeList
End Get
End Property
Private m_IsModifiedSelectedSubType As Boolean = False
Private m_SelectedSubType As Integer
' Proprietà che indica il SubType
Public Property SelectedSubType As Integer
Get
If IsNothing(SubTypeList) Then Return Nothing
Return m_SelectedSubType
End Get
Set(value As Integer)
If value <> m_SelectedSubType Then
If Not IsNothing(SubTypeList) Then
m_SelectedSubType = value
Dim DbSubType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, DbSubType)
DbSubType = IdNameStruct.IndFromId(DbSubType, SubTypeList)
m_IsModifiedSelectedSubType = If(value <> DbSubType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedSubType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadLinkType
Private m_LeadLinkTypeList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property LeadLinkTypeList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.SAWROUGHING
m_LeadLinkTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(MCH_SAWROU_LL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)), New IdNameStruct(MCH_SAWROU_LL.EXT, EgtMsg(MSG_MACHININGSDBPAGE + 123))})
Case MCH_MY.SAWFINISHING
m_LeadLinkTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(MCH_SAWFIN_LL.STD, EgtMsg(MSG_MACHININGSDBPAGE + 124)), New IdNameStruct(MCH_SAWFIN_LL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)), New IdNameStruct(MCH_SAWFIN_LL.EXT, EgtMsg(MSG_MACHININGSDBPAGE + 123))})
Case Else
m_LeadLinkTypeList = Nothing
End Select
Return m_LeadLinkTypeList
End Get
End Property
Private m_IsModifiedSelectedLeadLinkType As Boolean = False
Private m_SelectedLeadLinkType As Integer
' Proprietà che indica il LeadLinkType
Public Property SelectedLeadLinkType As Integer
Get
If IsNothing(LeadLinkTypeList) Then Return Nothing
Return IdNameStruct.IdFromInd(m_SelectedLeadLinkType, LeadLinkTypeList)
End Get
Set(value As Integer)
If value <> m_SelectedLeadLinkType Then
If Not IsNothing(LeadLinkTypeList) Then
m_SelectedLeadLinkType = IdNameStruct.IndFromId(value, LeadLinkTypeList)
Dim DbLeadLinkType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, DbLeadLinkType)
m_IsModifiedSelectedLeadLinkType = If(value <> DbLeadLinkType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedLeadLinkType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox FaceUseType
Private m_FaceUseTypeList As ObservableCollection(Of IdNameStruct)
Public ReadOnly Property FaceUseTypeList As ObservableCollection(Of IdNameStruct)
Get
Select Case m_Type
Case MCH_MY.MORTISING
m_FaceUseTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MIL_FU.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 153)),
New IdNameStruct(MCH_MIL_FU.PARAL_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 154))})
Case Else
m_FaceUseTypeList = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_MIL_FU.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 153)),
New IdNameStruct(MCH_MIL_FU.PARAL_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.PARAL_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
New IdNameStruct(MCH_MIL_FU.ORTHO_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTHO_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTHO_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTHO_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTHO_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTHO_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTHO_CONT, EgtMsg(MSG_MACHININGSDBPAGE + 163) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
New IdNameStruct(MCH_MIL_FU.ORTUP_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
New IdNameStruct(MCH_MIL_FU.ORTUP_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
New IdNameStruct(MCH_MIL_FU.ORTUP_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
New IdNameStruct(MCH_MIL_FU.ORTUP_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
New IdNameStruct(MCH_MIL_FU.ORTUP_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
New IdNameStruct(MCH_MIL_FU.ORTUP_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
New IdNameStruct(MCH_MIL_FU.ORTUP_CONT, EgtMsg(MSG_MACHININGSDBPAGE + 163) & EgtMsg(MSG_MACHININGSDBPAGE + 156))})
End Select
Return m_FaceUseTypeList
End Get
End Property
Private m_IsModifiedSelectedFaceUseType As Boolean = False
Private m_SelectedFaceUseType As Integer = 0
' Proprietà che indica il FaceUseType (MCH_MIL_FU)
Public Property SelectedFaceUseType As Integer
Get
If IsNothing(FaceUseTypeList) Then Return Nothing
Return m_SelectedFaceUseType
End Get
Set(value As Integer)
If value <> m_SelectedFaceUseType Then
If Not IsNothing(FaceUseTypeList) Then
m_SelectedFaceUseType = value
Dim OrigFaceUseType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.FACEUSE, OrigFaceUseType)
OrigFaceUseType = IdNameStruct.IndFromId(OrigFaceUseType, FaceUseTypeList)
m_IsModifiedSelectedFaceUseType = If(value <> OrigFaceUseType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedFaceUseType")
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox SolChoiceType
Private m_SolChoiceTypeList As New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_SCC.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 105)),
New IdNameStruct(MCH_SCC.STD, EgtMsg(MSG_MACHININGSDBPAGE + 106)),
New IdNameStruct(MCH_SCC.OPPOSITE, EgtMsg(MSG_MACHININGSDBPAGE + 107)),
New IdNameStruct(MCH_SCC.ADIR_XP, EgtMsg(MSG_MACHININGSDBPAGE + 108)),
New IdNameStruct(MCH_SCC.ADIR_XM, EgtMsg(MSG_MACHININGSDBPAGE + 109)),
New IdNameStruct(MCH_SCC.ADIR_YP, EgtMsg(MSG_MACHININGSDBPAGE + 110)),
New IdNameStruct(MCH_SCC.ADIR_YM, EgtMsg(MSG_MACHININGSDBPAGE + 111)),
New IdNameStruct(MCH_SCC.ADIR_ZP, EgtMsg(MSG_MACHININGSDBPAGE + 112)),
New IdNameStruct(MCH_SCC.ADIR_ZM, EgtMsg(MSG_MACHININGSDBPAGE + 113)),
New IdNameStruct(MCH_SCC.ADIR_NEAR, EgtMsg(MSG_MACHININGSDBPAGE + 114)),
New IdNameStruct(MCH_SCC.ADIR_FAR, EgtMsg(MSG_MACHININGSDBPAGE + 115))})
Public ReadOnly Property SolChoiceTypeList As ObservableCollection(Of IdNameStruct)
Get
Return m_SolChoiceTypeList
End Get
End Property
Private m_IsModifiedSelectedSolChoiceType As Boolean = False
Private m_SelectedSolChoiceType As Integer
' Proprietà che indica il SolChoiceType (MCH_SAW_EL)
Public Property SelectedSolChoiceType As Integer
Get
If IsNothing(SolChoiceTypeList) Then Return Nothing
Return m_SelectedSolChoiceType
End Get
Set(value As Integer)
If value <> m_SelectedSolChoiceType Then
If Not IsNothing(SolChoiceTypeList) Then
m_SelectedSolChoiceType = value
Dim DbSolChoiceType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SOLCHOICETYPE, DbSolChoiceType)
DbSolChoiceType = IdNameStruct.IndFromId(DbSolChoiceType, SolChoiceTypeList)
m_IsModifiedSelectedSolChoiceType = If(value <> DbSolChoiceType, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedSolChoiceType")
End If
End If
End Set
End Property
Private m_IsModifiedSpeed As Boolean = False
Private m_Speed As String
''' <summary>
''' Property that read and write to the Machining's database the Speed
''' </summary>
Public Property Speed As String
Get
Return m_Speed
End Get
Set(value As String)
If value <> m_Speed Then
m_Speed = value
Dim DbSpeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, DbSpeed)
StringToDouble(value, dValue)
m_IsModifiedSpeed = Math.Abs(dValue - DbSpeed) > 10 * EPS_ANG_SMALL
If Not GetValidationError("Speed") Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
End If
NotifyPropertyChanged("Speed")
End If
End Set
End Property
Private m_IsModifiedFeed As Boolean = False
Private m_Feed As String
''' <summary>
''' Property that read and write to the Machining's database the Feed
''' </summary>
Public Property Feed As String
Get
Return m_Feed
End Get
Set(value As String)
If value <> m_Feed Then
m_Feed = value
Dim DbFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, DbFeed)
StringToLen(value, dValue)
m_IsModifiedFeed = Math.Abs(dValue - DbFeed) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("Feed")
End If
End Set
End Property
Private m_IsModifiedStartFeed As Boolean = False
Private m_StartFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Start Feed
''' </summary>
Public Property StartFeed As String
Get
Return m_StartFeed
End Get
Set(value As String)
If value <> m_StartFeed Then
m_StartFeed = value
Dim DbStartFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, DbStartFeed)
StringToLen(value, dValue)
m_IsModifiedStartFeed = Math.Abs(dValue - DbStartFeed) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StartFeed")
End If
End Set
End Property
Private m_IsModifiedEndFeed As Boolean = False
Private m_EndFeed As String
''' <summary>
''' Property that read and write to the Machining's database the End Feed
''' </summary>
Public Property EndFeed As String
Get
Return m_EndFeed
End Get
Set(value As String)
If value <> m_EndFeed Then
m_EndFeed = value
Dim DbEndFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, DbEndFeed)
StringToLen(value, dValue)
m_IsModifiedEndFeed = Math.Abs(dValue - DbEndFeed) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("EndFeed")
End If
End Set
End Property
Private m_IsModifiedTipFeed As Boolean = False
Private m_TipFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Tip Feed
''' </summary>
Public Property TipFeed As String
Get
Return m_TipFeed
End Get
Set(value As String)
If value <> m_TipFeed Then
m_TipFeed = value
Dim DbTipFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, DbTipFeed)
StringToLen(value, dValue)
m_IsModifiedTipFeed = Math.Abs(dValue - DbTipFeed) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("TipFeed")
End If
End Set
End Property
Private m_IsModifiedOffSr As Boolean = False
Private m_OffSr As String
''' <summary>
''' Property that read and write to the Machining's database the Offset Sr
''' </summary>
Public Property OffSr As String
Get
Return m_OffSr
End Get
Set(value As String)
If value <> m_OffSr Then
m_OffSr = value
Dim DbOffSr As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, DbOffSr)
StringToLen(value, dValue)
m_IsModifiedOffSr = Math.Abs(dValue - DbOffSr) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("OffSr")
End If
End Set
End Property
Private m_IsModifiedOffSl As Boolean = False
Private m_OffSl As String
''' <summary>
''' Property that read and write to the Machining's database the Offset Sl
''' </summary>
Public Property OffSl As String
Get
Return m_OffSl
End Get
Set(value As String)
If value <> m_OffSl Then
m_OffSl = value
Dim DbOffSl As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, DbOffSl)
StringToLen(value, dValue)
m_IsModifiedOffSl = Math.Abs(dValue - DbOffSl) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("OffSl")
End If
End Set
End Property
Private m_IsModifiedSideAngle As Boolean = False
Private m_SideAngle As String
''' <summary>
''' Property that read and write to the Machining's database the Side Angle
''' </summary>
Public Property SideAngle As String
Get
Return m_SideAngle
End Get
Set(value As String)
If value <> m_SideAngle Then
m_SideAngle = value
Dim DbSideAngle As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, DbSideAngle)
StringToLen(value, dValue)
m_IsModifiedSideAngle = Math.Abs(dValue - DbSideAngle) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SideAngle")
End If
End Set
End Property
Private m_IsModifiedApprox As Boolean = False
Private m_Approx As String
''' <summary>
''' Property that read and write to the Machining's database the Approx
''' </summary>
Public Property Approx As String
Get
Return m_Approx
End Get
Set(value As String)
If value <> m_Approx Then
m_Approx = value
Dim DbApprox As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, DbApprox)
StringToLen(value, dValue)
m_IsModifiedApprox = Math.Abs(dValue - DbApprox) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("Approx")
End If
End Set
End Property
Private m_IsModifiedStartPos As Boolean = False
Private m_StartPos As String
''' <summary>
''' Property that read and write to the Machining's database the Start Position
''' </summary>
Public Property StartPos As String
Get
Return m_StartPos
End Get
Set(value As String)
If value <> m_StartPos Then
m_StartPos = value
Dim DbStartPos As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, DbStartPos)
StringToLen(value, dValue)
m_IsModifiedStartPos = Math.Abs(dValue - DbStartPos) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StartPos")
End If
End Set
End Property
Private m_IsModifiedStartSlowLen As Boolean = False
Private m_StartSlowLen As String
''' <summary>
''' Property that read and write to the Machining's database the Start Slow Len
''' </summary>
Public Property StartSlowLen As String
Get
Return m_StartSlowLen
End Get
Set(value As String)
If value <> m_StartSlowLen Then
m_StartSlowLen = value
Dim DbStartSlowLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, DbStartSlowLen)
StringToLen(value, dValue)
m_IsModifiedStartSlowLen = Math.Abs(dValue - DbStartSlowLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StartSlowLen")
End If
End Set
End Property
Private m_IsModifiedEndSlowLen As Boolean = False
Private m_EndSlowLen As String
''' <summary>
''' Property that read and write to the Machining's database the End Slow Len
''' </summary>
Public Property EndSlowLen As String
Get
Return m_EndSlowLen
End Get
Set(value As String)
If value <> m_EndSlowLen Then
m_EndSlowLen = value
Dim DbEndSlowLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, DbEndSlowLen)
StringToLen(value, dValue)
m_IsModifiedEndSlowLen = Math.Abs(dValue - DbEndSlowLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("EndSlowLen")
End If
End Set
End Property
Private m_IsModifiedThrouAddLen As Boolean = False
Private m_ThrouAddLen As String
''' <summary>
''' Property that read and write to the Machining's database the Throu Add Len
''' </summary>
Public Property ThrouAddLen As String
Get
Return m_ThrouAddLen
End Get
Set(value As String)
If value <> m_ThrouAddLen Then
m_ThrouAddLen = value
Dim DbThrouAddLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, DbThrouAddLen)
StringToLen(value, dValue)
m_IsModifiedThrouAddLen = Math.Abs(dValue - DbThrouAddLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("ThrouAddLen")
End If
End Set
End Property
Private m_IsModifiedStepPar As Boolean = False
Private m_StepPar As String
''' <summary>
''' Property that read and write to the Machining's database the Step Par
''' </summary>
Public Property StepPar As String
Get
Return m_StepPar
End Get
Set(value As String)
If value <> m_StepPar Then
m_StepPar = value
Dim DbStepPar As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, DbStepPar)
StringToLen(value, dValue)
m_IsModifiedStepPar = Math.Abs(dValue - DbStepPar) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StepPar")
End If
End Set
End Property
Private m_IsModifiedReturnPos As Boolean = False
Private m_ReturnPos As String
''' <summary>
''' Property that read and write to the Machining's database the Return Position
''' </summary>
Public Property ReturnPos As String
Get
Return m_ReturnPos
End Get
Set(value As String)
If value <> m_ReturnPos Then
m_ReturnPos = value
Dim DbReturnPos As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, DbReturnPos)
StringToLen(value, dValue)
m_IsModifiedReturnPos = Math.Abs(dValue - DbReturnPos) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("ReturnPos")
End If
End Set
End Property
Private m_IsModifiedOverLap As Boolean = False
Private m_OverLap As String
''' <summary>
''' Property that read and write to the Machining's database the Over Lap Str
''' </summary>
Public Property OverLap As String
Get
Return m_OverLap
End Get
Set(value As String)
If value = String.Empty Or value <> m_OverLap Then
m_OverLap = value
Dim DbOverLap As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OVERL, DbOverLap)
StringToLen(value, dValue)
m_IsModifiedOverLap = Math.Abs(dValue - DbOverLap) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("OverLap")
End If
End Set
End Property
Private m_IsModifiedTabLen As Boolean = False
Private m_TabLen As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Len
''' </summary>
Public Property TabLen As String
Get
Return m_TabLen
End Get
Set(value As String)
If value <> m_TabLen Then
m_TabLen = value
Dim DbTabLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABLEN, DbTabLen)
StringToLen(value, dValue)
m_IsModifiedTabLen = Math.Abs(dValue - DbTabLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("TabLen")
End If
End Set
End Property
Private m_IsModifiedTabDist As Boolean = False
Private m_TabDist As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Dist
''' </summary>
Public Property TabDist As String
Get
Return m_TabDist
End Get
Set(value As String)
If value <> m_TabDist Then
m_TabDist = value
Dim DbTabDist As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABDIST, DbTabDist)
StringToLen(value, dValue)
m_IsModifiedTabDist = Math.Abs(dValue - DbTabDist) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("TabDist")
End If
End Set
End Property
Private m_IsModifiedTabHeight As Boolean = False
Private m_TabHeight As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Height
''' </summary>
Public Property TabHeight As String
Get
Return m_TabHeight
End Get
Set(value As String)
If value <> m_TabHeight Then
m_TabHeight = value
Dim DbTabHeight As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABHEIGHT, DbTabHeight)
StringToLen(value, dValue)
m_IsModifiedTabHeight = Math.Abs(dValue - DbTabHeight) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("TabHeight")
End If
End Set
End Property
Private m_IsModifiedTabAngle As Boolean = False
Private m_TabAngle As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Angle
''' </summary>
Public Property TabAngle As String
Get
Return m_TabAngle
End Get
Set(value As String)
If value <> m_TabAngle Then
m_TabAngle = value
Dim DbTabAngle As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABANGLE, DbTabAngle)
StringToLen(value, dValue)
m_IsModifiedTabAngle = Math.Abs(dValue - DbTabAngle) > 10 * EPS_ANG_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("TabAngle")
End If
End Set
End Property
Private m_IsModifiedLiTang As Boolean = False
Private m_LiTang As String
''' <summary>
''' Property that read and write to the Machining's database the Li Tang
''' </summary>
Public Property LiTang As String
Get
Return m_LiTang
End Get
Set(value As String)
If value <> m_LiTang Then
m_LiTang = value
Dim DbLiTang As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LITANG, DbLiTang)
StringToLen(value, dValue)
m_IsModifiedLiTang = Math.Abs(dValue - DbLiTang) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LiTang")
End If
End Set
End Property
Private m_IsModifiedLiPerp As Boolean = False
Private m_LiPerp As String
''' <summary>
''' Property that read and write to the Machining's database the Li Perp
''' </summary>
Public Property LiPerp As String
Get
Return m_LiPerp
End Get
Set(value As String)
If value <> m_LiPerp Then
m_LiPerp = value
Dim DbLiPerp As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LIPERP, DbLiPerp)
StringToLen(value, dValue)
m_IsModifiedLiPerp = Math.Abs(dValue - DbLiPerp) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LiPerp")
End If
End Set
End Property
Private m_IsModifiedLiElev As Boolean = False
Private m_LiElev As String
''' <summary>
''' Property that read and write to the Machining's database the Li Elev
''' </summary>
Public Property LiElev As String
Get
Return m_LiElev
End Get
Set(value As String)
If value <> m_LiElev Then
m_LiElev = value
Dim DbLiElev As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LIELEV, DbLiElev)
StringToLen(value, dValue)
m_IsModifiedLiElev = Math.Abs(dValue - DbLiElev) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LiElev")
End If
End Set
End Property
Private m_IsModifiedLiCompLen As Boolean = False
Private m_LiCompLen As String
''' <summary>
''' Property that read and write to the Machining's database the Li Comp Len
''' </summary>
Public Property LiCompLen As String
Get
Return m_LiCompLen
End Get
Set(value As String)
If value <> m_LiCompLen Then
m_LiCompLen = value
Dim DbLiCompLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LICOMPLEN, DbLiCompLen)
StringToLen(value, dValue)
m_IsModifiedLiCompLen = Math.Abs(dValue - DbLiCompLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LiCompLen")
End If
End Set
End Property
Private m_IsModifiedLoTang As Boolean = False
Private m_LoTang As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Tang
''' </summary>
Public Property LoTang As String
Get
Return m_LoTang
End Get
Set(value As String)
If value <> m_LoTang Then
m_LoTang = value
Dim DbLoTang As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOTANG, DbLoTang)
StringToLen(value, dValue)
m_IsModifiedLoTang = Math.Abs(dValue - DbLoTang) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LoTang")
End If
End Set
End Property
Private m_IsModifiedLoPerp As Boolean = False
Private m_LoPerp As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Perp
''' </summary>
Public Property LoPerp As String
Get
Return m_LoPerp
End Get
Set(value As String)
If value <> m_LoPerp Then
m_LoPerp = value
Dim DbLoPerp As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOPERP, DbLoPerp)
StringToLen(value, dValue)
m_IsModifiedLoPerp = Math.Abs(dValue - DbLoPerp) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LoPerp")
End If
End Set
End Property
Private m_IsModifiedLoElev As Boolean = False
Private m_LoElev As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Elev
''' </summary>
Public Property LoElev As String
Get
Return m_LoElev
End Get
Set(value As String)
If value <> m_LoElev Then
m_LoElev = value
Dim DbLoElev As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOELEV, DbLoElev)
StringToLen(value, dValue)
m_IsModifiedLoElev = Math.Abs(dValue - DbLoElev) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LoElev")
End If
End Set
End Property
Private m_IsModifiedLoCompLen As Boolean = False
Private m_LoCompLen As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Comp Len
''' </summary>
Public Property LoCompLen As String
Get
Return m_LoCompLen
End Get
Set(value As String)
If value <> m_LoCompLen Then
m_LoCompLen = value
Dim DbLoCompLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOCOMPLEN, DbLoCompLen)
StringToLen(value, dValue)
m_IsModifiedLoCompLen = Math.Abs(dValue - DbLoCompLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("LoCompLen")
End If
End Set
End Property
Private m_IsModifiedStartAddLen As Boolean = False
Private m_StartAddLen As String
''' <summary>
''' Property that read and write to the Machining's database the Start Add Len
''' </summary>
Public Property StartAddLen As String
Get
Return m_StartAddLen
End Get
Set(value As String)
If value <> m_StartAddLen Then
m_StartAddLen = value
Dim DbStartAddLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTADDLEN, DbStartAddLen)
StringToLen(value, dValue)
m_IsModifiedStartAddLen = Math.Abs(dValue - DbStartAddLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StartAddLen")
End If
End Set
End Property
Private m_IsModifiedEndAddLen As Boolean = False
Private m_EndAddLen As String
''' <summary>
''' Property that read and write to the Machining's database the End Add Len
''' </summary>
Public Property EndAddLen As String
Get
Return m_EndAddLen
End Get
Set(value As String)
If value <> m_EndAddLen Then
m_EndAddLen = value
Dim DbEndAddLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDADDLEN, DbEndAddLen)
StringToLen(value, dValue)
m_IsModifiedEndAddLen = Math.Abs(dValue - DbEndAddLen) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("EndAddLen")
End If
End Set
End Property
Private m_IsModifiedStepExtArc As Boolean = False
Private m_StepExtArc As String
''' <summary>
''' Property that read and write to the Machining's database the Step Ext Arc
''' </summary>
Public Property StepExtArc As String
Get
Return m_StepExtArc
End Get
Set(value As String)
If value <> m_StepExtArc Then
m_StepExtArc = value
Dim DbStepExtArc As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, DbStepExtArc)
StringToLen(value, dValue)
m_IsModifiedStepExtArc = Math.Abs(dValue - DbStepExtArc) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StepExtArc")
End If
End Set
End Property
Private m_IsModifiedStepIntArc As Boolean = False
Private m_StepIntArc As String
''' <summary>
''' Property that read and write to the Machining's database the Step Int Arc
''' </summary>
Public Property StepIntArc As String
Get
Return m_StepIntArc
End Get
Set(value As String)
If value <> m_StepIntArc Then
m_StepIntArc = value
Dim DbStepIntArc As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, DbStepIntArc)
StringToLen(value, dValue)
m_IsModifiedStepIntArc = Math.Abs(dValue - DbStepIntArc) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("StepIntArc")
End If
End Set
End Property
Private m_IsModifiedSideStep As Boolean = False
Private m_SideStep As String
''' <summary>
''' Property that read and write to the Machining's database the Side Step
''' </summary>
Public Property SideStep As String
Get
Return m_SideStep
End Get
Set(value As String)
If value <> m_SideStep Then
m_SideStep = value
Dim DbSideStep As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SIDESTEP, DbSideStep)
StringToLen(value, dValue)
m_IsModifiedSideStep = Math.Abs(dValue - DbSideStep) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SideStep")
End If
End Set
End Property
Private m_IsModifiedVertFeed As Boolean = False
Private m_VertFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Vert Feed
''' </summary>
Public Property VertFeed As String
Get
Return m_VertFeed
End Get
Set(value As String)
If value <> m_VertFeed Then
m_VertFeed = value
Dim DbVertFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.VERTFEED, DbVertFeed)
StringToLen(value, dValue)
m_IsModifiedVertFeed = Math.Abs(dValue - DbVertFeed) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("VertFeed")
End If
End Set
End Property
' Variabile che indica se c'è un errore nel nome della lavorazione (ad esempio nome già utilizzato)
Dim nErrorMachiningName As Integer = 0
Friend m_IsModifiedName As Boolean = False
''' <summary>
''' Property that read and write to the machining's database the Name
''' </summary>
Public Property NamePar As String
Get
Return m_Name
End Get
Set(value As String)
If value = String.Empty Or value <> m_Name Then
nErrorMachiningName = 0
m_Name = value
' Verifico se il nome è diverso da quello nel database e imposto l'apposito flag
Dim DbName As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, DbName)
m_IsModifiedName = If(value <> DbName, True, False)
' Verifico che il nuovo nome sia valido
Dim sTempName As String = value
EgtMdbGetMachiningNewName(sTempName)
If m_IsModifiedName And Not value = sTempName Then
nErrorMachiningName = 1
End If
If Not GetValidationError("NamePar") Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
End If
NotifyPropertyChanged("NamePar")
End If
End Set
End Property
''' <summary>
''' ObservableCollection che contiene le variabili per il combobox Tool
''' </summary>
Private m_ToolList As ObservableCollection(Of String)
Public ReadOnly Property ToolList As ObservableCollection(Of String)
Get
Select Case m_Type
Case MCH_MY.DRILLING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.DRILL_STD, m_ToolList)
FindToolByType(MCH_TY.DRILL_LONG, m_ToolList)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
Case MCH_MY.SAWING, MCH_MY.SAWROUGHING, MCH_MY.SAWFINISHING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
Case MCH_MY.MILLING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
FindToolByType(MCH_TY.COMPO, m_ToolList)
Case MCH_MY.POCKETING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
Case MCH_MY.MORTISING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.MORTISE_STD, m_ToolList)
Case MCH_MY.GENMACHINING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.DRILL_STD, m_ToolList)
FindToolByType(MCH_TY.DRILL_LONG, m_ToolList)
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
FindToolByType(MCH_TY.COMPO, m_ToolList)
Case MCH_MY.CHISELING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.CHISEL_STD, m_ToolList)
Case Else
m_ToolList = Nothing
End Select
Return m_ToolList
End Get
End Property
''' <summary>
''' Method that search all tools in Db of a specified type
''' </summary>
Private Sub FindToolByType(ToolType As MCH_TY, ToolList As ObservableCollection(Of String))
Dim nType As Integer = 0
Dim ToolName As String = String.Empty
If EgtTdbGetFirstTool(ToolType, ToolName, nType) Then
If nType = ToolType Then m_ToolList.Add(ToolName)
While EgtTdbGetNextTool(ToolType, ToolName, nType)
If nType = ToolType Then m_ToolList.Add(ToolName)
End While
End If
End Sub
' Variabile che indica quando questa variabile viene modificata dalla letttura dei parametri e non dall'utente
Dim ReadTool As Boolean = False
Private m_IsModifiedSelectedTool As Boolean = False
Private m_SelectedTool As Integer
''' <summary>
''' Property that read and write to the Machining's database the Tool
''' </summary>
Public Property SelectedTool As Integer
Get
Return m_SelectedTool
End Get
Set(value As Integer)
If value <> m_SelectedTool Then
m_SelectedTool = value
If value <> -1 Then
Dim DbSelectedTool As String = String.Empty
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
EgtTdbGetCurrToolParam(MCH_MP.TOOL, DbSelectedTool)
m_IsModifiedSelectedTool = If(m_ToolList(value) <> DbSelectedTool, True, False)
If Not ReadTool Then
EgtTdbSetCurrTool(m_ToolList(value))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.SPEED, dVal)
Speed = DoubleToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
Feed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.STARTFEED, dVal)
StartFeed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.ENDFEED, dVal)
EndFeed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.TIPFEED, dVal)
TipFeed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.LONOFFSET, dVal)
OffSr = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.RADOFFSET, dVal)
OffSl = LenToString(dVal, 4)
End If
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("SelectedTool")
End If
End Set
End Property
Private m_IsModifiedDepthStr As Boolean = False
Private m_DepthStr As String
''' <summary>
''' Property that read and write to the Machining's database the Depth Str
''' </summary>
Public Property DepthStr As String
Get
Return m_DepthStr
End Get
Set(value As String)
If value = String.Empty Or value <> m_DepthStr Then
m_DepthStr = value
Dim DbDepthStr As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, DbDepthStr)
m_IsModifiedDepthStr = If(value <> DbDepthStr, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("DepthStr")
End If
End Set
End Property
Private m_Uuid As String
''' <summary>
''' Property that read and write to the tool's database the Uuid
''' </summary>
Public ReadOnly Property Uuid As String
Get
Return m_Uuid
End Get
End Property
Private m_IsModifiedUserNotes As Boolean = False
Private m_UserNotes As String
''' <summary>
''' Property that read and write to the Machining's database the User Notes
''' </summary>
Public Property UserNotes As String
Get
Return m_UserNotes
End Get
Set(value As String)
If value = String.Empty Or value <> m_UserNotes Then
m_UserNotes = value
Dim DbUserNotes As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, DbUserNotes)
m_IsModifiedUserNotes = If(value <> DbUserNotes, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("UserNotes")
End If
End Set
End Property
Private m_IsModifiedInitAngs As Boolean = False
Private m_InitAngs As String
''' <summary>
''' Property that read and write to the Machining's database the Initial Angles
''' </summary>
Public Property InitAngs As String
Get
Return m_InitAngs
End Get
Set(value As String)
If value = String.Empty Or value <> m_InitAngs Then
m_InitAngs = value
Dim OrigInitAngs As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.INITANGS, OrigInitAngs)
m_IsModifiedInitAngs = If(value <> OrigInitAngs, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("InitAngs")
End If
End Set
End Property
Private m_IsModifiedBlockedAxis As Boolean = False
Private m_BlockedAxis As String
''' <summary>
''' Property that read and write to the Machining's database the Initial Angles
''' </summary>
Public Property BlockedAxis As String
Get
Return m_BlockedAxis
End Get
Set(value As String)
If value = String.Empty Or value <> m_BlockedAxis Then
m_BlockedAxis = value
Dim OrigBlockedAxis As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.BLOCKEDAXIS, OrigBlockedAxis)
m_IsModifiedBlockedAxis = If(value <> OrigBlockedAxis, True, False)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid And (IsModified Or NewMachining), True)
NotifyPropertyChanged("BlockedAxis")
End If
End Set
End Property
#End Region ' Machining Property
#Region "Constructors"
Sub New(Name As String, Type As MCH_MY)
MyBase.New(Name)
Me.m_Type = Type
End Sub
#End Region ' Constructors
#Region "METHODS"
Friend Sub ReadMachiningParam()
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
Dim dValue As Double = 0
Dim nValue As Integer = 0
Dim sValue As String = String.Empty
ReadSelectedTool()
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, Invert)
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, LeaveTab)
EgtMdbGetCurrMachiningParam(MCH_MP.TOOLINVERT, InvertToolDir)
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, nValue)
SelectedWorkSide = If(IsNothing(WorkSideList), nValue, IdNameStruct.IndFromId(nValue, WorkSideList))
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, nValue)
SelectedHeadSide = If(IsNothing(HeadSideList), nValue, IdNameStruct.IndFromId(nValue, HeadSideList))
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, nValue)
SelectedLeadInType = nValue
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, nValue)
SelectedExtLinkType = nValue
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, nValue)
SelectedLeadOutType = If(IsNothing(LeadOutTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadOutTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, nValue)
SelectedCurveUse = nValue
EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, nValue)
SelectedStepType = nValue
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, nValue)
SelectedSubType = If(IsNothing(SubTypeList), nValue, IdNameStruct.IndFromId(nValue, SubTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, nValue)
SelectedLeadLinkType = nValue
EgtMdbGetCurrMachiningParam(MCH_MP.FACEUSE, nValue)
SelectedFaceUseType = If(IsNothing(FaceUseTypeList), nValue, IdNameStruct.IndFromId(nValue, FaceUseTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.SOLCHOICETYPE, nValue)
SelectedSolChoiceType = If(IsNothing(SolChoiceTypeList), nValue, IdNameStruct.IndFromId(nValue, SolChoiceTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, dValue)
Speed = DoubleToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, dValue)
Feed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, dValue)
StartFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, dValue)
EndFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, dValue)
TipFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, dValue)
OffSr = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, dValue)
OffSl = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, dValue)
SideAngle = DoubleToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, dValue)
Approx = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, dValue)
StartPos = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dValue)
StartSlowLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dValue)
EndSlowLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, dValue)
ThrouAddLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, dValue)
StepPar = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, dValue)
ReturnPos = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OVERL, dValue)
OverLap = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABLEN, dValue)
TabLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABDIST, dValue)
TabDist = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABHEIGHT, dValue)
TabHeight = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABANGLE, dValue)
TabAngle = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LITANG, dValue)
LiTang = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LIPERP, dValue)
LiPerp = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LIELEV, dValue)
LiElev = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LICOMPLEN, dValue)
LiCompLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOTANG, dValue)
LoTang = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOPERP, dValue)
LoPerp = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOELEV, dValue)
LoElev = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOCOMPLEN, dValue)
LoCompLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTADDLEN, dValue)
StartAddLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDADDLEN, dValue)
EndAddLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, dValue)
StepExtArc = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, dValue)
StepIntArc = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.SIDESTEP, dValue)
SideStep = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.VERTFEED, dValue)
VertFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthStr)
EgtMdbGetCurrMachiningParam(MCH_MP.UUID, m_Uuid)
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, UserNotes)
EgtMdbGetCurrMachiningParam(MCH_MP.INITANGS, InitAngs)
EgtMdbGetCurrMachiningParam(MCH_MP.BLOCKEDAXIS, BlockedAxis)
End Sub
Friend Sub ReadMachiningName()
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, NamePar)
End Sub
Private Sub ReadSelectedTool()
ReadTool = True
Dim sValue As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sValue)
Dim sToolName As String = String.Empty
EgtTdbGetToolFromUUID(sValue, sToolName)
Dim sMachToolName As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, sMachToolName)
If sToolName <> sMachToolName Then
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, sToolName)
EgtMdbSaveCurrMachining()
End If
If IsNothing(m_ToolList) Then
Dim i As Integer = ToolList.Count()
End If
Dim bFound As Boolean = False
For i = 0 To m_ToolList.Count - 1
If m_ToolList(i) = sToolName Then
bFound = True
SelectedTool = i
End If
Next
If Not bFound Then
SelectedTool = -1
End If
ReadTool = False
End Sub
Friend Sub WriteMachiningParam()
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
Dim nValue As Integer = 0
Dim dValue As Double = 0
EgtMdbSetCurrMachiningParam(MCH_MP.INVERT, Invert)
EgtMdbSetCurrMachiningParam(MCH_MP.LEAVETAB, LeaveTab)
EgtMdbSetCurrMachiningParam(MCH_MP.TOOLINVERT, InvertToolDir)
EgtMdbSetCurrMachiningParam(MCH_MP.TYPE, Type)
nValue = If(IsNothing(WorkSideList), m_SelectedWorkSide, IdNameStruct.IdFromInd(m_SelectedWorkSide, WorkSideList))
EgtMdbSetCurrMachiningParam(MCH_MP.WORKSIDE, nValue)
nValue = If(IsNothing(HeadSideList), m_SelectedHeadSide, IdNameStruct.IdFromInd(m_SelectedHeadSide, HeadSideList))
EgtMdbSetCurrMachiningParam(MCH_MP.HEADSIDE, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LEADINTYPE, SelectedLeadInType)
EgtMdbSetCurrMachiningParam(MCH_MP.EXTLINKTYPE, SelectedExtLinkType)
nValue = If(IsNothing(LeadOutTypeList), m_SelectedLeadOutType, IdNameStruct.IdFromInd(m_SelectedLeadOutType, LeadOutTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.LEADOUTTYPE, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, SelectedCurveUse)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPTYPE, SelectedStepType)
nValue = If(IsNothing(SubTypeList), m_SelectedSubType, IdNameStruct.IdFromInd(m_SelectedSubType, SubTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.SUBTYPE, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LEADLINKTYPE, SelectedLeadLinkType)
nValue = If(IsNothing(FaceUseTypeList), m_SelectedFaceUseType, IdNameStruct.IdFromInd(m_SelectedFaceUseType, FaceUseTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.FACEUSE, nValue)
nValue = If(IsNothing(SolChoiceTypeList), m_SelectedSolChoiceType, IdNameStruct.IdFromInd(m_SelectedSolChoiceType, SolChoiceTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.SOLCHOICETYPE, nValue)
StringToDouble(Speed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SPEED, dValue)
StringToLen(Feed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.FEED, dValue)
StringToLen(StartFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTFEED, dValue)
StringToLen(EndFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDFEED, dValue)
StringToLen(TipFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TIPFEED, dValue)
StringToLen(OffSr, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSR, dValue)
StringToLen(OffSl, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSL, dValue)
StringToDouble(SideAngle, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDEANGLE, dValue)
StringToLen(Approx, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.APPROX, dValue)
StringToLen(StartPos, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTPOS, dValue)
StringToLen(StartSlowLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dValue)
StringToLen(EndSlowLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dValue)
StringToLen(ThrouAddLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.THROUADDLEN, dValue)
StringToLen(StepPar, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEP_, dValue)
StringToLen(ReturnPos, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.RETURNPOS, dValue)
StringToLen(OverLap, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OVERL, dValue)
StringToLen(TabLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABLEN, dValue)
StringToLen(TabDist, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABDIST, dValue)
StringToLen(TabHeight, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABHEIGHT, dValue)
StringToLen(TabAngle, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABANGLE, dValue)
StringToLen(LiTang, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LITANG, dValue)
StringToLen(LiPerp, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIPERP, dValue)
StringToLen(LiElev, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIELEV, dValue)
StringToLen(LiCompLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LICOMPLEN, dValue)
StringToLen(LoTang, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOTANG, dValue)
StringToLen(LoPerp, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOPERP, dValue)
StringToLen(LoElev, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOELEV, dValue)
StringToLen(LoCompLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOCOMPLEN, dValue)
StringToLen(StartAddLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTADDLEN, dValue)
StringToLen(EndAddLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDADDLEN, dValue)
StringToLen(StepExtArc, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPEXTARC, dValue)
StringToLen(StepIntArc, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPINTARC, dValue)
StringToLen(SideStep, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDESTEP, dValue)
StringToLen(VertFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.VERTFEED, dValue)
If SelectedTool >= 0 Then
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, m_ToolList(SelectedTool))
Else
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, "")
End If
EgtMdbSetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthStr)
EgtMdbSetCurrMachiningParam(MCH_MP.USERNOTES, UserNotes)
EgtMdbSetCurrMachiningParam(MCH_MP.INITANGS, InitAngs)
EgtMdbSetCurrMachiningParam(MCH_MP.BLOCKEDAXIS, BlockedAxis)
End Sub
Public Sub WriteMachiningName()
EgtMdbSetCurrMachiningParam(MCH_MP.NAME, NamePar)
End Sub
#End Region ' Methods
#Region "Validation"
Private m_NameError As String
Public ReadOnly Property NameErrorMsg As String
Get
Return m_NameError
End Get
End Property
Private m_SpeedError As String
Public ReadOnly Property SpeedErrorMsg As String
Get
Return m_SpeedError
End Get
End Property
Private Function GetValidationError(ByVal propertyName As String) As Boolean
Dim bOk As Boolean = True
Select Case propertyName
Case "NamePar"
bOk = Me.ValidateName()
Case "Speed"
bOk = Me.ValidateSpeed()
End Select
Return bOk
End Function
Private Function GetErrorString(propertyName As String) As String
Select Case propertyName
Case "NamePar"
Return m_NameError
Case "Speed"
Return m_SpeedError
End Select
Return String.Empty
End Function
''' <summary>
''' Returns true if this object has no validation errors.
''' </summary>
Public ReadOnly Property IsValid() As Boolean
Get
For Each [property] As String In ValidatedProperties
If Not String.IsNullOrEmpty(GetErrorString([property])) Then
Return False
End If
Next [property]
Return True
End Get
End Property
Public ReadOnly Property IsModified() As Boolean
Get
Return m_IsModifiedInvert OrElse
m_IsModifiedLeaveTab OrElse
m_IsModifiedToolInvert OrElse
m_IsModifiedSelectedWorkSide OrElse
m_IsModifiedSelectedHeadSide OrElse
m_IsModifiedSelectedLeadInType OrElse
m_IsModifiedSelectedExtLinkType OrElse
m_IsModifiedSelectedLeadOutType OrElse
m_IsModifiedSelectedCurveUse OrElse
m_IsModifiedSelectedStepType OrElse
m_IsModifiedSelectedSubType OrElse
m_IsModifiedSelectedLeadLinkType OrElse
m_IsModifiedSelectedFaceUseType OrElse
m_IsModifiedSelectedSolChoiceType OrElse
m_IsModifiedSpeed OrElse
m_IsModifiedFeed OrElse
m_IsModifiedStartFeed OrElse
m_IsModifiedEndFeed OrElse
m_IsModifiedTipFeed OrElse
m_IsModifiedOffSr OrElse
m_IsModifiedOffSl OrElse
m_IsModifiedSideAngle OrElse
m_IsModifiedApprox OrElse
m_IsModifiedStartPos OrElse
m_IsModifiedStartSlowLen OrElse
m_IsModifiedEndSlowLen OrElse
m_IsModifiedThrouAddLen OrElse
m_IsModifiedStepPar OrElse
m_IsModifiedReturnPos OrElse
m_IsModifiedTabLen OrElse
m_IsModifiedTabDist OrElse
m_IsModifiedTabHeight OrElse
m_IsModifiedTabAngle OrElse
m_IsModifiedLiTang OrElse
m_IsModifiedLiPerp OrElse
m_IsModifiedLiElev OrElse
m_IsModifiedLiCompLen OrElse
m_IsModifiedLoTang OrElse
m_IsModifiedLoPerp OrElse
m_IsModifiedLoElev OrElse
m_IsModifiedLoCompLen OrElse
m_IsModifiedStartAddLen OrElse
m_IsModifiedEndAddLen OrElse
m_IsModifiedStepExtArc OrElse
m_IsModifiedStepIntArc OrElse
m_IsModifiedSideStep OrElse
m_IsModifiedVertFeed OrElse
m_IsModifiedName OrElse
m_IsModifiedSelectedTool OrElse
m_IsModifiedDepthStr OrElse
m_IsModifiedUserNotes OrElse
m_IsModifiedOverLap OrElse
m_IsModifiedInitAngs OrElse
m_IsModifiedBlockedAxis
End Get
End Property
Public Sub IsModifiedReset()
m_IsModifiedInvert = False
m_IsModifiedLeaveTab = False
m_IsModifiedToolInvert = False
m_IsModifiedSelectedWorkSide = False
m_IsModifiedSelectedHeadSide = False
m_IsModifiedSelectedLeadInType = False
m_IsModifiedSelectedExtLinkType = False
m_IsModifiedSelectedLeadOutType = False
m_IsModifiedSelectedCurveUse = False
m_IsModifiedSelectedStepType = False
m_IsModifiedSelectedSubType = False
m_IsModifiedSelectedLeadLinkType = False
m_IsModifiedSelectedFaceUseType = False
m_IsModifiedSelectedSolChoiceType = False
m_IsModifiedSpeed = False
m_IsModifiedFeed = False
m_IsModifiedStartFeed = False
m_IsModifiedEndFeed = False
m_IsModifiedTipFeed = False
m_IsModifiedOffSr = False
m_IsModifiedOffSl = False
m_IsModifiedSideAngle = False
m_IsModifiedApprox = False
m_IsModifiedStartPos = False
m_IsModifiedStartSlowLen = False
m_IsModifiedEndSlowLen = False
m_IsModifiedThrouAddLen = False
m_IsModifiedStepPar = False
m_IsModifiedReturnPos = False
m_IsModifiedTabLen = False
m_IsModifiedTabDist = False
m_IsModifiedTabHeight = False
m_IsModifiedTabAngle = False
m_IsModifiedLiTang = False
m_IsModifiedLiPerp = False
m_IsModifiedLiElev = False
m_IsModifiedLiCompLen = False
m_IsModifiedLoTang = False
m_IsModifiedLoPerp = False
m_IsModifiedLoElev = False
m_IsModifiedLoCompLen = False
m_IsModifiedStartAddLen = False
m_IsModifiedEndAddLen = False
m_IsModifiedStepExtArc = False
m_IsModifiedStepIntArc = False
m_IsModifiedSideStep = False
m_IsModifiedVertFeed = False
m_IsModifiedName = False
m_IsModifiedSelectedTool = False
m_IsModifiedDepthStr = False
m_IsModifiedUserNotes = False
m_IsModifiedOverLap = False
m_IsModifiedInitAngs = False
m_IsModifiedBlockedAxis = False
End Sub
Private Shared ReadOnly ValidatedProperties() As String = {"Speed", "NamePar"}
Private Function ValidateName() As Boolean
m_NameError = String.Empty
Select Case nErrorMachiningName
Case 1
m_NameError = EgtMsg(MSG_MACHININGSERRORS + 2)
Case 2
m_NameError = EgtMsg(MSG_MACHININGSERRORS + 3)
End Select
NotifyPropertyChanged("NameErrorMsg")
If String.IsNullOrEmpty(m_NameError) Then
Return True
Else
Return False
End If
End Function
Private Function ValidateSpeed() As Boolean
m_SpeedError = String.Empty
If SelectedTool >= 0 Then
If Not IsNothing(m_Speed) And m_ToolList.Count >= SelectedTool + 1 Then
Dim dSpeed As Double = 0
StringToDouble(m_Speed, dSpeed)
Dim dMaxSpeed As Double = 0
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
EgtTdbGetCurrToolParam(MCH_TP.MAXSPEED, dMaxSpeed)
If Math.Abs(dSpeed) > dMaxSpeed + EPS_ZERO Then
m_SpeedError = EgtMsg(MSG_TOOLSERRORS + 11)
End If
End If
End If
NotifyPropertyChanged("SpeedErrorMsg")
If String.IsNullOrEmpty(m_SpeedError) Then
Return True
Else
Return False
End If
End Function
#End Region ' Validation
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 MachiningParamVisibilityConverter
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_MY.NONE
Return Visibility.Hidden
Case MCH_MY.DRILLING
Return TMDbParamVisibility.Drilling(CInt(parameter))
Case MCH_MY.SAWING
Return TMDbParamVisibility.Sawing(CInt(parameter))
Case MCH_MY.MILLING
Return TMDbParamVisibility.Milling(CInt(parameter))
Case MCH_MY.POCKETING
Return TMDbParamVisibility.Pocketing(CInt(parameter))
Case MCH_MY.MORTISING
Return TMDbParamVisibility.Mortising(CInt(parameter))
Case MCH_MY.SAWROUGHING
Return TMDbParamVisibility.Sawroughing(CInt(parameter))
Case MCH_MY.SAWFINISHING
Return TMDbParamVisibility.Sawfinishing(CInt(parameter))
Case MCH_MY.GENMACHINING
Return TMDbParamVisibility.GenMachining(CInt(parameter))
Case MCH_MY.CHISELING
Return TMDbParamVisibility.Chiseling(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
Public Class ErrorVisibilityConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If String.IsNullOrEmpty(CStr(value)) Then
Return Visibility.Collapsed
Else
Return Visibility.Visible
End If
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