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); }
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(); }
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(); } }