2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlControl.cs
index 9bea972173dcb96dd7aad85a2a5a2cb6a87a0d10..c69c185829b30d1b801c5eb59c3b97d0be18f9ea 100644 (file)
@@ -9,17 +9,21 @@
 //\r
 \r
 using System;\r
+using System.ComponentModel;
+using System.ComponentModel.Design;\r
 using System.Globalization;\r
 using System.Web;\r
 using System.Web.UI;\r
 \r
 namespace System.Web.UI.HtmlControls{\r
        \r
+       [ToolboxItem(false)]
+       [Designer ("System.Web.UI.Design.HtmlIntrinsicControlDesigner, " + Consts.AssemblySystem_Design, typeof (IDesigner))]\r
        public abstract class HtmlControl : Control, IAttributeAccessor\r
        {\r
-               private string _tagName = "span";\r
+               internal string _tagName;\r
                private AttributeCollection _attributes;\r
-               private bool _disabled = false;\r
+
                \r
                public HtmlControl() : this ("span") {}\r
                \r
@@ -50,7 +54,7 @@ namespace System.Web.UI.HtmlControls{
                                        try{\r
                                                attr = ResolveUrl(attr);\r
                                        }\r
-                                       catch (Exception e) {\r
+                                       catch (Exception) {\r
                                                throw new HttpException(attribName + " property had malformed url");\r
                                        }\r
                                        writer.WriteAttribute(attribName, attr);\r
@@ -86,6 +90,8 @@ namespace System.Web.UI.HtmlControls{
                        Attributes.Render(writer);\r
                }\r
                \r
+               [Browsable(false)]\r
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
                public AttributeCollection Attributes\r
                {\r
                        get { \r
@@ -95,17 +101,33 @@ namespace System.Web.UI.HtmlControls{
                        }\r
                }\r
 \r
+               [DefaultValue("")]\r
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
+               [WebCategory("Behavior")]\r
                public bool Disabled\r
                {\r
-                       get { return _disabled; }\r
-                       set { _disabled = value; }\r
+                       get {
+                               string disableAttr = Attributes["disabled"] as string;
+                               return (disableAttr != null);
+                        }\r
+                       set {
+                                if (!value)
+                                        Attributes.Remove ("disabled");
+                                else
+                                        Attributes["disabled"] = "disabled";
+                        }\r
                }\r
 \r
+               [Browsable(false)]\r
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
                public CssStyleCollection Style\r
                {\r
                        get { return Attributes.CssStyle; }\r
                }\r
 \r
+               [DefaultValue("")]\r
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
+               [WebCategory("Appearance")]\r
                public virtual string TagName\r
                {\r
                        get { return _tagName; }\r