org.pushingpixels.flamingo.api.common
Class RichTooltip

java.lang.Object
  extended by org.pushingpixels.flamingo.api.common.RichTooltip

public class RichTooltip
extends Object

Rich tooltip for command buttons.

In its most basic form, the rich tooltip has a title and one (possible multiline) description text:

 +--------------------------------+
 | Title                          |
 |        Some description text   |
 +--------------------------------+
 

The addDescriptionSection(String) can be used to add multiple sections to the description:

 +--------------------------------+
 | Title                          |
 |        First multiline         |
 |        description section     |
 |                                |
 |        Second multiline        |
 |        description section     |
 |                                |
 |        Third multiline         |
 |        description section     |
 +--------------------------------+
 

The setMainImage(Image) can be used to place an image below the title and to the left of the description sections:

 +--------------------------------+
 | Title                          |
 | *******  First multiline       |
 | *image*  description section   |
 | *******                        |
 |          Second multiline      |
 |          description section   |
 +--------------------------------+
 

The addFooterSection(String) can be used to add (possibly) multiple footer sections that will be shown below a horizontal separator:

 +--------------------------------+
 | Title                          |
 |        First multiline         |
 |        description section     |
 |                                |
 |        Second multiline        |
 |        description section     |
 |--------------------------------|
 | A multiline footer section     |
 | placed below a separator       |
 +--------------------------------+
 

The setFooterImage(Image) can be used to place an image to the left of the footer sections:

 +--------------------------------+
 | Title                          |
 |        First multiline         |
 |        description section     |
 |                                |
 |        Second multiline        |
 |        description section     |
 |--------------------------------|
 | *******  A multiline           |
 | *image*  footer section        |
 | *******                        |
 +--------------------------------+
 

Here is a fully fledged rich tooltip that shows all these APIs in action:

 +--------------------------------+
 | Title                          |
 | *******  First multiline       |
 | *image*  description section   |
 | *******                        |
 |          Second multiline      |
 |          description section   |
 |--------------------------------|
 | *******  First multiline       |
 | *image*  footer section        |
 | *******                        |
 |          Second multiline      |
 |          footer section        |
 +--------------------------------+
 


Field Summary
protected  List<String> descriptionSections
          The description sections of this tooltip.
protected  Image footerImage
          The footer image of this tooltip.
protected  List<String> footerSections
          The footer sections of this tooltip.
protected  Image mainImage
          The main image of this tooltip.
protected  String title
          The main title of this tooltip.
 
Constructor Summary
RichTooltip()
          Creates an empty tooltip.
RichTooltip(String title, String descriptionSection)
          Creates a tooltip with the specified title and description section.
 
Method Summary
 void addDescriptionSection(String section)
          Adds the specified description section to this tooltip.
 void addFooterSection(String section)
          Adds the specified footer section to this tooltip.
 List<String> getDescriptionSections()
          Returns an unmodifiable list of description sections of this tooltip.
 Image getFooterImage()
          Returns the footer image of this tooltip.
 List<String> getFooterSections()
          Returns an unmodifiable list of footer sections of this tooltip.
 Image getMainImage()
          Returns the main image of this tooltip.
 String getTitle()
          Returns the main title of this tooltip.
 void setFooterImage(Image image)
          Sets the footer image for this tooltip.
 void setMainImage(Image image)
          Sets the main image for this tooltip.
 void setTitle(String title)
          Sets the title for this tooltip.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

title

protected String title
The main title of this tooltip.

See Also:
RichTooltip(String, String), setTitle(String), getTitle()

mainImage

protected Image mainImage
The main image of this tooltip. Can be null.

See Also:
getMainImage(), setMainImage(Image)

descriptionSections

protected List<String> descriptionSections
The description sections of this tooltip.

See Also:
RichTooltip(String, String), addDescriptionSection(String), getDescriptionSections()

footerImage

protected Image footerImage
The footer image of this tooltip. Can be null.

See Also:
getFooterImage(), setFooterImage(Image)

footerSections

protected List<String> footerSections
The footer sections of this tooltip. Can be empty.

See Also:
addFooterSection(String), getFooterSections()
Constructor Detail

RichTooltip

public RichTooltip()
Creates an empty tooltip.


RichTooltip

public RichTooltip(String title,
                   String descriptionSection)
Creates a tooltip with the specified title and description section.

Parameters:
title - Tooltip title.
descriptionSection - Tooltip main description section.
Method Detail

setTitle

public void setTitle(String title)
Sets the title for this tooltip.

Parameters:
title - The new tooltip title.

setMainImage

public void setMainImage(Image image)
Sets the main image for this tooltip.

Parameters:
image - The main image for this tooltip.
See Also:
getMainImage(), addDescriptionSection(String)

addDescriptionSection

public void addDescriptionSection(String section)
Adds the specified description section to this tooltip.

Parameters:
section - The description section to add.
See Also:
getDescriptionSections(), setMainImage(Image), setTitle(String)

setFooterImage

public void setFooterImage(Image image)
Sets the footer image for this tooltip.

Parameters:
image - The footer image for this tooltip.
See Also:
getFooterImage(), addFooterSection(String)

addFooterSection

public void addFooterSection(String section)
Adds the specified footer section to this tooltip.

Parameters:
section - The footer section to add.
See Also:
getFooterSections(), setFooterImage(Image)

getTitle

public String getTitle()
Returns the main title of this tooltip.

Returns:
The main title of this tooltip.
See Also:
RichTooltip(String, String), setTitle(String)

getMainImage

public Image getMainImage()
Returns the main image of this tooltip. Can return null.

Returns:
The main image of this tooltip.
See Also:
setMainImage(Image), getDescriptionSections()

getDescriptionSections

public List<String> getDescriptionSections()
Returns an unmodifiable list of description sections of this tooltip. Guaranteed to return a non-null list.

Returns:
An unmodifiable list of description sections of this tooltip.
See Also:
RichTooltip(String, String), addDescriptionSection(String), getTitle(), getMainImage()

getFooterImage

public Image getFooterImage()
Returns the footer image of this tooltip. Can return null.

Returns:
The footer image of this tooltip.
See Also:
setFooterImage(Image), getFooterSections()

getFooterSections

public List<String> getFooterSections()
Returns an unmodifiable list of footer sections of this tooltip. Guaranteed to return a non-null list.

Returns:
An unmodifiable list of footer sections of this tooltip.
See Also:
addFooterSection(String), getFooterImage()