Beispiel #1
0
        public static ICanvasSelectableObject CanvasFromDrawableObject(IBlackboardObject drawable)
        {
            ICanvasDrawableObject d = CanvasFromDrawableObjectRegistry.CanvasFromDrawableObject(drawable);

            d.IDrawableObject = drawable;
            return(d);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 /// <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();
 }
Beispiel #4
0
        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();
        }
Beispiel #5
0
 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();
     }
 }