com.google.gwt.user.client.ui

## Class SuggestBox.DefaultSuggestionDisplay

- java.lang.Object
- - com.google.gwt.user.client.ui.SuggestBox.SuggestionDisplay
  - - com.google.gwt.user.client.ui.SuggestBox.DefaultSuggestionDisplay

- All Implemented Interfaces:
    HasAnimation
  Enclosing class:
    SuggestBox

      public static class SuggestBox.DefaultSuggestionDisplay
      extends SuggestBox.SuggestionDisplay
      implements HasAnimation

  The default implementation of `SuggestBox.SuggestionDisplay` displays suggestions in a `PopupPanel` beneath the `SuggestBox`.

  ### CSS Style Rules

  .gwt-SuggestBoxPopup
    the suggestion popup
  .gwt-SuggestBoxPopup .item
    an unselected suggestion
  .gwt-SuggestBoxPopup .item-selected
    a selected suggestion
  .gwt-SuggestBoxPopup .suggestPopupTopLeft
    the top left cell
  .gwt-SuggestBoxPopup .suggestPopupTopLeftInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupTopCenter
    the top center cell
  .gwt-SuggestBoxPopup .suggestPopupTopCenterInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupTopRight
    the top right cell
  .gwt-SuggestBoxPopup .suggestPopupTopRightInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupMiddleLeft
    the middle left cell
  .gwt-SuggestBoxPopup .suggestPopupMiddleLeftInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupMiddleCenter
    the middle center cell
  .gwt-SuggestBoxPopup .suggestPopupMiddleCenterInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupMiddleRight
    the middle right cell
  .gwt-SuggestBoxPopup .suggestPopupMiddleRightInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupBottomLeft
    the bottom left cell
  .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupBottomCenter
    the bottom center cell
  .gwt-SuggestBoxPopup .suggestPopupBottomCenterInner
    the inner element of the cell
  .gwt-SuggestBoxPopup .suggestPopupBottomRight
    the bottom right cell
  .gwt-SuggestBoxPopup .suggestPopupBottomRightInner
    the inner element of the cell

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultSuggestionDisplay()` Construct a new `SuggestBox.DefaultSuggestionDisplay`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected PopupPanel` | `createPopup()` Create the PopupPanel that will hold the list of suggestions.
    `protected Widget` | `decorateSuggestionList(Widget suggestionList)` Wrap the list of suggestions before adding it to the popup.
    `protected SuggestOracle.Suggestion` | `getCurrentSelection()` Get the currently selected `SuggestOracle.Suggestion` in the display.
    `protected PopupPanel` | `getPopupPanel()` Get the `PopupPanel` used to display suggestions.
    `protected MenuBar` | `getSuggestionMenu()` Get the `MenuBar` used to display suggestions.
    `void` | `hideSuggestions()` Hide the list of suggestions from view.
    `boolean` | `isAnimationEnabled()` Returns true if animations are enabled, false if not.
    `(package private) boolean` | `isAnimationEnabledImpl()` This is here for legacy reasons.
    `boolean` | `isSuggestionListHiddenWhenEmpty()` Check whether or not the suggestion list is hidden when there are no suggestions to display.
    `boolean` | `isSuggestionListShowing()` Check whether or not the list of suggestions is being shown.
    `protected void` | `moveSelectionDown()` Highlight the suggestion directly below the current selection in the list.
    `protected void` | `moveSelectionUp()` Highlight the suggestion directly above the current selection in the list.
    `protected void` | `onEnsureDebugId(java.lang.String baseID)` Affected Elements: -popup = The popup that appears with suggestions. -item# = The suggested item at the specified index.
    `void` | `setAnimationEnabled(boolean enable)` Enable or disable animations.
    `(package private) void` | `setAnimationEnabledImpl(boolean enable)` This is here for legacy reasons.
    `void` | `setPopupStyleName(java.lang.String style)` Sets the style name of the suggestion popup.
    `(package private) void` | `setPopupStyleNameImpl(java.lang.String style)` This is here for legacy reasons.
    `void` | `setPositionRelativeTo(UIObject uiObject)` Sets the UI object where the suggestion display should appear next to.
    `void` | `setSuggestionListHiddenWhenEmpty(boolean hideWhenEmpty)` Set whether or not the suggestion list should be hidden when there are no suggestions to display.
    `protected void` | `showSuggestions(SuggestBox suggestBox, java.util.Collection<? extends SuggestOracle.Suggestion> suggestions, boolean isDisplayStringHTML, boolean isAutoSelectEnabled, SuggestBox.SuggestionCallback callback)` Update the list of visible suggestions.

    - ### Methods inherited from class com.google.gwt.user.client.ui.SuggestBox.SuggestionDisplay

      `setMoreSuggestions`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultSuggestionDisplay

          public DefaultSuggestionDisplay()

      Construct a new `SuggestBox.DefaultSuggestionDisplay`.

  - ### Method Detail

    - #### hideSuggestions

          public void hideSuggestions()

      Description copied from class: `SuggestBox.SuggestionDisplay`
      Hide the list of suggestions from view.
      Specified by:
        `hideSuggestions` in class `SuggestBox.SuggestionDisplay`

    - #### isAnimationEnabled

          public boolean isAnimationEnabled()

      Description copied from interface: `HasAnimation`
      Returns true if animations are enabled, false if not.
      Specified by:
        `isAnimationEnabled` in interface `HasAnimation`

    - #### isSuggestionListHiddenWhenEmpty

          public boolean isSuggestionListHiddenWhenEmpty()

      Check whether or not the suggestion list is hidden when there are no suggestions to display.
      Returns:
        true if hidden when empty, false if not

    - #### isSuggestionListShowing

          public boolean isSuggestionListShowing()

      Description copied from class: `SuggestBox.SuggestionDisplay`
      Check whether or not the list of suggestions is being shown.
      Overrides:
        `isSuggestionListShowing` in class `SuggestBox.SuggestionDisplay`
      Returns:
        true if the suggestions are visible, false if not

    - #### setAnimationEnabled

          public void setAnimationEnabled(boolean enable)

      Description copied from interface: `HasAnimation`
      Enable or disable animations.
      Specified by:
        `setAnimationEnabled` in interface `HasAnimation`
      Parameters:
        `enable` - true to enable, false to disable

    - #### setPopupStyleName

          public void setPopupStyleName(java.lang.String style)

      Sets the style name of the suggestion popup.
      Parameters:
        `style` - the new primary style name
      See Also:
        `UIObject.setStyleName(String)`

    - #### setPositionRelativeTo

          public void setPositionRelativeTo(UIObject uiObject)

      Sets the UI object where the suggestion display should appear next to.
      Parameters:
        `uiObject` - the uiObject used for positioning, or null to position relative to the suggest box

    - #### setSuggestionListHiddenWhenEmpty

          public void setSuggestionListHiddenWhenEmpty(boolean hideWhenEmpty)

      Set whether or not the suggestion list should be hidden when there are no suggestions to display. Defaults to true.
      Parameters:
        `hideWhenEmpty` - true to hide when empty, false not to

    - #### createPopup

          protected PopupPanel createPopup()

      Create the PopupPanel that will hold the list of suggestions.
      Returns:
        the popup panel

    - #### decorateSuggestionList

          protected Widget decorateSuggestionList(Widget suggestionList)

      Wrap the list of suggestions before adding it to the popup. You can override this method if you want to wrap the suggestion list in a decorator.
      Parameters:
        `suggestionList` - the widget that contains the list of suggestions
      Returns:
        the suggestList, optionally inside of a wrapper

    - #### getCurrentSelection

          protected SuggestOracle.Suggestion getCurrentSelection()

      Description copied from class: `SuggestBox.SuggestionDisplay`
      Get the currently selected `SuggestOracle.Suggestion` in the display.
      Specified by:
        `getCurrentSelection` in class `SuggestBox.SuggestionDisplay`
      Returns:
        the current suggestion, or null if none selected

    - #### getPopupPanel

          protected PopupPanel getPopupPanel()

      Get the `PopupPanel` used to display suggestions.
      Returns:
        the popup panel

    - #### getSuggestionMenu

          protected MenuBar getSuggestionMenu()

      Get the `MenuBar` used to display suggestions.
      Returns:
        the suggestions menu

    - #### moveSelectionDown

          protected void moveSelectionDown()

      Description copied from class: `SuggestBox.SuggestionDisplay`
      Highlight the suggestion directly below the current selection in the list.
      Specified by:
        `moveSelectionDown` in class `SuggestBox.SuggestionDisplay`

    - #### moveSelectionUp

          protected void moveSelectionUp()

      Description copied from class: `SuggestBox.SuggestionDisplay`
      Highlight the suggestion directly above the current selection in the list.
      Specified by:
        `moveSelectionUp` in class `SuggestBox.SuggestionDisplay`

    - #### onEnsureDebugId

          protected void onEnsureDebugId(java.lang.String baseID)

      Affected Elements:
      - -popup = The popup that appears with suggestions.
      - -item# = The suggested item at the specified index.
      Overrides:
        `onEnsureDebugId` in class `SuggestBox.SuggestionDisplay`
      Parameters:
        `baseID` - the baseID of the `SuggestBox`
      See Also:
        `UIObject.onEnsureDebugId(String)`

    - #### showSuggestions

          protected void showSuggestions(SuggestBox suggestBox,
                                         java.util.Collection<? extends SuggestOracle.Suggestion> suggestions,
                                         boolean isDisplayStringHTML,
                                         boolean isAutoSelectEnabled,
                                         SuggestBox.SuggestionCallback callback)

      Description copied from class: `SuggestBox.SuggestionDisplay`
      Update the list of visible suggestions. Use care when using isDisplayStringHtml; it is an easy way to expose script-based security problems.
      Specified by:
        `showSuggestions` in class `SuggestBox.SuggestionDisplay`
      Parameters:
        `suggestBox` - the suggest box where the suggestions originated
        `suggestions` - the suggestions to show
        `isDisplayStringHTML` - should the suggestions be displayed as HTML
        `isAutoSelectEnabled` - if true, the first item should be selected automatically
        `callback` - the callback used when the user makes a suggestion

    - #### isAnimationEnabledImpl

          boolean isAnimationEnabledImpl()

      Description copied from class: `SuggestBox.SuggestionDisplay`
      This is here for legacy reasons. It is intentionally not visible.
      Overrides:
        `isAnimationEnabledImpl` in class `SuggestBox.SuggestionDisplay`

    - #### setAnimationEnabledImpl

          void setAnimationEnabledImpl(boolean enable)

      Description copied from class: `SuggestBox.SuggestionDisplay`
      This is here for legacy reasons. It is intentionally not visible.
      Overrides:
        `setAnimationEnabledImpl` in class `SuggestBox.SuggestionDisplay`
      Parameters:
        `enable` - true to enable animation

    - #### setPopupStyleNameImpl

          void setPopupStyleNameImpl(java.lang.String style)

      Description copied from class: `SuggestBox.SuggestionDisplay`
      This is here for legacy reasons. It is intentionally not visible.
      Overrides:
        `setPopupStyleNameImpl` in class `SuggestBox.SuggestionDisplay`
      Parameters:
        `style` - the style name