public static SignGroupInfo[] FindAllGroups(SignGroupInfo group) { List <SignGroupInfo> groups = new List <SignGroupInfo>(); PopulateGroups(group, groups); return(groups.ToArray()); }
public static SignInfo[] FindAllSigns(SignGroupInfo group) { List <SignInfo> signs = new List <SignInfo>(); PopulateSigns(group, signs); return(signs.ToArray()); }
private void OnDashboardAdded(SignGroupInfo parent) { if (_dashboardAdded != null) { DashboardAddEventArgs e = new DashboardAddEventArgs(parent); _dashboardAdded(this, e); } }
private bool OnDashboardAdding(SignGroupInfo parent) { if (_dashboardAdding != null) { DashboardAddEventArgs e = new DashboardAddEventArgs(parent); _dashboardAdding(this, e); return(e.Cancel); } return(false); }
private static void PopulateGroups(SignGroupInfo group, List <SignGroupInfo> groups) { if (group == null || group.IsEmpty || group.Groups.Length == 0) { return; } groups.AddRange(group.Groups); if (group.Groups.Length > 0) { foreach (SignGroupInfo item in group.Groups) { PopulateGroups(item, groups); } } }
private static void PopulateSigns(SignGroupInfo group, List <SignInfo> signs) { if (group == null || group.IsEmpty /*|| group.Signs.Length == 0*/) { return; } if (group.Signs.Length > 0) { signs.AddRange(group.Signs); } if (group.Groups.Length > 0) { foreach (SignGroupInfo item in group.Groups) { PopulateSigns(item, signs); } } }
private static void PopulateRelation(SignGroupInfo[] items, SignGroupInfo parent) { if (items.Length > 0) { _allGroups.AddRange(items); foreach (SignGroupInfo group in items) { group.Parent = parent; PopulateRelation(group.Groups, group); if (group.Signs.Length > 0) { _allSigns.AddRange(group.Signs); foreach (SignInfo sign in group.Signs) { sign.Parent = group; } } } } }
public DashboardAddEventArgs(SignGroupInfo group) { Parent = group; }