internal void OnEdgeMouseMove(EdgeControl edgeControl, PointerRoutedEventArgs e) { if (EdgeMouseMove != null) { EdgeMouseMove(this, new EdgeSelectedEventArgs(edgeControl, e)); } }
internal void OnEdgeDoubleClick(EdgeControl edgeControl, PointerRoutedEventArgs e) { if (EdgeDoubleClick != null) { EdgeDoubleClick(this, new EdgeSelectedEventArgs(edgeControl, e)); } }
internal virtual void OnEdgeSelected(EdgeControl ec, PointerRoutedEventArgs e) { if (EdgeSelected != null) { EdgeSelected(this, new EdgeSelectedEventArgs(ec, e)); } }
internal void OnEdgeMouseLeave(EdgeControl edgeControl, PointerRoutedEventArgs e) { if (EdgeMouseLeave != null) { EdgeMouseLeave(this, new EdgeSelectedEventArgs(edgeControl, e)); } if (MouseOverAnimation != null) { MouseOverAnimation.AnimateEdgeBackward(edgeControl); } }
private static void OnEdgeDragFinished(object sender, System.Windows.Input.MouseButtonEventArgs e) { EdgeControl edgeControl = sender as EdgeControl; if (edgeControl == null) { return; } GraphAreaBase graphAreaBase = edgeControl.RootArea; VertexControl vertexControl = graphAreaBase.GetVertexControlAt(e.GetPosition(graphAreaBase)); if (vertexControl != null) { edgeControl.Target = vertexControl; if (vertexControl.VertexConnectionPointsList.Count > 0) { IVertexConnectionPoint vertexConnectionPoint = vertexControl.GetConnectionPointAt(e.GetPosition(graphAreaBase)); var edge = edgeControl.Edge as IGraphXCommonEdge; if (vertexConnectionPoint != null) { edge.TargetConnectionPointId = vertexConnectionPoint.Id; } else { edge.TargetConnectionPointId = null; } } edgeControl.UpdateEdge(); var obj = (DependencyObject)sender; SetIsDragging(obj, false); //obj.ClearValue(OriginalMouseXProperty); //obj.ClearValue(OriginalMouseYProperty); //obj.ClearValue(OriginalXProperty); //obj.ClearValue(OriginalYProperty); var element = sender as IInputElement; if (element != null) { element.MouseMove -= OnVertexDragging; element.ReleaseMouseCapture(); } } }
private static void OnEdgeDragging(object sender, System.Windows.Input.MouseEventArgs e) { var obj = sender as DependencyObject; if (!GetIsDragging(obj)) { return; } EdgeControl edgeControl = sender as EdgeControl; edgeControl.PrepareEdgePathFromMousePointer(); e.Handled = true; }
public void Dispose() { _edgeControl = null; }
public void Dispose() { _edgeControl = null; }
private void CreateEdgeControl(VertexControl targetVertexControl) { if (sourceVertexControl == null) { editorManager.CreateVirtualEdge(targetVertexControl, targetVertexControl.GetPosition()); sourceVertexControl = targetVertexControl; HighlightBehaviour.SetHighlighted(sourceVertexControl, true); return; } if (Equals(sourceVertexControl, targetVertexControl)) { return; } var wordPrototype = viewModel.DataStructure.Elements.OfType<Word>().Single(); var addEdgeDialog = new AddEdgeWindow( new AddEdgeViewModel( wordPrototype.Attributes.Single( a => a.Name.Equals(CurrentConfiguration.Edge.LabelAttributeName)))); if (addEdgeDialog.ShowDialog().GetValueOrDefault()) { var edgeLabelText = string.Empty; var dataContext = addEdgeDialog.DataContext as AddEdgeViewModel; if (dataContext != null) { edgeLabelText = dataContext.Attributes.First().Value; } var sourceWordVertex = sourceVertexControl.Vertex as WordVertex; var targetWordVertex = targetVertexControl.Vertex as WordVertex; if ((sourceWordVertex == null) || (targetWordVertex == null)) { return; } targetWordVertex.WordWrapper.SetAttributeByName( CurrentConfiguration.Edge.SourceVertexAttributeName, sourceWordVertex.WordWrapper.GetAttributeByName(CurrentConfiguration.Edge.TargetVertexAttributeName)); targetWordVertex.WordWrapper.SetAttributeByName( CurrentConfiguration.Edge.LabelAttributeName, edgeLabelText); var data = new WordEdge((WordVertex)sourceVertexControl.Vertex, targetWordVertex) { Text = edgeLabelText }; var ec = new EdgeControl(sourceVertexControl, targetVertexControl, data); GgArea.InsertEdgeAndData(data, ec, 0, true); HighlightBehaviour.SetHighlighted(sourceVertexControl, false); sourceVertexControl = null; editorManager.DestroyVirtualEdge(); } viewModel.InvalidateCommands(); }