/// <summary>
        /// Fill in the list of chart type names.
        /// </summary>
        /// <param name="context">Descriptor context.</param>
        /// <returns>Standard values collection.</returns>
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            ChartTypeRegistry registry = null;
            ArrayList         values   = new ArrayList();

            Chart chart = ConverterHelper.GetChartFromContext(context);

            if (chart != null)
            {
                // Get chart type registry service
                registry = (ChartTypeRegistry)chart.GetService(typeof(ChartTypeRegistry));
                if (registry != null)
                {
                    // Enumerate all chart types names
                    foreach (Object obj in registry.registeredChartTypes.Keys)
                    {
                        if (obj is string)
                        {
                            values.Add(obj);
                        }
                    }
                }
                else
                {
                    throw (new InvalidOperationException(SR.ExceptionEditorChartTypeRegistryServiceInaccessible));
                }
            }

            // Sort all values
            values.Sort();

            return(new StandardValuesCollection(values));
        }