Exemplo n.º 1
0
        private void pDrawSpace_MouseMove(object sender, MouseEventArgs e)
        {
            x = e.X;
            y = e.Y;

            if (clickState == ClickStates.Move)
            {
                var nodeInfo = graph.NodeInfos[clickedNode];
                nodeInfo.X = x;
                nodeInfo.Y = y;
                draw();
                return;
            }

            var size = trackBarNodeSize.Value;

            selectedNode = null;
            selectedEdge = null;
            mouseOn      = NodesEdges.None;
            foreach (var node in graph.Nodes)
            {
                var nodeInfo = graph.NodeInfos[node];
                if (Math.Abs(nodeInfo.X - x) < size / 2 && Math.Abs(nodeInfo.Y - y) < size / 2 && selectedNode == null)
                {
                    mouseOn      = NodesEdges.Nodes;
                    selectedNode = node;
                }
            }

            foreach (var edge in graph.Edges)
            {
                var edgeInfo = graph.EdgeInfos[edge];
                if (pointOnEdge(x, y, edgeInfo) && mouseOn != NodesEdges.Nodes && selectedEdge == null)
                {
                    mouseOn      = NodesEdges.Edges;
                    selectedEdge = edge;
                }
            }

            draw();
        }
Exemplo n.º 2
0
 private void rbNodes_CheckedChanged(object sender, EventArgs e)
 {
     nodesEdgesState = NodesEdges.Nodes;
 }