The WSuggestionPopup class is a widget which pops up to assist in editing a text area or line edit through auto-completion. This widget may be associated with one or more WFormWidgets (typically a WLineEdit or a WTextArea).
The popup provides the user with suggestions to enter input. The popup
can be used by one or more text editors, using
popup will show when the user starts editing the edit field, or when the
user opens the suggestions explicitly using a drop-down icon or with the
down key. In the example below, the popup positions itself on top of the
The class is initialized with an
Options struct which configures
how suggestion filtering and result editing is done. Alternatively, you
To style the suggestions, you should style the <span> element inside this widget, and the <span>."sel" element to style the current selection.
You can also limit the maximum height of the popup by using
setMaximumSize(). In this case, scrolling is supported (similar to a
WSuggestionPopup is an MVC class (model-view-controller). By
default a WStringListModel is used. The member
manipulate this model. You can set another model with
setModel(). See the Combo box section for an example.
By default, the popup implements all filtering client-side. To support
large datasets, you may enable server-side filtering of suggestions based
on the input. The server-side filtering may provide a coarse filtering
using a fixed size prefix of the entered text, and complement the
client-side filtering. To enable server-side filtering, use
setFilterLength() and listen to filter notification using the
modelFilter() signal. Whenever a filter event is generated you can
adjust the model's content according to the filter (e.g. using a
Usually, the popup class is initialized with an
which configures how suggestion filtering and result editing is done.
filtering the suggestions (
generateMatcherJS()), and one for
editing the value of the textarea when a suggestion is selected (
You can find several more advanced examples in the Wt distribution
examples/feature/suggestionpopup/. In the
SuggestionPopup.C class you can explore different functions.