protected void OnAddBtnClicked(object sender, EventArgs e) { object model = Activator.CreateInstance(selectedModel); NodeDialog addDialog = new NodeDialog(model); if (addDialog.Run() == (int)ResponseType.Ok && !string.IsNullOrEmpty(model.ToString())) { //adding node to drawing area Type[] typeArgs = { selectedModel }; Type nodeType = typeof(Node <>); Type constructedNodeType = nodeType.MakeGenericType(typeArgs); object node = Activator.CreateInstance(constructedNodeType, model); NodeVisualization mvo = new NodeVisualization(node); mvpanel1.AddNode(mvo, 10, 10); } addDialog.Destroy(); }
private void AddNode_Canvas(string name) { NodeVisualization <City> new_node = new NodeVisualization <City>(name); //Console.WriteLine("v_node: " + new_node); visualized_nodes.Add(new_node); //Console.WriteLine("updateCanvas, ile nodow: "+ visualized_nodes.Count); Canvas.SetTop(new_node.ellipse, new_node.y); Canvas.SetLeft(new_node.ellipse, new_node.x); new_node.ellipse.Name = new_node.name; new_node.ellipse.MouseUp += ellipse_MouseDown; new_node.ellipse.MouseMove += ellipse_MouseMove; new_node.ellipse.MouseEnter += ellipse_MouseEnter; new_node.ellipse.MouseLeave += ellipse_MouseLeave; canvas.Children.Add(new_node.ellipse); ContextMenu cm = this.FindResource("cmNode") as ContextMenu; new_node.ellipse.ContextMenu = cm; }
public void Draw(DefinitionNode[] definitionNodes, Transformer transform) { var nodeVisualization = new NodeVisualization(definitionNodes, transform) { Nodes = definitionNodes.Select((node, i) => i) }; var random = new Random(definitionNodes.Length); var color = new ColorRgba(random.Next()); nodeVisualization.Color = color; var renderer = new MockupRenderer(); nodeVisualization.Draw(renderer); Assert.Equal(definitionNodes.Length, renderer.FillCircleCalls.Count); for (int i = 0; i < definitionNodes.Length; i++) { Assert.Equal(definitionNodes[i].Position, transform.ToLocal(renderer.FillCircleCalls[i].position)); Assert.Equal(transform.Scale.X * 0.25f, renderer.FillCircleCalls[i].radius); Assert.Equal(color, renderer.FillCircleCalls[i].color); } }