diff --git a/DoorParameters/Part.vb b/DoorParameters/Part.vb
index 725fd72..b76a402 100644
--- a/DoorParameters/Part.vb
+++ b/DoorParameters/Part.vb
@@ -327,24 +327,60 @@ Public Class Part
#Region "TypeEdge"
+ Friend Shared m_LockEdgeTypeList As New ObservableCollection(Of EdgeType)
+ Friend Shared m_HingeEdgeTypeList As New ObservableCollection(Of EdgeType)
+ Friend Shared m_BottomEdgeTypeList As New ObservableCollection(Of EdgeType)
Friend Shared m_TopEdgeTypeList As New ObservableCollection(Of EdgeType)
- Friend Shared m_EdgeTypeList As New ObservableCollection(Of EdgeType)
- Public Property EdgeTypeList As ObservableCollection(Of EdgeType)
+ 'Friend Shared m_EdgeTypeList As New ObservableCollection(Of EdgeType)
+ 'Public Property EdgeTypeList As ObservableCollection(Of EdgeType)
+ ' Get
+ ' ' restituisco il valore della lista che è stato creato all'avvio
+ ' If m_TypePart.Contains("DO_") Then
+ ' Return m_EdgeTypeList
+ ' Else ' se stiamo leggendo un frame carico la lista dei bevel dei frame
+ ' Return Assembly.m_FrameEdgeTypeList
+ ' End If
+ ' End Get
+ ' Set(value As ObservableCollection(Of EdgeType))
+ ' m_EdgeTypeList = value
+ ' Map.refAssemblyPageVM.CurrAssembly.NotifyPropertyChanged("EdgeTypeList")
+ ' Map.refAssemblyPageVM.CurrAssembly.NotifyPropertyChanged("TopEdgeTypeList")
+ ' Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
+ ' End Set
+ 'End Property
+
+ Public ReadOnly Property LockEdgeTypeList As ObservableCollection(Of EdgeType)
Get
' restituisco il valore della lista che è stato creato all'avvio
If m_TypePart.Contains("DO_") Then
- Return m_EdgeTypeList
+ Return m_LockEdgeTypeList
+ Else ' se stiamo leggendo un frame carico la lista dei bevel dei frame
+ Return Assembly.m_FrameEdgeTypeList
+ End If
+ End Get
+ End Property
+
+ Public ReadOnly Property HingeEdgeTypeList As ObservableCollection(Of EdgeType)
+ Get
+ ' restituisco il valore della lista che è stato creato all'avvio
+ If m_TypePart.Contains("DO_") Then
+ Return m_HingeEdgeTypeList
+ Else ' se stiamo leggendo un frame carico la lista dei bevel dei frame
+ Return Assembly.m_FrameEdgeTypeList
+ End If
+ End Get
+ End Property
+
+ Public ReadOnly Property BottomEdgeTypeList As ObservableCollection(Of EdgeType)
+ Get
+ ' restituisco il valore della lista che è stato creato all'avvio
+ If m_TypePart.Contains("DO_") Then
+ Return m_BottomEdgeTypeList
Else ' se stiamo leggendo un frame carico la lista dei bevel dei frame
Return Assembly.m_FrameEdgeTypeList
End If
End Get
- Set(value As ObservableCollection(Of EdgeType))
- m_EdgeTypeList = value
- Map.refAssemblyPageVM.CurrAssembly.NotifyPropertyChanged("EdgeTypeList")
- Map.refAssemblyPageVM.CurrAssembly.NotifyPropertyChanged("TopEdgeTypeList")
- Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
- End Set
End Property
Public ReadOnly Property TopEdgeTypeList As ObservableCollection(Of EdgeType)
@@ -999,7 +1035,7 @@ Public Class Part
ReadDoor = Nothing
Exit While
End If
- Case S_SECURE
+ Case S_SECURE ' creo l'oggetto OptionPage nella Mappa
LineIndex = ReadDoor.GetSecure(LineIndex)
Case S_PROFILES
LineIndex = ReadDoor.GetProfiles(ReadDoor.NextIndex(LineIndex), ReadDoor.TypePart)
@@ -1030,7 +1066,7 @@ Public Class Part
' Aggiorno
If Not IsNothing(ReadDoor) Then
Map.refPartPageVM.CurrPart = ReadDoor
- Map.refOptionsVM.RefreshEdgeTypeList()
+ 'Map.refOptionsVM.RefreshEdgeTypeList()
' Sarebbe buona norma inserire qui la stringa con i messaggi di errore e avvertimento (dopo aver caricato i bevel corretti)
If ReadDoor.bModifyBevel Then
MessageBox.Show("Door dispositiopn has been modify.", EgtMsg(50115), MessageBoxButton.OK, MessageBoxImage.Asterisk, MessageBoxResult.No)
@@ -1346,10 +1382,10 @@ Public Class Part
Dim sBevelTop As String = String.Empty
Dim sBevelBottom As String = String.Empty
' se almeno un profilo è di tipo bevel
- If m_LockEdgeType.Name = "BV" OrElse m_LockEdgeType.Name = "BU" OrElse m_LockEdgeType.Name = "BD" Then sBevelLock = m_LockEdgeType.BevelDDF
- If m_HingeEdgeType.Name = "BV" OrElse m_HingeEdgeType.Name = "BU" OrElse m_HingeEdgeType.Name = "BD" Then sBevelHinge = m_HingeEdgeType.BevelDDF
- If m_TopType.Name = "BV" OrElse m_TopType.Name = "BU" OrElse m_TopType.Name = "BD" Then sBevelTop = m_TopType.BevelDDF
- If m_BottomType.Name = "BV" OrElse m_BottomType.Name = "BU" OrElse m_BottomType.Name = "BD" Then sBevelBottom = m_BottomType.BevelDDF
+ If m_LockEdgeType.Name = "BV" Then sBevelLock = m_LockEdgeType.BevelDDF
+ If m_HingeEdgeType.Name = "BV" Then sBevelHinge = m_HingeEdgeType.BevelDDF
+ If m_TopType.Name = "BV" Then sBevelTop = m_TopType.BevelDDF
+ If m_BottomType.Name = "BV" Then sBevelBottom = m_BottomType.BevelDDF
' controllo che i bevel siano tutti uguali nello stesso Part
Bevel = ControlBevel(sBevelLock, sBevelHinge, sBevelTop, sBevelBottom)
' nel caso di nessuna disposizione fissata da Config.ini
@@ -1358,24 +1394,14 @@ Public Class Part
SetDispositionItem(m_DispositionList(1))
' modifico il bevel da BU a BD
Modifybevel(Bevel, "BU")
- ' la visibilità serve ad aggiornre la lista dei bevel nel caso siamo in presenza della vecchia configurazione
- OptionModule.m_bBevelDown = Visibility.Visible
- OptionModule.m_bBevelUp = Visibility.Collapsed
- EdgeTypeCpntrol(m_LockEdgeType)
- EdgeTypeCpntrol(m_HingeEdgeType)
- EdgeTypeCpntrol(m_TopType)
- EdgeTypeCpntrol(m_BottomType)
+ 'OptionModule.m_bBevelDown = Visibility.Visible
+ 'OptionModule.m_bBevelUp = Visibility.Collapsed
Case "BU"
SetDispositionItem(m_DispositionList(0))
Modifybevel(Bevel, "BD")
' la visibilità serve ad aggiornre la lista dei bevel nel caso siamo in presenza della vecchia configurazione
- OptionModule.m_bBevelUp = Visibility.Visible
- OptionModule.m_bBevelDown = Visibility.Collapsed
- ' nel caso che sia stata aperta una vecchia configurazione (BU e BD presenti nell'elenco dei bevel)
- EdgeTypeCpntrol(m_LockEdgeType)
- EdgeTypeCpntrol(m_HingeEdgeType)
- EdgeTypeCpntrol(m_TopType)
- EdgeTypeCpntrol(m_BottomType)
+ 'OptionModule.m_bBevelUp = Visibility.Visible
+ 'OptionModule.m_bBevelDown = Visibility.Collapsed
Case Else ' BySwing
If Not String.IsNullOrEmpty(Bevel) Then
Try
@@ -1384,7 +1410,10 @@ Public Class Part
If Bevel = "BU" Then OptionModule.m_bBevelUp = Visibility.Visible
If Bevel = "BD" Then OptionModule.m_bBevelDown = Visibility.Visible
' questo caso il secure segue le solite regole di calcolo
- Catch ex As Exception
+ Catch ex As Exception ' se il bevel passato è BV devo calcolare il corretto bevel
+ SetDispositionItem(m_DispositionList.First(Function(x) x.Name = "BySwing"))
+ bModifyBevel = True
+ Part.FirstReadingEdge = True
End Try
Else ' Bevel SQ
If m_Swing.Contains("HR") Then
@@ -1420,11 +1449,13 @@ Public Class Part
' Leggo i dati dei profili
Private Function GetProfiles(Index As Integer, TypePart As String) As Integer
+ ' ricalcolo la lista da mostrare a video
+ Map.refOptionsVM.RefreshEdgeTypeList()
Dim bError As Boolean = False
' Lock
If Index > FileContent.Count() - 1 Then Return -1
Dim sLine As String = RemoveComment(FileContent(Index))
- m_LockEdgeType = m_EdgeTypeList(0)
+ m_LockEdgeType = m_LockEdgeTypeList(0)
Dim LockEdgeType As String = GetValueWithKey(sLine, K_LOCKEDGE)
If String.IsNullOrWhiteSpace(LockEdgeType) Then
' se non c'è la parola chiave allora esco con errore
@@ -1433,13 +1464,14 @@ Public Class Part
' se valore nella lista
'If EdgeTypeControl(LockEdgeType) Then
Try
- m_LockEdgeType = EdgeTypeList.First(Function(x) x.Name = LockEdgeType)
+ ' cerco il valre nella lista
+ m_LockEdgeType = LockEdgeTypeList.First(Function(x) x.Name = LockEdgeType)
' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_LockEdgeType.BevelDDF = LockEdgeType
- Catch ex As Exception
+ Catch ex As Exception ' se il valore cercato non è nella lista
If Trim(LockEdgeType) = "BU" Or Trim(LockEdgeType) = "BD" Then
Try
- m_LockEdgeType = EdgeTypeList.First(Function(x) x.Name = "BV")
+ m_LockEdgeType = LockEdgeTypeList.First(Function(x) x.Name = "BV")
' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_LockEdgeType.BevelDDF = LockEdgeType
Catch ex2 As Exception
@@ -1472,7 +1504,7 @@ Public Class Part
' Hinge
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
- m_HingeEdgeType = m_EdgeTypeList(0)
+ m_HingeEdgeType = m_HingeEdgeTypeList(0)
Dim HingeEdgeType As String = GetValueWithKey(sLine, K_HINGEEDGE)
If String.IsNullOrWhiteSpace(HingeEdgeType) Then
' se non c'è la parola chiave allora esco con errore
@@ -1481,12 +1513,14 @@ Public Class Part
' se valore nella lista
'If EdgeTypeControl(HingeEdgeType) Then
Try
- m_HingeEdgeType = EdgeTypeList.First(Function(x) x.Name = HingeEdgeType)
+ m_HingeEdgeType = HingeEdgeTypeList.First(Function(x) x.Name = HingeEdgeType)
+ ' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_HingeEdgeType.BevelDDF = HingeEdgeType
- Catch ex As Exception
+ Catch ex As Exception ' se il valore cercato non è nella lista
If Trim(HingeEdgeType) = "BU" Or Trim(HingeEdgeType) = "BD" Then
Try
- m_HingeEdgeType = EdgeTypeList.First(Function(x) x.Name = "BV")
+ m_HingeEdgeType = HingeEdgeTypeList.First(Function(x) x.Name = "BV")
+ ' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_HingeEdgeType.BevelDDF = HingeEdgeType
Catch ex2 As Exception
End Try
@@ -1518,7 +1552,7 @@ Public Class Part
' Top
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
- m_TopType = m_EdgeTypeList(0)
+ m_TopType = m_TopEdgeTypeList(0)
Dim TopType As String = GetValueWithKey(sLine, K_TOP)
If String.IsNullOrWhiteSpace(TopType) Then
If Not SearchKey(sLine, K_TOP) Then Return -1
@@ -1527,11 +1561,13 @@ Public Class Part
'If EdgeTypeControl(TopType) Then
Try
m_TopType = TopEdgeTypeList.First(Function(x) x.Name = TopType)
+ ' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_TopType.BevelDDF = TopType
- Catch ex As Exception
+ Catch ex As Exception ' se il valore cercato non è nella lista
If Trim(TopType) = "BU" Or Trim(TopType) = "BD" Then
Try
m_TopType = TopEdgeTypeList.First(Function(x) x.Name = "BV")
+ ' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_TopType.BevelDDF = TopType
Catch ex2 As Exception
End Try
@@ -1563,7 +1599,7 @@ Public Class Part
' Bottom
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
- m_BottomType = m_EdgeTypeList(0)
+ m_BottomType = m_BottomEdgeTypeList(0)
Dim BottomType As String = GetValueWithKey(sLine, K_BOTTOM)
If String.IsNullOrWhiteSpace(BottomType) Then
If Not SearchKey(sLine, K_BOTTOM) Then Return -1
@@ -1571,13 +1607,14 @@ Public Class Part
' se valore nella lista
'If EdgeTypeControl(BottomType) Then
Try
- m_BottomType = TopEdgeTypeList.First(Function(x) x.Name = BottomType)
+ m_BottomType = BottomEdgeTypeList.First(Function(x) x.Name = BottomType)
+ ' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_BottomType.BevelDDF = BottomType
- Catch ex As Exception
+ Catch ex As Exception ' se il valore cercato non è nella lista
If Trim(BottomType) = "BU" Or Trim(BottomType) = "BD" Then
Try
- m_BottomType = TopEdgeTypeList.First(Function(x) x.Name = "BV")
- ' in questo punto avviene la conversione del profilo Lock, non so il perchè
+ m_BottomType = BottomEdgeTypeList.First(Function(x) x.Name = "BV")
+ ' segno il bevel che è stato letto nel ddf per il calcolo del secure
m_BottomType.BevelDDF = BottomType
Catch ex2 As Exception
End Try
@@ -1937,39 +1974,38 @@ Public Class Part
' restituisce il messaggio di modifica del bevel
Private Sub Modifybevel(Bevel As String, OppositeBevel As String)
+ If Bevel = "BV" Then : bModifyBevel = True : Part.FirstReadingEdge = True : End If
If Bevel = OppositeBevel Then
- 'MessageBox.Show("Door dispositiopn has been modify.", EgtMsg(50115), MessageBoxButton.OK, MessageBoxImage.Asterisk, MessageBoxResult.No)
+ ' "Door dispositiopn has been modify."
bModifyBevel = True
Part.FirstReadingEdge = True
End If
' Modifico il secure (diverso da zero)
If String.IsNullOrEmpty(Bevel) AndAlso m_Secure <> "0" AndAlso m_Secure <> DdfFile.SetSecure(m_Swing, m_DispositionItem.Name, m_Secure) Then
- 'MessageBox.Show("Door dispositiopn has been modify.", EgtMsg(50115), MessageBoxButton.OK, MessageBoxImage.Asterisk, MessageBoxResult.No)
bModifyBevel = True
Part.FirstReadingEdge = True ' per mantere attivo l'asterisco di modifica
End If
' caso speciale
If String.IsNullOrEmpty(Bevel) AndAlso m_Secure = "0" AndAlso DdfFile.SetSecure(m_Swing, m_DispositionItem.Name, m_Secure) = "UP" Then
- 'MessageBox.Show("Door dispositiopn has been modify.", EgtMsg(50115), MessageBoxButton.OK, MessageBoxImage.Asterisk, MessageBoxResult.No)
bModifyBevel = True
Part.FirstReadingEdge = True ' per mantere attivo l'asterisco di modifica
End If
End Sub
' per mantenere la configuarbilità con la precedente versione devo riaggiornare le liste dei
- Private Sub EdgeTypeCpntrol(ByRef CurrEdgeType As EdgeType)
- If CurrEdgeType.Name = "BU" And OptionModule.m_sDisposition = "BD" Then
- Try
- CurrEdgeType = EdgeTypeList.First(Function(x) x.Name = "BD")
- Catch ex As Exception
- End Try
- ElseIf CurrEdgeType.Name = "BD" And OptionModule.m_sDisposition = "BU" Then
- Try
- CurrEdgeType = EdgeTypeList.First(Function(x) x.Name = "BU")
- Catch ex As Exception
- End Try
- End If
- End Sub
+ 'Private Sub EdgeTypeCpntrol(ByRef CurrEdgeType As EdgeType)
+ ' If CurrEdgeType.Name = "BU" And OptionModule.m_sDisposition = "BD" Then
+ ' Try
+ ' CurrEdgeType = EdgeTypeList.First(Function(x) x.Name = "BD")
+ ' Catch ex As Exception
+ ' End Try
+ ' ElseIf CurrEdgeType.Name = "BD" And OptionModule.m_sDisposition = "BU" Then
+ ' Try
+ ' CurrEdgeType = EdgeTypeList.First(Function(x) x.Name = "BU")
+ ' Catch ex As Exception
+ ' End Try
+ ' End If
+ 'End Sub
#End Region ' Lettura ddf
diff --git a/DoorParameters/PartPageV.xaml b/DoorParameters/PartPageV.xaml
index 1dd4289..9d25f01 100644
--- a/DoorParameters/PartPageV.xaml
+++ b/DoorParameters/PartPageV.xaml
@@ -126,7 +126,7 @@
Style="{StaticResource DoorParamsTxBl}"
Margin="20,2,0,2"/>
@@ -141,7 +141,7 @@
diff --git a/OptionsWindow/OptionsViewModel.vb b/OptionsWindow/OptionsViewModel.vb
index fd3fb5a..95888d2 100644
--- a/OptionsWindow/OptionsViewModel.vb
+++ b/OptionsWindow/OptionsViewModel.vb
@@ -222,9 +222,21 @@ Public Class OptionsVM
End Set
End Property
- Public Shared ReadOnly Property EdgeTypeList As ObservableCollection(Of EdgeType)
+ 'Public Shared ReadOnly Property EdgeTypeList As ObservableCollection(Of EdgeType)
+ ' Get
+ ' Return Part.m_EdgeTypeList
+ ' End Get
+ 'End Property
+
+ Public Shared ReadOnly Property LockEdgeTypeList As ObservableCollection(Of EdgeType)
Get
- Return Part.m_EdgeTypeList
+ Return Part.m_LockEdgeTypeList
+ End Get
+ End Property
+
+ Public Shared ReadOnly Property HingeEdgeTypeList As ObservableCollection(Of EdgeType)
+ Get
+ Return Part.m_HingeEdgeTypeList
End Get
End Property
@@ -234,6 +246,12 @@ Public Class OptionsVM
End Get
End Property
+ Public Shared ReadOnly Property BottomEdgeTypeList As ObservableCollection(Of EdgeType)
+ Get
+ Return Part.m_BottomEdgeTypeList
+ End Get
+ End Property
+
Public Shared ReadOnly Property FrameEdgeTypeList As ObservableCollection(Of EdgeType)
Get
Return Assembly.m_FrameEdgeTypeList
@@ -244,7 +262,7 @@ Public Class OptionsVM
Public Property LockEdgeType As EdgeType
Get
If m_LockEdgeType.IsActive = Visibility.Collapsed Then
- m_LockEdgeType = EdgeTypeList(0)
+ m_LockEdgeType = LockEdgeTypeList(0)
End If
Return m_LockEdgeType
End Get
@@ -257,7 +275,7 @@ Public Class OptionsVM
Public Property HingeEdgeType As EdgeType
Get
If m_HingeEdgeType.IsActive = Visibility.Collapsed Then
- m_HingeEdgeType = EdgeTypeList(0)
+ m_HingeEdgeType = HingeEdgeTypeList(0)
End If
Return m_HingeEdgeType
End Get
@@ -289,12 +307,12 @@ Public Class OptionsVM
Public Property BottomType As EdgeType
Get
If m_BottomType.IsActive = Visibility.Collapsed Then
- m_BottomType = TopEdgeTypeList(0)
+ m_BottomType = BottomEdgeTypeList(0)
Else
Try
- m_BottomType = TopEdgeTypeList.First(Function(x) x.Name = m_BottomType.Name)
+ m_BottomType = BottomEdgeTypeList.First(Function(x) x.Name = m_BottomType.Name)
Catch ex As Exception
- m_BottomType = TopEdgeTypeList(0)
+ m_BottomType = BottomEdgeTypeList(0)
End Try
End If
Return m_BottomType
@@ -581,7 +599,7 @@ Public Class OptionsVM
Public Property LockEdgeTypeAssembly As EdgeType
Get
If m_LockEdgeTypeAssembly.IsActive = Visibility.Collapsed Then
- OptionModule.m_LockEdgeTypeAssembly = EdgeTypeList(0)
+ OptionModule.m_LockEdgeTypeAssembly = FrameEdgeTypeList(0)
End If
Return OptionModule.m_LockEdgeTypeAssembly
End Get
@@ -594,7 +612,7 @@ Public Class OptionsVM
Public Property HingeEdgeTypeAssembly As EdgeType
Get
If m_HingeEdgeTypeAssembly.IsActive = Visibility.Collapsed Then
- OptionModule.m_HingeEdgeTypeAssembly = EdgeTypeList(0)
+ OptionModule.m_HingeEdgeTypeAssembly = FrameEdgeTypeList(0)
End If
Return OptionModule.m_HingeEdgeTypeAssembly
End Get
@@ -607,7 +625,7 @@ Public Class OptionsVM
Public Property TopTypeAssembly As EdgeType
Get
If m_TopTypeAssembly.IsActive = Visibility.Collapsed Then
- OptionModule.m_TopTypeAssembly = EdgeTypeList(0)
+ OptionModule.m_TopTypeAssembly = FrameEdgeTypeList(0)
End If
Return OptionModule.m_TopTypeAssembly
End Get
@@ -620,7 +638,7 @@ Public Class OptionsVM
Public Property BottomTypeAssembly As EdgeType
Get
If m_BottomTypeAssembly.IsActive = Visibility.Collapsed Then
- OptionModule.m_BottomTypeAssembly = EdgeTypeList(0)
+ OptionModule.m_BottomTypeAssembly = FrameEdgeTypeList(0)
End If
Return OptionModule.m_BottomTypeAssembly
End Get
@@ -1117,56 +1135,8 @@ Public Class OptionsVM
' aggiorno la visibilità dei bevel Up e Down
Public Sub RefreshEdgeTypeList()
- '---------------------------------------------------------------------------------------------------------------------------------------------------------------
- ' mantenendo la compatibilità con la precedente confinìgurazione
- If OptionModule.m_sDisposition <> "BySwing" Then
- ' applico un ciclo for perchè non conosco a priori la posizione all'interno della lista dei bevel BU e BD
- For IndexBevelEdgeTypeList As Integer = 0 To Part.m_EdgeTypeList.Count - 1
- If Part.m_EdgeTypeList(IndexBevelEdgeTypeList).Name = "BU" Then Part.m_EdgeTypeList(IndexBevelEdgeTypeList).IsActive = m_bBevelUp
- If Part.m_EdgeTypeList(IndexBevelEdgeTypeList).Name = "BD" Then Part.m_EdgeTypeList(IndexBevelEdgeTypeList).IsActive = m_bBevelDown
- Next
- For IndexTopBevelEdgeTypeList As Integer = 0 To Part.m_TopEdgeTypeList.Count - 1
- If Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).Name = "BU" Then Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).IsActive = m_bBevelUp
- If Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).Name = "BD" Then Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).IsActive = m_bBevelDown
- Next
- Else ' sono nella configurazione BySwing in cui devo sostituire i Bevel BU e BD con BV
- ' devo eliminare temporaneamente dalla lista i Bevel BU e i Bevel BD
- Dim IndexBV As Integer = -1
- ' nascondo tutti i bevel della lista
- For IndexBevelEdgeTypeList As Integer = 0 To Part.m_EdgeTypeList.Count - 1
- If Part.m_EdgeTypeList(IndexBevelEdgeTypeList).Name = "BU" Then Part.m_EdgeTypeList(IndexBevelEdgeTypeList).IsActive = Visibility.Collapsed
- If Part.m_EdgeTypeList(IndexBevelEdgeTypeList).Name = "BD" Then
- Part.m_EdgeTypeList(IndexBevelEdgeTypeList).IsActive = Visibility.Collapsed
- IndexBV = IndexBevelEdgeTypeList
- End If
- Next
- Dim BVEdge As New EdgeType("BV", Visibility.Visible)
- Dim ThereIsBV As Integer = -1
- ' cerco l'indice del bevel BV, se non lo trovo carico il valore dell'inidce a -1
- For Index As Integer = 0 To Part.m_EdgeTypeList.Count - 1
- If Part.m_EdgeTypeList(Index).Name = "BV" Then
- ThereIsBV = Index
- Exit For
- End If
- Next
- ' inserisco il bevel BV se sono nella vecchia configurazione
- If IndexBV <> -1 AndAlso IndexBV < Part.m_EdgeTypeList.Count - 1 AndAlso ThereIsBV = -1 Then
- Part.m_EdgeTypeList.Insert(IndexBV, BVEdge)
- Part.m_TopEdgeTypeList.Insert(IndexBV, BVEdge)
- End If
- If ThereIsBV <> -1 Then IndexBV = ThereIsBV
- ' se sono nella vecchia configurazione sostutuisci BU/BD con BV
- If IsNothing(Map.refPartPageVM.CurrPart) Then
- If Map.refPartPageVM.CurrPart.LockEdgeType.Name = "BU" OrElse Map.refPartPageVM.CurrPart.LockEdgeType.Name = "BD" Then Map.refPartPageVM.CurrPart.SetLockEdgeType(Part.m_EdgeTypeList(IndexBV))
- If Map.refPartPageVM.CurrPart.HingeEdgeType.Name = "BU" OrElse Map.refPartPageVM.CurrPart.HingeEdgeType.Name = "BD" Then Map.refPartPageVM.CurrPart.SetHingeEdgeType(Part.m_EdgeTypeList(IndexBV))
- If Map.refPartPageVM.CurrPart.TopType.Name = "BU" OrElse Map.refPartPageVM.CurrPart.TopType.Name = "BD" Then Map.refPartPageVM.CurrPart.SetTopType(Part.m_EdgeTypeList(IndexBV))
- If Map.refPartPageVM.CurrPart.BottomType.Name = "BU" OrElse Map.refPartPageVM.CurrPart.BottomType.Name = "BD" Then Map.refPartPageVM.CurrPart.SetBottomType(Part.m_EdgeTypeList(IndexBV))
- Map.refPartPageVM.CurrPart.NotifyPropertyChanged("EdegTypeList")
- End If
- End If
-
'---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- ' aggiorno la lista
+ ' aggiorno la lista delle disposizioni
For IndexBeveDisp As Integer = 0 To Part.m_DispositionList.Count - 1
If Part.m_DispositionList(IndexBeveDisp).Name = "BU" Then
Part.m_DispositionList(IndexBeveDisp).IsActive = OptionModule.m_bBevelUp
@@ -1180,60 +1150,21 @@ Public Class OptionsVM
If Not IsNothing(Map.refPartPageVM.CurrPart) Then
If Map.refPartPageVM.CurrPart.DispositionItem.IsActive = Visibility.Collapsed Then Map.refPartPageVM.CurrPart.DispositionItem = Part.m_DispositionList(2)
End If
- If Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) Then
- Map.refAssemblyPageVM.CurrAssembly.NotifyPropertyChanged("EdgeTypeList")
- End If
End Sub
' creo le liste dei bevel e delle siposizioni
Public Shared Sub CreateEdgeTypeList()
'----------------------------------------------------------------------------------------------------------
' carico la lista dei bevel da mostrare sugli spigoli Lock, Hinge
- For Index = 0 To m_StaticEdgeTypeList.Count - 1
- If m_StaticEdgeTypeList(Index) = "BU" AndAlso OptionModule.m_sDisposition = m_StaticEdgeTypeList(Index) Then
- m_bBevelUp = Visibility.Visible
- m_bBevelDown = Visibility.Collapsed
- ElseIf m_StaticEdgeTypeList(Index) = "BD" AndAlso OptionModule.m_sDisposition = m_StaticEdgeTypeList(Index) Then
- m_bBevelUp = Visibility.Collapsed
- m_bBevelDown = Visibility.Visible
- End If
- Part.m_EdgeTypeList.Add(New EdgeType(m_StaticEdgeTypeList(Index), Visibility.Visible))
- Next
+ LockHingeEdge(Part.m_LockEdgeTypeList)
+ LockHingeEdge(Part.m_HingeEdgeTypeList)
'----------------------------------------------------------------------------------------------------------
- ' caricare gli spigoli top e bottom facendo attenzione al tipo di configurazione!
- Part.m_TopEdgeTypeList.Add(New EdgeType("SQ", Visibility.Visible))
- Try
- ' controllo che nella configurazione sia presente il Bevel BV
- Part.m_TopEdgeTypeList.Add(Part.m_EdgeTypeList.First(Function(x) x.Name = "BV"))
- Catch ex As Exception
- Try
- Part.m_TopEdgeTypeList.Add(Part.m_EdgeTypeList.First(Function(x) x.Name = "BU"))
- Catch ex2 As Exception
- End Try
- Try
- Part.m_TopEdgeTypeList.Add(Part.m_EdgeTypeList.First(Function(x) x.Name = "BD"))
- Catch ex2 As Exception
- End Try
- End Try
- '----------------------------------------------------------------------------------------------------------
- ' dopo la creazione delle liste modifico la visibilità dei bevel
- For IndexBevelEdgeTypeList As Integer = 0 To Part.m_EdgeTypeList.Count - 1
- If Part.m_EdgeTypeList(IndexBevelEdgeTypeList).Name = "BU" Then Part.m_EdgeTypeList(IndexBevelEdgeTypeList).IsActive = m_bBevelUp
- If Part.m_EdgeTypeList(IndexBevelEdgeTypeList).Name = "BD" Then Part.m_EdgeTypeList(IndexBevelEdgeTypeList).IsActive = m_bBevelDown
- Next
- For IndexTopBevelEdgeTypeList As Integer = 0 To Part.m_TopEdgeTypeList.Count - 1
- If Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).Name = "BU" Then Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).IsActive = m_bBevelUp
- If Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).Name = "BD" Then Part.m_TopEdgeTypeList(IndexTopBevelEdgeTypeList).IsActive = m_bBevelDown
- Next
+ ' caricare gli spigoli top e bottom
+ TopBottomEdge(Part.m_TopEdgeTypeList)
+ TopBottomEdge(Part.m_BottomEdgeTypeList)
'----------------------------------------------------------------------------------------------------------
' caricare gli spigoli dei frame
- Assembly.m_FrameEdgeTypeList.Add(New EdgeType("SQ", Visibility.Visible))
- Try
- ' controllo che nella configurazione sia presente il Bevel BV
- Assembly.m_FrameEdgeTypeList.Add(Part.m_EdgeTypeList.First(Function(x) x.Name = "BV"))
- Catch ex As Exception
- Assembly.m_FrameEdgeTypeList.Add(New EdgeType("BV", Visibility.Visible))
- End Try
+ TopBottomEdge(Assembly.m_FrameEdgeTypeList)
'----------------------------------------------------------------------------------------------------------
' carico la lista che contiene la disposizione in macchina
Part.m_DispositionList.Add(New EdgeType("BU", OptionModule.m_bBevelUp))
@@ -1247,6 +1178,37 @@ Public Class OptionsVM
End If
End Sub
+ ' carica la lista con tutte le lavorazioni legate agli spigoli Lock e Hinge
+ Public Shared Sub LockHingeEdge(ByVal EdgeList As ObservableCollection(Of EdgeType))
+ For Index = 0 To m_StaticEdgeTypeList.Count - 1
+ If m_StaticEdgeTypeList(Index) = "BU" OrElse
+ m_StaticEdgeTypeList(Index) = "BD" OrElse
+ m_StaticEdgeTypeList(Index) = "BV" OrElse
+ m_StaticEdgeTypeList(Index) = "SQ" Then
+ Else
+ EdgeList.Add(New EdgeType(m_StaticEdgeTypeList(Index), Visibility.Visible))
+ End If
+ Next
+ EdgeList.Insert(0, New EdgeType("SQ", Visibility.Visible))
+ EdgeList.Insert(0, New EdgeType("BV", Visibility.Visible))
+ End Sub
+
+ ' carica la lista con tutte le lavorazioni legate agli spigoli Top e Bottom e Frame
+ Public Shared Sub TopBottomEdge(ByVal EdgeList As ObservableCollection(Of EdgeType))
+ Try
+ ' controllo che nella configurazione sia presente il Bevel BV
+ EdgeList.Add(EdgeList.First(Function(x) x.Name = "SQ"))
+ Catch ex As Exception
+ EdgeList.Add(New EdgeType("SQ", Visibility.Visible))
+ End Try
+ Try
+ ' controllo che nella configurazione sia presente il Bevel BV
+ EdgeList.Add(EdgeList.First(Function(x) x.Name = "BV"))
+ Catch ex As Exception
+ EdgeList.Add(New EdgeType("BV", Visibility.Visible))
+ End Try
+ End Sub
+
Sub New()
Map.SetRefOptionsVM(Me)
End Sub
@@ -1375,7 +1337,7 @@ Public Class EdgeType
End Set
End Property
- Private m_BevelDDF As String = String.Empty
+ Private m_BevelDDF As String
Public Property BevelDDF As String
Get
Return m_BevelDDF