public static ICanvasSelectableObject CanvasFromDrawableObject(IBlackboardObject drawable) { ICanvasDrawableObject d = CanvasFromDrawableObjectRegistry.CanvasFromDrawableObject(drawable); d.IDrawableObject = drawable; return(d); }
public static ICanvasSelectableObject CanvasFromDrawableObject(IBlackboardObject drawable) { string objecttype = String.Format("LongoMatch.Drawing.CanvasObjects.Blackboard.{0}Object", drawable.GetType().ToString().Split('.').Last()); ObjectHandle handle = Activator.CreateInstance(null, objecttype); ICanvasDrawableObject d = (ICanvasDrawableObject)handle.Unwrap(); d.IDrawableObject = drawable; return(d); }
/// <summary> /// Deletes the current selection from the frame drawing. /// </summary> public void DeleteSelection() { foreach (Selection s in Selections.ToList()) { UpdateSelection(s, false); ICanvasDrawableObject o = (ICanvasDrawableObject)s.Drawable; drawing.Drawables.Remove((Drawable)o.IDrawableObject); RemoveObject(o); } UpdateCounters(); widget?.ReDraw(); }
public void MoveToFront() { foreach (var selection in Selections) { ICanvasDrawableObject canvasDrawableObject = (ICanvasDrawableObject)selection.Drawable; var drawable = (Drawable)canvasDrawableObject.IDrawableObject; Objects.Remove(canvasDrawableObject); drawing.Drawables.Remove(drawable); Objects.Add(canvasDrawableObject); drawing.Drawables.Add(drawable); } widget.ReDraw(); }
public void Paste() { if (copiedItems != null && copiedItems.Count > 0) { var selectionsCopy = Selections.ToList(); ClearSelection(); foreach (Selection sel in selectionsCopy) { ICanvasDrawableObject selectionDrawable = sel.Drawable as ICanvasDrawableObject; if (selectionDrawable == null) { continue; } var copy = (Drawable)(selectionDrawable.IDrawableObject).Clone(); copy.Move(SelectionPosition.All, new Point(copy.Area.TopLeft.X + 20, copy.Area.TopLeft.Y + 20), new Point(copy.Area.TopLeft.X, copy.Area.TopLeft.Y)); drawing.Drawables.Add(copy); ICanvasSelectableObject copyView = Add(copy); UpdateSelection(new Selection(copyView, sel.Position, sel.Accuracy), false); } SelectionChanged(Selections); widget?.ReDraw(); } }