2002-10-18 DennisHayes <dennish@raytek.com>
[mono.git] / mcs / class / System.Windows.Forms / WINELib / 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 //   Gianandrea Terzi (gianandrea.terzi@lario.com)\r
8 //\r
9 // (C) Ximian, Inc., 2002\r
10 //\r
11 \r
12 namespace System.Windows.Forms {\r
13 \r
14         /// <summary>\r
15         /// Provides data for the PanelClick event.\r
16         /// </summary>\r
17         public class StatusBarPanelClickEventArgs : MouseEventArgs {\r
18 \r
19                 private StatusBarPanel panel;\r
20 \r
21                 /// --- Constructor ---\r
22                 public StatusBarPanelClickEventArgs(StatusBarPanel panel, MouseButtons button, int clicks, int x, int y) : base(button, clicks, x, y, 0) \r
23                 {\r
24                         this.panel = panel;\r
25                 }\r
26 \r
27                 #region Public Properties\r
28                 \r
29                 /// <summary>\r
30                 ///     StatusBarPanel Property\r
31                 /// </summary>\r
32                 ///\r
33                 /// <remarks>\r
34                 ///     Gets the StatusBarPanel to draw.\r
35                 /// </remarks>\r
36                 public StatusBarPanel StatusBarPanel \r
37                 {\r
38                         get \r
39                         {\r
40                                 return panel;\r
41                         }\r
42                 }\r
43 \r
44 \r
45                 #endregion\r
46 \r
47                 #region Public Methods\r
48                 /// <summary>\r
49                 ///     Equality Operator\r
50                 /// </summary>\r
51                 ///\r
52                 /// <remarks>\r
53                 ///     Compares two StatusBarPanelClickEventArgs objects.\r
54                 ///     The return value is based on the equivalence of\r
55                 ///     the StatusBarPanel, Button, Clicks, X, and Y\r
56                 ///     properties of the two StatusBarPanelClickEventArgs.\r
57                 /// </remarks>\r
58                 public static bool operator == (StatusBarPanelClickEventArgs objA, StatusBarPanelClickEventArgs objB) \r
59                 {\r
60                         return ((objA.panel == objB.panel) && (objA.Button == objB.Button) && (objA.Clicks == objB.Clicks) && (objA.X == objB.X) && (objA.Y == objB.Y));\r
61                 }\r
62                 \r
63                 /// <summary>\r
64                 ///     Inequality Operator\r
65                 /// </summary>\r
66                 ///\r
67                 /// <remarks>\r
68                 ///     Compares two StatusBarPanelClickEventArgs objects.\r
69                 ///     The return value is based on the equivalence of\r
70                 ///     the StatusBarPanel, Button, Clicks, X, and Y\r
71                 ///     properties of the two StatusBarPanelClickEventArgs.\r
72                 /// </remarks>\r
73                 public static bool operator != (StatusBarPanelClickEventArgs objA, StatusBarPanelClickEventArgs objB) \r
74                 {\r
75                         return ((objA.panel != objB.panel) || (objA.Button != objB.Button) || (objA.Clicks != objB.Clicks) || (objA.X != objB.X) || (objA.Y != objB.Y));\r
76                 }\r
77 \r
78                 /// <summary>\r
79                 ///     Equals Method\r
80                 /// </summary>\r
81                 ///\r
82                 /// <remarks>\r
83                 ///     Checks equivalence of this\r
84                 ///     StatusBarPanelClickEventArgs and another\r
85                 ///     object.\r
86                 /// </remarks>\r
87                 public override bool Equals (object obj) \r
88                 {\r
89                         if (!(obj is StatusBarPanelClickEventArgs))return false;\r
90                         return (this == (StatusBarPanelClickEventArgs) obj);\r
91                 }\r
92 \r
93                 /// <summary>\r
94                 ///     GetHashCode Method\r
95                 /// </summary>\r
96                 ///\r
97                 /// <remarks>\r
98                 ///     Calculates a hashing value.\r
99                 /// </remarks>\r
100                 public override int GetHashCode () \r
101                 {\r
102                         return unchecked(panel.GetHashCode() * base.GetHashCode());\r
103                 }\r
104 \r
105                 /// <summary>\r
106                 ///     ToString Method\r
107                 /// </summary>\r
108                 ///\r
109                 /// <remarks>\r
110                 ///     Formats the StatusBarPanelClickEventArgs as a string.\r
111                 /// </remarks>\r
112                 [MonoTODO]\r
113                 public override string ToString () \r
114                 {\r
115                         //FIXME: add class specific stuff;\r
116                         return base.ToString();\r
117                 }\r
118                 #endregion\r
119 \r
120         }\r
121 }\r