Exemplo n.º 1
0
        public FilterStatus GetStrongestFilterStatus()
        {
            if (_navigateBackward != null)
            {
                throw new InvalidOperationException();
            }

            if (_navigateForward == null)
            {
                return(_filterStatus);
            }

            FilterStatus strongestStatus = FilterStatus.ExcludeBlock;
            ICanAlign    next            = (ICanAlign)_navigateForward;

            while (next != null)
            {
                if (next.FilterStatus > strongestStatus)
                {
                    strongestStatus = next.FilterStatus;
                }

                next = (ICanAlign)next.NavigateForward;
            }

            return(strongestStatus);
        }
Exemplo n.º 2
0
        internal static Bitmap GetIconForItem(ICanAlign item)
        {
            Visibility visibility = Visibility.Public;

            if (item is IHaveVisibility)
            {
                visibility = ((IHaveVisibility)item).Visibility;
            }

            return (GetIconForItem(item.GetType(), item.Name, visibility));
        }
Exemplo n.º 3
0
        internal static Bitmap GetIconForItem(ICanAlign item)
        {
            Visibility visibility = Visibility.Public;

            if (item is IHaveVisibility)
            {
                visibility = ((IHaveVisibility)item).Visibility;
            }

            return(GetIconForItem(item.GetType(), item.Name, visibility));
        }
        private static ICanAlign GetRoot(ICanAlign item)
        {
            if (item == null)
            {
                return(null);
            }

            while (item.Parent != null)
            {
                item = item.Parent;
            }

            return(item);
        }
        private static string GetItemAncestry(ICanAlign item)
        {
            ICanAlign parent = GetParent(item);
            ICanAlign root   = GetRoot(item);

            if (object.ReferenceEquals(parent, root))
            {
                return(string.Format("'{0}' type '{1}' in '{2}'", item, item.GetType(), parent));
            }
            else
            {
                return(string.Format("'{0}' type '{1}' of '{2}' in '{3}'", item, item.GetType(), parent, root));
            }
        }
Exemplo n.º 6
0
        private static ICanAlign FindChildByName(ICanAlign current, string name)
        {
            IEnumerable <ICanAlign> children = current.FilterChildren <ICanAlign>();

            foreach (ICanAlign child in children)
            {
                if (child.Name == name)
                {
                    return(child);
                }
            }

            return(null);
        }
        public static ICanAlign FindOrReturnMissing(ICanAlign parent, IEnumerable <ICanAlign> items, string identifier, Type type)
        {
            foreach (ICanAlign item in items)
            {
                if ((item.AlignmentIdentifier == identifier) && (item.GetType() == type))
                {
                    return(item);
                }
            }

            ICanAlign missing = (ICanAlign)Activator.CreateInstance(type);

            missing.Name = GetNameFromIdentifier(identifier);
            missing.AlignmentIdentifier = identifier;
            missing.Status = Status.Missing;
            missing.Parent = parent;
            return(missing);
        }
 private static ICanAlign GetParent(ICanAlign item)
 {
     return((item == null) ? null : item.Parent);
 }
Exemplo n.º 9
0
        private static ICanAlign FindChildByName(ICanAlign current, string name)
        {
            IEnumerable<ICanAlign> children = current.FilterChildren<ICanAlign>();

            foreach (ICanAlign child in children)
            {
                if (child.Name == name)
                {
                    return child;
                }
            }

            return null;
        }