Merge pull request #961 from ermshiperete/bug-xamarin-18118
[mono.git] / mcs / class / System.Windows.Forms.DataVisualization / System.Windows.Forms.DataVisualization.Charting / ChartElement.cs
1 //
2 // Authors:
3 // Jonathan Pobst (monkey@jpobst.com)
4 //
5 // Copyright (C) 2009 Novell, Inc (http://www.novell.com) 
6 //
7 // Permission is hereby granted, free of charge, to any person obtaining
8 // a copy of this software and associated documentation files (the
9 // "Software"), to deal in the Software without restriction, including
10 // without limitation the rights to use, copy, modify, merge, publish,
11 // distribute, sublicense, and/or sell copies of the Software, and to
12 // permit persons to whom the Software is furnished to do so, subject to
13 // the following conditions:
14 // 
15 // The above copyright notice and this permission notice shall be
16 // included in all copies or substantial portions of the Software.
17 // 
18 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
26 using System;
27 using System.ComponentModel;
28
29 namespace System.Windows.Forms.DataVisualization.Charting
30 {
31         public abstract class ChartElement : IDisposable
32         {
33                 #region Constructors
34                 protected ChartElement ()
35                 {
36                 }
37                 #endregion
38
39                 #region Public Properties
40                 [DefaultValue (null)]
41                 public object Tag { get; set; }
42                 #endregion
43
44                 #region Public Methods
45                 public void Dispose ()
46                 {
47                 }
48
49                 public override bool Equals (object obj)
50                 {
51                         return base.Equals (obj);
52                 }
53
54                 public override int GetHashCode ()
55                 {
56                         return base.GetHashCode ();
57                 }
58
59                 public override string ToString ()
60                 {
61                         if (this is ChartNamedElement)
62                                 return string.Format ("{0}-{1}", GetType ().Name, (this as ChartNamedElement).Name);
63
64                         return GetType ().Name;
65                 }
66                 #endregion
67
68
69                 #region Protected Methods
70                 protected virtual void Dispose (bool disposing)
71                 {
72                 }
73                 #endregion
74         }
75 }