76 lines
2.4 KiB
VB.net
76 lines
2.4 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class Project
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Private m_Name As String
|
|
Public Property Name As String
|
|
Get
|
|
Return m_Name
|
|
End Get
|
|
Set(value As String)
|
|
m_Name = value
|
|
NotifyPropertyChanged(NameOf(Name))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_AssemblyList As New ObservableCollection(Of AssemblyName)
|
|
Public Property AssemblyList As ObservableCollection(Of AssemblyName)
|
|
Get
|
|
Return m_AssemblyList
|
|
End Get
|
|
Set(value As ObservableCollection(Of AssemblyName))
|
|
m_AssemblyList = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SelAssemblyName As AssemblyName
|
|
Public Property SelAssemblyName As AssemblyName
|
|
Get
|
|
Return m_SelAssemblyName
|
|
End Get
|
|
Set(value As AssemblyName)
|
|
If IsNothing(value) Then
|
|
m_SelAssemblyName = value
|
|
Return
|
|
End If
|
|
m_SelAssemblyName = value
|
|
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
|
|
NotifyPropertyChanged(NameOf(Name))
|
|
NotifyPropertyChanged(NameOf(SelAssemblyName))
|
|
End Set
|
|
End Property
|
|
|
|
#End Region ' Fields & Properties
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Function IsBlockedSelAssemblyName(value As AssemblyName) As Boolean
|
|
If IsNothing(value) Then Return False
|
|
If Not File.Exists(value.Name) AndAlso Not IsNothing(Map.refAssemblyManagerVM) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject) Then
|
|
Map.refAssemblyManagerVM.RefreshAssembly()
|
|
Return False
|
|
End If
|
|
If value.Name = m_SelAssemblyName.Name Then
|
|
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
|
|
Return False
|
|
End If
|
|
If Not Utility.IsFileLocked(Path.GetDirectoryName(value.Name), value.GraphicName) Then
|
|
m_SelAssemblyName = value
|
|
Utility.OutLog("Chiudo progetto : " & m_SelAssemblyName.Name)
|
|
Utility.UnLockDir()
|
|
'Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
|
|
Utility.LockDir(Path.GetDirectoryName(m_SelAssemblyName.Name), m_SelAssemblyName.GraphicName)
|
|
Return False
|
|
End If
|
|
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
|
|
Return True
|
|
End Function
|
|
|
|
#End Region ' Methods
|
|
|
|
End Class |