// Acción que determina que clase utilitzar para crear los "Charts" public void CrearChart(Button button, Label label = null) { ClearLastElements(); BaseChart.Chart.Series.RemoveAllSeries(); //Themes.RefreshTheme(); Themes.BasicAxes(BaseChart.Chart.Axes.Left, BaseChart.Chart.Axes.Right); Themes.AplicarTheme(BaseChart); switch (button.Text) { case "Line": lineChart = new LineChart(BaseChart); break; case "Column Bar": columnBarChart = new ColumnBarChart(BaseChart); break; case "Area": areaChart = new AreaChart(BaseChart); break; case "Pie": pieChart = new PieChart(BaseChart); break; case "Fast Line": fastLineChart = new FastLineChart(BaseChart); break; case "Horizontal Area": horizAreaChart = new HorizontalAreaChart(BaseChart); break; case "Horizontal Bar": horizBarChart = new HorizontalBarChart(BaseChart); break; case "Horizontal Line": horizLineChart = new HorizontalLineChart(BaseChart); break; case "Donut": donutChart = new DonutChart(BaseChart); break; case "Bubble": bubbleChart = new BubbleChart(BaseChart); break; case "Shape": shapeChart = new ShapeChart(BaseChart); break; case "Gantt": gantChart = new GanttChart(BaseChart); break; case "Point/Scatter": point_scatterChart = new Point_ScatterChart(BaseChart); break; case "Interpolating Line": interpolatingChart = new InterpolatingChartFeatures(BaseChart); break; case "Bar Styles": coneBarChart = new BarStylesChartFeatures(BaseChart); break; case "Zoom & Panning": zoomPaningArrowChart = new ZoomPanningChartFeatures(BaseChart); break; case "Bar Gradient": gradientBarChart = new GradientBarChartFeatures(BaseChart); break; case "Bubble Transparent": bubbleTranspChart = new BubbleTransparencyChartFeatures(BaseChart); break; case "Real Time": fLineRealTimeChart = new FLineRealTimeChartFeatures(BaseChart); break; case "Stack Area": stackAreaChart = new StackAreaChartFeatures(BaseChart); break; case "Multiple Pies": multiPiesChart = new MultiplePiesChartFeatures(BaseChart); break; case "Semi-Pie": semiPieChart = new Semi_PieChartFeatures(BaseChart); break; case "Semi-Donut": semiDonutChart = new Semi_DonutChartFeatures(BaseChart); break; case "Arrow": arrowChart = new ArrowChart(BaseChart); break; case "Polar": polarChart = new PolarChart(BaseChart); break; case "Radar": radarChart = new RadarChart(BaseChart); break; case "Pyramid": pyramidChart = new PyramidChart(BaseChart); break; case "Candle": candleChart = new CandleChart(BaseChart); break; case "Histogram": histogramChart = new HistogramChart(BaseChart); break; case "Error": errorChart = new ErrorChart(BaseChart); break; case "ErrorBar": errorBarChart = new ErrorBarChart(BaseChart); break; case "Funnel": funnelChart = new FunnelChart(BaseChart); break; case "Smith": smithChart = new SmithChart(BaseChart); break; case "Bezier": bezierChart = new BezierChart(BaseChart); break; case "HighLow": highLowChart = new HighLowChart(BaseChart); break; case "Speed Time": realTimeChart = new SpeedTimeChart(BaseChart); break; case "Waterfall": waterfallChart = new WaterfallChart(BaseChart); break; case "Volume": volumeChart = new VolumeChart(BaseChart); break; case "Color Grid": colorGridChart = new ColorGridChart(BaseChart); break; case "Polar Bar": polarBarChart = new PolarBarChart(BaseChart); break; case "Inverted Pyramid": invertedPyramidChart = new InvertedPyramidChart(BaseChart); break; case "Horizontal Histogram": horizHistogramChart = new HorizHistogramChart(BaseChart); break; case "Circular Gauge": basicCircGaugeChart = new BasicCircularGaugeChart(BaseChart); break; case "Car Fuel": carFuelChart = new CarFuelChart(BaseChart); break; case "Custom Hand": custPointerGaugeChart = new CustomPointerChart(BaseChart); break; case "Acceleration": accelerationCircularGaugeChart = new AccelerationCircularGaugeChart(BaseChart); break; case "Knob Gauge": basicKnobGaugeChart = new BasicKnobGaugeChart(BaseChart); break; case "Temperature Knob": temperatureKnobChart = new TemperatureKnobChart(BaseChart); break; case "Compass": try { compassChart = new CompassChart(BaseChart); } catch (Exception e) { } break; case "Map GIS": mapGSIChart = new MapGISChart(BaseChart); break; case "World Map": worldMapChart = new WorldMapChart(BaseChart); break; case "TreeMap": treeMapChart = new TreeMapChart(BaseChart); break; case "Basic Clock": basicClockChart = new BasicClockChart(BaseChart); break; case "Custom Clock": customClockChart = new CustomClockChart(BaseChart); break; case "Organizational Chart": basicOrganizationalChart = new BasicOrganizationalChart(BaseChart); break; case "Numeric Gauge": numericGaugeChart = new NumericGaugeChart(BaseChart); break; case "Linear Gauge": linearGaugeChart = new LinearGaugeChart(BaseChart); break; case "Scales": scalesLinearChart = new ScalesLinearChart(BaseChart); break; case "SubLines": moreLinesLinearChart = new MoreLinesLinearChart(BaseChart); break; case "Mobile Battery": batteryLinearChart = new BatteryLinearChart(BaseChart); break; case "Basic Calendar": basicCalendarChart = new BasicCalendarChart(BaseChart, label); break; case "Special Dates": specialDatesChart = new SpecialDatesChart(BaseChart, label); break; case "TagCloud": tagCloudChart = new TagCloudChart(BaseChart); break; case "Add": addStdFunctionsChart = new AddStdFunctionsChart(BaseChart); break; case "Subtract": subtStdFunctionsChart = new SubtStdFunctionsChart(BaseChart); break; case "Multiply": multStdFunctionsChart = new MultStdFunctionsChart(BaseChart); break; case "Divide": divStdFunctionsChart = new DivStdFunctionsChart(BaseChart); break; case "Count": countStdFunctionsChart = new CountStdFunctionsChart(BaseChart); break; case "Average": avgStdFunctionsChart = new AvgStdFunctionsChart(BaseChart); break; case "High": highStdFunctionsChart = new HighStdFunctionsChart(BaseChart); break; case "Low": lowStdFunctionsChart = new LowStdFunctionsChart(BaseChart); break; case "Median Function": medianStdFunctionsChart = new MedianStdFunctionsChart(BaseChart); break; case "Percent Change": percentStdFunctionsChart = new PercentStdFunctionsChart(BaseChart); break; case "ADX": adxProFunctionChart = new ADXProFunctionChart(BaseChart); break; case "AC": acProFunctionChart = new ACProFunctionChart(BaseChart); break; case "Alligator": alligatorProFunctionChart = new AlligatorProFunctionChart(BaseChart); break; case "AO": aoProFunctionChart = new AOProFunctionChart(BaseChart); break; case "ATR": atrProFunctionChart = new ATRProFunctionChart(BaseChart); break; case "Bollinger Bands": bollingerProFunctionChart = new BollingerProFunctionChart(BaseChart); break; case "CCI": cciProFunctionChart = new CCIProFunctionChart(BaseChart); break; case "CLV": clvProFunctionChart = new CLVProFunctionChart(BaseChart); break; case "Compression OHLC": compressionOHLCProFunctionChart = new CompressionOHLCProFunctionChart(BaseChart); break; case "Exp. Average": expAverageProFunctionChart = new ExpAverageProFunctionChart(BaseChart); break; case "Exp. Moving Average": expMovAverageProFunctionChart = new ExpMovAverageProFunctionChart(BaseChart); break; case "Gator Oscillator": gatorOscillProFunctionChart = new GatorOscillProFunctionChart(BaseChart); break; case "Kurtosis": kurtosisProFunctionChart = new KurtosisProFunctionChart(BaseChart); break; case "MACD": macdProFunctionChart = new MACDProFunctionChart(BaseChart); break; case "Momentum": momentumProFunctionChart = new MomentumProFunctionChart(BaseChart); break; case "Momentum Div.": momentumDivProFunctionChart = new MomentumDivProFunctionChart(BaseChart); break; case "Money Flow": moneyFlowProFunctionChart = new MoneyFlowProFunctionChart(BaseChart); break; case "OBV": obvProFunctionChart = new OBVProFunctionChart(BaseChart); break; case "PVO": pvoProFunctionChart = new PVOProFunctionChart(BaseChart); break; case "RSI": rsiProFunctionChart = new RSIProFunctionChart(BaseChart); break; case "RVI": rviProFunctionChart = new RVIProFunctionChart(BaseChart); break; case "Slope": slopeProFunctionChart = new SlopeProFunctionChart(BaseChart); break; case "Smoothed Mov Avg": smoothMovAvgProFunctionChart = new SmoothMovAvgProFunctionChart(BaseChart); break; case "S.A.R.": sarProFunctionChart = new SARProFunctionChart(BaseChart); break; case "Cross Point": crossPointsProFunctionsChart = new CrossPointsProFunctionsChart(BaseChart); break; case "Correlation": correlationProFunctionChart = new CorrelationProFunctionChart(BaseChart); break; case "Cumulative": cumulativeProFunctionChart = new CumulativeProFunctionChart(BaseChart); break; case "Custom Function": calculateEventProFunctionChart = new CalculateEventProFunctionChart(BaseChart); break; case "Exponential Trend": exponentialTrendProFunctionChart = new ExponentialTrendProFunctionChart(BaseChart); break; case "Fitting Linearizable": fittingProFunctionChart = new FittingProFunctionChart(BaseChart); break; case "Performance": performanceProFunctionChart = new PerformanceProFunctionChart(BaseChart); break; case "Perimeter": perimeterProFunctionChart = new PerimeterProFunctionChart(BaseChart); break; case "Finding Coefficients": findCoeffProFunctionChart = new FindCoeffProFunctionChart(BaseChart); break; case "Down Sampling": downSamplingProFunctionChart = new DownSamplingProFunctionChart(BaseChart); break; case "RMS": rmsProFunctionChart = new RMSProFunctionChart(BaseChart); break; case "Smoothing Function": smoothingProFunctionChart = new SmoothingProFunctionChart(BaseChart); break; case "Standard Deviation": stdDeviationProFunctionChart = new StdDeviationProFunctionChart(BaseChart); break; case "Trendline": trendlineProFunctionChart = new TrendlineProFunctionChart(BaseChart); break; case "Variance": varianceProFunctionChart = new VarianceProFunctionChart(BaseChart); break; case "SPC": spcProFunctionChart = new SPCProFunctionChart(BaseChart); break; case "Cumulative Histogram": cumulativeHistogProFunctionChart = new CumulativeHistogProFunctionChart(BaseChart); break; case "Skewness": skewnessProFunctionChart = new SkewnessProFunctionChart(BaseChart); break; } Themes.AplicarOptions(BaseChart); }
private void RegisterAttributes() { SeriesChartType[] array = null; CustomAttributeInfo customAttributeInfo = null; array = new SeriesChartType[1] { SeriesChartType.Column }; registeredCustomAttributes.Add(new CustomAttributeInfo("ShowColumnAs", typeof(ColumnChartExtensions), "Normal", SR.DescriptionCustomAttributeColumnChartShowColumnAs, array, appliesToSeries: true, appliesToDataPoint: false)); registeredCustomAttributes.Add(new CustomAttributeInfo("HistogramSegmentIntervalNumber", typeof(int), 20, SR.DescriptionCustomAttributeHistogramSegmentIntervalNumber, array, appliesToSeries: true, appliesToDataPoint: false)); registeredCustomAttributes.Add(new CustomAttributeInfo("HistogramSegmentIntervalWidth", typeof(double), 0.0, SR.DescriptionCustomAttributeHistogramSegmentIntervalWidth, array, appliesToSeries: true, appliesToDataPoint: false)); registeredCustomAttributes.Add(new CustomAttributeInfo("HistogramShowPercentOnSecondaryYAxis", typeof(bool), true, SR.DescriptionCustomAttributeHistogramShowPercentOnSecondaryYAxis, array, appliesToSeries: true, appliesToDataPoint: false)); array = new SeriesChartType[6] { SeriesChartType.Bar, SeriesChartType.Column, SeriesChartType.RangeColumn, SeriesChartType.BoxPlot, SeriesChartType.Gantt, SeriesChartType.ErrorBar }; customAttributeInfo = new CustomAttributeInfo("DrawSideBySide", typeof(AxisEnabled), "Auto", SR.DescriptionCustomAttributeDrawSideBySide, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[15] { SeriesChartType.Point, SeriesChartType.Bubble, SeriesChartType.Line, SeriesChartType.Spline, SeriesChartType.StepLine, SeriesChartType.Column, SeriesChartType.RangeColumn, SeriesChartType.Gantt, SeriesChartType.Radar, SeriesChartType.Range, SeriesChartType.SplineRange, SeriesChartType.Polar, SeriesChartType.Area, SeriesChartType.SplineArea, SeriesChartType.Bar }; registeredCustomAttributes.Add(new CustomAttributeInfo("EmptyPointValue", typeof(EmptyPointTypes), "Average", SR.DescriptionCustomAttributeEmptyPointValue, array, appliesToSeries: true, appliesToDataPoint: false)); array = new SeriesChartType[3] { SeriesChartType.StackedBar, SeriesChartType.StackedBar100, SeriesChartType.Gantt }; customAttributeInfo = new CustomAttributeInfo("BarLabelStyle", typeof(BarValueLabelDrawingStyle), "Center", SR.DescriptionCustomAttributeBarLabelStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[4] { SeriesChartType.StackedBar, SeriesChartType.StackedBar100, SeriesChartType.StackedColumn, SeriesChartType.StackedColumn100 }; customAttributeInfo = new CustomAttributeInfo("StackedGroupName", typeof(string), string.Empty, SR.DescriptionCustomAttributeStackedGroupName, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Bar }; customAttributeInfo = new CustomAttributeInfo("BarLabelStyle", typeof(BarValueLabelDrawingStyle), "Outside", SR.DescriptionCustomAttributeBarLabelStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[8] { SeriesChartType.Bar, SeriesChartType.Column, SeriesChartType.StackedBar, SeriesChartType.StackedBar100, SeriesChartType.StackedColumn, SeriesChartType.StackedColumn100, SeriesChartType.Gantt, SeriesChartType.RangeColumn }; customAttributeInfo = new CustomAttributeInfo("DrawingStyle", typeof(BarDrawingStyle), "Default", SR.DescriptionCustomAttributeDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[12] { SeriesChartType.Bar, SeriesChartType.Candlestick, SeriesChartType.Column, SeriesChartType.StackedBar, SeriesChartType.StackedBar100, SeriesChartType.StackedColumn, SeriesChartType.StackedColumn100, SeriesChartType.Stock, SeriesChartType.BoxPlot, SeriesChartType.ErrorBar, SeriesChartType.Gantt, SeriesChartType.RangeColumn }; customAttributeInfo = new CustomAttributeInfo("PointWidth", typeof(float), 0.8f, SR.DescriptionCustomAttributePointWidth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 2f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PixelPointWidth", typeof(int), 0, SR.DescriptionCustomAttributePixelPointWidth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("MinPixelPointWidth", typeof(int), 0, SR.DescriptionCustomAttributeMinPixelPointWidth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("MaxPixelPointWidth", typeof(int), 0, SR.DescriptionCustomAttributeMaxPixelPointWidth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Candlestick }; customAttributeInfo = new CustomAttributeInfo("PriceUpColor", typeof(Color), "", SR.DescriptionCustomAttributeCandlePriceUpColor, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PriceDownColor", typeof(Color), "", SR.DescriptionCustomAttributePriceDownColor, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[2] { SeriesChartType.Stock, SeriesChartType.Candlestick }; customAttributeInfo = new CustomAttributeInfo("LabelValueType", typeof(StockLabelValueTypes), "Close", SR.DescriptionCustomAttributeLabelValueType, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Stock }; customAttributeInfo = new CustomAttributeInfo("OpenCloseStyle", typeof(StockOpenCloseMarkStyle), "Line", SR.DescriptionCustomAttributeOpenCloseStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ShowOpenClose", typeof(StockShowOpenCloseTypes), "Both", SR.DescriptionCustomAttributeShowOpenClose, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Bubble }; customAttributeInfo = new CustomAttributeInfo("BubbleScaleMin", typeof(float), 0f, SR.DescriptionCustomAttributeBubbleScaleMin, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BubbleScaleMax", typeof(float), 0f, SR.DescriptionCustomAttributeBubbleScaleMax, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BubbleMaxSize", typeof(float), 15f, SR.DescriptionCustomAttributeBubbleMaxSize, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BubbleMinSize", typeof(float), 3f, SR.DescriptionCustomAttributeBubbleMaxSize, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BubbleUseSizeForLabel", typeof(bool), false, SR.DescriptionCustomAttributeBubbleUseSizeForLabel, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[2] { SeriesChartType.Pie, SeriesChartType.Doughnut }; customAttributeInfo = new CustomAttributeInfo("PieDrawingStyle", typeof(PieDrawingStyle), "Default", SR.DescriptionCustomAttributePieDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.AppliesTo3D = false; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedStyle", typeof(CollectedPieStyle), "None", SR.DescriptionCustomAttributeCollectedStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedThreshold", typeof(double), 5.0, SR.DescriptionCustomAttributeCollectedThreshold, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0.0; customAttributeInfo.MaxValue = double.MaxValue; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedThresholdUsePercent", typeof(bool), true, SR.DescriptionCustomAttributeCollectedThresholdUsePercent, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedSliceExploded", typeof(bool), false, SR.DescriptionCustomAttributeCollectedSliceExploded, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedLabel", typeof(string), SR.DescriptionCustomAttributeCollectedLabelDefaultText, SR.DescriptionCustomAttributeCollectedLabel, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedLegendText", typeof(string), SR.DescriptionCustomAttributeCollectedLegendDefaultText, SR.DescriptionCustomAttributeCollectedLegendText, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedToolTip", typeof(string), string.Empty, SR.DescriptionCustomAttributeCollectedToolTip, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CollectedColor", typeof(Color), "", SR.DescriptionCustomAttributeCollectedColor, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); registeredCustomAttributes.Add(new CustomAttributeInfo("CollectedChartShowLegend", typeof(bool), false, SR.DescriptionCustomAttributeShowCollectedLegend, array, appliesToSeries: true, appliesToDataPoint: false)); registeredCustomAttributes.Add(new CustomAttributeInfo("CollectedChartShowLabels", typeof(bool), false, SR.DescriptionCustomAttributeShowCollectedPointLabels, array, appliesToSeries: true, appliesToDataPoint: false)); customAttributeInfo = new CustomAttributeInfo("PieStartAngle", typeof(int), 0, SR.DescriptionCustomAttributePieStartAngle, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.MaxValue = 360; registeredCustomAttributes.Add(customAttributeInfo); registeredCustomAttributes.Add(new CustomAttributeInfo("Exploded", typeof(bool), false, SR.DescriptionCustomAttributePieDonutExploded, array, appliesToSeries: false, appliesToDataPoint: true)); customAttributeInfo = new CustomAttributeInfo("LabelsRadialLineSize", typeof(float), 1f, SR.DescriptionCustomAttributeLabelsRadialLineSize, array, appliesToSeries: true, appliesToDataPoint: true); customAttributeInfo.AppliesTo3D = false; customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("LabelsHorizontalLineSize", typeof(float), 1f, SR.DescriptionCustomAttributeLabelsHorizontalLineSize, array, appliesToSeries: true, appliesToDataPoint: true); customAttributeInfo.AppliesTo3D = false; customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); registeredCustomAttributes.Add(new CustomAttributeInfo("PieLabelStyle", typeof(PieLabelStyle), "Inside", SR.DescriptionCustomAttributePieLabelStyle, array, appliesToSeries: true, appliesToDataPoint: true)); customAttributeInfo = new CustomAttributeInfo("MinimumRelativePieSize", typeof(float), 30f, SR.DescriptionCustomAttributeMinimumRelativePieSize, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 10f; customAttributeInfo.MaxValue = 70f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("3DLabelLineSize", typeof(float), 100f, SR.DescriptionCustomAttribute_3DLabelLineSize, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.AppliesTo2D = false; customAttributeInfo.MinValue = 30f; customAttributeInfo.MaxValue = 200f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PieLineColor", typeof(Color), "", SR.DescriptionCustomAttributePieLineColor, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("DoughnutRadius", typeof(float), 60f, SR.DescriptionCustomAttributeDoughnutRadius, new SeriesChartType[1] { SeriesChartType.Doughnut }, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 99f; registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[12] { SeriesChartType.Point, SeriesChartType.Column, SeriesChartType.Bubble, SeriesChartType.Line, SeriesChartType.Spline, SeriesChartType.StepLine, SeriesChartType.Area, SeriesChartType.SplineArea, SeriesChartType.Range, SeriesChartType.SplineRange, SeriesChartType.Radar, SeriesChartType.Polar }; registeredCustomAttributes.Add(new CustomAttributeInfo("LabelStyle", typeof(LabelAlignments), "Auto", SR.DescriptionCustomAttributeLabelStyle, array, appliesToSeries: true, appliesToDataPoint: true)); array = new SeriesChartType[7] { SeriesChartType.Line, SeriesChartType.Spline, SeriesChartType.StepLine, SeriesChartType.Area, SeriesChartType.SplineArea, SeriesChartType.Range, SeriesChartType.SplineRange }; customAttributeInfo = new CustomAttributeInfo("ShowMarkerLines", typeof(bool), false, SR.DescriptionCustomAttributeShowMarkerLines, array, appliesToSeries: true, appliesToDataPoint: true); customAttributeInfo.AppliesTo2D = false; registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[3] { SeriesChartType.Spline, SeriesChartType.SplineArea, SeriesChartType.SplineRange }; customAttributeInfo = new CustomAttributeInfo("LineTension", typeof(float), 0.5f, SR.DescriptionCustomAttributeLineTension, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 2f; registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[28] { SeriesChartType.Area, SeriesChartType.Bar, SeriesChartType.Bubble, SeriesChartType.Candlestick, SeriesChartType.Column, SeriesChartType.Line, SeriesChartType.Point, SeriesChartType.Spline, SeriesChartType.SplineArea, SeriesChartType.StackedArea, SeriesChartType.StackedArea100, SeriesChartType.StackedBar, SeriesChartType.StackedBar100, SeriesChartType.StackedColumn, SeriesChartType.StackedColumn100, SeriesChartType.StepLine, SeriesChartType.Stock, SeriesChartType.ThreeLineBreak, SeriesChartType.BoxPlot, SeriesChartType.ErrorBar, SeriesChartType.Gantt, SeriesChartType.Kagi, SeriesChartType.PointAndFigure, SeriesChartType.Range, SeriesChartType.RangeColumn, SeriesChartType.Renko, SeriesChartType.SplineRange, SeriesChartType.FastLine }; customAttributeInfo = new CustomAttributeInfo("PixelPointDepth", typeof(int), 0, SR.DescriptionCustomAttributePixelPointDepth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.AppliesTo2D = false; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PixelPointGapDepth", typeof(int), 0, SR.DescriptionCustomAttributePixelPointGapDepth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.AppliesTo2D = false; registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[2] { SeriesChartType.FastLine, SeriesChartType.FastPoint }; array = new SeriesChartType[1] { SeriesChartType.Polar }; customAttributeInfo = new CustomAttributeInfo("AreaDrawingStyle", typeof(CircularAreaDrawingStyles), "Circle", SR.DescriptionCustomAttributePolarAreaDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CircularLabelsStyle", typeof(CircularAxisLabelsStyle), "Auto", SR.DescriptionCustomAttributePolarCircularLabelsStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PolarDrawingStyle", typeof(PolarDrawingStyles), "Line", SR.DescriptionCustomAttributePolarDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Radar }; customAttributeInfo = new CustomAttributeInfo("AreaDrawingStyle", typeof(CircularAreaDrawingStyles), "Circle", SR.DescriptionCustomAttributeRadarAreaDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CircularLabelsStyle", typeof(CircularAxisLabelsStyle), "Auto", SR.DescriptionCustomAttributeRadarCircularLabelsStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("RadarDrawingStyle", typeof(RadarDrawingStyle), "Area", SR.DescriptionCustomAttributeRadarDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.BoxPlot }; customAttributeInfo = new CustomAttributeInfo("BoxPlotPercentile", typeof(float), 25f, SR.DescriptionCustomAttributeBoxPlotPercentile, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 1000f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxPlotWhiskerPercentile", typeof(float), 10f, SR.DescriptionCustomAttributeBoxPlotWhiskerPercentile, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 1000f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxPlotShowAverage", typeof(bool), true, SR.DescriptionCustomAttributeBoxPlotShowAverage, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxPlotShowMedian", typeof(bool), true, SR.DescriptionCustomAttributeBoxPlotShowMedian, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxPlotShowUnusualValues", typeof(bool), false, SR.DescriptionCustomAttributeBoxPlotShowUnusualValues, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxPlotSeries", typeof(string), "", SR.DescriptionCustomAttributeBoxPlotSeries, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.ErrorBar }; customAttributeInfo = new CustomAttributeInfo("ErrorBarStyle", typeof(ErrorBarStyle), "Both", SR.DescriptionCustomAttributeErrorBarStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ErrorBarCenterMarkerStyle", typeof(ErrorBarMarkerStyles), "Line", SR.DescriptionCustomAttributeErrorBarCenterMarkerStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ErrorBarSeries", typeof(string), "", SR.DescriptionCustomAttributeErrorBarSeries, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ErrorBarType", typeof(string), string.Format(CultureInfo.InvariantCulture, "{0}({1:N0})", ErrorBarType.StandardError, ErrorBarChart.DefaultErrorBarTypeValue(ErrorBarType.StandardError)), SR.DescriptionCustomAttributeErrorBarType, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.PointAndFigure }; customAttributeInfo = new CustomAttributeInfo("UsedYValueHigh", typeof(int), 0, SR.DescriptionCustomAttributeUsedYValueHigh, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.MaxValue = 20; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("UsedYValueLow", typeof(int), 1, SR.DescriptionCustomAttributeUsedYValueLow, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.MaxValue = 20; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PriceUpColor", typeof(Color), "", SR.DescriptionCustomAttributeBarsPriceUpColor, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxSize", typeof(string), "4%", SR.DescriptionCustomAttributePointFigureBoxSize, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ProportionalSymbols", typeof(bool), true, SR.DescriptionCustomAttributeProportionalSymbols, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ReversalAmount", typeof(int), "3", SR.DescriptionCustomAttributeReversalAmount, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Kagi }; customAttributeInfo = new CustomAttributeInfo("UsedYValue", typeof(int), 0, SR.DescriptionCustomAttributeUsedYValue, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.MaxValue = 20; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PriceUpColor", typeof(Color), "", SR.DescriptionCustomAttributeBarsPriceUpColor, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("ReversalAmount", typeof(string), "3%", SR.DescriptionCustomAttributeKagiReversalAmount, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Renko }; customAttributeInfo = new CustomAttributeInfo("UsedYValue", typeof(int), 0, SR.DescriptionCustomAttributeRenkoUsedYValue, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.MaxValue = 20; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PriceUpColor", typeof(Color), "", SR.DescriptionCustomAttributeBarsPriceUpColor, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("BoxSize", typeof(string), "4%", SR.DescriptionCustomAttributeBoxSize, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.ThreeLineBreak }; customAttributeInfo = new CustomAttributeInfo("UsedYValue", typeof(int), 0, SR.DescriptionCustomAttributeThreeLineBreakUsedYValue, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0; customAttributeInfo.MaxValue = 20; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PriceUpColor", typeof(Color), "", SR.DescriptionCustomAttributeBarsPriceUpColor, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("NumberOfLinesInBreak", typeof(int), 3, SR.DescriptionCustomAttributeNumberOfLinesInBreak, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Funnel }; customAttributeInfo = new CustomAttributeInfo("FunnelLabelStyle", typeof(FunnelLabelStyle), "OutsideInColumn", SR.DescriptionCustomAttributeFunnelLabelStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelNeckWidth", typeof(float), 5f, SR.DescriptionCustomAttributeFunnelNeckWidth, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelNeckHeight", typeof(float), 5f, SR.DescriptionCustomAttributeFunnelNeckHeight, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelMinPointHeight", typeof(float), 0f, SR.DescriptionCustomAttributeFunnelMinPointHeight, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("Funnel3DRotationAngle", typeof(float), 5f, SR.DescriptionCustomAttributeFunnel3DRotationAngle, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.AppliesTo2D = false; customAttributeInfo.MinValue = -10f; customAttributeInfo.MaxValue = 10f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelPointGap", typeof(float), 0f, SR.DescriptionCustomAttributeFunnelPointGap, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("Funnel3DDrawingStyle", typeof(Funnel3DDrawingStyle), "CircularBase", SR.DescriptionCustomAttributeFunnel3DDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.AppliesTo2D = false; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelStyle", typeof(FunnelStyle), "YIsHeight", SR.DescriptionCustomAttributeFunnelStyle, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelInsideLabelAlignment", typeof(FunnelLabelVerticalAlignment), "Center", SR.DescriptionCustomAttributeFunnelInsideLabelAlignment, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("FunnelOutsideLabelPlacement", typeof(FunnelLabelPlacement), "Right", SR.DescriptionCustomAttributeFunnelOutsideLabelPlacement, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CalloutLineColor", typeof(Color), "Black", SR.DescriptionCustomAttributeCalloutLineColor, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[1] { SeriesChartType.Pyramid }; customAttributeInfo = new CustomAttributeInfo("PyramidLabelStyle", typeof(FunnelLabelStyle), "OutsideInColumn", SR.DescriptionCustomAttributePyramidLabelStyle, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PyramidMinPointHeight", typeof(float), 0f, SR.DescriptionCustomAttributePyramidMinPointHeight, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("Pyramid3DRotationAngle", typeof(float), 5f, SR.DescriptionCustomAttributePyramid3DRotationAngle, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.AppliesTo2D = false; customAttributeInfo.MinValue = -10f; customAttributeInfo.MaxValue = 10f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PyramidPointGap", typeof(float), 0f, SR.DescriptionCustomAttributePyramidPointGap, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.MinValue = 0f; customAttributeInfo.MaxValue = 100f; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("Pyramid3DDrawingStyle", typeof(Funnel3DDrawingStyle), "SquareBase", SR.DescriptionCustomAttributePyramid3DDrawingStyle, array, appliesToSeries: true, appliesToDataPoint: false); customAttributeInfo.AppliesTo2D = false; registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PyramidInsideLabelAlignment", typeof(FunnelLabelVerticalAlignment), "Center", SR.DescriptionCustomAttributePyramidInsideLabelAlignment, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PyramidOutsideLabelPlacement", typeof(FunnelLabelPlacement), "Right", SR.DescriptionCustomAttributePyramidOutsideLabelPlacement, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("CalloutLineColor", typeof(Color), "Black", SR.DescriptionCustomAttributeCalloutLineColor, array, appliesToSeries: true, appliesToDataPoint: true); registeredCustomAttributes.Add(customAttributeInfo); customAttributeInfo = new CustomAttributeInfo("PyramidValueType", typeof(PyramidValueType), "Linear", SR.DescriptionCustomAttributePyramidValueType, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); array = new SeriesChartType[4] { SeriesChartType.Pie, SeriesChartType.Doughnut, SeriesChartType.Funnel, SeriesChartType.Pyramid }; customAttributeInfo = new CustomAttributeInfo("SkipPaletteColorForEmptyPoint", typeof(bool), true, SR.DescriptionCustomAttributeSkipPaletteColorForEmptyPoint, array, appliesToSeries: true, appliesToDataPoint: false); registeredCustomAttributes.Add(customAttributeInfo); }