cbecb11ab7
-> scrittura messaggi nel file dei messaggi.
255 lines
7.9 KiB
VB.net
255 lines
7.9 KiB
VB.net
Imports System.ComponentModel
|
|
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class GeometryListConfigVM
|
|
Inherits VMBase
|
|
|
|
Dim m_HardwareTemp As Hardware
|
|
|
|
#Region "MESSAGES"
|
|
|
|
Public ReadOnly Property Title As String
|
|
Get
|
|
' 50721=New Geometry
|
|
Return EgtMsg(50721)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property GeometryNameMsg As String
|
|
Get
|
|
' 50722=Geometry Name
|
|
Return EgtMsg(50722)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property TypeHardwareMsg As String
|
|
Get
|
|
' 50723=Type Hardware
|
|
Return EgtMsg(50723)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property ParameterMsg As String
|
|
Get
|
|
' 50724=Parameter
|
|
Return EgtMsg(50724)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property SaveMsg As String
|
|
Get
|
|
' 50410=Save
|
|
Return EgtMsg(50410)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' Messages
|
|
|
|
#Region "GEOMETRY NAME"
|
|
|
|
Private m_GeometryName As String = "Geometry"
|
|
Public Property GeometryName As String
|
|
Get
|
|
Return m_GeometryName
|
|
End Get
|
|
Set(value As String)
|
|
m_GeometryName = Trim(value)
|
|
NotifyPropertyChanged("GeometryName")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_GeometryNameList As New ObservableCollection(Of String)
|
|
Public Property GeometryNameList As ObservableCollection(Of String)
|
|
Get
|
|
Return m_GeometryNameList
|
|
End Get
|
|
Set(value As ObservableCollection(Of String))
|
|
m_GeometryNameList = value
|
|
End Set
|
|
End Property
|
|
|
|
#End Region ' Geommetry Name
|
|
|
|
|
|
#Region "HARDWARE LIST"
|
|
|
|
Private m_HardwareList As New ObservableCollection(Of CompoType)
|
|
Private m_SelHardware As CompoType
|
|
|
|
Private m_GraphicHardwareList As New ObservableCollection(Of String)
|
|
Public Property GraphicHardwareList As ObservableCollection(Of String)
|
|
Get
|
|
Return m_GraphicHardwareList
|
|
End Get
|
|
Set(value As ObservableCollection(Of String))
|
|
m_GraphicHardwareList = value
|
|
NotifyPropertyChanged("GraphicHardwareList")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SelGraphicHardware As String
|
|
Public Property SelGraphicHardware As String
|
|
Get
|
|
Return m_SelGraphicHardware
|
|
End Get
|
|
Set(value As String)
|
|
m_SelGraphicHardware = value
|
|
For Each Item In m_HardwareList
|
|
If Item.Name = m_SelGraphicHardware Then
|
|
m_SelHArdware = Item
|
|
Exit For
|
|
End If
|
|
Next
|
|
LoadParamBySelecetedHardware()
|
|
NotifyPropertyChanged("SelGraphicHardware")
|
|
End Set
|
|
End Property
|
|
|
|
#End Region ' Hardware List
|
|
|
|
#Region "PARAMETER LIST"
|
|
|
|
Private m_Parameter As CompoParam
|
|
|
|
Private m_ParameterList As New ObservableCollection(Of String)
|
|
Public Property ParameterList As ObservableCollection(Of String)
|
|
Get
|
|
Return m_ParameterList
|
|
End Get
|
|
Set(value As ObservableCollection(Of String))
|
|
m_ParameterList = value
|
|
NotifyPropertyChanged("ParameterList")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SelParameter As String
|
|
Public Property SelParameter As String
|
|
Get
|
|
Return m_SelParameter
|
|
End Get
|
|
Set(value As String)
|
|
m_SelParameter = value
|
|
LoadCurrParam(m_HardwareTemp, m_SelParameter)
|
|
NotifyPropertyChanged("SelParameter")
|
|
End Set
|
|
End Property
|
|
|
|
#End Region ' Parameter List
|
|
|
|
#Region "METODI"
|
|
|
|
Public Function LoadNameComboBoxLua(LocalHardware As Hardware, ParamName As String) As Boolean
|
|
' prima di ricaricare la lista deve essere svuotata
|
|
ParameterList.Clear()
|
|
For Each Chapter In LocalHardware.GroupChapters
|
|
For Each Parameter In Chapter.CompoParamList
|
|
If TypeOf Parameter Is ComboBoxParamLua Then
|
|
Dim Text As ComboBoxParamLua = DirectCast(Parameter, ComboBoxParamLua)
|
|
ParameterList.Add(Text.Name)
|
|
If ParamName = Text.DDFName Then
|
|
SelParameter = ParameterList(ParameterList.Count - 1)
|
|
m_Parameter = Parameter
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
If String.IsNullOrEmpty(ParamName) And ParameterList.Count > 0 Then
|
|
SelParameter = ParameterList(0)
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
Public Function LoadCurrParam(LocalHardware As Hardware, SelParam As String) As Boolean
|
|
For Each Chapter In LocalHardware.GroupChapters
|
|
For Each Parameter In Chapter.CompoParamList
|
|
If TypeOf Parameter Is ComboBoxParamLua Then
|
|
Dim Text As ComboBoxParamLua = DirectCast(Parameter, ComboBoxParamLua)
|
|
If SelParam = Text.Name Then
|
|
m_Parameter = Parameter
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
Return True
|
|
End Function
|
|
|
|
Public Function LoadParamBySelecetedHardware() As Boolean
|
|
' creo un HardwareTemporaneo per leggere le sue componenti
|
|
m_HardwareTemp = New Hardware
|
|
m_HardwareTemp.LoadTemplate(m_SelHardware)
|
|
LoadNameComboBoxLua(m_HardwareTemp, "")
|
|
HardwareTemp = Nothing
|
|
Return True
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
Private m_CmdSave As ICommand
|
|
|
|
#Region "SAVE"
|
|
|
|
Public ReadOnly Property SaveCommand As ICommand
|
|
Get
|
|
If m_CmdSave Is Nothing Then
|
|
m_CmdSave = New Command(AddressOf SaveGeometryName)
|
|
End If
|
|
Return m_CmdSave
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub SaveGeometryName(param As Object)
|
|
Dim sGeometry As String = String.Empty
|
|
Dim sName As String = String.Empty
|
|
Dim Index As Integer = 1
|
|
Dim bNameExists As Boolean = False
|
|
While IniFile.GetGeometryNameList("GeometryNames", CStr(Index), sName)
|
|
If m_GeometryName = sName Then
|
|
bNameExists = True
|
|
Exit While
|
|
End If
|
|
Index += 1
|
|
End While
|
|
If bNameExists Then
|
|
' 50554=Name Exists, 50144=Warning
|
|
MessageBox.Show(EgtMsg(50554), EgtMsg(50144), MessageBoxButton.OK, MessageBoxImage.Warning)
|
|
Return
|
|
End If
|
|
Dim sItems() As String = m_Parameter.DDFName.Split("."c)
|
|
If sItems.Count > 1 Then
|
|
sGeometry = m_GeometryName & "; " & m_HardwareTemp.HardwareGeneral.DDFName & ", " & sItems(1)
|
|
IniFile.SetGeometryNameList("GeometryNames", CStr(Index), sGeometry)
|
|
For Each Window In Application.Current.Windows
|
|
If TypeOf Window Is GeometryListConfigV Then
|
|
Dim GeometryListWindow As GeometryListConfigV = DirectCast(Window, GeometryListConfigV)
|
|
GeometryListWindow.Close()
|
|
'aggiorno la tabella in lettura
|
|
CompoMatch.ResetSTU()
|
|
CompoMatch.LoadTableGeometry()
|
|
End If
|
|
Next
|
|
Else
|
|
' 50555=Param Name is not correct, Impossible to save. ,50101=Error
|
|
MessageBox.Show(EgtMsg(50555), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Warning)
|
|
Return
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' Save
|
|
|
|
Sub New(ParamName As String)
|
|
' carico la lista degli Hardware
|
|
For Each Element In Map.refCompoPanelVM.CompoTypeList
|
|
m_HardwareList.Add(Element)
|
|
m_GraphicHardwareList.Add(Element.Name)
|
|
m_HardwareTemp = Map.refHardwarePageVM.CurrHardware
|
|
If Map.refHardwarePageVM.CurrHardware.HardwareGeneral.Name = Element.Name Then
|
|
' selziono il nome da mostrare in grafica
|
|
m_SelGraphicHardware = m_GraphicHardwareList(m_GraphicHardwareList.Count - 1)
|
|
m_SelHardware = Element
|
|
End If
|
|
Next
|
|
' carico la lista dei Parametri
|
|
LoadNameComboBoxLua(Map.refHardwarePageVM.CurrHardware, ParamName)
|
|
End Sub
|
|
|
|
End Class
|