Пример #1
0
    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();
    }
Пример #2
0
        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);
            }
        }