示例#1
0
 public override void OnMouseDown(DrawArea drawArea, MouseEventArgs e)
 {
     Point p = drawArea.BackTrackMouse(new Point(e.X, e.Y));
     drawArea.PasteTemplateObject(template);
     CommandPaste command = new CommandPaste(drawArea.TheLayers);
     drawArea.AddCommandToHistory(command);
 }
示例#2
0
        private void MainForm_KeyDown(object sender, KeyEventArgs e)
        {
            int activeLayerIndex = drawArea.TheLayers.ActiveLayerIndex;

            if (e.Control && e.KeyCode == Keys.C)
            {
                //List<DrawObject> o = new List<DrawObject>();

                //for (int i = drawArea.TheLayers[activeLayerIndex].Graphics.Count - 1; i >= 0; i--)
                //{
                //    if (drawArea.TheLayers[activeLayerIndex].Graphics[i].Selected)
                //    {
                //        o.Add(drawArea.TheLayers[activeLayerIndex].Graphics[i].Clone());
                //    }
                //}
                //drawArea.PrepareCopyObjectList = o;
                //if (drawArea.PrepareHitProject == null && drawArea.PrepareCopyObjectList.Count == 0)
                //{
                //    drawArea.TheLayers[activeLayerIndex].Graphics.UnselectAll();
                //}
                drawArea.PrepareCopyObjectList = drawArea.TheLayers.ActiveLayer.Graphics.Selection;
                drawArea.CopyObject();
                Refresh();
            }
            else if (e.Control && e.KeyCode == Keys.A)
            {
                drawArea.TheLayers[activeLayerIndex].Graphics.SelectAll();
                drawArea.Refresh();
            }
            else if (e.Control && e.KeyCode == Keys.V)
            {
                drawArea.PasteObject();
                CommandPaste command = new CommandPaste(drawArea.TheLayers);
                drawArea.AddCommandToHistory(command);
                //drawArea.TheLayers[activeLayerIndex].Graphics.UnselectAll();
            }
            else
            {
                switch (e.KeyCode)
                {
                    case Keys.Delete:
                        CommandDelete command = new CommandDelete(drawArea.TheLayers);

                        if (drawArea.TheLayers[activeLayerIndex].Graphics.DeleteSelection())
                        {
                            drawArea.SetDirty();
                            drawArea.Refresh();
                            drawArea.AddCommandToHistory(command);
                        }
                        break;
                    case Keys.Right:
                        drawArea.PanX -= 10;
                        drawArea.Invalidate();
                        break;
                    case Keys.Left:
                        drawArea.PanX += 10;
                        drawArea.Invalidate();
                        break;
                    case Keys.Up:
                        if (e.KeyCode == Keys.Up &&
                            e.Shift)
                            AdjustZoom(.1f);
                        else
                            drawArea.PanY += 10;
                        drawArea.Invalidate();
                        break;
                    case Keys.Down:
                        if (e.KeyCode == Keys.Down &&
                            e.Shift)
                            AdjustZoom(-.1f);
                        else
                            drawArea.PanY -= 10;
                        drawArea.Invalidate();
                        break;
                    case Keys.ControlKey:
                        _controlKey = true;
                        break;
                    default:
                        break;
                }
            }
            drawArea.Invalidate();
            SetStateOfControls();
        }
示例#3
0
 private void CommandPaste()
 {
     if (drawArea.FormalCopyObjectList != null && drawArea.FormalCopyObjectList.Count != 0)
     {
         drawArea.PasteObject();
         CommandPaste command = new CommandPaste(drawArea.TheLayers);
         drawArea.AddCommandToHistory(command);
         //drawArea.TheLayers[drawArea.TheLayers.ActiveLayerIndex].Graphics.UnselectAll();
     }
 }