136 lines
3.6 KiB
VB.net
136 lines
3.6 KiB
VB.net
Imports UTS_Core.Undo
|
|
|
|
Namespace UTSModule.Station
|
|
Public Class RowNodeCommand
|
|
Implements ICommand
|
|
|
|
Private ReadOnly _row As Integer
|
|
Private ReadOnly _rowNode As RowNode
|
|
|
|
|
|
Sub New(rowNode As RowNode, row As Integer, redoString As String)
|
|
_row = row
|
|
_rowNode = rowNode
|
|
|
|
End Sub
|
|
|
|
Public Sub Redo() Implements ICommand.Redo
|
|
|
|
End Sub
|
|
|
|
Public Sub Undo() Implements ICommand.Undo
|
|
|
|
End Sub
|
|
|
|
Public Sub Execute() Implements ICommand.Execute
|
|
Redo()
|
|
End Sub
|
|
End Class
|
|
|
|
|
|
Public Class RowNodeCommand2
|
|
Implements ICommand
|
|
|
|
Enum ChangeType
|
|
Add
|
|
Remove
|
|
Insert
|
|
RemoveChildAt
|
|
RemoveChildNode
|
|
MoveUp
|
|
MoveDown
|
|
MoveLeft
|
|
MoveRight
|
|
TextChanged
|
|
End Enum
|
|
|
|
Private _parentNode As RowNode
|
|
Private _rowNode As RowNode
|
|
Private _index As Integer '增加节点的位置
|
|
Private _type As ChangeType '当前操作的类型
|
|
|
|
Sub New(parentNode As RowNode, rowNode As RowNode, type As ChangeType, Optional index As Integer = 0)
|
|
_parentNode = parentNode
|
|
_rowNode = rowNode
|
|
_index = index
|
|
_type = type
|
|
End Sub
|
|
|
|
Public Sub Execute() Implements ICommand.Execute
|
|
Redo()
|
|
End Sub
|
|
|
|
Public Sub Redo() Implements ICommand.Redo
|
|
Select Case _type
|
|
Case ChangeType.Add
|
|
_parentNode.AddNode(_rowNode)
|
|
_index = _rowNode.RowIndex
|
|
|
|
Case ChangeType.Insert
|
|
_parentNode.InsertNode(_index, _rowNode)
|
|
|
|
Case ChangeType.Remove
|
|
_index = _rowNode.RowIndex
|
|
_parentNode.RemoveChildNode(_rowNode)
|
|
|
|
Case ChangeType.RemoveChildAt
|
|
_index = _rowNode.RowIndex
|
|
_parentNode.RemoveChildAt(_index)
|
|
|
|
Case ChangeType.RemoveChildNode
|
|
_index = _rowNode.RowIndex
|
|
_parentNode.RemoveChildNode(_rowNode)
|
|
|
|
|
|
Case ChangeType.MoveUp
|
|
_rowNode.MoveUp()
|
|
|
|
Case ChangeType.MoveDown
|
|
_rowNode.MoveDown()
|
|
|
|
Case ChangeType.MoveLeft
|
|
_rowNode.MoveLeft()
|
|
|
|
Case ChangeType.MoveRight
|
|
_rowNode.MoveRight()
|
|
|
|
Case ChangeType.TextChanged
|
|
|
|
End Select
|
|
End Sub
|
|
|
|
Public Sub Undo() Implements ICommand.Undo
|
|
Select Case _type
|
|
Case ChangeType.Add
|
|
_parentNode.RemoveChildNode(_rowNode)
|
|
|
|
Case ChangeType.Insert
|
|
_parentNode.RemoveChildAt(_index)
|
|
|
|
Case ChangeType.Remove
|
|
_parentNode.InsertNode(_index, _rowNode)
|
|
|
|
Case ChangeType.RemoveChildAt
|
|
_parentNode.InsertNode(_index, _rowNode)
|
|
|
|
Case ChangeType.RemoveChildNode
|
|
_parentNode.InsertNode(_index, _rowNode)
|
|
|
|
Case ChangeType.MoveUp
|
|
_rowNode.MoveDown()
|
|
|
|
Case ChangeType.MoveDown
|
|
_rowNode.MoveUp()
|
|
|
|
Case ChangeType.MoveLeft
|
|
_rowNode.MoveRight()
|
|
|
|
Case ChangeType.MoveRight
|
|
_rowNode.MoveLeft()
|
|
|
|
Case ChangeType.TextChanged
|
|
|
|
End Select
|
|
End Sub
|
|
End Class
|
|
End Namespace |