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); }
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)); }
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)); } }
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); }
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; }