Files
EgtCAM5/OptionPanel/DrawOptionPanel/ManageLayerExpander/LayerTreeView.vb
T
Renzo Lanza fe58578e65 EgtCAM5 :
- eliminati tutti gli Application.Msn.Register/NotifyColleagues e la classe Messenger. Ora tutto ciò che eseguivano è in funzioni/sub Friend chiamate tramite i riferimenti in Map.
2020-10-28 14:09:17 +00:00

135 lines
4.0 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Public Class LayerTreeViewItem
Inherits TreeViewItemBase
Friend Shared m_SendCmd As Boolean = True
Friend Shared m_MarkOnSel As Boolean = True
Private m_Id As Integer
Public ReadOnly Property Id As Integer
Get
Return m_Id
End Get
End Property
''' <summary>
''' Property that determines if the Tool is selected or not
''' </summary>
Public Overrides Property IsSelected As Boolean
Get
Return m_IsSelected
End Get
Set(value As Boolean)
If (value <> m_IsSelected) Then
m_IsSelected = value
If value Then
' recupero l'Id del nuovo oggetto selezionato
Map.refManageLayerExpanderVM.IsRightClickedLayerTreeItem(False)
If m_MarkOnSel Then
Map.refManageLayerExpanderVM.UpdateObjInObjTree(Me.Id)
Else
Map.refManageLayerExpanderVM.UpdateObjInObjTreeNoMark(Me.Id)
End If
End If
End If
End Set
End Property
Private m_IsRightSelected As Boolean
''' <summary>
''' Property that determines if the Tool is selected or not
''' </summary>
Public Property IsRightSelected As Boolean
Get
Return m_IsRightSelected
End Get
Set(value As Boolean)
' In realtà il valore di value è insignificante perchè la cosa importante è che il click esegua questo Set
m_IsRightSelected = value
Map.refManageLayerExpanderVM.IsRightClickedLayerTreeItem(True)
Map.refManageLayerExpanderVM.RightClickedLayerTreeItem(Me.Id)
End Set
End Property
Private m_Items As New ObservableCollection(Of LayerTreeViewItem)
Public Property Items As ObservableCollection(Of LayerTreeViewItem)
Get
Return m_Items
End Get
Set(value As ObservableCollection(Of LayerTreeViewItem))
m_Items = value
End Set
End Property
Private m_bOnOff As Boolean = True
Public Property OnOff As Boolean
Get
Return m_bOnOff
End Get
Set(value As Boolean)
If m_bOnOff <> value Then
m_bOnOff = value
' se abilitato, eseguo operazione
If m_SendCmd Then
Map.refProjectVM.SetLastInteger(Id)
If value Then
Map.refProjectVM.ExecuteCommand(Controller.CMD.SHOW)
Else
Map.refProjectVM.ExecuteCommand(Controller.CMD.HIDE)
End If
End If
End If
End Set
End Property
Private m_bHidden As Boolean = False
Public ReadOnly Property IsHidden As Visibility
Get
Return If(m_bHidden, Visibility.Hidden, Visibility.Visible)
End Get
End Property
Public Sub SetHidden(bVal As Boolean)
If bVal <> m_bHidden Then
m_bHidden = bVal
NotifyPropertyChanged("IsHidden")
End If
End Sub
Private m_sPictureString As String
Public Property PictureString As String
Get
Return m_sPictureString
End Get
Set(value As String)
If value <> m_sPictureString Then
m_sPictureString = value
NotifyPropertyChanged("PictureString")
End If
End Set
End Property
Private m_LayerColor As SolidColorBrush
Public Property LayerColor As SolidColorBrush
Get
Return m_LayerColor
End Get
Set(value As SolidColorBrush)
m_LayerColor = value
End Set
End Property
Sub New(Id As Integer, Name As String, Image As String, CurrColor As Color3d)
MyBase.New(Name)
Me.m_Id = Id
Me.PictureString = Image
Me.LayerColor = New SolidColorBrush(Color.FromArgb(CByte(CurrColor.A * 255 / 100), CByte(CurrColor.R), CByte(CurrColor.G), CByte(CurrColor.B)))
End Sub
Sub New(Id As Integer, Name As String)
MyBase.New(Name)
End Sub
End Class