Пример #1
0
 private static void AddElementTagForEachInputType(ElementTag elementTag, ArrayList uniqueElementTags)
 {
     string[] inputtypes = elementTag.InputTypes.Split(" ".ToCharArray());
     foreach (string inputtype in inputtypes)
     {
         ElementTag inputtypeElementTag = new ElementTag(elementTag.TagName, inputtype);
         uniqueElementTags.Add(inputtypeElementTag);
     }
 }
Пример #2
0
        private static NativeElementBasedFactory GetNativeElementBasedFactory(ElementTag tag)
        {
            Type elementType;

            if (elementTypeByTag.TryGetValue(tag, out elementType))
            {
                return(nativeElementBasedFactoriesByType[elementType]);
            }

            return(CreateUntypedElement);
        }
Пример #3
0
 private static void AddElementTag(ElementTag elementTag, ArrayList uniqueElementTags)
 {
     if (elementTag.IsInputElement)
     {
         AddElementTagForEachInputType(elementTag, uniqueElementTags);
     }
     else
     {
         uniqueElementTags.Add(elementTag);
     }
 }
Пример #4
0
        /// <summary>
        /// Creates a typed element wrapper for a given native element.
        /// </summary>
        /// <remarks>
        /// <para>
        /// The returned element will be a subclass of <see cref="Element" /> that is
        /// appropriate for element's tag.
        /// </para>
        /// </remarks>
        /// <param name="domContainer">The element's DOM container</param>
        /// <param name="nativeElement">The native element to wrap, or null if none</param>
        /// <returns>The typed element, or null if none</returns>
        public static Element CreateElement(DomContainer domContainer, INativeElement nativeElement)
        {
            if (nativeElement == null)
            {
                return(null);
            }

            var elementTag = ElementTag.FromNativeElement(nativeElement);
            var factory    = GetNativeElementBasedFactory(elementTag);

            return(factory(domContainer, nativeElement));
        }
Пример #5
0
		public static Element CreateTypedElement(DomContainer domContainer, INativeElement ieNativeElement)
		{
			if (ieNativeElement == null) return null;

			if (_elementConstructors == null)
			{
				_elementConstructors = CreateElementConstructorHashTable();
			}

			ElementTag elementTag = new ElementTag(ieNativeElement);
            Element returnElement = GetDefaultReturnElement(domContainer, ieNativeElement);

		    if (_elementConstructors.Contains(elementTag))
			{
				ConstructorInfo constructorInfo = (ConstructorInfo)_elementConstructors[elementTag];
				return (Element)constructorInfo.Invoke(new object[] { returnElement });
			}

			return returnElement;
		}
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            ElementTag elementTag = obj as ElementTag;

            if (elementTag == null)
            {
                return(false);
            }
            if (!Equals(TagName, elementTag.TagName))
            {
                return(false);
            }
            if (!Equals(InputTypes, elementTag.InputTypes))
            {
                return(false);
            }
            return(true);
        }
Пример #7
0
        public static Element CreateTypedElement(DomContainer domContainer, INativeElement ieNativeElement)
        {
            if (ieNativeElement == null)
            {
                return(null);
            }

            if (_elementConstructors == null)
            {
                _elementConstructors = CreateElementConstructorHashTable();
            }

            ElementTag elementTag    = new ElementTag(ieNativeElement);
            Element    returnElement = GetDefaultReturnElement(domContainer, ieNativeElement);

            if (_elementConstructors.Contains(elementTag))
            {
                ConstructorInfo constructorInfo = (ConstructorInfo)_elementConstructors[elementTag];
                return((Element)constructorInfo.Invoke(new object[] { returnElement }));
            }

            return(returnElement);
        }
Пример #8
0
 /// <summary>
 /// Returns a string representation of the element tags.
 /// </summary>
 public string ElementTagsToString()
 {
     return(ElementTag.ElementTagsToString(ElementTags));
 }
Пример #9
0
 private bool IsMatchByTag(INativeElement nativeElement)
 {
     return(ElementTag.IsMatch(ElementTags, nativeElement));
 }
Пример #10
0
		private static void AddElementTagForEachInputType(ElementTag elementTag, ArrayList uniqueElementTags)
		{
			string[] inputtypes = elementTag.InputTypes.Split(" ".ToCharArray());
			foreach (string inputtype in inputtypes)
			{
				ElementTag inputtypeElementTag = new ElementTag(elementTag.TagName, inputtype);
				uniqueElementTags.Add(inputtypeElementTag);
			}
		}
Пример #11
0
		private static void AddElementTag(ElementTag elementTag, ArrayList uniqueElementTags)
		{
			if (elementTag.IsInputElement)
			{
				AddElementTagForEachInputType(elementTag, uniqueElementTags);
			}
			else
			{
				uniqueElementTags.Add(elementTag);
			}
		}
Пример #12
0
        private NativeElementFinder CreateElementFinder(Constraint findBy, string tagName, params string[] inputTypes)
        {
            var tags = ElementTag.ToElementTags(tagName, inputTypes);

            return(CreateElementFinder(findBy, tags));
        }
 public static IList <ElementTag> CreateTagList(INativeElement nativeElement)
 {
     return(new[] { ElementTag.FromNativeElement(nativeElement) });
 }
Пример #14
0
        private NativeElementFinder CreateElementFinder(Constraint findBy, string tagName, params string[] inputTypes)
        {
            var tags = ElementTag.ToElementTags(tagName, inputTypes);

            return(new NativeElementFinder(nativeElementCollectionFactory, domContainer, new List <ElementTag>(tags), findBy));
        }