137 lines
4.2 KiB
C#
137 lines
4.2 KiB
C#
|
//-------------------------------------------------------------
|
|||
|
// <copyright company=<3D>Microsoft Corporation<6F>>
|
|||
|
// Copyright <20> Microsoft Corporation. All Rights Reserved.
|
|||
|
// </copyright>
|
|||
|
//-------------------------------------------------------------
|
|||
|
// @owner=alexgor, deliant
|
|||
|
//=================================================================
|
|||
|
// File: AnnotationConverters.cs
|
|||
|
//
|
|||
|
// Namespace: DataVisualization.Charting
|
|||
|
//
|
|||
|
// Classes: AnchorPointValueConverter, AnnotationAxisValueConverter
|
|||
|
//
|
|||
|
// Purpose: Annotation Converters.
|
|||
|
//
|
|||
|
// Reviewed:
|
|||
|
//
|
|||
|
//===================================================================
|
|||
|
|
|||
|
|
|||
|
#region Used namespace
|
|||
|
using System;
|
|||
|
using System.Globalization;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Specialized;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.ComponentModel.Design;
|
|||
|
using System.Data;
|
|||
|
using System.Drawing;
|
|||
|
using System.Drawing.Design;
|
|||
|
using System.Drawing.Text;
|
|||
|
using System.Drawing.Drawing2D;
|
|||
|
#if Microsoft_CONTROL
|
|||
|
using System.Windows.Forms.DataVisualization.Charting;
|
|||
|
using System.Windows.Forms.DataVisualization.Charting.Data;
|
|||
|
using System.Windows.Forms.DataVisualization.Charting.ChartTypes;
|
|||
|
using System.Windows.Forms.DataVisualization.Charting.Utilities;
|
|||
|
using System.Windows.Forms.DataVisualization.Charting.Borders3D;
|
|||
|
#else
|
|||
|
using System.Web;
|
|||
|
using System.Web.UI;
|
|||
|
using System.Web.UI.DataVisualization.Charting;
|
|||
|
using System.Web.UI.DataVisualization.Charting.Data;
|
|||
|
using System.Web.UI.DataVisualization.Charting.Utilities;
|
|||
|
#endif
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#if Microsoft_CONTROL
|
|||
|
namespace System.Windows.Forms.DataVisualization.Charting
|
|||
|
#else
|
|||
|
namespace System.Web.UI.DataVisualization.Charting
|
|||
|
#endif
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Converts anchor data point to string name.
|
|||
|
/// </summary>
|
|||
|
internal class AnchorPointValueConverter : TypeConverter
|
|||
|
{
|
|||
|
#region Converter methods
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Converts anchor data point to string name.
|
|||
|
/// </summary>
|
|||
|
/// <param name="context">Descriptor context.</param>
|
|||
|
/// <param name="culture">Culture information.</param>
|
|||
|
/// <param name="value">Value to convert.</param>
|
|||
|
/// <param name="destinationType">Convertion destination type.</param>
|
|||
|
/// <returns>Converted object.</returns>
|
|||
|
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
|
|||
|
{
|
|||
|
if (destinationType == typeof(string))
|
|||
|
{
|
|||
|
if (value == null)
|
|||
|
{
|
|||
|
return Constants.NotSetValue;
|
|||
|
}
|
|||
|
DataPoint dataPoint = value as DataPoint;
|
|||
|
|
|||
|
if (dataPoint != null)
|
|||
|
{
|
|||
|
if (dataPoint.series != null)
|
|||
|
{
|
|||
|
int pointIndex = dataPoint.series.Points.IndexOf(dataPoint) + 1;
|
|||
|
return dataPoint.series.Name + " - " + SR.DescriptionTypePoint + pointIndex.ToString(CultureInfo.InvariantCulture);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// Call base class
|
|||
|
return base.ConvertTo(context, culture, value, destinationType);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Converts anchor data point to string name.
|
|||
|
/// </summary>
|
|||
|
internal class AnnotationAxisValueConverter : TypeConverter
|
|||
|
{
|
|||
|
#region Converter methods
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Converts axis associated with anootation to string.
|
|||
|
/// </summary>
|
|||
|
/// <param name="context">Descriptor context.</param>
|
|||
|
/// <param name="culture">Culture information.</param>
|
|||
|
/// <param name="value">Value to convert.</param>
|
|||
|
/// <param name="destinationType">Convertion destination type.</param>
|
|||
|
/// <returns>Converted object.</returns>
|
|||
|
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
|
|||
|
{
|
|||
|
if (destinationType == typeof(string))
|
|||
|
{
|
|||
|
if (value == null)
|
|||
|
{
|
|||
|
return Constants.NotSetValue;
|
|||
|
}
|
|||
|
|
|||
|
Axis axis = value as Axis;
|
|||
|
if (axis != null)
|
|||
|
{
|
|||
|
if (axis.ChartArea != null)
|
|||
|
{
|
|||
|
return axis.ChartArea.Name + " - " + axis.Name;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// Call base class
|
|||
|
return base.ConvertTo(context, culture, value, destinationType);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|