Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Private Sub AddUndoRedoItem(ByVal command As UndoRedoCommand, ByVal [event] As UndoRedoTextBoxEvent,
- ByVal data As Object, ByVal lastData As Object)
- Console.WriteLine()
- Console.WriteLine("command:" & command.ToString)
- Console.WriteLine("last command:" & lastCommand.ToString)
- Console.WriteLine("can undo:" & Me.CanUndo)
- Console.WriteLine("can redo:" & Me.CanRedo)
- Console.WriteLine("is undoing:" & Me.isUndoingB)
- Console.WriteLine("is redoing:" & Me.isRedoingB)
- Console.WriteLine("data:" & data.ToString)
- Console.WriteLine("last data:" & lastData.ToString)
- ' MsgBox(command.ToString)
- Dim undoRedoData As Object = Nothing
- Me.lastCommand = command
- Select Case command
- Case UndoRedoCommand.Undo
- ' If (Me.lastCommand = UndoRedoCommand.Redo) Then
- ' MsgBox("")
- ' End If
- If (Me.isUndoingB) Then
- Exit Select
- End If
- If (Me.CanRedo) AndAlso (Me.IsRedoing) Then
- ' Exit Select
- End If
- 'If (Me.CanUndo) AndAlso (Me.CanRedo) AndAlso Not (Me.IsRedoing) Then
- ' Dim redoItem As KeyValuePair(Of UndoRedoTextBoxEvent, Object) = Me.redoStack.Peek
- ' If (redoItem.Key = [event]) AndAlso (Me.undoStack.Peek.Value.Equals(lastData)) Then
- ' MsgBox("undo1")
- ' Me.redoStack.Clear()
- ' Exit Sub
- ' End If
- 'End If
- 'Select Case (Me.CanRedo)
- ' Case True
- ' If (Me.redoStack.Peek.Key = [event]) Then
- ' If (Me.CanUndo) AndAlso (Me.redoStack.Peek.Value.Equals(Me.undoStack.Peek.Value)) Then
- ' Me.undoStack.Clear()
- ' undoRedoData = Me.redoStack.Peek.Value
- ' Else
- ' undoRedoData = lastData
- ' End If
- ' End If
- ' Case Else
- ' MsgBox("")
- undoRedoData = lastData
- 'End Select
- Me.undoStack.Push(New KeyValuePair(Of UndoRedoTextBoxEvent, Object)([event], undoRedoData))
- Case UndoRedoCommand.Redo
- If (Me.isRedoingB) Then
- Exit Select
- End If
- If (Me.CanRedo) AndAlso (Me.CanUndo) AndAlso (Me.IsUndoing) Then
- Dim undoItem As KeyValuePair(Of UndoRedoTextBoxEvent, Object) = Me.undoStack.Peek
- If (undoItem.Key = [event]) AndAlso (undoItem.Value.Equals(lastData)) Then
- ' MsgBox("h")
- 'Me.undoStack.Push(New KeyValuePair(Of UndoRedoTextBoxEvent, Object)([event], undoItem.Value))
- ' Me.redoStack.Clear()
- 'Exit Sub
- End If
- End If
- 'If (Me.CanRedo) AndAlso (Me.CanUndo) AndAlso Not (Me.IsUndoing) Then
- ' Dim undoItem As KeyValuePair(Of UndoRedoTextBoxEvent, Object) = Me.undoStack.Peek
- ' If (undoItem.Key = [event]) AndAlso Not (undoItem.Value.Equals(data)) Then
- ' Me.undoStack.Push(New KeyValuePair(Of UndoRedoTextBoxEvent, Object)([event], undoItem.Value))
- ' Me.redoStack.Clear()
- ' Exit Sub
- ' End If
- 'End If
- 'Select Case (Me.CanUndo)
- ' Case True
- ' If (Me.undoStack.Peek.Key = [event]) Then
- ' If (Me.CanRedo) AndAlso Not (Me.undoStack.Peek.Value.Equals(data)) Then
- ' undoRedoData = data
- ' Else
- ' Me.redoStack.Clear()
- ' undoRedoData = data
- ' End If
- ' End If
- ' Case Else
- undoRedoData = lastData
- 'End Select
- Me.redoStack.Push(New KeyValuePair(Of UndoRedoTextBoxEvent, Object)([event], undoRedoData))
- End Select
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment