Files

114 lines
3.3 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
Public Class TopPanelVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private Property m_GridDims As New ObservableCollection(Of GridDimension)
Public Property GridDims As ObservableCollection(Of GridDimension)
Get
Return m_GridDims
End Get
Set
m_GridDims = Value
NotifyPropertyChanged(NameOf(GridDims))
End Set
End Property
Private m_QParSplitter_Visibility As Visibility
Public ReadOnly Property QParSplitter_Visibility As Visibility
Get
Return If(Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.BTLStructureM.nPROJTYPE = BWType.WALL, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
Friend Enum Tabs As Integer
OPTIMIZATION = 0
STATISTICS = 1
End Enum
Private m_SelTab As Tabs = Tabs.OPTIMIZATION
Public Property SelTab As Integer
Get
Return m_SelTab
End Get
Set(value As Integer)
m_SelTab = value
End Set
End Property
Friend Sub SetSelTab(SelTab As Tabs)
If m_SelTab = Tabs.STATISTICS Then
Map.refInstrumentPanelVM.SetStatisticsIsChecked(False)
End If
m_SelTab = SelTab
NotifyPropertyChanged(NameOf(SelTab))
End Sub
Private m_TopPanel_IsEnabled As Boolean = True
Public ReadOnly Property TopPanel_IsEnabled As Boolean
Get
Return m_TopPanel_IsEnabled
End Get
End Property
Public ReadOnly Property QParameter_Visibility As Visibility
Get
Return If(Not IsNothing(Map.refProjectVM) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
#Region "Messages"
Public ReadOnly Property ResetCALCRawPart_ToolTip As String
Get
Return EgtMsg(61924)
End Get
End Property
#End Region ' Messages
#End Region 'FIELDS & PROPERTIES
Sub New()
' imposto riferimento su mappa
Map.SetRefTopPanelVM(Me)
' imposto dimensioni colonne/righe della Grid
DimensionsIniFile.ReadGridDimensions(ConstDims.TOPPANEL_OPTIMIZER, GridDims)
End Sub
#Region "METHODS"
Friend Sub SetTopPanelIsEnabled(bIsEnabled As Boolean)
m_TopPanel_IsEnabled = bIsEnabled
NotifyPropertyChanged(NameOf(TopPanel_IsEnabled))
End Sub
Friend Sub UpdateQParameterVisibility()
NotifyPropertyChanged(NameOf(QParameter_Visibility))
End Sub
Friend Sub ManageQParamsRowVisibility(bVisible As Boolean)
If bVisible Then
DimensionsIniFile.ReadGridDimensions(ConstDims.TOPPANEL_OPTIMIZER, GridDims)
Else
GridDimension.SetSoftwareMod(True)
Dim FeatureRow = m_GridDims(4)
Dim QParRow = m_GridDims(5)
m_GridDims(4).GridLen = New GridLength(1, GridUnitType.Star)
m_GridDims(4).NotifyPropertyChanged(NameOf(FeatureRow.GridLen))
m_GridDims(5).GridLen = New GridLength(0)
m_GridDims(5).NotifyPropertyChanged(NameOf(QParRow.GridLen))
GridDimension.SetSoftwareMod(False)
End If
NotifyPropertyChanged(NameOf(QParSplitter_Visibility))
End Sub
#End Region ' METHODS
End Class