53c8d6d934
- Aggiunta lista lastre che scorre e gestisce migliaia di lastre. - Miglioramenti e correzioni varie.
135 lines
4.2 KiB
VB.net
135 lines
4.2 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtWPFLib5
|
|
Imports EgtUILib
|
|
|
|
Public Class ProjectVM
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Friend Enum ProjectModeOpt As Integer
|
|
LIST = 1
|
|
DETAIL = 2
|
|
NEWSLAB = 3
|
|
End Enum
|
|
|
|
Private m_SelProjectMode As ProjectModeOpt
|
|
Friend Property SelProjectMode As ProjectModeOpt
|
|
Get
|
|
Return m_SelProjectMode
|
|
End Get
|
|
Set(value As ProjectModeOpt)
|
|
' Esco dallo stato corrente
|
|
Select Case m_SelProjectMode
|
|
Case ProjectModeOpt.LIST
|
|
Map.refTopCommandBarVM.Search_IsEnabled = False
|
|
Case ProjectModeOpt.DETAIL, ProjectModeOpt.NEWSLAB
|
|
EgtNewFile()
|
|
End Select
|
|
' Entro nel nuovo stato
|
|
m_SelProjectMode = value
|
|
Select Case m_SelProjectMode
|
|
Case ProjectModeOpt.LIST
|
|
Map.refTopCommandBarVM.Search_IsEnabled = True
|
|
Map.refListPageVM.InitListPage()
|
|
Case ProjectModeOpt.DETAIL
|
|
Map.refDetailPageVM.InitDetailPage()
|
|
Map.refOptionPanelVM.InitOptionPanel()
|
|
Case ProjectModeOpt.NEWSLAB
|
|
Map.refOptionPanelVM.InitOptionPanel()
|
|
End Select
|
|
NotifyPropertyChanged("ProjectContent")
|
|
NotifyPropertyChanged("OptionContent")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ListPageV As New ListPageV
|
|
Private m_DetailPageV As New DetailPageV
|
|
Public ReadOnly Property ProjectContent As FrameworkElement
|
|
Get
|
|
Select Case m_SelProjectMode
|
|
Case ProjectModeOpt.LIST
|
|
Return m_ListPageV
|
|
Case ProjectModeOpt.DETAIL
|
|
Return m_DetailPageV
|
|
Case ProjectModeOpt.NEWSLAB
|
|
Return m_DetailPageV
|
|
Case Else
|
|
Return m_ListPageV
|
|
End Select
|
|
End Get
|
|
End Property
|
|
|
|
Private m_SlabList As New ObservableCollection(Of Slab)
|
|
Public Property SlabList As ObservableCollection(Of Slab)
|
|
Get
|
|
Return m_SlabList
|
|
End Get
|
|
Set(value As ObservableCollection(Of Slab))
|
|
m_SlabList = value
|
|
Map.refListPageVM.NotifyPropertyChanged("SlabList")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SelSlab As Slab
|
|
Public Property SelSlab As Slab
|
|
Get
|
|
Return m_SelSlab
|
|
End Get
|
|
Set(value As Slab)
|
|
m_SelSlab = value
|
|
NotifyPropertyChanged("SelSlab")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_StateList As New List(Of IdNameStruct)({New IdNameStruct(Slab.StateOpt.AVAILABLE, "AVAILABLE"),
|
|
New IdNameStruct(Slab.StateOpt.ASSIGNED, "ASSIGNED"),
|
|
New IdNameStruct(Slab.StateOpt.TAKEN, "TAKEN")})
|
|
Public ReadOnly Property StateList As List(Of IdNameStruct)
|
|
Get
|
|
Return m_StateList
|
|
End Get
|
|
End Property
|
|
|
|
Private m_MaterialList As New List(Of String)
|
|
Public Property MaterialList As List(Of String)
|
|
Get
|
|
Return m_MaterialList
|
|
End Get
|
|
Set(value As List(Of String))
|
|
m_MaterialList = value
|
|
Map.refOptionPanelVM.NotifyPropertyChanged("MaterialList")
|
|
End Set
|
|
End Property
|
|
|
|
|
|
#End Region ' FIELDS & PROPERTIES
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New()
|
|
' Creo riferimento a questa classe in Map
|
|
Map.SetRefProjectVM(Me)
|
|
' Setto la ricerca come non attiva
|
|
Map.refTopCommandBarVM.SetSearch_IsChecked(False)
|
|
' Leggo lista materiali da file ini
|
|
Dim Index As Integer = 1
|
|
Dim sMaterial As String = String.Empty
|
|
While GetMainPrivateProfileString(S_MATERIALS, K_MATERIAL & Index, "", sMaterial) > 0
|
|
If Not String.IsNullOrWhiteSpace(sMaterial) Then
|
|
MaterialList.Add(sMaterial)
|
|
End If
|
|
Index += 1
|
|
End While
|
|
' Creo lista stati per SearchPanel
|
|
Dim SearchStateList As New List(Of IdNameStruct)(StateList)
|
|
SearchStateList.Insert(0, New IdNameStruct(0, String.Empty))
|
|
Map.refSearchPanelVM.SetStateList(SearchStateList)
|
|
' Creo lastre random
|
|
'AddRandomRows(5000)
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTOR
|
|
|
|
End Class
|