示例#1
0
        /// <summary>
        /// Checks whether a node is member of a supported cycle.
        /// </summary>
        /// <param name="state">State corresponding to the node to check.</param>
        /// <param name="cycleManager">The cycle manager for this node type upon return. Null if none.</param>
        /// <returns>True if a cycle manager exists for the node.</returns>
        public virtual bool IsMemberOfCycle(IFocusNodeState state, out IFocusCycleManager cycleManager)
        {
            cycleManager = null;

            List <Type> Interfaces = new List <Type>(state.Node.GetType().GetInterfaces());

            foreach (IFocusCycleManager Item in CycleManagerList)
            {
                if (Interfaces.Contains(Item.InterfaceType))
                {
                    cycleManager = Item;
                }
            }

            return(cycleManager != null);
        }
示例#2
0
        /// <summary>
        /// Checks whether a node is member of a supported cycle.
        /// </summary>
        /// <param name="state">State corresponding to the node to check.</param>
        /// <param name="cycleManager">The cycle manager for this node type upon return. Null if none.</param>
        /// <returns>True if a cycle manager exists for the node.</returns>
        public virtual bool IsMemberOfCycle(IFocusNodeState state, out IFocusCycleManager cycleManager)
        {
            cycleManager = null;

            /*
             * List<Type> Interfaces = new List<Type>(state.Node.GetType().GetInterfaces());
             *
             * foreach (FocusCycleManager Item in CycleManagerList)
             *  if (Interfaces.Contains(Item.InterfaceType))
             *      cycleManager = Item;
             */

            Type NodeType = Type.FromGetType(state.Node);

            foreach (IFocusCycleManager Item in CycleManagerList)
            {
                if (Item.InterfaceType.IsAssignableFrom(NodeType))
                {
                    cycleManager = Item;
                }
            }

            return(cycleManager != null);
        }
 bool ICollection <IFocusCycleManager> .Remove(IFocusCycleManager item)
 {
     return(Remove((ILayoutCycleManager)item));
 }
 bool ICollection <IFocusCycleManager> .Contains(IFocusCycleManager value)
 {
     return(Contains((ILayoutCycleManager)value));
 }
 void ICollection <IFocusCycleManager> .Add(IFocusCycleManager item)
 {
     Add((ILayoutCycleManager)item);
 }
 void IList <IFocusCycleManager> .Insert(int index, IFocusCycleManager item)
 {
     Insert(index, (ILayoutCycleManager)item);
 }
 int IList <IFocusCycleManager> .IndexOf(IFocusCycleManager value)
 {
     return(IndexOf((ILayoutCycleManager)value));
 }