Beispiel #1
0
        public void Paste()
        {
            const int pasteStep = 20;

            _undo.Enabled = false;
            var iData  = Clipboard.GetDataObject();
            var format = DataFormats.GetFormat("Diagram.NET Element Collection");

            if (iData.GetDataPresent(format.Name))
            {
                IFormatter formatter = new BinaryFormatter();
                Stream     stream    = (MemoryStream)iData.GetData(format.Name);
                var        elCol     = (BaseElement[])formatter.Deserialize(stream);
                stream.Close();

                foreach (var el in elCol)
                {
                    el.Location = new Point(el.Location.X + pasteStep, el.Location.Y + pasteStep);
                }

                Document.AddElements(elCol);
                Document.ClearSelection();
                Document.SelectElements(elCol);
            }
            _undo.Enabled = true;

            AddUndo();
            EndGeneralAction();
        }
Beispiel #2
0
 private void EndSelectElements(Rectangle selectionRectangle)
 {
     Document.SelectElements(selectionRectangle);
 }