示例#1
0
        public void Click(SpaceDiagram d, MouseEventArgs e)
        {
            if (_isMoved == false)
            {
                if (d.selectedModels.Contains(d.hoverModel))
                {
                    d.selectedModels.Remove(d.hoverModel);
                    d.hoverModel.select.Switch();
                }
                else
                {
                    d.selectedModels.Add(d.hoverModel);
                    d.hoverModel.select.Switch();
                }

                if (d.selectedModels.Count > 2)
                {
                    d.selectedModels[0].select.Switch();
                    d.selectedModels.RemoveAt(0);
                }

                d.ChangedSelectedModels();
                d.ChangeState(new HoverSpaceState());
            }
        }
示例#2
0
        public void Move(SpaceDiagram d, MouseEventArgs e)
        {
            if (d.hoverModel.СhangeHover(e.Location))
            {
                return;
            }

            d.hoverModel = null;

            if (d.selectedModels.Count == 0)
            {
                d.ChangeState(new IdleSpaceState());
            }
            else
            {
                d.ChangeState(new SelectedSpaceState());
            }
        }
示例#3
0
        public void Up(SpaceDiagram d, MouseEventArgs e)
        {
            if (_isMoved == false)
            {
                return;
            }
            d.movingModel.move.Stop(e.Location);
            d.movingModel = null;

            if (d.selectedModels.Count == 0)
            {
                d.ChangeState(new HoverSpaceState());
            }
            else
            {
                d.ChangeState(new SelectedSpaceState());
            }
        }
示例#4
0
        public void Move(SpaceDiagram d, MouseEventArgs e)
        {
            if (_isDown)
            {
                _save.Down(e.Location);
                d.movingModel = _save;
                d.ChangeState(new MovingSpaceState());
            }

            foreach (var m in d.models)
            {
                if (m.СhangeHover(e.Location))
                {
                    d.hoverModel = m;
                    d.ChangeState(new HoverSpaceState());
                    return;
                }
            }
        }
示例#5
0
 public void Down(SpaceDiagram d, MouseEventArgs e)
 {
     foreach (var m in d.models)
     {
         if (m.Down(e.Location))
         {
             d.movingModel = m;
             d.ChangeState(new MovingSpaceState());
         }
     }
 }
示例#6
0
 public void Move(SpaceDiagram d, MouseEventArgs e)
 {
     foreach (var m in d.models)
     {
         if (m.СhangeHover(e.Location))
         {
             d.hoverModel = m;
             d.ChangeState(new HoverSpaceState());
             return;
         }
     }
 }