Ejemplo n.º 1
0
        /// <summary>
        /// Get the ITree representing the current verbalization settings
        /// </summary>
        protected override ITree GetTree(ITypeDescriptorContext context, object value)
        {
            ITree   tree       = new VirtualTree();
            IBranch rootBranch = new ProviderBranch((string)value, TargetProviders, SnippetsProviders, VerbalizationDirectory, LanguageFormatString);

            tree.Root = rootBranch;
            if (rootBranch.VisibleItemCount == 1)
            {
                tree.ToggleExpansion(0, 0);
            }
            return(tree);
        }
                /// <summary>
                /// Implements IBranch.Text
                /// </summary>
                protected string GetText(int row, int column)
                {
                    ProviderBranch parentBranch = myParentBranch;

                    string[] itemStrings = parentBranch.myItemStrings;
                    string   retVal;

                    if (itemStrings != null)
                    {
                        row   += parentBranch.myTargetedTypes[myTargetedTypeIndex].FirstIdentifier;
                        retVal = itemStrings[row];
                        if (retVal == null)
                        {
                            VerbalizationSnippetsIdentifier id = parentBranch.myIdentifiers[row];
                            if (id.IsDefaultIdentifier)
                            {
                                retVal = id.Description;
                            }
                            else
                            {
                                string languageName = id.LanguageId;
                                try
                                {
                                    languageName = CultureInfo.GetCultureInfoByIetfLanguageTag(id.LanguageId).DisplayName;
                                }
                                catch (ArgumentException)
                                {
                                }
                                retVal = string.Format(CultureInfo.CurrentCulture, parentBranch.myLanguageFormatString, id.Description, languageName);
                            }
                            itemStrings[row] = retVal;
                        }
                    }
                    else
                    {
                        retVal = parentBranch.myIdentifiers[parentBranch.myTargetedTypes[myTargetedTypeIndex].FirstIdentifier + row].Description;
                    }
                    return(retVal);
                }
 public TypeBranchWithExplicitTargets(ProviderBranch parentBranch, int typeIndex, TargetedTypeData[] expansions)
     : base(parentBranch, typeIndex)
 {
     Debug.Assert(expansions != null && expansions.Length != 0);                     // Create a TypeBranch directly if there are no expansions
     myExpansions = expansions;
 }
 public TypeBranch(ProviderBranch parentBranch, int targetedTypeIndex)
 {
     myParentBranch      = parentBranch;
     myTargetedTypeIndex = targetedTypeIndex;
 }