ImageMap blocks Image functionality

Details

Description

ImageMap is applied to an img tag, which means you can't apply an Image to that tag anymore. Since ImageMap does not supply the functionality of Image, this means it's impossible to treat an imagemap's image like a Wicket image (including dynamic rendering). And because ImageMap is final (why?), it's also not possible to extend it and add that functionality.

I see three possible fixes:

1: The easiest and ugliest fix: make ImageMap not final, and have the user figure it out.
2: Add Image functionality to ImageMap. This duplicates functionality (since ImageMap can't inherit directly from Image), and might give problems in the future when new functionality is added to Image.
3: Consider the current ImageMap broken, and replace it with a different approach: apply ImageMap to a <map> tag, use a regular image for the <img> part, and add to Image a method to link it to an ImageMap. I prefer the third solution, although it will break compatibility with existing ImageMaps. Perhaps a new DynamicImageMap could be added?

This patch is a quite thorough rewrite of ImageMap and a small addition to Image. ImageMap now links to a <map> tag, and Image allows an ImageMap to be linked to it (in order to set the usemap attribute).

Martijn Vos
added a comment - 30/Mar/08 22:33 This patch is a quite thorough rewrite of ImageMap and a small addition to Image. ImageMap now links to a <map> tag, and Image allows an ImageMap to be linked to it (in order to set the usemap attribute).