`GtkEntryCompletion` is an auxiliary object to provide completion functionality for `GtkEntry`.
It implements the [iface@Gtk.CellLayout] interface, to allow the user to add extra cells to the `GtkTreeView` with completion matches.
“Completion functionality” means that when the user modifies the text in the entry, `GtkEntryCompletion` checks which rows in the model
match the current content of the entry, and displays a list of matches. By default, the matching is done by comparing the entry text
case-insensitively against the text column of the model (see [method@Gtk.EntryCompletion.set_text_column]), but this can be overridden with a
custom match function (see [method@Gtk.EntryCompletion.set_match_func]).
When the user selects a completion, the content of the entry is updated. By default, the content of the entry is replaced by the text column of
the model, but this can be overridden by connecting to the [signal@Gtk.EntryCompletion:
and updating the entry in the signal handler. Note that you should return true from the signal handler to
suppress the default behaviour.
To add completion functionality to an entry, use [method@Gtk.Entry.set_completion].
`GtkEntryCompletion` uses a [class@Gtk.TreeModelFilter] model to represent the subset of the entire model that is currently matching. While the
`GtkEntryCompletion` signals [signal@Gtk.EntryCompletion:
GtkEntryCompletion:match-selected] and [signal@Gtk.EntryCompletion:
GtkEntryCompletion:cursor-on-match] take the original model and an iter pointing to that model as arguments, other callbacks and
signals (such as `GtkCellLayoutDataFunc` or [signal@Gtk.CellArea:
GtkEntryCompletion:apply-attributess)] will generally take the
filter model as argument. As long as you are only calling [method@Gtk.TreeModel.get], this will make no difference to you. If for some reason,
you need the original model, use [method@Gtk.TreeModelFilter.get_model]. Don’t forget to use [
method@Gtk.TreeModelFilter.convert_iter_to_child_iter] to obtain a matching iter.
- public void complete ()
Requests a completion operation, or in other words a refiltering of the
current list with completions, using the current key.
- public string? compute_prefix (string key)
Computes the common prefix that is shared by all rows in
this that start with
- public unowned string? get_completion_prefix ()
Get the original text entered by the user that triggered the completion or
null if there’s no completion ongoing.
- public unowned Widget get_entry ()
Gets the entry this has been attached to.
- public bool get_inline_completion ()
Returns whether the common prefix of the possible completions should be
automatically inserted in the entry.
- public bool get_inline_selection ()
Returns true if inline-selection mode is
- public int get_minimum_key_length ()
Returns the minimum key length as set for this
- public unowned TreeModel? get_model ()
Returns the model the `GtkEntryCompletion` is using as data source.
- public bool get_popup_completion ()
Returns whether the completions should be presented in a popup window.
- public bool get_popup_set_width ()
Returns whether the completion popup window will be resized to the width of
- public bool get_popup_single_match ()
Returns whether the completion popup window will appear even if there is
only a single match.
- public int get_text_column ()
Returns the column in the model of this to
get strings from.
- public void request_prefix_insertion ()
Requests a prefix insertion.
- public void set_inline_completion (bool inline_completion)
Sets whether the common prefix of the possible completions should be
automatically inserted in the entry.
- public void set_inline_selection (bool inline_selection)
Sets whether it is possible to cycle through the possible completions inside
- public void set_match_func (owned EntryCompletionMatchFunc func)
Sets the match function for this to be
- public void set_minimum_key_length (int length)
Requires the length of the search key for this
to be at least
- public void set_model (TreeModel? model)
Sets the model for a `GtkEntryCompletion`.
- public void set_popup_completion (bool popup_completion)
Sets whether the completions should be presented in a popup window.
- public void set_popup_set_width (bool popup_set_width)
Sets whether the completion popup window will be resized to be the same
width as the entry.
- public void set_popup_single_match (bool popup_single_match)
Sets whether the completion popup window will appear even if there is only a
- public void set_text_column (int column)
Convenience function for setting up the most used case of this code: a
completion list with just strings.