Files
Dario Sassi 6d18e9eba5 Icarus :
- correzione per conversioni di stringhe in double e viceversa.
2026-03-18 18:16:47 +01:00

680 lines
25 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class RibParamPanelVM
Inherits MachiningCathegory
#Region "FIELDS & PROPERTIES"
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
Private m_cmdCopyFrom As ICommand
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTORS"
Sub New()
' Creo riferimento a questa classe in EgtCAM5Map
Map.SetRefRibParamPanelVM(Me)
End Sub
#End Region ' CONSTRUCTORS
#Region "METHODS"
Friend Sub Init()
If IsNothing(Map.refRibPanelVM.SelRib) Then
' ripristino modalita' standard
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
Return
End If
Dim nPartId As Integer = Map.refTopPanelVM.SelPart.nPartId
Dim nRibId As Integer = GDB_ID.NULL
Select Case Map.refRibPanelVM.SelRib.Type
Case RibEntity.RibTypes.FROMDRAW
nRibId = Map.refRibPanelVM.SelRib.nCurveId
Case RibEntity.RibTypes.FROMIMPORT
nRibId = Map.refRibPanelVM.SelRib.nExtrusionId
End Select
m_Type = Cathegories.RIBS
m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nRibId, nPartId, Me),
New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDOVERLAP, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nRibId, nPartId, Me)})
NotifyPropertyChanged(NameOf(MachiningParamList))
NotifyPropertyChanged(NameOf(sName))
End Sub
Friend Sub SaveCurrParams()
For Each Param In m_MachiningParamList
Param.SaveParam()
Next
End Sub
Friend Sub ResetCurrParams()
For Each Param In m_MachiningParamList
Param.ResetParam()
Next
End Sub
Friend Sub WriteParamsInRib(nRibId As Integer)
' se parametri modificati
Dim bModified As Boolean = False
For Each Param In m_MachiningParamList
Select Case Param.GetType()
Case GetType(RibNumericMachiningParam)
Dim NumericParam As RibNumericMachiningParam = TryCast(Param, RibNumericMachiningParam)
If NumericParam.bIsModified AndAlso Not bModified Then bModified = True
NumericParam.WriteParamInRib(nRibId)
Case GetType(RibComboMachiningParam)
Dim ComboParam As RibComboMachiningParam = TryCast(Param, RibComboMachiningParam)
If ComboParam.bIsModified AndAlso Not bModified Then bModified = True
ComboParam.WriteParamInRib(nRibId)
Case GetType(RibCheckMachiningParam)
Dim CheckParam As RibCheckMachiningParam = TryCast(Param, RibCheckMachiningParam)
If CheckParam.bIsModified AndAlso Not bModified Then bModified = True
CheckParam.WriteParamInRib(nRibId)
End Select
Next
If bModified Then
' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End If
End Sub
#End Region ' METHODS
#Region "COMMANDS"
#Region "Ok"
Public ReadOnly Property Ok_Command As ICommand
Get
If m_cmdOk Is Nothing Then
m_cmdOk = New Command(AddressOf Ok)
End If
Return m_cmdOk
End Get
End Property
Public Sub Ok()
If Not IsNothing(Map.refRibPanelVM.SelRib) Then
' verifico se modificata tipologia Ribs
Dim bIsModifiedRibsType As Boolean = False
Dim RibsTypeParam As MachiningParam = MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.RIBSTYPE)
If Not IsNothing(RibsTypeParam) Then
bIsModifiedRibsType = RibsTypeParam.bIsModified
End If
' scrivo i parametri modificati
Select Case Map.refRibPanelVM.SelRib.Type
Case RibEntity.RibTypes.FROMDRAW
WriteParamsInRib(Map.refRibPanelVM.SelRib.nCurveId)
WriteParamsInRib(Map.refRibPanelVM.SelRib.nExtrusionId)
Case RibEntity.RibTypes.FROMIMPORT
WriteParamsInRib(Map.refRibPanelVM.SelRib.nExtrusionId)
End Select
SaveCurrParams()
' se modificata tipologia Ribs, aggiorno posizione riferimento e pezzo
If bIsModifiedRibsType Then
Map.refReferencePanelVM.UpdateFramePosition()
Map.refDispositionPanelVM.UpdateZPos()
Map.refSliceManagerVM.UpdateDimensions()
End If
End If
' riattivo lista ribs
Map.refRibPanelVM.SetRibListIsEnabled(False)
' ripristino modalita' standard
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
Map.refRibPanelVM.ResetMachParamIsChecked()
End Sub
#End Region ' Ok
#Region "Cancel"
Public ReadOnly Property Cancel_Command As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Public Sub Cancel()
' ripristino modalita' standard
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
Map.refRibPanelVM.ResetMachParamIsChecked()
End Sub
#End Region ' Cancel
#Region "CopyFrom"
Public ReadOnly Property CopyFrom_Command As ICommand
Get
If m_cmdCopyFrom Is Nothing Then
m_cmdCopyFrom = New Command(AddressOf CopyFrom)
End If
Return m_cmdCopyFrom
End Get
End Property
Public Sub CopyFrom()
Dim CopyFromWndVM As New CopyFromWndVM
Dim CopyFromWndV As New CopyFromWndV(Application.Current.MainWindow, CopyFromWndVM)
CopyFromWndV.ShowDialog()
Dim x = CopyFromWndVM.SelRib
End Sub
#End Region ' CopyFrom
#End Region ' COMMANDS
End Class
Public Class RibNumericMachiningParam
Inherits NumericMachiningParam
Public Overrides Property sValue As String
Get
Return If(m_bIsLen, LenToString(m_dValue, 2), DoubleToString(m_dValue, 2))
End Get
Set(value As String)
If m_bIsLen Then
StringToLen(value, m_dValue)
Else
StringToDouble(value, m_dValue)
End If
NotifyPropertyChanged(NameOf(sValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Set
End Property
Friend Sub SetValue(value As Double)
m_dValue = value
NotifyPropertyChanged(NameOf(sValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Sub
Private m_dPartValue As Double
Public ReadOnly Property dPartValue As Double
Get
Return m_dPartValue
End Get
End Property
Public ReadOnly Property bIsModifiedFromPart As Boolean
Get
Return m_dValue <> m_dPartValue
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.RIBSSTRANDWIDTH
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDWIDTH, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSSTRANDWIDTH, m_dPartValue)
m_bIsLen = True
Case Params.RIBSOVERLAP
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSOVERLAP, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dPartValue)
m_bIsLen = False
Case Params.RIBSSTRANDOVERLAP
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDOVERLAP, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, m_dPartValue)
m_bIsLen = False
Case Params.RIBSSTRANDCOUNT
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDCOUNT, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLINKFILLET
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLINKFILLET, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLINKFILLET, m_dPartValue)
m_bIsLen = True
Case Params.RIBSINVERTDIRECTION
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTDIRECTION, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dPartValue)
m_bIsLen = True
Case Params.RIBSINVERTSTRANDORDER
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADININVERT
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADININVERT, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADINLEN
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADINLEN, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADOUTINVERT
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTINVERT, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADOUTLEN
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTLEN, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADOUTCOASTING
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTCOASTING, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADOUTCOASTING, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADOUTWIPE
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTWIPE, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPE, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADOUTWIPEDIR
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dPartValue)
m_bIsLen = True
Case Params.RIBSLEADFILLET
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADFILLET, m_dValue)
EgtGetInfo(nPartId, MAC_RIBSLEADFILLET, m_dPartValue)
m_bIsLen = True
End Select
m_dOrigValue = m_dValue
If Not bReadFromPart Then
m_dValue = m_dPartValue
m_dOrigValue = m_dPartValue
End If
End Sub
Friend Sub WriteParamInRib(nRibId As Integer)
Dim sWriteValue As String = ""
If m_bIsLen Then
sWriteValue = LenToString(m_dValue, 2)
Else
sWriteValue = DoubleToString(m_dValue, 2)
End If
Select Case Type
Case Params.RIBSSTRANDWIDTH
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSSTRANDWIDTH, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDWIDTH)
End If
Case Params.RIBSOVERLAP
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSOVERLAP, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSOVERLAP)
End If
Case Params.RIBSSTRANDOVERLAP
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSSTRANDOVERLAP, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDOVERLAP)
End If
Case Params.RIBSSTRANDCOUNT
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSSTRANDCOUNT, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDCOUNT)
End If
Case Params.RIBSLINKFILLET
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLINKFILLET, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLINKFILLET)
End If
Case Params.RIBSINVERTDIRECTION
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSINVERTDIRECTION, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSINVERTDIRECTION)
End If
Case Params.RIBSINVERTSTRANDORDER
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSINVERTSTRANDORDER)
End If
Case Params.RIBSLEADININVERT
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADININVERT, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADININVERT)
End If
Case Params.RIBSLEADINLEN
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADINLEN, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADINLEN)
End If
Case Params.RIBSLEADOUTINVERT
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADOUTINVERT, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTINVERT)
End If
Case Params.RIBSLEADOUTLEN
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADOUTLEN, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTLEN)
End If
Case Params.RIBSLEADOUTCOASTING
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADOUTCOASTING, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTCOASTING)
End If
Case Params.RIBSLEADOUTWIPE
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADOUTWIPE, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTWIPE)
End If
Case Params.RIBSLEADOUTWIPEDIR
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR)
End If
Case Params.RIBSLEADFILLET
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADFILLET, sWriteValue)
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADFILLET)
End If
End Select
End Sub
Friend Overrides Sub SaveParam()
m_dOrigValue = m_dValue
End Sub
Friend Overrides Sub ResetParam()
m_dValue = m_dOrigValue
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
m_dValue = m_dPartValue
NotifyPropertyChanged(NameOf(sValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class
Public Class RibComboMachiningParam
Inherits ComboMachiningParam
Public Overrides Property SelValue As IdNameStruct
Get
Return m_SelValue
End Get
Set(value As IdNameStruct)
m_SelValue = value
NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Set
End Property
Protected m_PartSelValue As IdNameStruct
Public ReadOnly Property PartSelValue As IdNameStruct
Get
Return m_PartSelValue
End Get
End Property
Public ReadOnly Property bIsModifiedFromPart As Boolean
Get
Return m_SelValue.Id <> m_PartSelValue.Id
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, Cathegory)
Dim bReadFromRib As Boolean = False
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.RIBSTYPE
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"),
New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"),
New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"),
New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")})
Dim nSelValue As Integer = 1
bReadFromRib = EgtGetInfo(nRibId, MAC_RIBSTYPE, nSelValue)
If bReadFromRib Then
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
End If
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSTYPE, nSelValue)
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
End Select
m_OrigSelValue = m_SelValue
If Not bReadFromRib Then
If bReadFromPart Then
m_SelValue = m_PartSelValue
m_OrigSelValue = m_PartSelValue
ElseIf Type = Params.RIBSTYPE Then
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_RIBSTYPE.INTERNAL)
m_SelValue = m_OrigSelValue
End If
End If
End Sub
Friend Sub WriteParamInRib(nRibId As Integer)
Select Case Type
Case Params.RIBSTYPE
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSTYPE, m_SelValue.Id)
Else
EgtRemoveInfo(nRibId, MAC_RIBSTYPE)
End If
End Select
End Sub
Friend Overrides Sub SaveParam()
m_OrigSelValue = m_SelValue
End Sub
Friend Overrides Sub ResetParam()
m_SelValue = m_OrigSelValue
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
m_SelValue = m_PartSelValue
NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class
Public Class RibCheckMachiningParam
Inherits CheckMachiningParam
Public Overrides Property bValue As Boolean
Get
Return m_bValue
End Get
Set(value As Boolean)
m_bValue = value
NotifyPropertyChanged(NameOf(bValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Set
End Property
Protected m_bPartValue As Boolean
Public ReadOnly Property bPartValue As Boolean
Get
Return m_bPartValue
End Get
End Property
Public ReadOnly Property bIsModifiedFromPart As Boolean
Get
Return m_bValue <> m_bPartValue
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.RIBSLINK
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLINK, m_bValue)
EgtGetInfo(nPartId, MAC_RIBSLINK, m_bPartValue)
Case Params.RIBSMERGEWITHSHELL
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSMERGEWITHSHELL, m_bValue)
EgtGetInfo(nPartId, MAC_RIBSMERGEWITHSHELL, m_bPartValue)
Case Params.RIBSINVERTDIRECTION
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTDIRECTION, m_bValue)
EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bPartValue)
Case Params.RIBSINVERTSTRANDORDER
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, m_bValue)
EgtGetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, m_bPartValue)
Case Params.RIBSLEADININVERT
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADININVERT, m_bValue)
EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bPartValue)
Case Params.RIBSLEADOUTINVERT
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTINVERT, m_bValue)
EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bPartValue)
End Select
m_bOrigValue = m_bValue
If Not bReadFromPart Then
m_bValue = m_bPartValue
m_bOrigValue = m_bPartValue
End If
End Sub
Friend Sub WriteParamInRib(nRibId As Integer)
Select Case Type
Case Params.RIBSLINK
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLINK, If(m_bValue, 1, 0))
Else
EgtRemoveInfo(nRibId, MAC_RIBSLINK)
End If
Case Params.RIBSMERGEWITHSHELL
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSMERGEWITHSHELL, If(m_bValue, 1, 0))
Else
EgtRemoveInfo(nRibId, MAC_RIBSMERGEWITHSHELL)
End If
Case Params.RIBSINVERTDIRECTION
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
Else
EgtRemoveInfo(nRibId, MAC_RIBSINVERTDIRECTION)
End If
Case Params.RIBSINVERTSTRANDORDER
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, If(m_bValue, 1, 0))
Else
EgtRemoveInfo(nRibId, MAC_RIBSINVERTSTRANDORDER)
End If
Case Params.RIBSLEADININVERT
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADININVERT)
End If
Case Params.RIBSLEADOUTINVERT
If bIsModifiedFromPart Then
EgtSetInfo(nRibId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
Else
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTINVERT)
End If
End Select
End Sub
Friend Overrides Sub SaveParam()
m_bOrigValue = m_bValue
End Sub
Friend Overrides Sub ResetParam()
m_bValue = m_bOrigValue
NotifyPropertyChanged(NameOf(bValue))
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
m_bValue = m_bPartValue
NotifyPropertyChanged(NameOf(bValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class