7a6dc310d9
- la lista degli swing è configurabile - è possibile usare le costanti anche nell'assemblato - è possibile salvare un assemblato in forma di template.
94 lines
3.8 KiB
VB.net
94 lines
3.8 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtWPFLib5
|
|
Imports EgtUILib
|
|
|
|
Public Class DimensioningPanelVM
|
|
Inherits VMBase
|
|
|
|
Public ReadOnly Property DimensionToolTip As String
|
|
Get
|
|
' Dimension
|
|
Return EgtMsg(50418)
|
|
End Get
|
|
End Property
|
|
|
|
' lista degli hardware presenti nella porta corrente
|
|
Private m_HardwareDimensionList As New ObservableCollection(Of HardwareDimension)
|
|
Public Property HardwareDimensionList As ObservableCollection(Of HardwareDimension)
|
|
Get
|
|
Return m_HardwareDimensionList
|
|
End Get
|
|
Set(value As ObservableCollection(Of HardwareDimension))
|
|
m_HardwareDimensionList = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_DimensioningPanel_Visibility As Visibility
|
|
Public ReadOnly Property DimensioningPanel_Visibility As Visibility
|
|
Get
|
|
Return m_DimensioningPanel_Visibility
|
|
End Get
|
|
End Property
|
|
|
|
Friend Sub SetDimensioningPanel_Visibility(IsVisible As Boolean)
|
|
If IsVisible Then
|
|
m_DimensioningPanel_Visibility = Visibility.Visible
|
|
Else
|
|
m_DimensioningPanel_Visibility = Visibility.Collapsed
|
|
End If
|
|
NotifyPropertyChanged("DimensioningPanel_Visibility")
|
|
End Sub
|
|
|
|
Public Function LoadHardwareDimList() As Boolean
|
|
' Se lista vuota
|
|
If m_HardwareDimensionList.Count = 0 Then
|
|
' carico la lista
|
|
Dim LocalHardware As New HardwareDimension
|
|
LocalHardware.NameHardware = "Door"
|
|
LocalHardware.NameLayer = "DIM_DOOR"
|
|
LocalHardware.SetSelectedLayer(GetMainPrivateProfileInt("Dimensions", LocalHardware.NameHardware, 0) <> 0)
|
|
HardwareDimensionList.Add(LocalHardware)
|
|
For Each CompoType In Map.refCompoPanelHardwareVM.CompoTypeList
|
|
Dim CurrNameLayer As String = String.Empty
|
|
GetPrivateProfileLayerName(ConstCompo.S_LAYER, ConstCompo.K_LAYER_NAME, CurrNameLayer, CompoType.Path & "\" & CONFIGINI_FILE_NAME)
|
|
If Not String.IsNullOrWhiteSpace(CurrNameLayer) Then
|
|
LocalHardware = New HardwareDimension
|
|
LocalHardware.NameHardware = CompoType.Name
|
|
LocalHardware.NameLayer = CurrNameLayer
|
|
LocalHardware.SetSelectedLayer(GetMainPrivateProfileInt("Dimensions", LocalHardware.NameHardware, 0) <> 0)
|
|
HardwareDimensionList.Add(LocalHardware)
|
|
End If
|
|
Next
|
|
End If
|
|
' Abilito solo i tipi di hardware presenti nella porta corrente
|
|
Dim CurrDoor As Part = Map.refPartPageVM.CurrPart
|
|
If IsNothing(CurrDoor) Then Return False
|
|
If CurrDoor.CompoList.Count < 1 Then Return False
|
|
' disattivo tutti gli hardware nella lista
|
|
For Each HardwareDimension In m_HardwareDimensionList
|
|
If HardwareDimension.NameLayer <> "DIM_DOOR" Then
|
|
HardwareDimension.IsActive = False
|
|
End If
|
|
Next
|
|
' Ciclo sugli hardware presenti nella porta corrente
|
|
For DoorCompoIndex = 0 To CurrDoor.CompoList.Count - 1
|
|
' verifico se il tipo di hardware è diverso dal precedente
|
|
If DoorCompoIndex = 0 OrElse (Not DoorCompoIndex = 0 AndAlso CurrDoor.CompoList(DoorCompoIndex).CompoType.Name <> CurrDoor.CompoList(DoorCompoIndex - 1).CompoType.Name) Then
|
|
' lo cerco nella lista delle dimensioni dell'hardware
|
|
For Each HardwareDimension In m_HardwareDimensionList
|
|
If CurrDoor.CompoList(DoorCompoIndex).CompoType.Name = HardwareDimension.NameHardware Then
|
|
HardwareDimension.IsActive = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
Next
|
|
Return True
|
|
End Function
|
|
|
|
Sub New()
|
|
Map.SetRefDimensioningPanelVM(Me)
|
|
End Sub
|
|
|
|
End Class
|