Merge pull request #961 from ermshiperete/bug-xamarin-18118
[mono.git] / mcs / class / System.Windows.Forms.DataVisualization / System.Windows.Forms.DataVisualization.Charting / Axis.cs
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
35                 public Axis (ChartArea chartArea, AxisName axisTypeName)
36                 {
37                         this.ChartArea = chartArea;
38                         this.AxisName = axisTypeName;
39                 }
40
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]
102                 public double GetPosition (double axisValue)
103                 {
104                         throw new NotImplementedException ();
105                 }
106
107                 [MonoTODO]
108                 public double PixelPositionToValue (double position)
109                 {
110                         throw new NotImplementedException ();
111                 }
112
113                 [MonoTODO]
114                 public double PositionToValue (double position)
115                 {
116                         throw new NotImplementedException ();
117                 }
118
119                 [MonoTODO]
120                 public void RoundAxisValues ()
121                 {
122                         throw new NotImplementedException ();
123                 }
124
125                 [MonoTODO]
126                 public double ValueToPixelPosition (double axisValue)
127                 {
128                         throw new NotImplementedException ();
129                 }
130
131                 [MonoTODO]
132                 public double ValueToPosition (double axisValue)
133                 {
134                         throw new NotImplementedException ();
135                 }
136                 #endregion
137         }
138 }