internal void UpdateColorSwatchAndLegend() { MapCore mapCore = GetMapCore(); if (mapCore == null) { return; } Field field = GetField(); if (ShowInColorSwatch) { foreach (CustomColor customColor3 in CustomColors) { if (customColor3.VisibleInt) { SwatchColor swatchColor = mapCore.ColorSwatchPanel.Colors.Add(""); swatchColor.automaticallyAdded = true; swatchColor.Color = customColor3.Color; swatchColor.SecondaryColor = customColor3.SecondaryColor; swatchColor.GradientType = customColor3.GradientType; swatchColor.HatchStyle = customColor3.HatchStyle; if (field != null && field.IsNumeric()) { swatchColor.FromValue = field.ConvertToDouble(field.Parse(customColor3.FromValueInt)); swatchColor.ToValue = field.ConvertToDouble(field.Parse(customColor3.ToValueInt)); } else { swatchColor.TextValue = customColor3.FromValueInt; } } } } if (!(ShowInLegend != string.Empty) || !(ShowInLegend != "(none)")) { return; } Legend legend = (Legend)mapCore.Legends.GetByName(ShowInLegend); if (legend == null) { return; } foreach (CustomColor customColor4 in CustomColors) { if (customColor4.VisibleInt) { LegendItem legendItem = legend.Items.Add(""); legendItem.automaticallyAdded = true; legendItem.ItemStyle = LegendItemStyle.Shape; legendItem.Color = customColor4.Color; legendItem.SecondaryColor = customColor4.SecondaryColor; legendItem.GradientType = customColor4.GradientType; legendItem.HatchStyle = customColor4.HatchStyle; legendItem.Text = GetLegendText(field, customColor4.FromValueInt, customColor4.ToValueInt); } } }
internal void GetOptimalIntervals(Field field, ArrayList sortedList, object fromValue, object toValue, int intervalCount, ref object[] fromValues, ref object[] toValues) { if (sortedList.Count == 0 || Microsoft.Reporting.Map.WebForms.Field.ToStringInvariant(fromValue) == Microsoft.Reporting.Map.WebForms.Field.ToStringInvariant(toValue)) { GetEqualIntervals(field, fromValue, toValue, intervalCount, ref fromValues, ref toValues); return; } intervalCount = Math.Min(intervalCount, sortedList.Count); if (intervalCount < 4) { if (intervalCount < 1) { intervalCount = 1; } GetEqualIntervals(field, fromValue, toValue, intervalCount, ref fromValues, ref toValues); return; } if (intervalCount > sortedList.Count - 3) { intervalCount = sortedList.Count - 3; } if (intervalCount < 4) { if (intervalCount < 1) { intervalCount = 1; } GetEqualIntervals(field, fromValue, toValue, intervalCount, ref fromValues, ref toValues); return; } ArrayList arrayList = new ArrayList(); for (int i = 0; i < sortedList.Count; i++) { arrayList.Add(field.ConvertToDouble(sortedList[i])); } int[] jenksBreaks = GetJenksBreaks(arrayList, intervalCount); fromValues = new object[jenksBreaks.Length]; toValues = new object[jenksBreaks.Length]; fromValues[0] = GetRoundedAverage(field, sortedList[0], sortedList[0], floor: true); object roundedAverage = GetRoundedAverage(field, sortedList[jenksBreaks[0] - 1], sortedList[jenksBreaks[0]], floor: true); toValues[0] = roundedAverage; for (int j = 1; j < fromValues.Length - 1; j++) { fromValues[j] = roundedAverage; roundedAverage = GetRoundedAverage(field, sortedList[jenksBreaks[j] - 1], sortedList[jenksBreaks[j]], floor: true); toValues[j] = roundedAverage; } fromValues[fromValues.Length - 1] = roundedAverage; toValues[fromValues.Length - 1] = GetRoundedAverage(field, sortedList[sortedList.Count - 1], sortedList[sortedList.Count - 1], floor: false); if (FromValue != string.Empty) { fromValues[0] = field.Parse(FromValue); } if (ToValue != string.Empty) { toValues[toValues.Length - 1] = field.Parse(ToValue); } }
internal void UpdateColorSwatchAndLegend() { MapCore mapCore = GetMapCore(); if (mapCore == null) { return; } Field field = GetField(); if (ShowInColorSwatch) { foreach (PredefinedSymbol predefinedSymbol3 in PredefinedSymbols) { if (predefinedSymbol3.Visible) { SwatchColor swatchColor = mapCore.ColorSwatchPanel.Colors.Add(""); swatchColor.automaticallyAdded = true; swatchColor.Color = predefinedSymbol3.Color; swatchColor.SecondaryColor = predefinedSymbol3.SecondaryColor; swatchColor.GradientType = predefinedSymbol3.GradientType; swatchColor.HatchStyle = predefinedSymbol3.HatchStyle; if (field != null && field.IsNumeric()) { swatchColor.FromValue = field.ConvertToDouble(field.Parse(predefinedSymbol3.FromValueInt)); swatchColor.ToValue = field.ConvertToDouble(field.Parse(predefinedSymbol3.ToValueInt)); } else { swatchColor.TextValue = predefinedSymbol3.FromValueInt; } } } } if (!(ShowInLegend != string.Empty) || !(ShowInLegend != "(none)")) { return; } Legend legend = (Legend)mapCore.Legends.GetByName(ShowInLegend); if (legend == null) { return; } foreach (PredefinedSymbol predefinedSymbol4 in PredefinedSymbols) { if (predefinedSymbol4.Visible) { LegendItem legendItem = legend.Items.Add(""); legendItem.automaticallyAdded = true; legendItem.ShadowOffset = predefinedSymbol4.ShadowOffset; legendItem.Text = GetLegendText(field, predefinedSymbol4.FromValueInt, predefinedSymbol4.ToValueInt); if (!string.IsNullOrEmpty(predefinedSymbol4.Image)) { LegendCell legendCell = new LegendCell(LegendCellType.Image, predefinedSymbol4.Image); legendCell.ImageTranspColor = predefinedSymbol4.ImageTransColor; legendCell.Margins.Top = 15; legendCell.Margins.Bottom = 15; LegendCell cell = new LegendCell(LegendCellType.Text, "#LEGENDTEXT", ContentAlignment.MiddleLeft); legendItem.Cells.Add(legendCell); legendItem.Cells.Add(cell); } else { legendItem.ItemStyle = LegendItemStyle.Symbol; legendItem.MarkerStyle = predefinedSymbol4.MarkerStyle; legendItem.MarkerColor = predefinedSymbol4.Color; legendItem.MarkerWidth = ((predefinedSymbol4.Width < 0.001f) ? 13f : predefinedSymbol4.Width); legendItem.MarkerHeight = ((predefinedSymbol4.Height < 0.001f) ? 13f : predefinedSymbol4.Height); legendItem.MarkerGradientType = predefinedSymbol4.GradientType; legendItem.MarkerHatchStyle = predefinedSymbol4.HatchStyle; legendItem.MarkerSecondaryColor = predefinedSymbol4.SecondaryColor; legendItem.MarkerBorderColor = predefinedSymbol4.BorderColor; legendItem.MarkerBorderWidth = predefinedSymbol4.BorderWidth; legendItem.MarkerBorderStyle = predefinedSymbol4.BorderStyle; } } } }