227 lines
5.3 KiB
C#

using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using DevComponents.DotNetBar.Charts.Style;
using DevComponents.Charts.TextMarkup;
namespace DevComponents.DotNetBar.Charts
{
/// <summary>
/// Represents the collection of ChartAnnotations.
/// </summary>
[Editor("DevComponents.ChartControl.Design.AnnotationCollectionEditor, DevComponents.ChartControl.Design, " +
"Version=14.1.0.37, Culture=neutral, PublicKeyToken=90f470f34c89ccaf", typeof(UITypeEditor))]
public class ChartAnnotationCollection : CustomNamedCollection<Annotation>
{
}
public class Annotation : ChartNote
{
#region Private variables
private States _States;
private float _ShapeRotation;
private float _ConnectorRotation;
private float _ConnectorLength;
private AnnotationVisualStyles _AnnotationVisualStyles;
#endregion
#region Public properties
#region AnnotationVisualStyles
/// <summary>
/// Gets or sets the visual styles for the Annotation.
/// </summary>
[Category("Style")]
[Description("Indicates the visual styles for the Annotation.")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public AnnotationVisualStyles AnnotationVisualStyles
{
get
{
if (_AnnotationVisualStyles == null)
{
_AnnotationVisualStyles = new AnnotationVisualStyles();
StyleVisualChangeHandler(null, _AnnotationVisualStyles);
}
return (_AnnotationVisualStyles);
}
set
{
if (_AnnotationVisualStyles != value)
{
AnnotationVisualStyles oldValue = _AnnotationVisualStyles;
_AnnotationVisualStyles = value;
OnStyleChanged("AnnotationVisualStyles", oldValue, value);
if (oldValue != null)
oldValue.Dispose();
}
}
}
#endregion
#region ConnectorLength
/// <summary>
/// Gets or Sets the length of the Annotation Connector.
/// </summary>
[Category("Appearance")]
[Description("Indicates the length of the Annotation Connector.")]
public float ConnectorLength
{
get { return (_ConnectorLength); }
set
{
if (_ConnectorLength != value)
{
_ConnectorLength = value;
OnPropertyChangedEx("ConnectorLength", VisualChangeType.Render);
}
}
}
#endregion
#region ConnectorRotation
/// <summary>
/// Gets or Sets the rotation of the Annotation Connector.
/// </summary>
[Category("Appearance")]
[Description("Indicates the rotation of the Annotation Connector.")]
public float ConnectorRotation
{
get { return (_ConnectorRotation); }
set
{
if (_ConnectorRotation != value)
{
_ConnectorRotation = value;
OnPropertyChangedEx("ConnectorRotation", VisualChangeType.Render);
}
}
}
#endregion
#region ShapeRotation
/// <summary>
/// Gets or Sets the rotation of the Annotation Shape.
/// </summary>
[Category("Appearance")]
[Description("Indicates the rotation of the Annotation Shape.")]
public float ShapeRotation
{
get { return (_ShapeRotation); }
set
{
if (_ShapeRotation != value)
{
_ShapeRotation = value;
OnPropertyChangedEx("ShapeRotation", VisualChangeType.Render);
}
}
}
#endregion
#endregion
protected override void ArrangeOverride(ChartLayoutInfo layoutInfo)
{
throw new NotImplementedException();
}
protected override void MeasureOverride(ChartLayoutInfo layoutInfo)
{
throw new NotImplementedException();
}
protected override void RenderOverride(ChartRenderInfo renderInfo)
{
throw new NotImplementedException();
}
#region Annotation States
[Flags]
private enum States : uint
{
}
#region TestState
private bool TestState(States state)
{
return ((_States & state) == state);
}
#endregion
#region SetState
private void SetState(States state, bool value)
{
if (value == true)
_States |= state;
else
_States &= ~state;
}
#endregion
#endregion
}
#region enums
#region AnnotationShape
public enum AnnotationShape
{
NotSet = 0,
Ellipse,
Rectangular,
}
#endregion
#region ConnectorShape
public enum ConnectorShape
{
NotSet = 0,
None,
Arrow,
Line,
Tail,
}
#endregion
#endregion
}