/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void OnVertexSelected(object sender, VertexSelectedEventArgs args) { // Toggle and append selection occurs in area selection only. No need to worry about it here var control = args.VertexControl; var vertex = args.VertexControl.Vertex as VertexBase; if (args.MouseArgs.LeftButton == MouseButtonState.Pressed) { // Is this a new selection and/or a toggle selection? if (!selected_vertices_.Contains(vertex)) { ClearSelection(); // User is only selecting one vertex SelectVertex(control, false); } last_vertex_control_ = control; //last_vertex_position_.X = last_vertex_control_.GetPosition().X; //last_vertex_position_.Y = last_vertex_control_.GetPosition().Y; var position = zoom_control_.TranslatePoint(args.MouseArgs.GetPosition(zoom_control_), graph_area_); last_vertex_position_.X = position.X; last_vertex_position_.Y = position.Y; } }
private void ZoomControlMouseMove(object sender, MouseEventArgs e) { if (edgeBlueprint == null) { return; } var position = zoomControl.TranslatePoint(e.GetPosition(zoomControl), graphArea); position.Offset(2, 2); edgeBlueprint.UpdateTargetPosition(position); }
void _zoomControl_MouseMove(object sender, System.Windows.Input.MouseEventArgs e) { if (_edgeBp == null) { return; } var pos = _zoomControl.TranslatePoint(e.GetPosition(_zoomControl), _graphArea); pos.Offset(2, 2); _edgeBp.UpdateTargetPosition(pos); }
private void OnGiveFeedback(object sender, GiveFeedbackEventArgs e) { if (LinkPreviewBehavior.LinkPreview == null) { return; } // TODO cached this maybe. not efficient here GraphAreaBase graphArea = AssociatedObject.FindVisualParentOfType <GraphAreaBase>(); ZoomControl zoomControl = graphArea.FindVisualParentOfType <ZoomControl>(); Vector halfsize = new Vector((double)(e.OriginalSource as UIElement).GetValue(FrameworkElement.WidthProperty) / 2.0, (double)(e.OriginalSource as UIElement).GetValue(FrameworkElement.HeightProperty) / 2.0); LinkPreviewBehavior.LinkPreview.SetCurrentValue(UIElement.IsEnabledProperty, true); LinkPreviewBehavior.LinkPreview.Start = (e.OriginalSource as UIElement).TranslatePoint(new Point(0, 0), graphArea) + halfsize; LinkPreviewBehavior.LinkPreview.End = zoomControl.TranslatePoint(MouseHelper.GetMousePosition(zoomControl), graphArea); }