public void GetFromClipboard() { IDataObject dataObj = Clipboard.GetDataObject(); List <My_Figure> pasted_figures = new List <My_Figure>(); if (dataObj.GetDataPresent(typeof(byte[]))) { byte[] data = dataObj.GetData(typeof(byte[])) as byte[]; pasted_figures = My_Picture.Deserialize(data); if (pasted_figures == null) { return; } } foreach (My_Figure figure in pasted_figures) { figure.Core = this; picture.FigureList.Add(figure); SelectedFigures.Add(figure); if (figure is My_Port) { (figure as My_Port).TextLabel.Core = this; } } AddToHistory(); form.Invalidate(); }
public void CreateNewPie() { My_Pie pie = new My_Pie(this); UnselectAll(); SelectedFigure = pie; SelectedFigures.Add(pie); picture.FigureList.Add(pie); Lock = true; }
public void CreateNewArc() { My_Arc arc = new My_Arc(this); UnselectAll(); SelectedFigure = arc; SelectedFigures.Add(arc); picture.FigureList.Add(arc); Lock = true; }
public void CreateNewText() { My_Text text = new My_Text(this); UnselectAll(); SelectedFigure = text; SelectedFigures.Add(text); picture.FigureList.Add(text); Lock = true; }
public void CreateNewEllipse() { My_Ellipse ellipse = new My_Ellipse(this); UnselectAll(); SelectedFigure = ellipse; SelectedFigures.Add(ellipse); picture.FigureList.Add(ellipse); Lock = true; }
public void CreateNewCurve() { My_Curve curve = new My_Curve(this); UnselectAll(); SelectedFigure = curve; SelectedFigures.Add(curve); picture.FigureList.Add(curve); Lock = true; }
public void CreateNewPath() { My_Path path = new My_Path(this); UnselectAll(); SelectedFigure = path; SelectedFigures.Add(path); picture.FigureList.Add(path); Lock = true; }
public void CreateNewSplineBezier() { My_SplineBezier spline = new My_SplineBezier(this); UnselectAll(); SelectedFigure = spline; SelectedFigures.Add(spline); picture.FigureList.Add(spline); Lock = true; }
public void CreateNewPolygon() { My_Polygon polygon = new My_Polygon(this); UnselectAll(); SelectedFigure = polygon; SelectedFigures.Add(polygon); picture.FigureList.Add(polygon); Lock = true; }
public void CreateNewLine() { My_Line line = new My_Line(this); UnselectAll(); SelectedFigure = line; SelectedFigures.Add(line); picture.FigureList.Add(line); Lock = true; }
public void CreateNewPort(My_Port.PortType type, bool Inverse) { My_Port p = new My_Port(this, type, Inverse); UnselectAll(); SelectedFigure = p; SelectedFigures.Add(p); picture.FigureList.Add(p); Lock = true; }
public void CreateNewPolyline() { My_Polyline polyline = new My_Polyline(this); UnselectAll(); SelectedFigure = polyline; SelectedFigures.Add(polyline); picture.FigureList.Add(polyline); Lock = true; }
public void CreateNewRectangle() { My_Rectangle rectangle = new My_Rectangle(this); UnselectAll(); SelectedFigure = rectangle; SelectedFigures.Add(rectangle); picture.FigureList.Add(rectangle); Lock = true; }
public void SelectAll() { SelectedFigures.Clear(); SelectedFigure = null; foreach (My_Figure fig in picture.FigureList) { SelectedFigures.Add(fig); fig.selected = true; } }
public void CreateNewImage(string filename) { Bitmap bitmap = Bitmap.FromFile(filename) as Bitmap; My_Image img = new My_Image(this, bitmap); UnselectAll(); SelectedFigure = img; SelectedFigures.Add(img); picture.FigureList.Add(img); Lock = true; }
public void LoadTmpFigure() { SelectedFigures.Clear(); foreach (IFigure figure in TmpFigures) { WriteLogs(null, false); var copyFigure = Activator.CreateInstance(Type.GetType(figure.GetType().FullName), figure); WriteLogs((IFigure)copyFigure, true); SelectedFigures.Add((IFigure)copyFigure); } Figures.AddRange(SelectedFigures); UpdPicture(); }
/// <summary> /// Обработки отпускания мышки /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (_isDraggingSelectionRect) { //Выборка закончилась _isDraggingSelectionRect = false; SelectFiguresInRect(); _isFigurePicked = true; if (_isSelectionEmpty) { _isFigurePicked = false; SelectedFigures.Clear(); _selectedFigure = null; _isSelectionEmpty = false; } } if (_isMouseDown) { if (!IsItMoving(_originalMouseDownPoint, e.Location)) { if (IsPointOnFigure(e.Location)) { SelectedFigures.Clear(); _selectedFigure = _presenter.GetFigures() [GetFigurePointOn(e.Location)]; int index = GetFigurePointOn(e.Location); SelectedFigures.Add(index, _presenter.GetFigures()[index]); _isFigurePicked = true; } else { SelectedFigures.Clear(); _selectedFigure = null; _isFigurePicked = false; } } _isMouseDown = false; } } Canvas.Refresh(); }