Beispiel #1
0
 private void AdjustRowReferencesForTree(int min)
 {
     for (int i = min; i < rows.Count; i++)
     {
         TreeItemElement element = rows [i] as TreeItemElement;
         if (element != null)
         {
             element.row = i;
         }
     }
 }
Beispiel #2
0
		private void SetParentCell ()
		{
			Relation [] relations = accessible.RelationSet;
			foreach (Relation relation in relations) {
				if (relation.Type == RelationType.NodeChildOf) {
					parentCell = Element.GetElement (relation.Targets [0]) as TreeItemElement;
					break;
				}
			}
			ancestors = new List<TreeItemElement> ();
			for (TreeItemElement ancestor = parentCell; ancestor != null; ancestor = ancestor.parentCell)
				ancestors.Add (ancestor);
		}
Beispiel #3
0
 internal static Element GetElement(Accessible accessible, TableElement parent, int row)
 {
     if (accessible == null)
     {
         return(null);
     }
     if (elements.ContainsKey(accessible))
     {
         return(elements [accessible]);
     }
     elements [accessible] = new TreeItemElement(accessible, parent, row);
     return(elements [accessible]);
 }
Beispiel #4
0
        internal TreeItemElement GetTreeItemElement(int row)
        {
            EnsureRowsSize(row);
            if (rows [row] != null)
            {
                return(rows [row] as TreeItemElement);
            }
            Accessible      cell = table.GetAccessibleAt(row, 0);
            TreeItemElement e    = Element.GetElement(cell, this, row) as TreeItemElement;

            rows [row] = e;
            return(e);
        }
Beispiel #5
0
 private void SetParentCell()
 {
     Relation [] relations = accessible.RelationSet;
     foreach (Relation relation in relations)
     {
         if (relation.Type == RelationType.NodeChildOf)
         {
             parentCell = Element.GetElement(relation.Targets [0]) as TreeItemElement;
             break;
         }
     }
     ancestors = new List <TreeItemElement> ();
     for (TreeItemElement ancestor = parentCell; ancestor != null; ancestor = ancestor.parentCell)
     {
         ancestors.Add(ancestor);
     }
 }
Beispiel #6
0
        internal static Element GetElement(Accessible accessible, bool create)
        {
            if (accessible == null)
            {
                return(null);
            }
            // We expose the children of Applications as top-level,
            // to be more like UIA
            if (accessible.Role == Role.Application)
            {
                return(null);
            }
            if (elements.ContainsKey(accessible))
            {
                return(elements [accessible]);
            }
            if (!create)
            {
                return(null);
            }
            Element element;

            if (IsTable(accessible))
            {
                element = new TableElement(accessible);
            }
            else if (IsTableHeaderItem(accessible))
            {
                element = new TableHeaderItemElement(accessible);
            }
            else if (IsTreeItem(accessible))
            {
                element = new TreeItemElement(accessible);
            }
            else
            {
                element = new Element(accessible);
            }
            return(element);
        }
Beispiel #7
0
		internal static Element GetElement (Accessible accessible, TableElement parent, int row)
		{
			if (accessible == null)
				return null;
			if (elements.ContainsKey (accessible))
				return elements [accessible];
			elements [accessible] = new TreeItemElement (accessible, parent, row);
			return elements [accessible];
		}
Beispiel #8
0
		internal static Element GetElement (Accessible accessible, bool create)
		{
			if (accessible == null)
				return null;
			// We expose the children of Applications as top-level,
			// to be more like UIA
			if (accessible.Role == Role.Application)
				return null;
			if (elements.ContainsKey (accessible))
			return elements [accessible];
			if (!create)
				return null;
			Element element;
			if (IsTable (accessible))
				element = new TableElement (accessible);
			else if (IsTableHeaderItem (accessible))
				element = new TableHeaderItemElement (accessible);
			else if (IsTreeItem (accessible))
				element = new TreeItemElement (accessible);
			else
				element = new Element (accessible);
			return element;
		}