public void ChangingMarkedObjectStatus(IRxObject obj) { if (obj.Marked) { //MarkedObjects.Add(obj); if (obj.IRxType() == IRxObjectType.Node) { decorateMarkedNode(obj as Node); } else if (obj.IRxType() == IRxObjectType.Edge) { //obj.invalidate(); decorateMarkedEdge(obj as Edge); } else // NodeBox { decorateMarkedNodeBox(obj as NodeBox); } } else { //MarkedObjects.Remove(obj); undecorateObject(obj); } }
HitTestResultBehavior MyHitTestResultCallbackWithNoCallbacksToTheUser_fore(HitTestResult result) { var frameworkElement = result.VisualHit as FrameworkElement; if (frameworkElement == null) { return(HitTestResultBehavior.Continue); } var innerCanvas = frameworkElement.Parent as Canvas; if (innerCanvas != null) { if (innerCanvas.Tag != null) { var obj = innerCanvas.Tag as IRxObject; _objectOnHitTest = obj; return(HitTestResultBehavior.Stop); } } return(HitTestResultBehavior.Continue); }
public void undecorateObject(IRxObject obj) { if (!markedObjectDecorator.Contains(obj)) { return; } markedObjectDecorator.Remove(obj); switch (obj.IRxType()) { case IRxObjectType.Edge: break; case IRxObjectType.Node: (obj as Node).borderStrokeThickness /= 2; break; case IRxObjectType.NodeBox: (obj as NodeBox).borderStrokeThickness /= 2; break; } obj.invalidate(); }
public IRxObject getPointObject(Point p, ISet <IRxObject> exceptSet) { _objectOnHitTest = null; UpdateWithWpfHitObjectUnderMouseOnLocation(p, MyHitTestResultCallbackWithNoCallbacksToTheUser_fore, exceptSet); return(_objectOnHitTest); }
private void removeIRxObject(IRxObject obj) { objDict.Remove(obj.objId); MapCanvas.Children.Remove(obj.FE); }