示例#1
0
 private bool IsReadOnly()
 {
     if (!this.CanEdit)
     {
         MessageBoxHelper.ShowInformationMsg("只读状态不允许修改!");
         this._dragger = null;
     }
     return(CanEdit);
 }
示例#2
0
        protected void MouseDownInAComponent(Point thePoint)
        {
            SelectedLine.Clear();
            BaseComponent c = SelectedComponentContaining(thePoint);

            if (c == null)
            {
                return;
            }
            _myBounds = new Bounds();
            _myBounds.AddList(SelectedItems);
            _dragger = new Dragger(this, SelectedItems, thePoint, _myBounds);
        }
示例#3
0
        /// <summary>
        /// 鼠标键抬起时执行该函数.
        /// 由于连线可以拖动来画,所以鼠标抬起时表示可以画一条连线.
        /// 由于连线的折点可以改变位置,所以鼠标抬起时也可能是折点位置修改好了。
        /// 切换工具的工作模式, 然后判断橡皮圈是否圈选了某些节点,如果是,就把它们添加到SelectedItems中。
        /// </summary>
        /// <param name="e"></param>
        private void WorkPlace_MouseUp(object sender, MouseEventArgs e)
        {
            if (ToolModel == true)                              //工具模式下
            {
                if (this.Module == 0 && _isDrawingLine == true) //画线,终止点
                {
                    Point point = new Point(e.X - this.AutoScrollPosition.X, e.Y - this.AutoScrollPosition.Y);
                    foreach (BaseComponent c in TaskItems)
                    {
                        if (c.Contains(point))
                        {
                            _endTask = c;
                            if (_endTask != _startTask)
                            {
                                var l = new Link(_startTask, _endTask)
                                {
                                    flowGuid = this.WorkFlowId
                                };
                                LineItems.Add(l);
                                IsModify = true;
                                //添加Undo操作用的

                                //	his.OperationLineItem.Add(l);
                            }
                            this._isDrawingLine = false;
                            break;
                        }
                        else
                        {
                            _endTask            = null;
                            this._isDrawingLine = false;
                        }
                    }
                    this.Invalidate();
                }
                ToolModel = LockModel; //是否锁定,画多个任务节点
            }
            Point p = new Point(e.X - this.AutoScrollPosition.X, e.Y - this.AutoScrollPosition.Y);

            //折线
            if (this.SelectedLine.Count > 0 && this.CanEdit)
            {
                if (this.SelectedLine.Count > 0)
                {
                    //oldBreakPoint.Add(link.breakPoint);
                    if (this._isZhexian)
                    {
                        _link.breakPointX[_breakIndex] = p.X;
                        _link.breakPointY[_breakIndex] = p.Y;
                        this._breakIndex = -1;
                        this._isZhexian  = false;
                        IsModify         = true;
                    }
                    //this.OperationLineItem.Add(link);
                    //this.OperationType.Add(UndoType.Zhexian);
                    this.Invalidate();
                }
            }
            //拖拽
            if (_dragger != null)
            {
                if (this.CanEdit && !_dragger.location.Equals(p))
                {
                    _dragger.DragTo(p);
                    _dragger.End();
                    IsModify = true;
                }
                _dragger = null;
                return;
            }
            //橡皮圈选择区域时的鼠标释放
            if (_rubberband != null)
            {
                Rectangle rect = _rubberband.Bounds();
                _rubberband.End();
                _rubberband = null;
                foreach (BaseComponent c in TaskItems)
                {
                    if (rect.Contains(c.bounds))
                    {
                        SelectedItems.Add(c);
                    }
                }
                this.Invalidate();
            }
        }
示例#4
0
        private void SetTaskState(string buttonText)
        {
            switch (buttonText)
            {
            case "-1":
                WpClient.Module = -1;
                break;

            case "0":
                WpClient.Module = 0;
                break;

            case "1":
                WpClient.Module = 1;
                break;

            case "2":
                WpClient.Module = 2;
                break;

            case "3":
                WpClient.Module = 3;
                break;

            case "4":
                WpClient.Module = 4;
                break;

            case "5":
                WpClient.Module = 5;
                break;

            case "6":
                WpClient.Module = 6;
                break;

            case "left":
                var dragger = new Dragger(WpClient, WpClient.SelectedItems);
                dragger.Align(2);
                dragger         = null;
                WpClient.Module = -2;
                break;

            case "right":
                var dragger2 = new Dragger(WpClient, WpClient.SelectedItems);
                dragger2.Align(3);
                WpClient.Module = -2;

                break;

            case "top":
                var dragger3 = new Dragger(WpClient, WpClient.SelectedItems);
                dragger3.Align(1);
                WpClient.Module = -2;

                break;

            case "bottom":
                var dragger4 = new Dragger(WpClient, WpClient.SelectedItems);
                dragger4.Align(4);
                WpClient.Module = -2;
                break;

            case "exit":
                this.Close();
                break;

            case "save":
                WpClient.SaveWorkFlow();
                WpClient.Module = -2;
                break;
            }
        }