Exemplo n.º 1
0
        /// <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;
                }
            }
        }
Exemplo n.º 2
0
        /// <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;
                }
            }
        }