Ejemplo n.º 1
0
        private static void findDescendant <T>(GuiComponentCollection Components, Func <T, bool> Property) where T : class
        {
            for (int i = 0; i < Components.Count; i++)
            {
                if (item != null)
                {
                    return;
                }
                var component = Components.ElementAt(i);


                var tComponent = component as T;
                if (tComponent != null && Property(tComponent))
                {
                    item = tComponent;
                }
                else if (component is GuiContainer)
                {
                    findDescendant <T>(((GuiContainer)component).Children, Property);
                }
                else if (component is GuiVContainer)
                {
                    findDescendant <T>(((GuiVContainer)component).Children, Property);
                }
            }
        }
Ejemplo n.º 2
0
 private static T findDescendantByPropertyTemplate <T>(GuiComponentCollection Components, Func <T, bool> Property) where T : class
 {
     lock (_lockObj) {
         item = null;
         findDescendant <T>(Components, Property);
         return(item as T);
     }
 }
Ejemplo n.º 3
0
        private static IEnumerable <T> findDescendantsByPropertyTemplate <T>(GuiComponentCollection Components, Func <T, bool> Property) where T : class
        {
            List <T> itemList = new List <T>();

            if (Property == null)
            {
                Property = new Func <T, bool>(t => true);
            }
            findDescendants <T>(Components, itemList, Property);
            return(itemList);
        }
Ejemplo n.º 4
0
 private static IEnumerable <T> findChildrenByPropertyTemplate <T>(GuiComponentCollection Components, Func <T, bool> Property) where T : class
 {
     if (Property == null)
     {
         Property = new Func <T, bool>(t => true);
     }
     for (int i = 0; i < Components.Count; i++)
     {
         var component = Components.ElementAt(i) as T;
         if (component != null && Property(component))
         {
             yield return(component);
         }
     }
 }
Ejemplo n.º 5
0
 private static void findDescendants <T>(GuiComponentCollection Components, List <T> ItemList, Func <T, bool> Property) where T : class
 {
     for (int i = 0; i < Components.Count; i++)
     {
         var component  = Components.ElementAt(i);
         var tComponent = component as T;
         if (tComponent != null && Property(tComponent))
         {
             ItemList.Add(tComponent);
         }
         else if (component is GuiContainer)
         {
             findDescendants <T>(((GuiContainer)component).Children, ItemList, Property);
         }
         else if (component is GuiVContainer)
         {
             findDescendants <T>(((GuiVContainer)component).Children, ItemList, Property);
         }
     }
 }