Files
EgtDOORCreator/SceneManager/ShowPanel/ShowPanelViewModel.vb
T
Nicola Pievani f365dee1c7 EgtDOORCreator 1.8d1 :
- Asterisco in fase di modifica;
- salvataggio in caso di cambio porta solo se presente asterisco;
- asterisco in fase di creazione nuova porta.
2017-04-06 18:17:33 +00:00

138 lines
4.4 KiB
VB.net

Imports System.ComponentModel
Imports EgtUILib
Public Class ShowPanelViewModel
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
' riferimento alla scena
Private m_rfSceneManagerViewmodel As SceneManagerViewModel
' Definizione comandi
Private m_cmdWireframe As ICommand
Private m_cmdHiddenLine As ICommand
Private m_cmdShading As ICommand
Private m_cmdCurveDir As ICommand
#Region "ToolTip"
Public ReadOnly Property RenderingWFToolTip As String
Get
Return EgtMsg(MSG_GRIDVIEWPANEL + 1)
End Get
End Property
Public ReadOnly Property RenderingHLToolTip As String
Get
Return EgtMsg(MSG_GRIDVIEWPANEL + 2)
End Get
End Property
Public ReadOnly Property RenderingSHToolTip As String
Get
Return EgtMsg(MSG_GRIDVIEWPANEL + 3)
End Get
End Property
Public ReadOnly Property CurveDirToolTip As String
Get
Return EgtMsg(MSG_GRIDVIEWPANEL + 16)
End Get
End Property
#End Region
Private m_WireframeIsChecked As Boolean
Public Property WireframeIsChecked As Boolean
Get
Return m_WireframeIsChecked
End Get
Set(value As Boolean)
If value <> m_WireframeIsChecked Then
m_WireframeIsChecked = value
If value Then
m_rfSceneManagerViewmodel.ProjectScene.WireFrame()
NotifyPropertyChanged("WireframeIsChecked")
End If
End If
End Set
End Property
Private m_HiddenLineIsChecked As Boolean
Public Property HiddenLineIsChecked As Boolean
Get
Return m_HiddenLineIsChecked
End Get
Set(value As Boolean)
If value <> m_HiddenLineIsChecked Then
m_HiddenLineIsChecked = value
If value Then
m_rfSceneManagerViewmodel.ProjectScene.HiddenLine()
NotifyPropertyChanged("HiddenLineIsChecked")
End If
End If
End Set
End Property
Private m_ShadingIsChecked As Boolean
Public Property ShadingIsChecked As Boolean
Get
Return m_ShadingIsChecked
End Get
Set(value As Boolean)
If value <> m_ShadingIsChecked Then
m_ShadingIsChecked = value
If value Then
m_rfSceneManagerViewmodel.ProjectScene.Shading()
NotifyPropertyChanged("ShadingIsChecked")
End If
End If
End Set
End Property
Private m_CurveDirIsChecked As Boolean
Public Property CurveDirIsChecked As Boolean
Get
Return m_CurveDirIsChecked
End Get
Set(value As Boolean)
If value <> m_CurveDirIsChecked Then
m_CurveDirIsChecked = value
EgtSetShowCurveDirection(value)
NotifyPropertyChanged("CurveDirIsChecked")
End If
End Set
End Property
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New(ByRef SceneManagerViewmodel As SceneManagerViewModel)
m_rfSceneManagerViewmodel = SceneManagerViewmodel
''Application.Msn.Register(Application.SHOWMODESTATE, Sub(nShowModeState As Integer)
' If nShowModeState = SM.WIREFRAME Then
' WireframeIsChecked = True
' ElseIf nShowModeState = SM.HIDDENLINE Then
' HiddenLineIsChecked = True
' Else
' ShadingIsChecked = True
' End If
' End Sub)
' Application.Msn.Register(Application.SHOWCURVEDIR, Sub(nShowCurveDir As Integer)
' CurveDirIsChecked = (nShowCurveDir <> 0)
' End Sub)
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