protected virtual void PrepareMembersContent() { if (classtype == null) { return; } groups.Clear(); InteractiveItemsStack propertiesContent = PrepareMembersContent <IProperty> (classtype.Properties); InteractiveItemsStack methodsContent = PrepareMembersContent <IMethod> (classtype.Methods); InteractiveItemsStack fieldsContent = PrepareMembersContent <IField> (classtype.Fields); InteractiveItemsStack eventsContent = PrepareMembersContent <IEvent> (classtype.Events); AddGroupToContent("Properties", propertiesContent); AddGroupToContent("Methods", methodsContent); AddGroupToContent("Fields", fieldsContent); AddGroupToContent("Events", eventsContent); if (classtype.InnerClasses.Count > 0) { InteractiveItemsStack nestedTypesContent = PrepareNestedTypesContent(); AddGroupToContent("Nested Types", nestedTypesContent); } }
protected virtual void PrepareMembersContent <MT> (ICollection <MT> members, InteractiveItemsStack content) where MT : IMember { if (members == null) { return; } if (members.Count == 0) { return; } IAmbience ambience = GetAmbience(); #region Prepare Group Members List <MemberData> membersData = new List <MemberData>(); foreach (MT member in members) { membersData.Add(new MemberData(member, ambience, Graphics, MemberFont)); } membersData.Sort(); #endregion #region Add Members To Group foreach (MemberData memberData in membersData) { content.Add(memberData.Item); } #endregion }
private void AddGroupToContent(string title, InteractiveItemsStack groupContent) { if (groupContent != null) { InteractiveHeaderedItem tg = PrepareGroup(title, groupContent); groupNames.Add(tg, title); groupsByName.Add(title, tg); groups.Add(tg); } }
private InteractiveItemsStack PrepareNestedTypesContent() { InteractiveItemsStack innerItems = new InteractiveItemsStack(); innerItems.OrientationAxis = Axis.Y; innerItems.Spacing = 10; innerItems.Padding = 10; foreach (IClass ct in classtype.InnerClasses) { ClassCanvasItem innerItem = ClassCanvas.CreateItemFromType(ct); innerItems.Add(innerItem); innerItem.LayoutChanged += HandleRedraw; } return(innerItems); }
protected virtual InteractiveItemsStack PrepareMembersContent <MT> (ICollection <MT> members) where MT : IMember { if (members == null) { return(null); } if (members.Count == 0) { return(null); } InteractiveItemsStack content = new InteractiveItemsStack(); content.OrientationAxis = Axis.Y; PrepareMembersContent <MT> (members, content); return(content); }