New test.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms.Design / ToolStripItemDesignerAvailabilityAttribute.cs
1 //\r
2 // ToolStripItemDesignerAvailabilityAttribute.cs\r
3 //\r
4 // Permission is hereby granted, free of charge, to any person obtaining\r
5 // a copy of this software and associated documentation files (the\r
6 // "Software"), to deal in the Software without restriction, including\r
7 // without limitation the rights to use, copy, modify, merge, publish,\r
8 // distribute, sublicense, and/or sell copies of the Software, and to\r
9 // permit persons to whom the Software is furnished to do so, subject to\r
10 // the following conditions:\r
11 // \r
12 // The above copyright notice and this permission notice shall be\r
13 // included in all copies or substantial portions of the Software.\r
14 // \r
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
22 //\r
23 // Copyright (c) Jonathan Pobst\r
24 //\r
25 // Authors:\r
26 //      Jonathan Pobst (monkey@jpobst.com)\r
27 //\r
28 #if NET_2_0\r
29 \r
30 using System;\r
31 using System.Collections.Generic;\r
32 using System.Text;\r
33 \r
34 namespace System.Windows.Forms.Design\r
35 {\r
36         [AttributeUsage (AttributeTargets.Class)]\r
37         public sealed class ToolStripItemDesignerAvailabilityAttribute : Attribute\r
38         {\r
39                 private ToolStripItemDesignerAvailability visibility;\r
40                 public static readonly ToolStripItemDesignerAvailabilityAttribute Default = new ToolStripItemDesignerAvailabilityAttribute ();\r
41 \r
42                 #region Public Constructors\r
43                 public ToolStripItemDesignerAvailabilityAttribute ()\r
44                         : base ()\r
45                 {\r
46                         this.visibility = ToolStripItemDesignerAvailability.None;\r
47                 }\r
48 \r
49                 public ToolStripItemDesignerAvailabilityAttribute (ToolStripItemDesignerAvailability visibility)\r
50                         : base ()\r
51                 {\r
52                         this.visibility = visibility;\r
53                 }\r
54                 #endregion\r
55 \r
56                 #region Public Properties\r
57                 public ToolStripItemDesignerAvailability ItemAdditionVisibility {\r
58                         get { return this.visibility; }\r
59                 }\r
60                 #endregion\r
61 \r
62                 #region Public Methods\r
63                 public override bool Equals (object obj)\r
64                 {\r
65                         if (!(obj is ToolStripItemDesignerAvailabilityAttribute))\r
66                                 return false;\r
67 \r
68                         return this.ItemAdditionVisibility == (obj as ToolStripItemDesignerAvailabilityAttribute).ItemAdditionVisibility;\r
69                 }\r
70 \r
71                 public override int GetHashCode ()\r
72                 {\r
73                         return (int)this.visibility;\r
74                 }\r
75 \r
76                 public override bool IsDefaultAttribute ()\r
77                 {\r
78                         return this.visibility == ToolStripItemDesignerAvailability.None;\r
79                 }\r
80                 #endregion\r
81         }\r
82 }\r
83 #endif