Files
EgtDOORCreator/StatusBar/StatusBarViewModel.vb
T
Nicola Pievani 446fc533b6 EgtDOORCreator :
- aggiunta visualizzazione errore del motore di calcolo della porta
- aggiunta possibilità di configurare  da interfaccia direttorio di salvataggio
- le variabili H, L e T vengono aggiornate al cambio dimensioni porta
- sistemata gestione lingue.
2017-04-24 15:08:37 +00:00

104 lines
3.1 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.Runtime.InteropServices
Imports System.IO
Imports EgtUILib
Imports System.Threading
Imports System.ComponentModel
Public Class StatusBarViewModel
Implements INotifyPropertyChanged
Private m_rfSceneManagerViewModel As SceneManagerViewModel
#Region "FIELDS & PROPERTIES"
' Funzioni di callback per output in interfaccia da LUA
'Private m_ProcEventsCallback As New ProcessEventsCallback(AddressOf ProcessEvents)
'Private m_OutTextCallback As New OutTextCallback(AddressOf OutText)
' GRAPHICAL ELEMENTS
Private m_StatusOutput As String
Public Property StatusOutput As String
Get
Return m_StatusOutput
End Get
Set(value As String)
m_StatusOutput = value
NotifyPropertyChanged("StatusOutput")
End Set
End Property
Private m_UnitMeasure As String = OptionModule.m_SelectedMeasureUnit
Public Property UnitMeasure As String
Get
Return m_UnitMeasure
End Get
Set(value As String)
If value = Trim("Inches") Then value = "in"
m_UnitMeasure = value
NotifyPropertyChanged("UnitMeasure")
End Set
End Property
Private m_SnapPointTypeList As New List(Of SPItem)({New SPItem(SP.PT_END, EgtMsg(1105)), New SPItem(SP.PT_MID, EgtMsg(1107)), New SPItem(SP.CENTER, EgtMsg(1109)), New SPItem(SP.PT_INTERS, EgtMsg(1115)), New SPItem(SP.CENTROID, EgtMsg(1111))})
Public ReadOnly Property SnapPointTypeList As List(Of SPItem)
Get
Return m_SnapPointTypeList
End Get
End Property
Private m_SnapPointSelect As SPItem = m_SnapPointTypeList(0)
Public Property SnapPointSelect As SPItem
Get
ActivateSnapPointSelected(m_SnapPointSelect)
Return m_SnapPointSelect
End Get
Set(value As SPItem)
m_SnapPointSelect = value
NotifyPropertyChanged("SnapPointSelect")
End Set
End Property
#End Region ' Fields & Properties
' applica la selezione del punto notevole
Public Sub ActivateSnapPointSelected(SnapPoint As SPItem)
m_rfSceneManagerViewModel.ProjectScene.SetSnapPointType(SnapPoint.SPValue)
End Sub
#Region "CONSTRUCTOR"
Sub New(ByRef SceneManagerViewModel As SceneManagerViewModel)
m_rfSceneManagerViewModel = SceneManagerViewModel
End Sub
#End Region ' Constructor
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
End Class
Public Class SPItem
Private m_SPValue As SP
Public ReadOnly Property SPValue As SP
Get
Return m_SPValue
End Get
End Property
Private m_SPMessage As String
Public ReadOnly Property SPMessage As String
Get
Return m_SPMessage
End Get
End Property
Sub New(Value As SP, Message As String)
m_SPValue = Value
m_SPMessage = Message
End Sub
End Class