/// <summary> /// 执行命令 /// </summary> /// <param name="p_parameter"></param> protected override void DoExecute(object p_parameter) { LineMoveCmdArgs args = p_parameter as LineMoveCmdArgs; SLine line = args.Line; if (args.NewNode == null) { line.UpdateAnThumbPos(args.IsHeadNode); _owner.SelectionClerk.SelectLine(line); _owner.DeleteSelection(); } else { if (args.IsHeadNode) { line.HeaderID = args.NewNode.ID; line.HeaderPort = args.NewPos; } else { line.TailID = args.NewNode.ID; line.TailPort = args.NewPos; } } }
/// <summary> /// 执行撤消 /// </summary> /// <param name="p_parameter"></param> protected override void DoUndo(object p_parameter) { LineMoveCmdArgs args = p_parameter as LineMoveCmdArgs; SLine line = args.Line; if (args.NewNode == null) { _owner.His.Undo(); } else { if (args.IsHeadNode) { line.HeaderID = args.OldNode.ID; line.HeaderPort = args.OldPos; } else { line.TailID = args.OldNode.ID; line.TailPort = args.OldPos; } } }