예제 #1
0
        private static ITheme CreateQuantityTheme <T>(Legend legend, Ranges <T> ranges)
        {
            QuantityTheme theme = new QuantityTheme(legend.columnName, new VectorStyle());

            foreach (Range <T> range in ranges.ranges)
            {
                Interval interval = null;
                if (typeof(T) == typeof(double))
                {
                    interval = new Interval(range.doubleMinValue, range.doubleMaxValue);
                }
                else
                {
                    interval = new Interval(range.intMinValue, range.intMaxValue);
                }
                VectorStyle style = new VectorStyle();
                style.Fill = new SolidBrush(range.color);

                QuantityThemeItem themeItem = new QuantityThemeItem(interval, style);
                theme.ThemeItems.Add(themeItem);
            }

            return(theme);
        }
예제 #2
0
        private static QuantityTheme GetQuantityTheme(theme theme)
        {
            var themeQuantity = (themeQuantity)theme.Item;

            var quanTheme = new QuantityTheme(themeQuantity.columnName, GetDefaultStyle(theme))
            {
                NoDataValues = ConvertNoDataValues(themeQuantity.noDataValues, themeQuantity.noDataValueType)
            };

            foreach (themeItem quanThemeItem in themeQuantity.quantityThemeItems)
            {
                var themeStyle = GetStyle(quanThemeItem);
                var interval   = new Interval(quanThemeItem.intervalMinValue,
                                              quanThemeItem.intervalMaxValue);

                var themeItem = new QuantityThemeItem(interval, themeStyle)
                {
                    Label = quanThemeItem.label
                };
                quanTheme.ThemeItems.Add(themeItem);
            }

            return(quanTheme);
        }