private void Node_MouseEnter(object sender, MouseEventArgs e) { ShowName = true; SelectOver = this; if (SelectOrigin != null) { if (((SelectOrigin.CanConnect(this) && !SelectOrigin.IsCircular(this)) || (CanConnect(SelectOrigin) && !IsCircular(SelectOrigin))) && !Node.Graph.ReadOnly) { Cursor = Cursors.Arrow; } else { Cursor = Cursors.No; } } else { Cursor = Cursors.Arrow; } }
private void UserControl_MouseDown(object sender, MouseButtonEventArgs e) { e.Handled = true; if (Node.Graph.ReadOnly) { return; } if (e.LeftButton == MouseButtonState.Pressed && !Keyboard.IsKeyDown(Key.LeftAlt) && !Keyboard.IsKeyDown(Key.RightAlt)) { if (SelectOrigin == this) { SelectOrigin = null; } else if (SelectOrigin != this && SelectOrigin != null) { if (Output != null && SelectOrigin.Output == null) { ConnectToNode(SelectOrigin); } else { SelectOrigin.ConnectToNode(this); } SelectOrigin = null; } else { SelectOrigin = this; } } else if (e.LeftButton == MouseButtonState.Pressed && (Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt))) { Dispose(); } }