227 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			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
 | 
						|
}
 |