2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
authorIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Tue, 21 Nov 2006 16:41:13 +0000 (16:41 -0000)
committerIgor Zelmanovich <igorz@mono-cvs.ximian.com>
Tue, 21 Nov 2006 16:41:13 +0000 (16:41 -0000)
* ImageMap.cs: fixed rendering.

svn path=/trunk/mcs/; revision=68263

mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/System.Web.UI.WebControls/ImageMap.cs
mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/Test/System.Web.UI.WebControls/ImageMapTest.cs

index b177a9effdc6bb6444fef7cbeddaba5c0e666ab2..f7076ed90331252546a4cecd51fa60fd75c2ab1a 100644 (file)
@@ -1,3 +1,7 @@
+2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * ImageMap.cs: fixed rendering.
+
 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
 
        * HotSpot.cs: fixed: AccessKey and HotSpotMode 
index 1abf36c3a29d07b3a7d66fa467ec4ffcdf07de00..edbc4ac08e372ab54f94e80624bd96a9cbc75c5d 100644 (file)
@@ -35,9 +35,9 @@ using System.Security.Permissions;
 
 namespace System.Web.UI.WebControls
 {
-       [ParseChildren (true, "HotSpots")]\r
-       [DefaultProperty ("HotSpots")]\r
-       [DefaultEvent ("Click")]\r
+       [ParseChildren (true, "HotSpots")]
+       [DefaultProperty ("HotSpots")]
+       [DefaultEvent ("Click")]
        [AspNetHostingPermissionAttribute (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
        [AspNetHostingPermissionAttribute (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
        public class ImageMap: Image, IPostBackEventHandler
@@ -61,7 +61,7 @@ namespace System.Web.UI.WebControls
                        }
                }
 
-           [DefaultValueAttribute (HotSpotMode.NotSet)]\r
+           [DefaultValueAttribute (HotSpotMode.NotSet)]
                public virtual HotSpotMode HotSpotMode {
                        get {
                                object o = ViewState ["HotSpotMode"];
@@ -72,7 +72,7 @@ namespace System.Web.UI.WebControls
                        }
                }
                
-           [DefaultValueAttribute ("")]\r
+           [DefaultValueAttribute ("")]
                public virtual string Target {
                        get {
                                object o = ViewState ["Target"];
@@ -83,9 +83,9 @@ namespace System.Web.UI.WebControls
                        }
                }
 
-           [NotifyParentPropertyAttribute (true)]\r
-           [PersistenceModeAttribute (PersistenceMode.InnerDefaultProperty)]\r
-           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Content)]\r
+           [NotifyParentPropertyAttribute (true)]
+           [PersistenceModeAttribute (PersistenceMode.InnerDefaultProperty)]
+           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Content)]
                public HotSpotCollection HotSpots {
                        get {
                                if (spots == null) {
@@ -135,16 +135,17 @@ namespace System.Web.UI.WebControls
                protected override void AddAttributesToRender (HtmlTextWriter writer)
                {
                        base.AddAttributesToRender (writer);
-                       writer.AddAttribute (HtmlTextWriterAttribute.Usemap, "#ImageMap" + ClientID);
+                       if (spots != null && spots.Count > 0)
+                               writer.AddAttribute (HtmlTextWriterAttribute.Usemap, "#ImageMap" + ClientID);
                }
                
                protected internal override void Render (HtmlTextWriter writer)
                {
                        base.Render (writer);
-                       writer.AddAttribute (HtmlTextWriterAttribute.Name, "ImageMap" + ClientID);
-                       writer.RenderBeginTag (HtmlTextWriterTag.Map);
-                       
-                       if (spots != null) {
+
+                       if (spots != null && spots.Count > 0) {
+                               writer.AddAttribute (HtmlTextWriterAttribute.Name, "ImageMap" + ClientID);
+                               writer.RenderBeginTag (HtmlTextWriterTag.Map);
                                for (int n=0; n<spots.Count; n++) {
                                        HotSpot spot = spots [n];
                                        writer.AddAttribute (HtmlTextWriterAttribute.Shape, spot.MarkupName);
@@ -162,9 +163,10 @@ namespace System.Web.UI.WebControls
                                                        writer.AddAttribute ("nohref", "true");
                                                        break;
                                                case HotSpotMode.Navigate:
-                                                       string target = spot.Target.Length > 0 ? spot.Target : Target; 
+                                                       string target = spot.Target.Length > 0 ? spot.Target : Target;
+                                                       if (!String.IsNullOrEmpty (target))
+                                                               writer.AddAttribute (HtmlTextWriterAttribute.Target, target);
                                                        writer.AddAttribute (HtmlTextWriterAttribute.Href, spot.NavigateUrl);
-                                                       writer.AddAttribute (HtmlTextWriterAttribute.Target, target);
                                                        break;
                                                case HotSpotMode.PostBack:
                                                        writer.AddAttribute (HtmlTextWriterAttribute.Href, Page.ClientScript.GetPostBackClientHyperlink (this, n.ToString()));
@@ -174,9 +176,8 @@ namespace System.Web.UI.WebControls
                                        writer.RenderBeginTag (HtmlTextWriterTag.Area);
                                        writer.RenderEndTag ();
                                }
+                               writer.RenderEndTag ();
                        } 
-                       
-                       writer.RenderEndTag ();
                }
        }
 }
index 4ecb18651448c3853bdd16a35cc4fb63f2f3a7cf..67e60ad3ede91a868db07fd1ed7974bfd705ba7d 100644 (file)
@@ -1,3 +1,7 @@
+2006-11-21  Igor Zelmanovich   <igorz@mainsoft.com>
+
+       * ImageMapTest.cs: removed NotWorking attributes.
+
 2006-11-21  Igor Zelmanovich   <igorz@mainsoft.com>
 
        * HotSpotTest.cs: removed NotWorking attributes.
index a782660c1ec62b951b6c8ffa4917a6fa7a780db0..b546c807fa42c489e30d89b2a33b4c415420709a 100644 (file)
@@ -124,7 +124,6 @@ namespace MonoTests.System.Web.UI.WebControls
         }
 
         [Test]
-        [Category ("NotWorking")]
         public void ImageMap_Defaults_Render()
         {
             PokerImageMap imageMap = new PokerImageMap();
@@ -149,7 +148,6 @@ namespace MonoTests.System.Web.UI.WebControls
         }
 
         [Test]
-        [Category ("NotWorking")]
         public void ImageMap_AssignedValues_RenderNavigateCircle()
         {
             // Circle.HotSpotMode = Navigate
@@ -171,7 +169,6 @@ namespace MonoTests.System.Web.UI.WebControls
         }
 
         [Test]
-        [Category ("NotWorking")]
         public void ImageMap_AssignedValues_RenderNavigateShapes()
         {
             // Rectangle/Polygon.HotSpotMode = Navigate 
@@ -345,7 +342,6 @@ namespace MonoTests.System.Web.UI.WebControls
         }
 
         [Test]
-        [Category ("NotWorking")]
         [Category("NunitWeb")]
         public void ImageMap_PostBackRectangle()
         {
@@ -362,7 +358,6 @@ namespace MonoTests.System.Web.UI.WebControls
         }
 
         [Test]
-        [Category ("NotWorking")]
         [Category("NunitWeb")]
         public void ImageMap_PostBackCircle()
         {
@@ -379,7 +374,6 @@ namespace MonoTests.System.Web.UI.WebControls
         }
 
         [Test]
-        [Category ("NotWorking")]
         [Category("NunitWeb")]
         public void ImageMap_PostBackPolygon()
         {