All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.extjs.gxt.ui.client.widget.tips.ToolTipConfig Maven / Gradle / Ivy

The newest version!
/*
 * Sencha GXT 2.3.1 - Sencha for GWT
 * Copyright(c) 2007-2013, Sencha, Inc.
 * [email protected]
 * 
 * http://www.sencha.com/products/gxt/license/
 */
 package com.extjs.gxt.ui.client.widget.tips;

import com.extjs.gxt.ui.client.core.El;
import com.extjs.gxt.ui.client.core.Template;
import com.extjs.gxt.ui.client.util.Params;

/**
 * Configuration information for a tool tip.
 */
public class ToolTipConfig {

  private String anchor;
  private int anchorOffset = 0;
  private boolean anchorToTarget = true;
  private boolean autoHide = true;
  private int dismissDelay = 5000;
  private boolean enabled = true;
  private int hideDelay = 200;
  private int maxWidth = 300;
  private int minWidth = 40;
  private int[] mouseOffset = new int[] {15, 18};
  private Params params;
  private int showDelay = 500;
  private Template template;
  private String html;
  private String titleHtml;
  private boolean trackMouse;
  private boolean closeable;

  /**
   * Creates a new tool tip config.
   */
  public ToolTipConfig() {

  }

  /**
   * Creates a new tool tip config with the given text.
   * 
   * @param html the tool tip text as HTML
   */
  public ToolTipConfig(String html) {
    this.setHtml(html);
  }

  /**
   * Creates a new tool tip config with the given title and text.
   * 
   * @param titleHtml the tool tip title
   * @param html the tool tip text
   */
  public ToolTipConfig(String titleHtml, String html) {
    this.setTitleHtml(titleHtml);
    this.setHtml(html);
  }

  /**
   * Returns the anchor position.
   * 
   * @return the anchor position
   */
  public String getAnchor() {
    return anchor;
  }

  /**
   * Returns the distance in pixels of the tooltip and target element.
   * 
   * @return the offset
   */
  public int getAnchorOffset() {
    return anchorOffset;
  }

  /**
   * Returns the dismiss delay.
   * 
   * @return the dismiss delay
   */
  public int getDismissDelay() {
    return dismissDelay;
  }

  /**
   * Returns the hide delay in milliseconds.
   * 
   * @return the delay
   */
  public int getHideDelay() {
    return hideDelay;
  }

  /**
   * Returns the tooltip's maximum width.
   * 
   * @return the maximum width
   */
  public int getMaxWidth() {
    return maxWidth;
  }

  /**
   * Returns the tooltip's minimum width.
   * 
   * @return the minimum width
   */
  public int getMinWidth() {
    return minWidth;
  }

  /**
   * Returns the mouse offset.
   * 
   * @return the offset
   */
  public int[] getMouseOffset() {
    return mouseOffset;
  }

  /**
   * Returns the params.
   * 
   * @return the params
   */
  public Params getParams() {
    return params;
  }

  /**
   * Returns the show delay in milliseconds.
   * 
   * @return the delay
   */
  public int getShowDelay() {
    return showDelay;
  }

  /**
   * Returns the template.
   * 
   * @return the template
   */
  public Template getTemplate() {
    return template;
  }

  /**
   * Returns the tool tip text as HTML.
   * 
   * @return the text as HTML
   */
  public String getHtml() {
    return html;
  }

  /**
   * Returns the tool tip title.
   * 
   * @return the title
   */
  public String getTitleHtml() {
    return titleHtml;
  }

  /**
   * Returns true if the tooltip is anchored to the target.
   * 
   * @return true if anchored
   */
  public boolean isAnchorToTarget() {
    return anchorToTarget;
  }

  /**
   * Returns true if auto hide is enabled.
   * 
   * @return the auto hide state
   */
  public boolean isAutoHide() {
    return autoHide;
  }

  /**
   * Returns true if the tip is closable.
   * 
   * @return the closable state
   */
  public boolean isCloseable() {
    return closeable;
  }

  /**
   * Returns true if the tool tip is enabled.
   * 
   * @return true for enabled
   */
  public boolean isEnabled() {
    return enabled;
  }

  /**
   * Returns true if mouse tracking is enabled.
   * 
   * @return the mouse track state
   */
  public boolean isTrackMouse() {
    return trackMouse;
  }

  /**
   * Sets the anchor position (defaults to "bottom").
   * 
   * @param anchor the anchor position (top, bottom, left, right)
   */
  public void setAnchor(String anchor) {
    this.anchor = anchor;
  }

  /**
   * A numeric pixel value used to offset the default position of the anchor
   * arrow (defaults to 0). When the anchor position is on the top or bottom of
   * the tooltip, anchorOffset will be used as a horizontal offset.
   * Likewise, when the anchor position is on the left or right side,
   * anchorOffset will be used as a vertical offset.
   * 
   * 
   * @param anchorOffset the offset in pixels
   */
  public void setAnchorOffset(int anchorOffset) {
    this.anchorOffset = anchorOffset;
  }

  /**
   * True to anchor the tooltip to the target element, false to anchor it
   * relative to the mouse coordinates (defaults to true).
   * 
   * @param anchorToTarget true to anchor the tooltip to the target element
   */
  public void setAnchorToTarget(boolean anchorToTarget) {
    this.anchorToTarget = anchorToTarget;
  }

  /**
   * True to automatically hide the tooltip after the mouse exits the target
   * element or after the {@link #dismissDelay} has expired if set (defaults to
   * true).
   * 
   * @param autoHide the auto hide state
   */
  public void setAutoHide(boolean autoHide) {
    this.autoHide = autoHide;
  }

  /**
   * True to render a close tool button into the tooltip header (defaults to
   * false).
   * 
   * @param closeable the closable state
   */
  public void setCloseable(boolean closeable) {
    this.closeable = closeable;
  }

  /**
   * Delay in milliseconds before the tooltip automatically hides (defaults to
   * 5000). To disable automatic hiding, set dismissDelay = 0.
   * 
   * @param dismissDelay the dismiss delay
   */
  public void setDismissDelay(int dismissDelay) {
    this.dismissDelay = dismissDelay;
  }

  /**
   * Sets whether the tool tip is enabled (defaults to true).
   * 
   * @param enabled true to enable
   */
  public void setEnabled(boolean enabled) {
    this.enabled = enabled;
  }

  /**
   * Delay in milliseconds after the mouse exits the target element but before
   * the tooltip actually hides (defaults to 200). Set to 0 for the tooltip to
   * hide immediately.
   * 
   * @param hideDelay the hide delay
   */
  public void setHideDelay(int hideDelay) {
    this.hideDelay = hideDelay;
  }

  /**
   * Sets the tooltip's maximum width (defaults to 300).
   * 
   * @param maxWidth the maximum width in pixels
   */
  public void setMaxWidth(int maxWidth) {
    this.maxWidth = maxWidth;
  }

  /**
   * Sets the tooltip's minimum width (defaults to 40).
   * 
   * @param minWidth the minimum width
   */
  public void setMinWidth(int minWidth) {
    this.minWidth = minWidth;
  }

  /**
   * An XY offset from the mouse position where the tooltip should be shown
   * (defaults to [15,18]).
   * 
   * @param mouseOffset the offset
   */
  public void setMouseOffset(int[] mouseOffset) {
    this.mouseOffset = mouseOffset;
  }

  /**
   * The parameters to be used when a custom a {@link #template} is specified.
   * 
   * @param params the parameters
   */
  public void setParams(Params params) {
    this.params = params;
  }

  /**
   * Delay in milliseconds before the tooltip displays after the mouse enters
   * the target element (defaults to 500).
   * 
   * @param showDelay the show delay
   */
  public void setShowDelay(int showDelay) {
    this.showDelay = showDelay;
  }

  /**
   * A optional template to be used to render the tool tip. The {@link #params}
   * will be applied to the template. If specified, {@link #titleHtml} and
   * {@link #html} will be added to the params before being applied to the
   * template.
   * 
   * @param template the template
   */
  public void setTemplate(Template template) {
    this.template = template;
  }

  /**
   * Sets the tool tips text as HTML.
   * 
   * @param html the text as HTML
   */
  public void setHtml(String html) {
    this.html = html;
  }

  /**
   * Sets the tool tips text.
   * 
   * @param text the text
   */
  public void setText(String text) {
    setHtml(El.toSafeHTML(text));
  }

  /**
   * Sets the tool tips title as text.
   * 
   * @param title the title as text
   */
  public void setTitle(String title) {
    setTitleHtml(El.toSafeHTML(title));
  }

  /**
   * Sets the tool tip title as HTML.
   * 
   * @param titleHtml the title as HTML
   */
  public void setTitleHtml(String titleHtml) {
    this.titleHtml = titleHtml;
  }

  /**
   * True to have the tooltip follow the mouse as it moves over the target
   * element (defaults to false).
   * 
   * @param trackMouse the track mouse state
   */
  public void setTrackMouse(boolean trackMouse) {
    this.trackMouse = trackMouse;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy