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;
                        }
Esempio n. 2
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));
                }