aa367c4345
- Passaggio a lettura intestazione file DDF per avere i parametri dei componenti.
76 lines
2.7 KiB
VB.net
76 lines
2.7 KiB
VB.net
Imports System.ComponentModel
|
|
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports System.IO
|
|
|
|
Public Class CompoPanelViewModel
|
|
Implements INotifyPropertyChanged
|
|
|
|
Private m_rfMainWindowViewModel As MainWindowViewModel
|
|
Private m_rfDoorParametersViewModel As DoorParametersViewModel
|
|
|
|
Private Shared m_CompoTypeList As New ObservableCollection(Of CompoType)
|
|
Public Shared ReadOnly Property CompoTypeList As ObservableCollection(Of CompoType)
|
|
Get
|
|
Return m_CompoTypeList
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comando
|
|
Private m_CmdCompoBtn As ICommand
|
|
|
|
Sub New(MainWindowViewModel As MainWindowViewModel)
|
|
m_rfMainWindowViewModel = MainWindowViewModel
|
|
m_rfDoorParametersViewModel = DirectCast(m_rfMainWindowViewModel.DoorParameters.DataContext, DoorParametersViewModel)
|
|
' Lettura file ini per generare bottoni
|
|
Dim Index As Integer = 1
|
|
Dim CompoName As String = String.Empty
|
|
Dim CompoNameDDF As String = String.Empty
|
|
' Carico un vettore con il nome delle Path delle componenti
|
|
Dim CompoArray() As String = Directory.GetDirectories("c:\EgtData\Doors\Compo")
|
|
For Index = 0 To CompoArray.Count - 1
|
|
' apro ogni directory e cerco un file di testo di nome Config.ini
|
|
Dim CurrCompoPath As String = CompoArray(Index) & "\" & ConstCompo.CONFIGINI_FILE_NAME
|
|
If File.Exists(CurrCompoPath) Then
|
|
GetPrivateProfileCompoName(ConstCompo.S_COMPO, ConstCompo.K_NAME, CompoNameDDF, CompoName, CurrCompoPath)
|
|
m_CompoTypeList.Add(New CompoType(CompoName, CompoNameDDF, CompoArray(Index)))
|
|
End If
|
|
Next
|
|
|
|
End Sub
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "CompoBtnCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Exec.
|
|
''' </summary>
|
|
Public ReadOnly Property CompoBtnCommand As ICommand
|
|
Get
|
|
If m_CmdCompoBtn Is Nothing Then
|
|
m_CmdCompoBtn = New Command(AddressOf CompoBtn)
|
|
End If
|
|
Return m_CmdCompoBtn
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
|
''' </summary>
|
|
Public Sub CompoBtn(param As Object)
|
|
Dim CurrCompoType As CompoType = DirectCast(param, CompoType)
|
|
m_rfDoorParametersViewModel.CurrDoor.AddNewCompo(CurrCompoType)
|
|
End Sub
|
|
|
|
#End Region ' CompoBtnCommand
|
|
|
|
#End Region 'Commands
|
|
|
|
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
|
|
|
|
Public Sub NotifyPropertyChanged(propName As String)
|
|
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
|
|
End Sub
|
|
End Class
|