private void TreatGroupFlags(GroupListItem GroupItem) { System.Diagnostics.Debug.Assert(GroupItem != null, "TreatGroupFlags->GroupItem is null"); bool?HideFlag = null; GroupItem.OptionFlag = true; List <WidgetListItem> Alllist = new List <WidgetListItem>(); GetGroupAllwidget(GroupItem, Alllist); foreach (WidgetListItem item in Alllist) { if (HideFlag == null) { HideFlag = item.HideFlag; } else if (HideFlag != item.HideFlag) { GroupItem.HideFlag = false; GroupItem.OptionFlag = false; return; } } GroupItem.HideFlag = HideFlag.Value; }
private void CovertGroup(IPage page, WidgetListItem ParentItem, IGroups groupList, List <Guid> GroupWidget, bool bTop = true) { foreach (IGroup group in groupList) { if (group.ParentGroup != null && bTop) { continue; } WidgetListItem GroupItem = null; if (group.ParentGroup == null) { GroupItem = new GroupListItem(group); GroupItem.ItemType = ListItemType.GroupItem; } else { GroupItem = new GroupChildListItem(group); GroupItem.ItemType = ListItemType.GroupChildItem; GroupItem.OptionFlag = false; } GroupItem.ParentPage = page; GroupItem.ParentID = ParentItem.WidgetID; GroupItem.IsExpanded = true; GroupItem.OrderedChildren = new List <WidgetListItem>(); CovertGroup(page, GroupItem, group.Groups, GroupWidget, false); foreach (IRegion region in group.Widgets) { CovertWidget(region, page, GroupItem); GroupWidget.Add(region.Guid); } foreach (IRegion region in group.Masters) { CovertWidget(region, page, GroupItem); GroupWidget.Add(region.Guid); } GroupItem.OrderedChildren.Sort(CompareByZorder); if (GroupItem.OrderedChildren.Count > 0) { GroupItem.zOrder = GroupItem.OrderedChildren[0].zOrder; } if (bTop) { TreatGroupFlags(GroupItem as GroupListItem); } ParentItem.OrderedChildren.Add(GroupItem); } }