Package org.pushingpixels.flamingo.api.common

# Class RichTooltip

java.lang.Object
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

Fields
Modifier and Type
Field
Description
`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

Constructors
Constructor
Description
`RichTooltip()`
Creates an empty tooltip.
`RichTooltip(String title, String descriptionSection)`
Creates a tooltip with the specified title and description section.

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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 Details

### 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()`