2002-7-1 DennisHayes <dennish@raytek.com>
[mono.git] / mcs / class / System.Windows.Forms / System.Windows.Forms / StatusBarPanelClickEventArgs.cs
1 //\r
2 // System.Windows.Forms.StatusBarPanelClickEventArgs\r
3 //\r
4 // Author:\r
5 //   stubbed out by Richard Baumann (biochem333@nyc.rr.com)\r
6 //      Partially completed by Dennis Hayes (dennish@raytek.com)\r
7 //\r
8 // (C) Ximian, Inc., 2002\r
9 //\r
10 \r
11 namespace System.Windows.Forms\r
12 {\r
13         /// <summary>\r
14         /// Provides data for the PanelClick event.\r
15         /// </summary>\r
16         public class StatusBarPanelClickEventArgs : MouseEventArgs\r
17         {\r
18                 private StatusBarPanel panel;\r
19 \r
20                 /// --- Constructor ---\r
21                 public StatusBarPanelClickEventArgs(StatusBarPanel panel, MouseButtons button, int clicks, int x, int y) : base(button, clicks, x, y, 0) {\r
22                         this.panel = panel;\r
23                 }\r
24 \r
25                 /// --- Properties ---\r
26                 public StatusBarPanel StatusBarPanel {\r
27                         get {\r
28                                 return panel;\r
29                         }\r
30                 }\r
31 \r
32                 /// <summary>\r
33                 ///     Equality Operator\r
34                 /// </summary>\r
35                 ///\r
36                 /// <remarks>\r
37                 ///     Compares two StatusBarPanelClickEventArgs objects.\r
38                 ///     The return value is based on the equivalence of\r
39                 ///     the StatusBarPanel, Button, Clicks, X, and Y\r
40                 ///     properties of the two StatusBarPanelClickEventArgs.\r
41                 /// </remarks>\r
42                 public static bool operator == (StatusBarPanelClickEventArgs objA, StatusBarPanelClickEventArgs objB) {\r
43                         return ((objA.panel == objB.panel) && (objA.Button == objB.Button) && (objA.Clicks == objB.Clicks) && (objA.X == objB.X) && (objA.Y == objB.Y));\r
44                 }\r
45                 \r
46                 /// <summary>\r
47                 ///     Inequality Operator\r
48                 /// </summary>\r
49                 ///\r
50                 /// <remarks>\r
51                 ///     Compares two StatusBarPanelClickEventArgs objects.\r
52                 ///     The return value is based on the equivalence of\r
53                 ///     the StatusBarPanel, Button, Clicks, X, and Y\r
54                 ///     properties of the two StatusBarPanelClickEventArgs.\r
55                 /// </remarks>\r
56                 public static bool operator != (StatusBarPanelClickEventArgs objA, StatusBarPanelClickEventArgs objB) {\r
57                         return ((objA.panel != objB.panel) || (objA.Button != objB.Button) || (objA.Clicks != objB.Clicks) || (objA.X != objB.X) || (objA.Y != objB.Y));\r
58                 }\r
59 \r
60                 /// <summary>\r
61                 ///     Equals Method\r
62                 /// </summary>\r
63                 ///\r
64                 /// <remarks>\r
65                 ///     Checks equivalence of this\r
66                 ///     StatusBarPanelClickEventArgs and another\r
67                 ///     object.\r
68                 /// </remarks>\r
69                 public override bool Equals (object o) {\r
70                         if (!(o is StatusBarPanelClickEventArgs))return false;\r
71                         return (this == (StatusBarPanelClickEventArgs) o);\r
72                 }\r
73 \r
74                 /// <summary>\r
75                 ///     GetHashCode Method\r
76                 /// </summary>\r
77                 ///\r
78                 /// <remarks>\r
79                 ///     Calculates a hashing value.\r
80                 /// </remarks>\r
81                 public override int GetHashCode () {\r
82                         return unchecked(panel.GetHashCode() * base.GetHashCode());\r
83                 }\r
84 \r
85                 /// <summary>\r
86                 ///     ToString Method\r
87                 /// </summary>\r
88                 ///\r
89                 /// <remarks>\r
90                 ///     Formats the StatusBarPanelClickEventArgs as a string.\r
91                 /// </remarks>\r
92                 //[MonoTODO]\r
93                 //public override string ToString () {\r
94                 //      throw new NotImplementedException();\r
95                 //}\r
96         }\r
97 }