Source for org.jfree.chart.imagemap.DynamicDriveToolTipTagFragmentGenerator

   1: /* ===========================================================
   2:  * JFreeChart : a free chart library for the Java(tm) platform
   3:  * ===========================================================
   4:  *
   5:  * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors.
   6:  *
   7:  * Project Info:  http://www.jfree.org/jfreechart/index.html
   8:  *
   9:  * This library is free software; you can redistribute it and/or modify it 
  10:  * under the terms of the GNU Lesser General Public License as published by 
  11:  * the Free Software Foundation; either version 2.1 of the License, or 
  12:  * (at your option) any later version.
  13:  *
  14:  * This library is distributed in the hope that it will be useful, but 
  15:  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  16:  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
  17:  * License for more details.
  18:  *
  19:  * You should have received a copy of the GNU Lesser General Public
  20:  * License along with this library; if not, write to the Free Software
  21:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
  22:  * USA.  
  23:  *
  24:  * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
  25:  * in the United States and other countries.]
  26:  *
  27:  * --------------------------------------------
  28:  * DynamicDriveToolTipTagFragmentGenerator.java
  29:  * --------------------------------------------
  30:  * (C) Copyright 2003-2007, by Richard Atkinson and Contributors.
  31:  *
  32:  * Original Author:  Richard Atkinson;
  33:  * Contributors:     David Gilbert (for Object Refinery Limited);
  34:  *
  35:  * Changes
  36:  * -------
  37:  * 12-Aug-2003 : Version 1 (RA);
  38:  * 04-Dec-2007 : Escape tool tip text to fix bug 1400917 (DG);
  39:  * 
  40:  */
  41:  
  42: package org.jfree.chart.imagemap;
  43: 
  44: /**
  45:  * Generates tooltips using the Dynamic Drive DHTML Tip Message 
  46:  * library (http://www.dynamicdrive.com).
  47:  */
  48: public class DynamicDriveToolTipTagFragmentGenerator 
  49:         implements ToolTipTagFragmentGenerator {
  50: 
  51:     /** The title, empty string not to display */
  52:     protected String title = "";
  53: 
  54:     /** The style number */
  55:     protected int style = 1;
  56: 
  57:     /**
  58:      * Blank constructor.
  59:      */
  60:     public DynamicDriveToolTipTagFragmentGenerator() {
  61:         super();
  62:     }
  63: 
  64:     /**
  65:      * Creates a new generator with specific title and style settings.
  66:      *
  67:      * @param title  title for use in all tooltips, use empty String not to 
  68:      *               display a title.
  69:      * @param style  style number, see http://www.dynamicdrive.com for more 
  70:      *               information.
  71:      */
  72:     public DynamicDriveToolTipTagFragmentGenerator(String title, int style) {
  73:         this.title = title;
  74:         this.style = style;
  75:     }
  76: 
  77:     /**
  78:      * Generates a tooltip string to go in an HTML image map.
  79:      *
  80:      * @param toolTipText  the tooltip.
  81:      * 
  82:      * @return The formatted HTML area tag attribute(s).
  83:      */
  84:     public String generateToolTipFragment(String toolTipText) {
  85:         return " onMouseOver=\"return stm(['" 
  86:             + ImageMapUtilities.htmlEscape(this.title) + "','" 
  87:             + ImageMapUtilities.htmlEscape(toolTipText) + "'],Style[" 
  88:             + this.style + "]);\"" + " onMouseOut=\"return htm();\"";
  89:     }
  90: 
  91: }