Esempio n. 1
0
        public void contain_value()
        {
            var writer = XmlWriter.Create(new MemoryStream());
            var accept = new AcceptElement(null);

            Assert.Throws <AtomSpecificationViolationException>(() => accept.WriteXml(writer));
            writer.Close();
        }
Esempio n. 2
0
        IElement FindElementAt(PointF location, AcceptElement acceptElement)
        {
            foreach (var node in graphNodes)
            {
                var inputConnector = FindInputConnectorAt(node, location);
                if (inputConnector != null && acceptElement(inputConnector))
                    return inputConnector;

                var outputConnector = FindOutputConnectorAt(node, location);
                if (outputConnector != null && acceptElement(outputConnector))
                    return outputConnector;

                if (node.Bounds.Contains(location))
                {
                    var item = FindNodeItemAt(node, location);
                    if (item != null && acceptElement(item))
                        return item;
                    if (acceptElement(node))
                        return node;
                    else
                        return null;
                }
            }

            var skipConnections		= new HashSet<NodeConnection>();
            var foundConnections	= new List<NodeConnection>();
            foreach (var node in graphNodes)
            {
                foreach (var connection in node.connections)
                {
                    if (skipConnections.Add(connection)) // if we can add it, we haven't checked it yet
                    {
                        if (connection.bounds.Contains(location))
                            foundConnections.Insert(0, connection);
                    }
                }
            }
            foreach (var connection in foundConnections)
            {
                if (connection.textBounds.Contains(location) && acceptElement(connection))
                    return connection;
            }
            foreach (var connection in foundConnections)
            {
                using (var region = GraphRenderer.GetConnectionRegion(connection))
                {
                    if (region.IsVisible(location) && acceptElement(connection))
                        return connection;
                }
            }

            return null;
        }