public GroupingTypeData(ElementGroupingType groupingTypeInstance, DomainClassInfo groupingTypeClassInfo) { GroupingTypeInstance = groupingTypeInstance; GroupingTypeClassInfo = groupingTypeClassInfo; Type groupingTypeClass = groupingTypeClassInfo.ImplementationClass; DisplayName = DomainTypeDescriptor.GetDisplayName(groupingTypeClass); Description = DomainTypeDescriptor.GetDescription(groupingTypeClass); SelectionState = (groupingTypeInstance != null) ? (GroupingTypeSelectionState.InitiallySelected | GroupingTypeSelectionState.CurrentlySelected) : 0; }
/// <summary> /// This method adds the passed in ExtensionModelBinding to the ListView on the ExtensionManager dialogue. /// </summary> /// <param name="extensionBinding">The extension you want to add.</param> private void AddItemToListView(ExtensionModelBinding extensionBinding) { Type type = extensionBinding.Type; ListViewItem lvi = new ListViewItem(); lvi.Tag = extensionBinding.NamespaceUri; if (null != myStore.FindDomainModel(extensionBinding.DomainModelId)) { lvi.Checked = true; } //Add the DisplayName lvi.SubItems.Add(DomainTypeDescriptor.GetDisplayName(type)); //Add the Description lvi.SubItems.Add(DomainTypeDescriptor.GetDescription(type)); lvExtensions.Items.Add(lvi); }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { ElementGrouping grouping; LinkedElementCollection <ElementGroupingType> groupingTypes; int groupingTypeCount; if (destinationType == typeof(string) && null != context && null != (grouping = context.Instance as ElementGrouping) && 0 != (groupingTypeCount = (groupingTypes = grouping.GroupingTypeCollection).Count)) { if (groupingTypeCount == 1) { return(DomainTypeDescriptor.GetDisplayName(groupingTypes[0].GetType())); } else { StringBuilder builder = new StringBuilder(); TextInfo textInfo = culture.TextInfo; string separator = textInfo.ListSeparator; if (!char.IsWhiteSpace(separator, separator.Length - 1)) { separator += " "; } for (int i = 0; i < groupingTypeCount; ++i) { if (i != 0) { builder.Append(separator); } builder.Append(DomainTypeDescriptor.GetDisplayName(groupingTypes[i].GetType())); } return(builder.ToString()); } } return(base.ConvertTo(context, culture, value, destinationType)); }