Pārlūkot izejas kodu

Boilerplate implementation of Charting

Implemented enough of
System.Windows.Forms.DataVisualization.Charting to get two pieces of
software to compile: the charting examples from MSDN and the windows OSS
EVEMon.

This patch contains the majority of properties defined, and many methods
stubbed - I have avoided implementing any functionality in this patch.

All this work is under the MIT Licence.
Francis Fisher 12 gadi atpakaļ
vecāks
revīzija
699ef5e948
67 mainītis faili ar 3734 papildinājumiem un 42 dzēšanām
  1. 1 1
      mcs/class/System.Windows.Forms.DataVisualization/Makefile
  2. 125 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Annotation.cs
  3. 35 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationCollection.cs
  4. 61 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationGroup.cs
  5. 2 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationPathPoint.cs
  6. 61 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationPositionChangingEventArgs.cs
  7. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationSmartLabelStyle.cs
  8. 5 1
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ArrowAnnotation.cs
  9. 14 3
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Axis.cs
  10. 59 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AxisScaleView.cs
  11. 55 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AxisScrollBar.cs
  12. 32 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Border3DAnnotation.cs
  13. 45 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/BorderSkin.cs
  14. 45 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CalloutAnnotation.cs
  15. 209 4
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Chart.cs
  16. 63 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartArea.cs
  17. 1 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartElement.cs
  18. 49 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartGraphics.cs
  19. 69 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartNamedElementCollection.cs
  20. 100 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartSerializer.cs
  21. 83 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Cursor.cs
  22. 54 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CursorEventArgs.cs
  23. 71 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomLabel.cs
  24. 66 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomLabelCollection.cs
  25. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomProperties.cs
  26. 32 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomizeLegendEventArgs.cs
  27. 75 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataFormula.cs
  28. 329 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataManipulator.cs
  29. 16 11
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataPoint.cs
  30. 150 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataPointCollection.cs
  31. 99 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataPointCustomProperties.cs
  32. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/EllipseAnnotation.cs
  33. 37 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/FTestResult.cs
  34. 40 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/HitTestResult.cs
  35. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/HorizontalLineAnnotation.cs
  36. 47 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ImageAnnotation.cs
  37. 44 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LabelStyle.cs
  38. 92 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Legend.cs
  39. 61 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCell.cs
  40. 43 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCellCollection.cs
  41. 50 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCellColumn.cs
  42. 39 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCellColumnCollection.cs
  43. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCollection.cs
  44. 72 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendItem.cs
  45. 57 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendItemsCollection.cs
  46. 46 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LineAnnotation.cs
  47. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/PolygonAnnotation.cs
  48. 51 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/PolylineAnnotation.cs
  49. 65 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/PrintingManager.cs
  50. 33 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/RectangleAnnotation.cs
  51. 38 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ScrollBarEventArgs.cs
  52. 55 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Series.cs
  53. 45 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/SmartLabelStyle.cs
  54. 147 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/StatisticFormula.cs
  55. 57 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/StripLine.cs
  56. 4 9
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/StripLinesCollection.cs
  57. 40 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/TTestResult.cs
  58. 43 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/TextAnnotation.cs
  59. 88 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Title.cs
  60. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/TitleCollection.cs
  61. 13 3
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ToolTipEventArgs.cs
  62. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/VerticalLineAnnotation.cs
  63. 37 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ViewEventArgs.cs
  64. 30 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ZTestResult.cs
  65. 58 6
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.csproj
  66. 55 0
      mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.dll.sources
  67. 1 4
      mcs/class/System.Windows.Forms.DataVisualization/Test/ChartingTests.csproj

+ 1 - 1
mcs/class/System.Windows.Forms.DataVisualization/Makefile

@@ -3,7 +3,7 @@ SUBDIRS =
 include ../../build/rules.make
 
 LIBRARY = System.Windows.Forms.DataVisualization.dll
-LIB_MCS_FLAGS = -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core
+LIB_MCS_FLAGS = -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES =

+ 125 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Annotation.cs

@@ -0,0 +1,125 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE./
+
+using System;
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public abstract class Annotation : ChartNamedElement
+	{
+		protected Annotation ()
+		{
+		}
+
+		public virtual ContentAlignment Alignment { get; set; }
+		public virtual bool AllowAnchorMoving { get; set; }
+		public virtual bool AllowMoving { get; set; }
+		public virtual bool AllowPathEditing { get; set; }
+		public virtual bool AllowResizing { get; set; }
+		public virtual bool AllowSelecting { get; set; }
+		public virtual bool AllowTextEditing { get; set; }
+		public virtual ContentAlignment AnchorAlignment { get; set; }
+		public virtual DataPoint AnchorDataPoint { get; set; }
+		public virtual string AnchorDataPointName { get; set; }
+		public virtual double AnchorOffsetX { get; set; }
+		public virtual double AnchorOffsetY { get; set; }
+		public virtual double AnchorX { get; set; }
+		public virtual double AnchorY { get; set; }
+		public AnnotationGroup AnnotationGroup { get; private set; }
+		public abstract string AnnotationType { get; } 
+		public virtual Axis AxisX { get; set; }
+		public virtual string AxisXName { get; set; }
+		public virtual Axis AxisY { get; set; }
+		public virtual string AxisYName { get; set; }
+		public virtual Color BackColor { get; set; }
+		public virtual GradientStyle BackGradientStyle { get; set; }
+		public virtual ChartHatchStyle BackHatchStyle { get; set; }
+		public virtual Color BackSecondaryColor { get; set; }
+		public virtual double Bottom { get; set; }
+		public virtual string ClipToChartArea { get; set; }
+		public virtual Font Font { get; set; }
+		public virtual Color ForeColor { get; set; }
+		public virtual double Height { get; set; }
+		public virtual bool IsSelected { get; set; }
+		public virtual bool IsSizeAlwaysRelative { get; set; }
+		public virtual Color LineColor { get; set; }
+		public virtual ChartDashStyle LineDashStyle { get; set; }
+		public virtual int LineWidth { get; set; }
+		public override string Name { get; set; }
+		public virtual double Right { get; set; }
+		public virtual Color ShadowColor { get; set; }
+		public virtual int ShadowOffset { get; set; }
+		public AnnotationSmartLabelStyle SmartLabelStyle { get; set; }
+		public virtual TextStyle TextStyle { get; set; }
+		public virtual string ToolTip { get; set; }
+		public virtual bool Visible { get; set; }
+		public virtual double Width { get; set; }
+		public virtual double X { get; set; }
+		public virtual double Y { get; set; }
+		public virtual string YAxisName { get; set; }
+
+		[MonoTODO]
+		public virtual void BeginPlacement ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual void BringToFront ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual void EndPlacement ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual void ResizeToContent ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual void SendToBack ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SetAnchor (DataPoint dataPoint)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SetAnchor (DataPoint dataPoint1, DataPoint dataPoint2)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}
+

+ 35 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationCollection.cs

@@ -0,0 +1,35 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class AnnotationCollection : ChartNamedElementCollection<Annotation>
+	{
+		[MonoTODO]
+		public override Annotation FindByName (string name) {
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 61 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationGroup.cs

@@ -0,0 +1,61 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class AnnotationGroup : Annotation
+	{
+		public AnnotationGroup ()
+		{
+			Annotations = new AnnotationCollection ();
+		}
+
+		public override ContentAlignment Alignment { get; set; }
+		public override bool AllowAnchorMoving { get; set; }
+		public override bool AllowMoving { get; set; }
+		public override bool AllowPathEditing { get; set; }
+		public override bool AllowResizing { get; set; }
+		public override bool AllowSelecting { get; set; }
+		public override bool AllowTextEditing { get; set; }
+		public AnnotationCollection Annotations { get; private set; }
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public override Color BackColor { get; set; }
+		public override GradientStyle BackGradientStyle { get; set; }
+		public override ChartHatchStyle BackHatchStyle { get; set; }
+		public override Color BackSecondaryColor { get; set; }
+		public override string ClipToChartArea { get; set; }
+		public override Font Font { get; set; }
+		public override Color ForeColor { get; set; }
+		public override bool IsSelected { get; set; }
+		public override bool IsSizeAlwaysRelative { get; set; }
+		public override Color LineColor { get; set; }
+		public override ChartDashStyle LineDashStyle { get; set; }
+		public override int LineWidth { get; set; }
+		public override Color ShadowColor { get; set; }
+		public override int ShadowOffset { get; set; }
+		public override TextStyle TextStyle { get; set; }
+		public override bool Visible { get; set; }
+	}
+}

+ 2 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationPathPoint.cs

@@ -46,6 +46,8 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		#endregion
 
 		#region Public Properties
+		public string Name { get; private set; }
+		public byte PointType { get; set; }
 		public float X { get; set; }
 		public float Y { get; set; }
 		#endregion

+ 61 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationPositionChangingEventArgs.cs

@@ -0,0 +1,61 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System;
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class AnnotationPositionChangingEventArgs : EventArgs
+	{
+		public AnnotationPositionChangingEventArgs ()
+		{
+		}
+
+		public Annotation Annotation {get;set;}
+
+		public PointF NewAnchorLocation { get; set;}
+		public double NewAnchorLocationX { 
+			get { return this.NewAnchorLocation.X; } 
+			set { PointF nal = this.NewAnchorLocation; nal.X = (float)value; this.NewAnchorLocation = nal; } }
+		public double NewAnchorLocationY { 
+			get { return this.NewAnchorLocation.Y; } 
+			set { PointF nal = this.NewAnchorLocation; nal.Y = (float)value; this.NewAnchorLocation = nal; } }
+
+		public RectangleF NewPosition { get; set; }
+
+		public double NewLocationX { 
+			get { return this.NewPosition.X;} 
+			set{ RectangleF np = this.NewPosition; np.X = (float)value; this.NewPosition = np;} }
+		public double NewLocationY { 
+			get { return this.NewPosition.Y;} 
+			set{ RectangleF np = this.NewPosition; np.Y = (float)value; this.NewPosition = np;} }
+		public double NewSizeWidth { 
+			get { return this.NewPosition.Width;} 
+			set{ RectangleF np = this.NewPosition; np.Width = (float)value; this.NewPosition = np;} }
+		public double NewSizeHeight { 
+			get { return this.NewPosition.Height;} 
+			set{ RectangleF np = this.NewPosition; np.Height = (float)value; this.NewPosition = np;} }
+	}
+}

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnnotationSmartLabelStyle.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class AnnotationSmartLabelStyle : SmartLabelStyle
+	{
+	}
+}

+ 5 - 1
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ArrowAnnotation.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -24,10 +25,11 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 using System;
+using System.Drawing;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
-	public class ArrowAnnotation
+	public class ArrowAnnotation : Annotation
 	{
 		private int arrow_size = 5;
 
@@ -38,6 +40,8 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		#endregion
 
 		#region Public Properties
+		public override ContentAlignment AnchorAlignment { get; set; }
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
 		public virtual int ArrowSize {
 			get { return arrow_size; }
 			set {

+ 14 - 3
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Axis.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -33,6 +34,8 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		#region Constructors
 		public Axis (ChartArea chartArea, AxisName axisTypeName)
 		{
+			this.ChartArea = chartArea;
+			this.AxisName = axisTypeName;
 		}
 
 		public Axis ()
@@ -42,9 +45,9 @@ namespace System.Windows.Forms.DataVisualization.Charting
 
 		#region Public Properties
 		public AxisArrowStyle ArrowStyle { get; set; }
-		public virtual AxisName AxisName { get; }
+		public virtual AxisName AxisName { get; private set; }
 		public virtual double Crossing { get; set; }
-		public CustomLabelCollection CustomLabels { get; }
+		public CustomLabelCollection CustomLabels { get; private set; }
 		public AxisEnabled Enabled { get; set; }
 		public Color InterlacedColor { get; set; }
 		public double Interval { get; set; }
@@ -83,7 +86,7 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		public virtual AxisScaleBreakStyle ScaleBreakStyle { get; set; }
 		public AxisScaleView ScaleView { get; set; }
 		public AxisScrollBar ScrollBar { get; set; }
-		public StripLinesCollection StripLines { get; }
+		public StripLinesCollection StripLines { get; private set; }
 		public TextOrientation TextOrientation { get; set; }
 		public string Title { get; set; }
 		public StringAlignment TitleAlignment { get; set; }
@@ -92,32 +95,40 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		public string ToolTip { get; set; }
 		#endregion
 
+		private ChartArea ChartArea; 
+
 		#region Public Methods
+		[MonoTODO]
 		public double GetPosition (double axisValue)
 		{
 			throw new NotImplementedException ();
 		}
 
+		[MonoTODO]
 		public double PixelPositionToValue (double position)
 		{
 			throw new NotImplementedException ();
 		}
 
+		[MonoTODO]
 		public double PositionToValue (double position)
 		{
 			throw new NotImplementedException ();
 		}
 
+		[MonoTODO]
 		public void RoundAxisValues ()
 		{
 			throw new NotImplementedException ();
 		}
 
+		[MonoTODO]
 		public double ValueToPixelPosition (double axisValue)
 		{
 			throw new NotImplementedException ();
 		}
 
+		[MonoTODO]
 		public double ValueToPosition (double axisValue)
 		{
 			throw new NotImplementedException ();

+ 59 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AxisScaleView.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -30,5 +31,63 @@ namespace System.Windows.Forms.DataVisualization.Charting
 {
 	public class AxisScaleView
 	{
+		public bool IsZoomed { get; private set;}
+		public double MinSize { get; set; }
+		public DateTimeIntervalType MinSizeType { get; set; }
+		public double Position { get; set; }
+		public double Size { get; set; }
+		public DateTimeIntervalType SizeType { get; set; }
+		public double SmallScrollMinSize { get; set; }
+		public DateTimeIntervalType SmallScrollMinSizeType { get; set; }
+		public double SmallScrollSize { get; set; }
+		public DateTimeIntervalType SmallScrollSizeType { get; set; }
+		public double ViewMaximum { get; private set; }
+		public double ViewMinimum { get; private set;}
+		public bool Zoomable { get; set; }
+
+
+		[MonoTODO]
+		public void Scroll (DateTime newPosition)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void Scroll (double newPosition)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void Scroll (ScrollType scrollType)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void Zoom (double viewStart,double viewEnd)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void Zoom (double viewPosition, double viewSize, DateTimeIntervalType viewSizeType)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void Zoom (double viewPosition, double viewSize, DateTimeIntervalType viewSizeType, bool saveState)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void ZoomReset ()
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void ZoomReset (int numberOfViews)
+		{
+			throw new NotImplementedException();
+		}
 	}
 }

+ 55 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AxisScrollBar.cs

@@ -0,0 +1,55 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class AxisScrollBar : IDisposable
+	{
+		public Axis Axis { get; private set; }
+		public Color BackColor { get; set; }
+		public Color ButtonColor { get; set; }
+		public ScrollBarButtonStyles ButtonStyle { get; set; }
+		public ChartArea ChartArea { get; private set; } 
+		public bool Enabled { get; set; }
+		public bool IsPositionedInside { get; set; }
+		public bool IsVisible { get; private set; } 
+		public Color LineColor { get; set; }
+		public double Size { get; set; }
+
+		[MonoTODO]
+		public void Dispose ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		protected virtual void Dispose (bool disposing )
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}
+

+ 32 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Border3DAnnotation.cs

@@ -0,0 +1,32 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class Border3DAnnotation : RectangleAnnotation
+	{
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public BorderSkin BorderSkin { get; set; }
+	}
+}

+ 45 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/BorderSkin.cs

@@ -0,0 +1,45 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class BorderSkin : ChartElement
+	{
+		public Color BackColor { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public Color PageColor { get; set; }
+		public BorderSkinStyle SkinStyle { get; set; }
+	}
+}

+ 45 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CalloutAnnotation.cs

@@ -0,0 +1,45 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class CalloutAnnotation : TextAnnotation
+	{
+		public override ContentAlignment AnchorAlignment { get; set; }
+		public override double AnchorOffsetX { get; set; }
+		public override double AnchorOffsetY { get; set; }
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public override Color BackColor { get; set; }
+		public override GradientStyle BackGradientStyle { get; set; }
+		public override ChartHatchStyle BackHatchStyle { get; set; }
+		public override Color BackSecondaryColor { get; set; }
+		public virtual LineAnchorCapStyle CalloutAnchorCap { get; set; }
+		public virtual CalloutStyle CalloutStyle { get; set; }
+		public override Color LineColor { get; set; }
+		public override ChartDashStyle LineDashStyle { get; set; }
+		public override int LineWidth { get; set; }
+	}
+}

+ 209 - 4
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Chart.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -24,12 +25,15 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 using System;
-using System.Collections.Generic;
 using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.ComponentModel;
+using System.Data.Common;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
-	public class Chart : Control
+	public class Chart : Control, ISupportInitialize, IDisposable
 	{
 		public Chart ()
 		{
@@ -37,9 +41,45 @@ namespace System.Windows.Forms.DataVisualization.Charting
 			ChartAreas = new ChartAreaCollection ();
 			Series = new SeriesCollection ();
 		}
-
+		public AnnotationCollection Annotations { get; private set;}
+		public AntiAliasingStyles AntiAliasing { get; set; }
+		public override Color BackColor { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public override Image BackgroundImage { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public Color BorderlineColor { get; set; }
+		public ChartDashStyle BorderlineDashStyle { get; set; }
+		public int BorderlineWidth { get; set; }
+		public BorderSkin BorderSkin { get; set; }
+		public int BorderWidth { get; set; }
+		public string BuildNumber { get; private set;}
 		public ChartAreaCollection ChartAreas { get; private set; }
+		public DataManipulator DataManipulator { get; private set;}
+		public Object DataSource { get; set; }
+		protected override Size DefaultSize { get { return DefaultSize; } }//FIXME
+		public Font Font { get; set; }
+		public override Color ForeColor { get; set; }
+		public NamedImagesCollection Images { get; private set;}
+		public bool IsSoftShadows { get; set; }
+		public LegendCollection Legends { get; private set; }
+		public ChartColorPalette Palette { get; set; }
+		public Color[] PaletteCustomColors { get; set; }
+		public PrintingManager Printing { get; private set;}
+		public double RenderingDpiX { get; set; }
+		public double RenderingDpiY { get; set; }
+		public ChartSerializer Serializer { get; private set; }
 		public SeriesCollection Series { get; private set; }
+		public Size Size { get; set; }
+		public bool SuppressExceptions { get; set; }
+		public TextAntiAliasingQuality TextAntiAliasingQuality { get; set; }
+		public TitleCollection Titles { get; private set;}
 
 		#region Protected Properties
 		protected override void OnPaint (PaintEventArgs e)
@@ -71,6 +111,171 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		}
 		#endregion
 
+
+
+		public event EventHandler AnnotationPlaced;
+		public event EventHandler AnnotationPositionChanged;
+		public event EventHandler<AnnotationPositionChangingEventArgs> AnnotationPositionChanging;
+		public event EventHandler AnnotationSelectionChanged;
+		public event EventHandler AnnotationTextChanged;
+		public event EventHandler<ScrollBarEventArgs> AxisScrollBarClicked;
+		public event EventHandler<ViewEventArgs> AxisViewChanged;
+		public event EventHandler<ViewEventArgs> AxisViewChanging;
+		public event EventHandler<CursorEventArgs> CursorPositionChanged;
+		public event EventHandler<CursorEventArgs> CursorPositionChanging;
+		public event EventHandler Customize;
+		public event EventHandler<CustomizeLegendEventArgs> CustomizeLegend;
+		public event EventHandler<FormatNumberEventArgs> FormatNumber;
+		public event EventHandler<ToolTipEventArgs> GetToolTipText;
+		public event EventHandler<ChartPaintEventArgs> PostPaint;
+		public event EventHandler<ChartPaintEventArgs> PrePaint;
+		public event EventHandler<CursorEventArgs> SelectionRangeChanged;
+		public event EventHandler<CursorEventArgs> SelectionRangeChanging;
+
+
+		#region Public Methods
+
+		[MonoTODO]
+		public void AlignDataPointsByAxisLabel ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void AlignDataPointsByAxisLabel (PointSortOrder sortingOrder)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void AlignDataPointsByAxisLabel(string series)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void AlignDataPointsByAxisLabel (string series, PointSortOrder sortingOrder)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void ApplyPaletteColors ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void BeginInit ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBind ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBindCrossTable (System.Collections.IEnumerable dataSource, string seriesGroupByField, string xField, string yFields, string otherFields)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void DataBindCrossTable (System.Collections.IEnumerable dataSource, string seriesGroupByField, string xField, string yFields, string otherFields, PointSortOrder sortingOrder)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBindTable (System.Collections.IEnumerable dataSource)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void DataBindTable (System.Collections.IEnumerable dataSource, string xField)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void EndInit ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public HitTestResult HitTest (int x, int y)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public HitTestResult HitTest (int x, int y, bool ignoreTransparent)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public HitTestResult HitTest (int x, int y, ChartElementType requestedElement)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public HitTestResult[] HitTest (int x, int y, bool ignoreTransparent, params ChartElementType[] requestedElement)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void LoadTemplate (Stream stream)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void LoadTemplate (string name)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void ResetAutoValues ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void SaveImage (Stream imageStream, ImageFormat format)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SaveImage (Stream imageStream, ChartImageFormat format)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SaveImage (string imageFileName, ImageFormat format)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SaveImage (string imageFileName, ChartImageFormat format)
+		{
+			throw new NotImplementedException ();
+		}
+		#endregion
+
+		#region Protected Methods
+
+
+		protected override void Dispose (bool disposing)
+		{
+		}
+
+
+
+		#endregion
+
 		#region Private Methods
 		private void PaintElement (ChartGraphics g, object element, ElementPosition position)
 		{
@@ -81,4 +286,4 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		}
 		#endregion
 	}
-}
+}

+ 63 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartArea.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -24,11 +25,73 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 using System;
+using System.Drawing;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
 	public class ChartArea : ChartNamedElement
 	{
+		public ChartArea() {}
+		public ChartArea( string name ){
+			Name = name;
+		}
+
+		public AreaAlignmentOrientations AlignmentOrientation { get; set; }
+		public AreaAlignmentStyles AlignmentStyle { get; set; }
+		public string AlignWithChartArea { get; set; }
+		public ChartArea3DStyle Area3DStyle { get; set; }
+		public Axis[] Axes { get; set; }
+		public Axis AxisX { get; set; }
+		public Axis AxisX2 { get; set; }
+		public Axis AxisY { get; set; }
+		public Axis AxisY2 { get; set; }
+		public Color BackColor { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public Cursor CursorX { get; set; }
+		public Cursor CursorY { get; set; }
+		public ElementPosition InnerPlotPosition { get; set; }
+		public bool IsSameFontSizeForAllAxes { get; set; }
 		public override string Name { get; set; }
+		public ElementPosition Position { get; set; }
+		public Color ShadowColor { get; set; }
+		public int ShadowOffset { get; set; }
+		public virtual bool Visible { get; set; }
+
+
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public float GetSeriesDepth (Series series )
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public float GetSeriesZPosition (Series series)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void RecalculateAxesScale ()
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void TransformPoints (Point3D[] points)
+		{
+			throw new NotImplementedException ();
+		}
 	}
 }

+ 1 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartElement.cs

@@ -65,6 +65,7 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		}
 		#endregion
 
+
 		#region Protected Methods
 		protected virtual void Dispose (bool disposing)
 		{

+ 49 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartGraphics.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -41,5 +42,53 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		#region Public Properties
 		public Graphics Graphics { get; set; }
 		#endregion
+
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public PointF GetAbsolutePoint (PointF point)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public RectangleF GetAbsoluteRectangle (RectangleF rectangle)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public SizeF GetAbsoluteSize (SizeF size)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double GetPositionFromAxis (string chartAreaName, AxisName axis, double axisValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public PointF GetRelativePoint (PointF point)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public RectangleF GetRelativeRectangle (RectangleF rectangle)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public SizeF GetRelativeSize (SizeF size)
+		{
+			throw new NotImplementedException ();
+		}
 	}
 }

+ 69 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartNamedElementCollection.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -24,10 +25,78 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 using System;
+using System.Collections.Generic;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
 	public class ChartNamedElementCollection<T> : ChartElementCollection<T> where T : ChartNamedElement
 	{
+		public T this[string name] { //FIXME this should probably be indexed
+			get{ 
+				foreach (T el in this) {
+					if (el.Name == name) {
+						return el;
+					}
+				}
+				throw new KeyNotFoundException (); //FIXME check what actual behaviour is in MS implementation
+			}
+
+			set{
+				for(int i = 0; i<this.Count; i++) 
+				{
+					T el = this[i];
+					if (el.Name == name) {
+						this.SetItem (i, value);
+						return;
+					}
+				}
+				throw new KeyNotFoundException (); //FIXME check what actual behaviour is in MS implementation
+			}
+		}
+
+		protected virtual string NamePrefix { get; private set;}
+
+		
+		[MonoTODO]
+		public virtual T FindByName (string name)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public int IndexOf (string name)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		protected override void InsertItem (int index,T item)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public virtual bool IsUniqueName (string name)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public virtual string NextUniqueName ()
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		protected override void RemoveItem (int index)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		protected override void SetItem (int index,T item)
+		{
+			throw new NotImplementedException();
+		}
 	}
 }

+ 100 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ChartSerializer.cs

@@ -0,0 +1,100 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.IO;
+using System.Xml;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class ChartSerializer
+	{
+		public SerializationContents Content { get; set; }
+		public SerializationFormat Format { get; set; }
+		public bool IsResetWhenLoading { get; set; }
+		public bool IsTemplateMode { get; set; }
+		public bool IsUnknownAttributeIgnored { get; set; }
+		public string NonSerializableContent { get; set; }
+		public string SerializableContent { get; set; }
+
+
+		[MonoTODO]
+		protected string GetContentString (SerializationContents content, bool serializable)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Load (Stream stream)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Load (string fileName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Load (TextReader reader)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Load (XmlReader reader)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Reset ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Save (Stream stream)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Save (string fileName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Save (TextWriter writer)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Save (XmlWriter writer)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 83 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Cursor.cs

@@ -0,0 +1,83 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class Cursor : IDisposable
+	{
+		public Cursor ()
+		{
+		}
+
+		public bool AutoScroll { get; set; }
+		public AxisType AxisType { get; set; }
+		public double Interval { get; set; }
+		public double IntervalOffset { get; set; }
+		public DateTimeIntervalType IntervalOffsetType { get; set; }
+		public DateTimeIntervalType IntervalType { get; set; }
+		public bool IsUserEnabled { get; set; }
+		public bool IsUserSelectionEnabled { get; set; }
+		public Color LineColor { get; set; }
+		public ChartDashStyle LineDashStyle { get; set; }
+		public int LineWidth { get; set; }
+		public double Position { get; set; }
+		public Color SelectionColor { get; set; }
+		public double SelectionEnd { get; set; }
+		public double SelectionStart { get; set; }
+
+
+		[MonoTODO]
+		public void Dispose ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		protected virtual void Dispose (bool disposing)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SetCursorPixelPosition (PointF point,bool roundToBoundary)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SetCursorPosition (double newPosition)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SetSelectionPixelPosition (PointF startPoint, PointF endPoint, bool roundToBoundary)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void SetSelectionPosition (double newStart, double newEnd)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 54 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CursorEventArgs.cs

@@ -0,0 +1,54 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class CursorEventArgs : EventArgs
+	{
+		public CursorEventArgs(	ChartArea chartArea, Axis axis, double newPosition)
+		{
+			this.ChartArea = chartArea;
+			this.Axis = axis;
+			this.NewPosition = newPosition;
+		}
+
+		public CursorEventArgs(ChartArea chartArea, Axis axis, double newSelectionStart, double newSelectionEnd)
+		{
+			this.ChartArea = chartArea;
+			this.Axis = axis;
+			this.NewSelectionStart = newSelectionStart;
+			this.NewSelectionEnd = newSelectionEnd;
+		}
+
+		public Axis Axis { get; private set; }
+
+		public ChartArea ChartArea { get; private set; }
+
+		public double NewPosition { get; set; }
+
+		public double NewSelectionStart { get; set; }
+
+		public double NewSelectionEnd { get; set; }
+	}
+}

+ 71 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomLabel.cs

@@ -0,0 +1,71 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class CustomLabel : ChartNamedElement
+	{
+		public CustomLabel ()
+		{
+		}
+		public CustomLabel (double fromPosition, double toPosition, string text, int labelRow, LabelMarkStyle markStyle)
+		{
+			FromPosition = fromPosition;
+			ToPosition = toPosition;
+			Text = text;
+			RowIndex = labelRow;
+			LabelMark = markStyle;
+		}
+		public CustomLabel (double fromPosition, double toPosition, string text, int labelRow, LabelMarkStyle markStyle, GridTickTypes gridTick)
+		{
+			FromPosition = fromPosition;
+			ToPosition = toPosition;
+			Text = text;
+			RowIndex = labelRow;
+			LabelMark = markStyle;
+			GridTicks = gridTick;
+		}
+
+		public Axis Axis { get; private set; } 
+		public Color ForeColor { get; set; }
+		public double FromPosition { get; set; }
+		public GridTickTypes GridTicks { get; set; }
+		public string Image { get; set; }
+		public Color ImageTransparentColor { get; set; }
+		public LabelMarkStyle LabelMark { get; set; }
+		public Color MarkColor { get; set; }
+		public override string Name { get; set; }
+		public int RowIndex { get; set; }
+		public string Text { get; set; }
+		public string ToolTip { get; set; }
+		public double ToPosition { get; set; }
+
+		[MonoTODO]
+		public CustomLabel Clone ()
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 66 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomLabelCollection.cs

@@ -0,0 +1,66 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class CustomLabelCollection : ChartElementCollection<CustomLabel>
+	{
+		[MonoTODO]
+		public void Add (double labelsStep, DateTimeIntervalType intervalType)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public CustomLabel Add (double fromPosition, double toPosition, string text)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Add (double labelsStep, DateTimeIntervalType intervalType, string format)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public CustomLabel Add (double fromPosition, double toPosition, string text, int rowIndex, LabelMarkStyle markStyle)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Add (double labelsStep, DateTimeIntervalType intervalType, string format, int rowIndex, LabelMarkStyle markStyle)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public CustomLabel Add (double fromPosition, double toPosition, string text, int rowIndex, LabelMarkStyle markStyle, GridTickTypes gridTick)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Add ( double labelsStep, DateTimeIntervalType intervalType, double min, double max, string format, int rowIndex, LabelMarkStyle markStyle)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomProperties.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class CustomProperties
+	{
+	}
+}

+ 32 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/CustomizeLegendEventArgs.cs

@@ -0,0 +1,32 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class CustomizeLegendEventArgs : EventArgs
+	{
+		public LegendItemsCollection LegendItems { get; private set; }
+		public string LegendName { get; private set; }
+	}
+}

+ 75 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataFormula.cs

@@ -0,0 +1,75 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class DataFormula
+	{
+		public bool IsEmptyPointIgnored { get; set; }
+		public bool IsStartFromFirst { get; set; }
+		public StatisticFormula Statistics { get; private set;}
+
+		[MonoTODO]
+		public void CopySeriesValues (string inputSeries,string outputSeries)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void FinancialFormula (FinancialFormula formulaName,string inputSeries)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void FinancialFormula (FinancialFormula formulaName,Series inputSeries)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void FinancialFormula (FinancialFormula formulaName, string inputSeries, string outputSeries) 
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void FinancialFormula(FinancialFormula formulaName, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void FinancialFormula(FinancialFormula formulaName, string parameters, string inputSeries, string outputSeries)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void FinancialFormula(FinancialFormula formulaName, string parameters, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException();
+		}
+	}
+}

+ 329 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataManipulator.cs

@@ -0,0 +1,329 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Data;
+using System.Collections.Generic;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class DataManipulator : DataFormula
+	{
+		public bool FilterMatchedPoints { get; set; }
+		public bool FilterSetEmptyPoints { get; set; }
+
+		[MonoTODO]
+		public DataSet ExportSeriesValues ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataSet ExportSeriesValues (Series series)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataSet ExportSeriesValues (string seriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (IDataPointFilter filterInterface, string inputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (IDataPointFilter filterInterface, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (CompareMethod compareMethod, double compareValue, string inputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (CompareMethod compareMethod, double compareValue, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (DateRangeType dateRange, string rangeElements, string inputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (DateRangeType dateRange, string rangeElements, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (IDataPointFilter filterInterface, string inputSeriesNames, string outputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (IDataPointFilter filterInterface, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (CompareMethod compareMethod, double compareValue, string inputSeriesNames, string outputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (CompareMethod compareMethod, double compareValue, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (DateRangeType dateRange, string rangeElements, string inputSeriesNames, string outputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (DateRangeType dateRange, string rangeElements, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (CompareMethod compareMethod, double compareValue, string inputSeriesNames, string outputSeriesNames, string usingValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Filter (CompareMethod compareMethod, double compareValue, Series inputSeries, Series outputSeries, string usingValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, string inputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, string inputSeriesNames, string outputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, string inputSeriesNames, string outputSeriesNames, string usingValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, Series inputSeries, Series outputSeries, string usingValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, string inputSeriesNames, string outputSeriesNames, string usingValue, bool getTopValues)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void FilterTopN (int pointCount, Series inputSeries, Series outputSeries, string usingValue, bool getTopValues)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, string inputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, string inputSeriesName, string outputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, string inputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, string inputSeriesName, string outputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Group (string formula, double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void GroupByAxisLabel (string formula, string inputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void GroupByAxisLabel (string formula, Series inputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void GroupByAxisLabel (string formula, string inputSeriesName, string outputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void GroupByAxisLabel (string formula, Series inputSeries, Series outputSeries)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertEmptyPoints (double interval, IntervalType intervalType, string seriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertEmptyPoints (double interval, IntervalType intervalType, Series series)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertEmptyPoints (double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, string seriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertEmptyPoints (double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, Series series)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertEmptyPoints (double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, double fromXValue, double toXValue, string seriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertEmptyPoints (double interval, IntervalType intervalType, double intervalOffset, IntervalType intervalOffsetType, double fromXValue, double toXValue, Series series)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Sort (IComparer<DataPoint> comparer, string seriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Sort (IComparer<DataPoint> comparer, Series series)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Sort (PointSortOrder pointSortOrder, string seriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Sort (PointSortOrder pointSortOrder, Series series)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Sort (PointSortOrder pointSortOrder, string sortBy, string seriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Sort (PointSortOrder pointSortOrder, string sortBy, Series series)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 16 - 11
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataPoint.cs

@@ -28,8 +28,7 @@ using System.Linq;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
-	[MonoTODO ("Base class should be DataPointCustomProperties")]
-	public class DataPoint : ChartNamedElement
+	public class DataPoint : DataPointCustomProperties
 	{
 		#region Constructors
 		public DataPoint ()
@@ -39,32 +38,38 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		public DataPoint (double xValue, double yValue)
 		{
 			XValue = xValue;
-			YValue = new double[] { yValue };
+			YValues = new double[] { yValue };
 		}
 
 		public DataPoint (double xValue, double[] yValues)
 		{
 			XValue = xValue;
-			YValue = yValues;
+			YValues = yValues;
 		}
 
 		[MonoTODO ()]
 		public DataPoint (Series series)
 		{
 		}
+
+		[MonoTODO ()]
+		public DataPoint(double xValue,	string yValues)
+		{
+		}
+
 		#endregion
 
 		#region Public Properties
 		public bool IsEmpty { get; set; }
 		public override string Name { get; set; }
 		public double XValue { get; set; }
-		public double[] YValue { get; set; }
+		public double[] YValues { get; set; }
 		#endregion
 
 		#region Public Methods
 		public DataPoint Clone ()
 		{
-			DataPoint clone = new DataPoint (XValue, YValue);
+			DataPoint clone = new DataPoint (XValue, YValues);
 			clone.IsEmpty = IsEmpty;
 			clone.Name = Name;
 
@@ -83,17 +88,17 @@ namespace System.Windows.Forms.DataVisualization.Charting
 
 			if (valueName.StartsWith ("y")) {
 				if (valueName.Length == 1)
-					return YValue[0];
+					return YValues[0];
 
 				int index = 0;
 
 				if (int.TryParse (valueName.Substring (1), out index)) {
-					if (index > YValue.Length)
+					if (index > YValues.Length)
 						throw new ArgumentException ("Y index greater than number of YValues");
 					if (index == 0)
 						throw new ArgumentException ("Y index must be greater than zero");
 
-					return YValue[index - 1];
+					return YValues[index - 1];
 				}
 			}
 
@@ -103,12 +108,12 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		public void SetValueXY (object xValue, params object[] yValue)
 		{
 			XValue = (double)xValue;
-			YValue = yValue.Cast<double> ().ToArray ();
+			YValues = yValue.Cast<double> ().ToArray ();
 		}
 
 		public void SetValueY (params object[] yValue)
 		{
-			YValue = yValue.Cast<double> ().ToArray ();
+			YValues = yValue.Cast<double> ().ToArray ();
 		}
 		#endregion
 	}

+ 150 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataPointCollection.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -29,5 +30,154 @@ namespace System.Windows.Forms.DataVisualization.Charting
 {
 	public class DataPointCollection : ChartElementCollection<DataPoint>
 	{
+		[MonoTODO]
+		public DataPoint Add (params double[] y)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public int AddXY (double xValue, double yValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public int AddXY (Object xValue, params Object[] yValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public int AddY (double yValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public int AddY (params Object[] yValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		protected override void ClearItems ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBind (System.Collections.IEnumerable dataSource, string xField, string yFields, string otherFields)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBindXY (System.Collections.IEnumerable xValue, params System.Collections.IEnumerable[] yValues)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBindXY (System.Collections.IEnumerable xValue, string xField, System.Collections.IEnumerable yValue, string yFields)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBindY (params System.Collections.IEnumerable[] yValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void DataBindY (System.Collections.IEnumerable yValue, string yFields)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public System.Collections.Generic.IEnumerable<DataPoint> FindAllByValue (double valueToFind)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public System.Collections.Generic.IEnumerable<DataPoint> FindAllByValue (double valueToFind, string useValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public System.Collections.Generic.IEnumerable<DataPoint> FindAllByValue (double valueToFind, string useValue, int startIndex)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataPoint FindByValue (double valueToFind)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataPoint FindByValue (double valueToFind, string useValue)
+		{
+			return FindByValue( valueToFind, useValue, 0);
+		}
+
+		[MonoTODO]
+		public DataPoint FindByValue (double valueToFind, string useValue, int startIndex)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataPoint FindMaxByValue () 
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataPoint FindMaxByValue (string useValue)
+		{
+			return FindMaxByValue (useValue, 0);
+		}
+
+		[MonoTODO]
+		public DataPoint FindMaxByValue (string useValue, int startIndex)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataPoint FindMinByValue ()
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public DataPoint FindMinByValue (string useValue)
+		{
+			return FindMinByValue (useValue, 0);
+		}
+
+		[MonoTODO]
+		public DataPoint FindMinByValue (string useValue, int startIndex)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertXY (int index, Object xValue, params Object[] yValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void InsertY (int index, params Object[] yValue)
+		{
+			throw new NotImplementedException ();
+		}
 	}
 }

+ 99 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/DataPointCustomProperties.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -24,10 +25,108 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 using System;
+using System.Drawing;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
 	public class DataPointCustomProperties : ChartNamedElement
 	{
+		public virtual string AxisLabel { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public Color Color { get; set; }
+		public string CustomProperties { get; set; }
+		public CustomProperties CustomPropertiesExtended { get; set; }
+		public Font Font { get; set; }
+		public bool IsValueShownAsLabel { get; set; }
+		public bool IsVisibleInLegend { get; set; }
+		
+		[MonoTODO]
+		public string this[int idx] {
+			get{ 
+				throw new NotImplementedException ();
+			}
+
+			set{
+				throw new NotImplementedException ();
+			}
+		}
+		[MonoTODO]
+		public string this[string propName] {
+			get{ 
+				throw new NotImplementedException ();
+			}
+
+			set{
+				throw new NotImplementedException ();
+			}
+		}
+
+		public virtual string Label { get; set; }
+		public int LabelAngle { get; set; }
+		public Color LabelBackColor { get; set; }
+		public Color LabelBorderColor { get; set; }
+		public ChartDashStyle LabelBorderDashStyle { get; set; }
+		public int LabelBorderWidth { get; set; }
+		public Color LabelForeColor { get; set; }
+		public string LabelFormat { get; set; }
+		public string LabelToolTip { get; set; }
+		public string LegendText { get; set; }
+		public string LegendToolTip { get; set; }
+		public Color MarkerBorderColor { get; set; }
+		public int MarkerBorderWidth { get; set; }
+		public Color MarkerColor { get; set; }
+		public string MarkerImage { get; set; }
+		public Color MarkerImageTransparentColor { get; set; }
+		public int MarkerSize { get; set; }
+		public MarkerStyle MarkerStyle { get; set; }
+		public string ToolTip { get; set; }
+
+		#region Public methods
+		[MonoTODO]
+		public virtual void DeleteCustomProperty (string name)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual string GetCustomProperty(string name)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual bool IsCustomPropertySet(string name)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void ResetIsValueShownAsLabel ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void ResetIsVisibleInLegend ()
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual void SetCustomProperty (string name,string propertyValue)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public virtual void SetDefault (bool clearAll)
+		{
+			throw new NotImplementedException ();
+		}
+
+		#endregion
 	}
 }

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/EllipseAnnotation.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class EllipseAnnotation : RectangleAnnotation
+	{
+	}
+}

+ 37 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/FTestResult.cs

@@ -0,0 +1,37 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class FTestResult
+	{
+		public double FCriticalValueOneTail { get; private set;}
+		public double FirstSeriesMean { get; private set;}
+		public double FirstSeriesVariance { get; private set;}
+		public double FValue { get; private set;}
+		public double ProbabilityFOneTail { get; private set;}
+		public double SecondSeriesMean { get; private set;}
+		public double SecondSeriesVariance { get; private set;}
+	}
+}

+ 40 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/HitTestResult.cs

@@ -0,0 +1,40 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class HitTestResult
+	{
+		public Axis Axis { get; set; }
+		public ChartArea ChartArea { get; set; }
+		public ChartElementType ChartElementType { get; set; }
+		public int PointIndex { get; set; }
+		public Series Series { get; set; }
+		public Object Object { get; set; }
+		public Object SubObject { get; set; }
+	}
+}
+	

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/HorizontalLineAnnotation.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class HorizontalLineAnnotation : LineAnnotation
+	{
+	}
+}

+ 47 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ImageAnnotation.cs

@@ -0,0 +1,47 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class ImageAnnotation : Annotation
+	{
+		public override ContentAlignment Alignment { get; set; }
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public override Color BackColor { get; set; }
+		public override GradientStyle BackGradientStyle { get; set; }
+		public override ChartHatchStyle BackHatchStyle { get; set; }
+		public override Color BackSecondaryColor { get; set; }
+		public override Font Font { get; set; }
+		public override Color ForeColor { get; set; }
+		public virtual string Image { get; set; }
+		public Color ImageTransparentColor { get; set; }
+		public ChartImageWrapMode ImageWrapMode { get; set; }
+		public override Color LineColor { get; set; }
+		public override ChartDashStyle LineDashStyle { get; set; }
+		public override int LineWidth { get; set; }
+		public override TextStyle TextStyle { get; set; }
+	}
+}

+ 44 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LabelStyle.cs

@@ -0,0 +1,44 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LabelStyle : ChartElement
+	{
+		public int Angle { get; set; }
+		public bool Enabled { get; set; }
+		public Font Font { get; set; }
+		public Color ForeColor { get; set; }
+		public string Format { get; set; }
+		public double Interval { get; set; }
+		public DateTimeIntervalType IntervalType { get; set; }
+		public double IntervalOffset { get; set; }
+		public DateTimeIntervalType IntervalOffsetType { get; set; }
+		public bool IsEndLabelVisible { get; set; }
+		public bool IsStaggered { get; set; }
+		public bool TruncatedLabels { get; set; }
+	}
+}

+ 92 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Legend.cs

@@ -0,0 +1,92 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class Legend : ChartNamedElement
+	{
+		public Legend ()
+		{
+		}
+		public Legend (string name)
+		{
+			Name = name;
+		}
+
+		public StringAlignment Alignment { get; set; }
+		public int AutoFitMinFontSize { get; set; }
+		public Color BackColor { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public LegendCellColumnCollection CellColumns { get; private set; }
+		public LegendItemsCollection CustomItems { get; private set; }
+		public string DockedToChartArea { get; set; }
+		public Docking Docking { get; set; }
+		public bool Enabled { get; set; }
+		public Font Font { get; set; }
+		public Color ForeColor { get; set; }
+		public LegendSeparatorStyle HeaderSeparator { get; set; }
+		public Color HeaderSeparatorColor { get; set; }
+		public string InsideChartArea { get; set; }
+		public bool InterlacedRows { get; set; }
+		public Color InterlacedRowsColor { get; set; }
+		public bool IsDockedInsideChartArea { get; set; }
+		public bool IsEquallySpacedItems { get; set; }
+		public bool IsTextAutoFit { get; set; }
+		public LegendSeparatorStyle ItemColumnSeparator { get; set; }
+		public Color ItemColumnSeparatorColor { get; set; }
+		public int ItemColumnSpacing { get; set; }
+		public LegendItemOrder LegendItemOrder { get; set; }
+		public LegendStyle LegendStyle { get; set; }
+		public float MaximumAutoSize { get; set; }
+		public override string Name { get; set; }
+		public ElementPosition Position { get; set; }
+		public Color ShadowColor { get; set; }
+		public int ShadowOffset { get; set; }
+		public LegendTableStyle TableStyle { get; set; }
+		public int TextWrapThreshold { get; set; }
+		public string Title { get; set; }
+		public StringAlignment TitleAlignment { get; set; }
+		public Color TitleBackColor { get; set; }
+		public Font TitleFont { get; set; }
+		public Color TitleForeColor { get; set; }
+		public LegendSeparatorStyle TitleSeparator { get; set; }
+		public Color TitleSeparatorColor { get; set; }
+
+		[MonoTODO]
+		protected override void Dispose(bool disposing){
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 61 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCell.cs

@@ -0,0 +1,61 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendCell : ChartNamedElement
+	{
+		public LegendCell ()
+		{
+		}
+		public LegendCell (string text)
+		{
+		}
+		public LegendCell (LegendCellType cellType, string text)
+		{
+		}
+		public LegendCell (LegendCellType cellType, string text, ContentAlignment alignment)
+		{
+		}
+
+		public virtual ContentAlignment Alignment { get; set; }
+		public virtual Color BackColor { get; set; }
+		public virtual int CellSpan { get; set; }
+		public virtual LegendCellType CellType { get; set; }
+		public virtual Font Font { get; set; }
+		public virtual Color ForeColor { get; set; }
+		public virtual string Image { get; set; }
+		public virtual Size ImageSize { get; set; }
+		public virtual Color ImageTransparentColor { get; set; }
+		public virtual Legend Legend { get; private set;}
+		public virtual LegendItem LegendItem { get; private set;}
+		public virtual Margins Margins { get; set; }
+		public override string Name { get; set; }
+		public virtual Size SeriesSymbolSize { get; set; }
+		public virtual string Text { get; set; }
+		public virtual string ToolTip { get; set; }
+	}
+}

+ 43 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCellCollection.cs

@@ -0,0 +1,43 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendCellCollection : ChartNamedElementCollection<LegendCell>
+	{
+		[MonoTODO]
+		public int Add (LegendCellType cellType, string text, ContentAlignment alignment)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public void Insert (int index, LegendCellType cellType, string text, ContentAlignment alignment)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 50 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCellColumn.cs

@@ -0,0 +1,50 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendCellColumn : ChartNamedElement
+	{
+		public virtual ContentAlignment Alignment { get; set; }
+		public virtual Color BackColor { get; set; }
+		public virtual LegendCellColumnType ColumnType { get; set; }
+		public virtual Font Font { get; set; }
+		public virtual Color ForeColor { get; set; }
+		public StringAlignment HeaderAlignment { get; set; }
+		public virtual Color HeaderBackColor { get; set; }
+		public virtual Font HeaderFont { get; set; }
+		public virtual Color HeaderForeColor { get; set; }
+		public virtual string HeaderText { get; set; }
+		public virtual Legend Legend { get; private set;}
+		public virtual Margins Margins { get; set; }
+		public virtual int MaximumWidth { get; set; }
+		public virtual int MinimumWidth { get; set; }
+		public override string Name { get; set; }
+		public virtual Size SeriesSymbolSize { get; set; }
+		public virtual string Text { get; set; }
+		public virtual string ToolTip { get; set; }
+	}
+}

+ 39 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCellColumnCollection.cs

@@ -0,0 +1,39 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendCellColumnCollection : ChartNamedElementCollection<LegendCellColumn>
+	{
+
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+			throw new NotImplementedException();
+		}
+
+	}
+}

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendCollection.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendCollection : ChartNamedElementCollection<Legend>
+	{
+	}
+}

+ 72 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendItem.cs

@@ -0,0 +1,72 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendItem : ChartNamedElement
+	{
+		public LegendItem ()
+		{
+			Cells = new LegendCellCollection ();
+		}
+		public LegendItem (string name,Color color,string image)
+		{
+			this.Name = name;
+			this.Color = color;
+			this.Image = image;
+			Cells = new LegendCellCollection ();
+		}
+
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public LegendCellCollection Cells { get; private set; }
+		public Color Color { get; set; }
+		public bool Enabled { get; set; }
+		public string Image { get; set; }
+		public LegendImageStyle ImageStyle { get; set; }
+		public Legend Legend { get; private set;}
+		public Color MarkerBorderColor { get; set; }
+		public int MarkerBorderWidth { get; set; }
+		public Color MarkerColor { get; set; }
+		public string MarkerImage { get; set; }
+		public Color MarkerImageTransparentColor { get; set; }
+		public int MarkerSize { get; set; }
+		public MarkerStyle MarkerStyle { get; set; }
+		public override string Name { get; set; }
+		public Color SeparatorColor { get; set; }
+		public LegendSeparatorStyle SeparatorType { get; set; }
+		public string SeriesName { get; set; }
+		public int SeriesPointIndex { get; set; }
+		public Color ShadowColor { get; set; }
+		public int ShadowOffset { get; set; }
+		public string ToolTip { get; set; }
+	}
+}

+ 57 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LegendItemsCollection.cs

@@ -0,0 +1,57 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LegendItemsCollection : ChartElementCollection<LegendItem>
+	{
+		[MonoTODO]
+		public int Add (Color color, string text)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public int Add (string image, string text)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Insert (int index, Color color, string text)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Insert (int index, string image, string text)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Reverse()
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 46 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/LineAnnotation.cs

@@ -0,0 +1,46 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class LineAnnotation : Annotation
+	{
+		public override ContentAlignment Alignment { get; set; }
+		public override ContentAlignment AnchorAlignment { get; set; }
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public override Color BackColor { get; set; }
+		public override GradientStyle BackGradientStyle { get; set; }
+		public override ChartHatchStyle BackHatchStyle { get; set; }
+		public override Color BackSecondaryColor { get; set; }
+		public virtual LineAnchorCapStyle EndCap { get; set; }
+		public override Font Font { get; set; }
+		public override Color ForeColor { get; set; }
+		public virtual bool IsInfinitive { get; set; }
+		public override bool IsSizeAlwaysRelative { get; set; }
+		public virtual LineAnchorCapStyle StartCap { get; set; }
+		public override TextStyle TextStyle { get; set; }
+	}
+}

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/PolygonAnnotation.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class PolygonAnnotation : PolylineAnnotation
+	{
+	}
+}

+ 51 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/PolylineAnnotation.cs

@@ -0,0 +1,51 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+using System.Drawing.Drawing2D;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class PolylineAnnotation : Annotation
+	{
+		public PolylineAnnotation ()
+		{
+			GraphicsPathPoints = new AnnotationPathPointCollection ();
+		}
+		public override ContentAlignment Alignment { get; set; }
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public override Color BackColor { get; set; }
+		public override GradientStyle BackGradientStyle { get; set; }
+		public override ChartHatchStyle BackHatchStyle { get; set; }
+		public override Color BackSecondaryColor { get; set; }
+		public virtual LineAnchorCapStyle EndCap { get; set; }
+		public override Font Font { get; set; }
+		public override Color ForeColor { get; set; }
+		public virtual GraphicsPath GraphicsPath { get; set; }
+		public AnnotationPathPointCollection GraphicsPathPoints { get; private set; }
+		public virtual bool IsFreeDrawPlacement { get; set; }
+		public virtual LineAnchorCapStyle StartCap { get; set; }
+		public override TextStyle TextStyle { get; set; }
+	}
+}

+ 65 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/PrintingManager.cs

@@ -0,0 +1,65 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+using System.Drawing.Printing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class PrintingManager : IDisposable
+	{
+		public PrintDocument PrintDocument { get; set; }
+
+		[MonoTODO]
+		public void Dispose ()
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		protected virtual void Dispose (bool disposing)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void PageSetup ()
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void Print (bool showPrintDialog)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void PrintPaint (Graphics graphics,Rectangle position)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void PrintPreview ()
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 33 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/RectangleAnnotation.cs

@@ -0,0 +1,33 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class RectangleAnnotation : TextAnnotation
+	{
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+	}
+}

+ 38 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ScrollBarEventArgs.cs

@@ -0,0 +1,38 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class ScrollBarEventArgs : EventArgs
+	{
+		public Axis Axis { get; private set; }
+		public ScrollBarButtonType ButtonType { get; private set;}
+		public ChartArea ChartArea { get; private set;}
+		public bool IsHandled { get; set; }
+		public int MousePositionX { get; private set; }
+		public int MousePositionY { get; private set; }
+	}
+}

+ 55 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Series.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -24,6 +25,8 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 using System;
+using System.Drawing;
+using System.Collections.Generic;
 
 namespace System.Windows.Forms.DataVisualization.Charting
 {
@@ -33,9 +36,61 @@ namespace System.Windows.Forms.DataVisualization.Charting
 		{
 			Points = new DataPointCollection ();
 		}
+		public Series (string name)
+		{
+			Name = name;
+		}
+		public Series (string name,int yValues)
+		{
+			Name = name;
+			YValuesPerPoint = yValues;
+		}
 
+		public override string AxisLabel { get; set; }
 		public string ChartArea { get; set; }
+		public SeriesChartType ChartType { get; set; }
+		public string ChartTypeName { get; set; }
+		public DataPointCustomProperties EmptyPointStyle { get; set; }
+		public bool Enabled { get; set; }
+		public bool IsXValueIndexed { get; set; }
+		public string Legend { get; set; }
+		public int MarkerStep { get; set; }
 		public override string Name { get; set; }
+		public ChartColorPalette Palette { get; set; }
 		public DataPointCollection Points { get; private set; }
+		public Color ShadowColor { get; set; }
+		public int ShadowOffset { get; set; }
+		public SmartLabelStyle SmartLabelStyle { get; set; }
+		public AxisType XAxisType { get; set; }
+		public string XValueMember { get; set; }
+		public ChartValueType XValueType { get; set; }
+		public AxisType YAxisType { get; set; }
+		public string YValueMembers { get; set; }
+		public ChartValueType YValueType { get; set; }
+
+		public int YValuesPerPoint { get; set; }
+
+
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+			throw new NotImplementedException();
+		}
+
+		[MonoTODO]
+		public void Sort (IComparer<DataPoint> comparer)
+		{
+			throw new NotImplementedException();
+		}
+		[MonoTODO]
+		public void Sort (PointSortOrder pointSortOrder)
+		{
+			throw new NotImplementedException ();
+		}
+		[MonoTODO]
+		public void Sort (PointSortOrder pointSortOrder,string sortBy)
+		{
+			throw new NotImplementedException();
+		}
 	}
 }

+ 45 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/SmartLabelStyle.cs

@@ -0,0 +1,45 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class SmartLabelStyle
+	{
+		public virtual LabelOutsidePlotAreaStyle AllowOutsidePlotArea { get; set; }
+		public virtual Color CalloutBackColor { get; set; }
+		public virtual LineAnchorCapStyle CalloutLineAnchorCapStyle { get; set; }
+		public virtual Color CalloutLineColor { get; set; }
+		public virtual ChartDashStyle CalloutLineDashStyle { get; set; }
+		public virtual int CalloutLineWidth { get; set; }
+		public virtual LabelCalloutStyle CalloutStyle { get; set; }
+		public virtual bool Enabled { get; set; }
+		public virtual bool IsMarkerOverlappingAllowed { get; set; }
+		public virtual bool IsOverlappedHidden { get; set; }
+		public virtual double MaxMovingDistance { get; set; }
+		public virtual double MinMovingDistance { get; set; }
+		public virtual LabelAlignmentStyles MovingDirection { get; set; }
+	}
+}

+ 147 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/StatisticFormula.cs

@@ -0,0 +1,147 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class StatisticFormula
+	{
+		[MonoTODO]
+		public AnovaResult Anova (double probability, string inputSeriesNames)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double BetaFunction (double m, double n)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double Correlation (string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double Covariance (string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double FDistribution (double value, int firstDegreeOfFreedom, int secondDegreeOfFreedom)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public FTestResult FTest (double probability, string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double GammaFunction (double value)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double InverseFDistribution (double probability, int firstDegreeOfFreedom, int secondDegreeOfFreedom){
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double InverseNormalDistribution (double probability)
+		{
+			throw new NotImplementedException ();
+		}
+
+		public double InverseTDistribution (double probability, int degreeOfFreedom)
+		[MonoTODO]
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double Mean (string inputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double Median (string inputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double NormalDistribution (double zValue)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double TDistribution (double value, int degreeOfFreedom, bool oneTail)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public TTestResult TTestEqualVariances (double hypothesizedMeanDifference, double probability, 
+								string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public TTestResult TTestPaired (double hypothesizedMeanDifference, double probability, 
+							string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public TTestResult TTestUnequalVariances (double hypothesizedMeanDifference, double probability, 
+								string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public double Variance (string inputSeriesName, bool sampleVariance)
+		{
+			throw new NotImplementedException ();
+		}
+
+		[MonoTODO]
+		public ZTestResult ZTest (double hypothesizedMeanDifference, double varianceFirstGroup, 
+						double varianceSecondGroup, double probability, 
+						string firstInputSeriesName, string secondInputSeriesName)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 57 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/StripLine.cs

@@ -0,0 +1,57 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class StripLine : ChartElement
+	{
+		public Color BackColor { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public Font Font { get; set; }
+		public Color ForeColor { get; set; }
+		public double Interval { get; set; }
+		public double IntervalOffset { get; set; }
+		public DateTimeIntervalType IntervalOffsetType { get; set; }
+		public DateTimeIntervalType IntervalType { get; set; }
+		public string Name { get; private set; }
+		public double StripWidth { get; set; }
+		public DateTimeIntervalType StripWidthType { get; set; }
+		public string Text { get; set; }
+		public StringAlignment TextAlignment { get; set; }
+		public StringAlignment TextLineAlignment { get; set; }
+		public TextOrientation TextOrientation { get; set; }
+		public string ToolTip { get; set; }
+	}
+}

+ 4 - 9
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/AnchorStyle.cs → mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/StripLinesCollection.cs

@@ -1,8 +1,7 @@
-//
 // Authors:
-// Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
-// Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
+// (C) Francis Fisher 2013
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -23,14 +22,10 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-using System;
-
 namespace System.Windows.Forms.DataVisualization.Charting
 {
-	public enum MarkerStyle
+
+	public class StripLinesCollection : ChartElementCollection<StripLine>
 	{
-		Simple = 0,
-		DoubleArrow = 1,
-		Tailed = 2
 	}
 }

+ 40 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/TTestResult.cs

@@ -0,0 +1,40 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class TTestResult
+	{
+		public double DegreeOfFreedom { get; private set;}
+		public double FirstSeriesMean { get; private set;}
+		public double FirstSeriesVariance { get; private set;}
+		public double ProbabilityTOneTail { get; private set;}
+		public double ProbabilityTTwoTail { get; private set;}
+		public double SecondSeriesMean { get; private set;}
+		public double SecondSeriesVariance { get; private set;}
+		public double TCriticalValueOneTail { get; private set;}
+		public double TCriticalValueTwoTail { get; private set;}
+		public double TValue { get; private set;}
+	}
+}

+ 43 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/TextAnnotation.cs

@@ -0,0 +1,43 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class TextAnnotation : Annotation
+	{
+		public override string AnnotationType { get { throw new NotImplementedException (); } } //FIXME - find out what MS implementation returns here
+		public override Color BackColor { get; set; }
+		public override GradientStyle BackGradientStyle { get; set; }
+		public override ChartHatchStyle BackHatchStyle { get; set; }
+		public override Color BackSecondaryColor { get; set; }
+		public override Font Font { get; set; }
+		public virtual bool IsMultiline { get; set; }
+		public override Color LineColor { get; set; }
+		public override ChartDashStyle LineDashStyle { get; set; }
+		public override int LineWidth { get; set; }
+		public virtual string Text { get; set; }
+	}
+}

+ 88 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/Title.cs

@@ -0,0 +1,88 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class Title : ChartNamedElement, IDisposable
+	{
+		public Title ()
+		{
+	       	}
+		public Title (string text)
+		{ 
+			this.Text = text; 
+		}
+		public Title (string text, Docking docking)
+		{
+			this.Text = text;
+			this.Docking = docking;
+		}
+		public Title (string text,
+				Docking docking,
+				Font font,
+				Color color)
+		{
+			this.Text = text;
+			this.Docking = docking;
+			this.Font = font;
+			this.ForeColor = color;
+		}
+
+		public ContentAlignment Alignment { get; set; }
+		public Color BackColor { get; set; }
+		public GradientStyle BackGradientStyle { get; set; }
+		public ChartHatchStyle BackHatchStyle { get; set; }
+		public string BackImage { get; set; }
+		public ChartImageAlignmentStyle BackImageAlignment { get; set; }
+		public Color BackImageTransparentColor { get; set; }
+		public ChartImageWrapMode BackImageWrapMode { get; set; }
+		public Color BackSecondaryColor { get; set; }
+		public Color BorderColor { get; set; }
+		public ChartDashStyle BorderDashStyle { get; set; }
+		public int BorderWidth { get; set; }
+		public string DockedToChartArea { get; set; }
+		public Docking Docking { get; set; }
+		public int DockingOffset { get; set; }
+		public Font Font { get; set; }
+		public Color ForeColor { get; set; }
+		public bool IsDockedInsideChartArea { get; set; }
+		public override string Name { get; set; }
+		public ElementPosition Position { get; set; }
+		public Color ShadowColor { get; set; }
+		public int ShadowOffset { get; set; }
+		public string Text { get; set; }
+		public TextOrientation TextOrientation { get; set; }
+		public TextStyle TextStyle { get; set; }
+		public string ToolTip { get; set; }
+		public virtual bool Visible { get; set; }
+
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+			throw new NotImplementedException ();
+		}
+	}
+}

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/TitleCollection.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class TitleCollection : ChartNamedElementCollection<Title>
+	{
+	}
+}

+ 13 - 3
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ToolTipEventArgs.cs

@@ -1,6 +1,7 @@
 //
 // Authors:
 // Jonathan Pobst ([email protected])
+// Francis Fisher ([email protected])
 //
 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
 //
@@ -31,9 +32,18 @@ namespace System.Windows.Forms.DataVisualization.Charting
 	public class ToolTipEventArgs : EventArgs
 	{
 		#region Constructors
-		//public ToolTipEventArgs (int x, int y, string text, HitTestResult result)
-		//{
-		//}
+		public ToolTipEventArgs (int x, int y, string text, HitTestResult result)
+		{
+			X = x;
+			Y = y;
+			Text = text;
+			HitTestResult = result;
+		}
 		#endregion
+
+		public HitTestResult HitTestResult { get; private set;}
+		public string Text { get; set; }
+		public int X { get; private set; }
+		public int Y { get; private set;}
 	}
 }

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/VerticalLineAnnotation.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class VerticalLineAnnotation : LineAnnotation
+	{
+	}
+}

+ 37 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ViewEventArgs.cs

@@ -0,0 +1,37 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System.Drawing;
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class ViewEventArgs : EventArgs
+	{
+		public Axis Axis { get; private set;}
+		public ChartArea ChartArea { get; private set;}
+		public double NewPosition { get; set; }
+		public double NewSize { get; set; }
+		public DateTimeIntervalType NewSizeType { get; set; }
+	}
+}

+ 30 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.Charting/ZTestResult.cs

@@ -0,0 +1,30 @@
+// Authors:
+// Francis Fisher ([email protected])
+//
+// (C) Francis Fisher 2013
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+namespace System.Windows.Forms.DataVisualization.Charting
+{
+	public class ZTestResult
+	{
+	}
+}

+ 58 - 6
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.csproj

@@ -35,7 +35,6 @@
       <EmbedInteropTypes>True</EmbedInteropTypes>
     </Reference>
     <Reference Include="System" />
-    <Reference Include="System.configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Drawing" />
     <Reference Include="System.Windows.Forms" />
@@ -44,10 +43,10 @@
     <Reference Include="Microsoft.CSharp" />
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
+    <Reference Include="System.Configuration" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Assembly\AssemblyInfo.cs" />
-    <Compile Include="common\MonoTODOAttribute.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\Axis.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScaleView.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartArea3DStyle.cs" />
@@ -59,6 +58,8 @@
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\MarkerStyle.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPathPoint.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPathPointCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Annotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPositionChangingEventArgs.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnovaResult.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AreaAlignmentOrientations.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AreaAlignmentStyles.cs" />
@@ -92,6 +93,9 @@
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartNamedElement.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartNamedElementCollection.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartValueType.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CursorEventArgs.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomLabel.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomLabelCollection.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\CompareMethod.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPoint.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPointCollection.cs" />
@@ -141,12 +145,60 @@
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\TickMark.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\TickMarkStyle.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ToolTipEventArgs.cs" />
+    <Compile Include="..\..\build\common\Consts.cs">
+      <Link>Consts.cs</Link>
+    </Compile>
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs">
+      <Link>MonoTODOAttribute.cs</Link>
+    </Compile>
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelStyle.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScrollBar.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StripLine.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StripLinesCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Legend.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellColumn.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ScrollBarEventArgs.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ViewEventArgs.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\HitTestResult.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendItem.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\SmartLabelStyle.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomProperties.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Title.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartSerializer.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataManipulator.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PrintingManager.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TitleCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataFormula.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\BorderSkin.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellColumnCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendItemsCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCell.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellCollection.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CalloutAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TextAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LineAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\RectangleAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationGroup.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationSmartLabelStyle.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Cursor.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomizeLegendEventArgs.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PolylineAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Border3DAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\EllipseAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\HorizontalLineAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ImageAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PolygonAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\VerticalLineAnnotation.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StatisticFormula.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\FTestResult.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TTestResult.cs" />
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ZTestResult.cs" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Properties\" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="common\Consts.cs" />
+    <Folder Include="common\" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
@@ -156,4 +208,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
+</Project>

+ 55 - 0
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization.dll.sources

@@ -3,22 +3,34 @@
 Assembly/AssemblyInfo.cs
 System.Windows.Forms.DataVisualization.Charting/AnnotationPathPoint.cs
 System.Windows.Forms.DataVisualization.Charting/AnnotationPathPointCollection.cs
+System.Windows.Forms.DataVisualization.Charting/Annotation.cs
+System.Windows.Forms.DataVisualization.Charting/AnnotationCollection.cs
+System.Windows.Forms.DataVisualization.Charting/AnnotationGroup.cs
+System.Windows.Forms.DataVisualization.Charting/AnnotationPositionChangingEventArgs.cs
+System.Windows.Forms.DataVisualization.Charting/AnnotationSmartLabelStyle.cs
 System.Windows.Forms.DataVisualization.Charting/AnovaResult.cs
 System.Windows.Forms.DataVisualization.Charting/AntiAliasingStyles.cs
 System.Windows.Forms.DataVisualization.Charting/AreaAlignmentOrientations.cs
 System.Windows.Forms.DataVisualization.Charting/AreaAlignmentStyles.cs
 System.Windows.Forms.DataVisualization.Charting/ArrowAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/ArrowStyle.cs
+System.Windows.Forms.DataVisualization.Charting/Axis.cs
 System.Windows.Forms.DataVisualization.Charting/AxisArrowStyle.cs
 System.Windows.Forms.DataVisualization.Charting/AxisEnabled.cs
 System.Windows.Forms.DataVisualization.Charting/AxisName.cs
 System.Windows.Forms.DataVisualization.Charting/AxisScaleBreakStyle.cs
+System.Windows.Forms.DataVisualization.Charting/AxisScaleView.cs
+System.Windows.Forms.DataVisualization.Charting/AxisScrollBar.cs
 System.Windows.Forms.DataVisualization.Charting/AxisType.cs
+System.Windows.Forms.DataVisualization.Charting/Border3DAnnotation.cs
+System.Windows.Forms.DataVisualization.Charting/BorderSkin.cs
 System.Windows.Forms.DataVisualization.Charting/BorderSkinStyle.cs
 System.Windows.Forms.DataVisualization.Charting/BreakLineStyle.cs
+System.Windows.Forms.DataVisualization.Charting/CalloutAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/CalloutStyle.cs
 System.Windows.Forms.DataVisualization.Charting/Chart.cs
 System.Windows.Forms.DataVisualization.Charting/ChartArea.cs
+System.Windows.Forms.DataVisualization.Charting/ChartArea3DStyle.cs
 System.Windows.Forms.DataVisualization.Charting/ChartAreaCollection.cs
 System.Windows.Forms.DataVisualization.Charting/ChartColorPalette.cs
 System.Windows.Forms.DataVisualization.Charting/ChartDashStyle.cs
@@ -33,8 +45,17 @@ System.Windows.Forms.DataVisualization.Charting/ChartImageWrapMode.cs
 System.Windows.Forms.DataVisualization.Charting/ChartNamedElement.cs
 System.Windows.Forms.DataVisualization.Charting/ChartNamedElementCollection.cs
 System.Windows.Forms.DataVisualization.Charting/ChartPaintEventArgs.cs
+System.Windows.Forms.DataVisualization.Charting/ChartSerializer.cs
 System.Windows.Forms.DataVisualization.Charting/ChartValueType.cs
+System.Windows.Forms.DataVisualization.Charting/Cursor.cs
+System.Windows.Forms.DataVisualization.Charting/CursorEventArgs.cs
+System.Windows.Forms.DataVisualization.Charting/CustomizeLegendEventArgs.cs
+System.Windows.Forms.DataVisualization.Charting/CustomLabel.cs
+System.Windows.Forms.DataVisualization.Charting/CustomLabelCollection.cs
+System.Windows.Forms.DataVisualization.Charting/CustomProperties.cs
 System.Windows.Forms.DataVisualization.Charting/CompareMethod.cs
+System.Windows.Forms.DataVisualization.Charting/DataFormula.cs
+System.Windows.Forms.DataVisualization.Charting/DataManipulator.cs
 System.Windows.Forms.DataVisualization.Charting/DataPoint.cs
 System.Windows.Forms.DataVisualization.Charting/DataPointCollection.cs
 System.Windows.Forms.DataVisualization.Charting/DataPointCustomProperties.cs
@@ -42,11 +63,17 @@ System.Windows.Forms.DataVisualization.Charting/DateRangeType.cs
 System.Windows.Forms.DataVisualization.Charting/DateTimeIntervalType.cs
 System.Windows.Forms.DataVisualization.Charting/Docking.cs
 System.Windows.Forms.DataVisualization.Charting/ElementPosition.cs
+System.Windows.Forms.DataVisualization.Charting/EllipseAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/FinancialFormula.cs
+System.Windows.Forms.DataVisualization.Charting/FTestResult.cs
 System.Windows.Forms.DataVisualization.Charting/FormatNumberEventArgs.cs
 System.Windows.Forms.DataVisualization.Charting/GradientStyle.cs
+System.Windows.Forms.DataVisualization.Charting/Grid.cs
 System.Windows.Forms.DataVisualization.Charting/GridTickTypes.cs
+System.Windows.Forms.DataVisualization.Charting/HitTestResult.cs
+System.Windows.Forms.DataVisualization.Charting/HorizontalLineAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/IDataPointFilter.cs
+System.Windows.Forms.DataVisualization.Charting/ImageAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/IntervalAutoMode.cs
 System.Windows.Forms.DataVisualization.Charting/IntervalType.cs
 System.Windows.Forms.DataVisualization.Charting/LabelAlignmentStyles.cs
@@ -54,14 +81,24 @@ System.Windows.Forms.DataVisualization.Charting/LabelAutoFitStyles.cs
 System.Windows.Forms.DataVisualization.Charting/LabelCalloutStyle.cs
 System.Windows.Forms.DataVisualization.Charting/LabelMarkStyle.cs
 System.Windows.Forms.DataVisualization.Charting/LabelOutsidePlotAreaStyle.cs
+System.Windows.Forms.DataVisualization.Charting/LabelStyle.cs
+System.Windows.Forms.DataVisualization.Charting/Legend.cs
+System.Windows.Forms.DataVisualization.Charting/LegendCell.cs
+System.Windows.Forms.DataVisualization.Charting/LegendCellCollection.cs
+System.Windows.Forms.DataVisualization.Charting/LegendCellColumn.cs
+System.Windows.Forms.DataVisualization.Charting/LegendCellColumnCollection.cs
 System.Windows.Forms.DataVisualization.Charting/LegendCellColumnType.cs
 System.Windows.Forms.DataVisualization.Charting/LegendCellType.cs
+System.Windows.Forms.DataVisualization.Charting/LegendCollection.cs
 System.Windows.Forms.DataVisualization.Charting/LegendImageStyle.cs
+System.Windows.Forms.DataVisualization.Charting/LegendItem.cs
 System.Windows.Forms.DataVisualization.Charting/LegendItemOrder.cs
+System.Windows.Forms.DataVisualization.Charting/LegendItemsCollection.cs
 System.Windows.Forms.DataVisualization.Charting/LegendSeparatorStyle.cs
 System.Windows.Forms.DataVisualization.Charting/LegendStyle.cs
 System.Windows.Forms.DataVisualization.Charting/LegendTableStyle.cs
 System.Windows.Forms.DataVisualization.Charting/LightStyle.cs
+System.Windows.Forms.DataVisualization.Charting/LineAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/LineAnchorCapStyle.cs
 System.Windows.Forms.DataVisualization.Charting/Margins.cs
 System.Windows.Forms.DataVisualization.Charting/MarkerStyle.cs
@@ -69,16 +106,34 @@ System.Windows.Forms.DataVisualization.Charting/NamedImage.cs
 System.Windows.Forms.DataVisualization.Charting/NamedImagesCollection.cs
 System.Windows.Forms.DataVisualization.Charting/PointSortOrder.cs
 System.Windows.Forms.DataVisualization.Charting/Point3D.cs
+System.Windows.Forms.DataVisualization.Charting/PolygonAnnotation.cs
+System.Windows.Forms.DataVisualization.Charting/PolylineAnnotation.cs
+System.Windows.Forms.DataVisualization.Charting/PrintingManager.cs
+System.Windows.Forms.DataVisualization.Charting/RectangleAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/ScrollBarButtonStyles.cs
 System.Windows.Forms.DataVisualization.Charting/ScrollBarButtonType.cs
+System.Windows.Forms.DataVisualization.Charting/ScrollBarEventArgs.cs
 System.Windows.Forms.DataVisualization.Charting/ScrollType.cs
 System.Windows.Forms.DataVisualization.Charting/SerializationContents.cs
 System.Windows.Forms.DataVisualization.Charting/SerializationFormat.cs
 System.Windows.Forms.DataVisualization.Charting/Series.cs
 System.Windows.Forms.DataVisualization.Charting/SeriesChartType.cs
 System.Windows.Forms.DataVisualization.Charting/SeriesCollection.cs
+System.Windows.Forms.DataVisualization.Charting/SmartLabelStyle.cs
+System.Windows.Forms.DataVisualization.Charting/StatisticFormula.cs
+System.Windows.Forms.DataVisualization.Charting/StripLine.cs
+System.Windows.Forms.DataVisualization.Charting/StripLinesCollection.cs
 System.Windows.Forms.DataVisualization.Charting/StartFromZero.cs
+System.Windows.Forms.DataVisualization.Charting/TextAnnotation.cs
 System.Windows.Forms.DataVisualization.Charting/TextAntiAliasingQuality.cs
 System.Windows.Forms.DataVisualization.Charting/TextOrientation.cs
 System.Windows.Forms.DataVisualization.Charting/TextStyle.cs
+System.Windows.Forms.DataVisualization.Charting/TickMark.cs
 System.Windows.Forms.DataVisualization.Charting/TickMarkStyle.cs
+System.Windows.Forms.DataVisualization.Charting/Title.cs
+System.Windows.Forms.DataVisualization.Charting/TitleCollection.cs
+System.Windows.Forms.DataVisualization.Charting/ToolTipEventArgs.cs
+System.Windows.Forms.DataVisualization.Charting/TTestResult.cs
+System.Windows.Forms.DataVisualization.Charting/VerticalLineAnnotation.cs
+System.Windows.Forms.DataVisualization.Charting/ViewEventArgs.cs
+System.Windows.Forms.DataVisualization.Charting/ZTestResult.cs

+ 1 - 4
mcs/class/System.Windows.Forms.DataVisualization/Test/ChartingTests.csproj

@@ -34,6 +34,7 @@
     <Reference Include="nunit.framework, Version=2.5.2.9222, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\..\..\..\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\framework\nunit.framework.dll</HintPath>
+      <Package>nunit</Package>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
@@ -51,12 +52,8 @@
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnovaResultTest.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ArrowAnnotationTest.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScaleBreakStyleTest.cs" />
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartElementCollectionTest.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartElementTest.cs" />
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartNamedElementCollectionTest.cs" />
     <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPointTest.cs" />
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\GridTest.cs" />
-    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TickMarkTest.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.