1 //
2 // Authors:
3 // Jonathan Pobst (monkey@jpobst.com)
4 // Francis Fisher (frankie@terrorise.me.uk)
5 //
6 // Copyright (C) 2009 Novell, Inc (http://www.novell.com)
7 //
8 // Permission is hereby granted, free of charge, to any person obtaining
9 // a copy of this software and associated documentation files (the
10 // "Software"), to deal in the Software without restriction, including
11 // without limitation the rights to use, copy, modify, merge, publish,
12 // distribute, sublicense, and/or sell copies of the Software, and to
13 // permit persons to whom the Software is furnished to do so, subject to
14 // the following conditions:
15 //
16 // The above copyright notice and this permission notice shall be
17 // included in all copies or substantial portions of the Software.
18 //
19 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 
27 using System;
28 using System.Drawing;
29 
30 namespace System.Windows.Forms.DataVisualization.Charting
31 {
32 	public class Axis : ChartNamedElement, IDisposable
33 	{
34 		#region Constructors
Axis(ChartArea chartArea, AxisName axisTypeName)35 		public Axis (ChartArea chartArea, AxisName axisTypeName)
36 		{
37 			this.ChartArea = chartArea;
38 			this.AxisName = axisTypeName;
39 		}
40 
Axis()41 		public Axis ()
42 		{
43 		}
44 		#endregion
45 
46 		#region Public Properties
47 		public AxisArrowStyle ArrowStyle { get; set; }
48 		public virtual AxisName AxisName { get; private set; }
49 		public virtual double Crossing { get; set; }
50 		public CustomLabelCollection CustomLabels { get; private set; }
51 		public AxisEnabled Enabled { get; set; }
52 		public Color InterlacedColor { get; set; }
53 		public double Interval { get; set; }
54 		public IntervalAutoMode IntervalAutoMode { get; set; }
55 		public double IntervalOffset { get; set; }
56 		public DateTimeIntervalType IntervalOffsetType { get; set; }
57 		public DateTimeIntervalType IntervalType { get; set; }
58 		public bool IsInterlaced { get; set; }
59 		public bool IsLabelAutoFit { get; set; }
60 		public bool IsLogarithmic { get; set; }
61 		public bool IsMarginVisible { get; set; }
62 		public virtual bool IsMarksNextToAxis { get; set; }
63 		public bool IsReversed { get; set; }
64 		public bool IsStartedFromZero { get; set; }
65 		public int LabelAutoFitMaxFontSize { get; set; }
66 		public int LabelAutoFitMinFontSize { get; set; }
67 		public LabelAutoFitStyles LabelAutoFitStyle { get; set; }
68 		public LabelStyle LabelStyle { get; set; }
69 		public Color LineColor { get; set; }
70 		public ChartDashStyle LineDashStyle { get; set; }
71 		public int LineWidth { get; set; }
72 		public double LogarithmBase { get; set; }
73 		public Grid MajorGrid { get; set; }
74 		public TickMark MajorTickMark { get; set; }
75 		public double Maximum { get; set; }
76 		public float MaximumAutoSize { get; set; }
77 		public double Minimum { get; set; }
78 		public Grid MinorGrid { get; set; }
79 		public TickMark MinorTickMark { get; set; }
80 
81 		public override string Name {
82 			get { return base.Name; }
83 			set { base.Name = value; }
84 		}
85 
86 		public virtual AxisScaleBreakStyle ScaleBreakStyle { get; set; }
87 		public AxisScaleView ScaleView { get; set; }
88 		public AxisScrollBar ScrollBar { get; set; }
89 		public StripLinesCollection StripLines { get; private set; }
90 		public TextOrientation TextOrientation { get; set; }
91 		public string Title { get; set; }
92 		public StringAlignment TitleAlignment { get; set; }
93 		public Font TitleFont { get; set; }
94 		public Color TitleForeColor { get; set; }
95 		public string ToolTip { get; set; }
96 		#endregion
97 
98 		private ChartArea ChartArea;
99 
100 		#region Public Methods
101 		[MonoTODO]
GetPosition(double axisValue)102 		public double GetPosition (double axisValue)
103 		{
104 			throw new NotImplementedException ();
105 		}
106 
107 		[MonoTODO]
PixelPositionToValue(double position)108 		public double PixelPositionToValue (double position)
109 		{
110 			throw new NotImplementedException ();
111 		}
112 
113 		[MonoTODO]
PositionToValue(double position)114 		public double PositionToValue (double position)
115 		{
116 			throw new NotImplementedException ();
117 		}
118 
119 		[MonoTODO]
RoundAxisValues()120 		public void RoundAxisValues ()
121 		{
122 			throw new NotImplementedException ();
123 		}
124 
125 		[MonoTODO]
ValueToPixelPosition(double axisValue)126 		public double ValueToPixelPosition (double axisValue)
127 		{
128 			throw new NotImplementedException ();
129 		}
130 
131 		[MonoTODO]
ValueToPosition(double axisValue)132 		public double ValueToPosition (double axisValue)
133 		{
134 			throw new NotImplementedException ();
135 		}
136 		#endregion
137 	}
138 }
139