Toc Gallery Index Tree Gtk.Entry_Completion

Hierarchy

Description

This widget provides completion functionality for Gtk.Gentry.Gtk_Entry.

"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 Set_Text_Column), but this can be overridden with a custom match function (see 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 ::match-selected signal 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 Gtk.Entry.Set_Completion.

In addition to regular completion matches, which will be inserted into the entry when they are selected, GtkEntryCompletion also allows to display "actions" in the popup window. Their appearance is similar to menuitems, to differentiate them clearly from completion strings. When an action is selected, the ::action-activated signal is emitted.

Types

  • type Destroy_Notify is access procedure (Data : in out Data_Type);
  • type Gtk_Entry_Completion is access all Gtk_Entry_Completion_Record'Class;
  • type Gtk_Entry_Completion_Match_Func is access function (Completion : access Gtk_Entry_Completion_Record'Class; Key : String; Iter : Gtk.Tree_Model.Gtk_Tree_Iter; User_Data : Data_Type) return Boolean;
  • type Gtk_Entry_Completion_Record is new Glib.Object.GObject_Record with null record;

Subprograms

  • procedure Gtk_New (Completion : out Gtk_Entry_Completion);
    procedure Initialize (Completion : access Gtk_Entry_Completion_Record'Class);
    Creates or initializes a new completion object
  • function Get_Type return Glib.GType;
    Return the internal type used for this object
  • procedure Complete (Completion : access Gtk_Entry_Completion_Record);
    Requests a completion operation, or in other words a refiltering of the current list with completions, using the current key. The completion list view will be updated accordingly.
  • procedure Delete_Action (Completion : access Gtk_Entry_Completion_Record; Index : Gint);
    Deletes the action at index from completion's action list.
  • function Get_Entry (Completion : access Gtk_Entry_Completion_Record) return Gtk.Widget.Gtk_Widget;
    Gets the entry completion has been attached to.
  • procedure Set_Inline_Completion (Completion : access Gtk_Entry_Completion_Record; Inline_Completion : Boolean);
    function Get_Inline_Completion (Completion : access Gtk_Entry_Completion_Record) return Boolean;
    Returns whether the common prefix of the possible completions should be automatically inserted in the entry. This text appears greyed out, and is removed when the user types some text not compatible with the possible completions
  • procedure Set_Minimum_Key_Length (Completion : access Gtk_Entry_Completion_Record; Length : Gint);
    function Get_Minimum_Key_Length (Completion : access Gtk_Entry_Completion_Record) return Gint;
    Requires the length of the search key for completion to be at least length. This is useful for long lists, where completing using a small key takes a lot of time and will come up with meaningless results anyway (ie, a too large dataset). This is the minimal number of characters the user must start typing before any completion is attempted
  • procedure Set_Model (Completion : access Gtk_Entry_Completion_Record; Model : Gtk.Tree_Model.Gtk_Tree_Model);
    function Get_Model (Completion : access Gtk_Entry_Completion_Record) return Gtk.Tree_Model.Gtk_Tree_Model;
    Returns the model the completion is using as data source. Returns null if the model is unset (setting it to null unsets the current model)
  • procedure Set_Popup_Completion (Completion : access Gtk_Entry_Completion_Record; Popup_Completion : Boolean);
    function Get_Popup_Completion (Completion : access Gtk_Entry_Completion_Record) return Boolean;
    Returns whether the completions should be presented in a popup window. This is to be used in addition to, or instead of, Get_Inline_Completion.
  • procedure Set_Popup_Set_Width (Completion : access Gtk_Entry_Completion_Record; Popup_Set_Width : Boolean);
    function Get_Popup_Set_Width (Completion : access Gtk_Entry_Completion_Record) return Boolean;
    Returns whether the completion popup window will be resized to the width of the entry.
  • procedure Set_Popup_Single_Match (Completion : access Gtk_Entry_Completion_Record; Popup_Single_Match : Boolean);
    function Get_Popup_Single_Match (Completion : access Gtk_Entry_Completion_Record) return Boolean;
    Returns whether the completion popup window will appear even if there is only a single match. You may want to set this to False if you are using inline completion.
  • procedure Set_Text_Column (Completion : access Gtk_Entry_Completion_Record; Column : Gint);
    function Get_Text_Column (Completion : access Gtk_Entry_Completion_Record) return Gint;
    Convenience function for setting up the most used case of this code: a completion list with just strings. This function will set up completion to have a list displaying all (and just) strings in the completion list, and to get those strings from column in the model of completion.

    This functions creates and adds a #GtkCellRendererText for the selected column. If you need to set the text column, but don't want the cell renderer, use Set_Property to set the ::text_column property directly.

  • procedure Insert_Action_Markup (Completion : access Gtk_Entry_Completion_Record; Index : Gint; Markup : String);
    Inserts an action in ccompletion's action item list at position index with the given markup. Markup can be used to represent bold text, for instance with "bold text"
  • procedure Insert_Action_Text (Completion : access Gtk_Entry_Completion_Record; Index : Gint; Text : String);
    Inserts an action in completion's action item list at position index with text Text. If you want the action item to have markup, use Insert_Action_Markup.
  • procedure Insert_Prefix (Completion : access Gtk_Entry_Completion_Record);
    Requests a prefix insertion.
  • procedure Set_Match_Func (Completion : access Gtk_Entry_Completion_Record; Func : Gtk_Entry_Completion_Match_Func; Func_Data : Data_Type; Func_Notify : Destroy_Notify);
    Sets the match function for completion to be Func. The match function is used to determine if a row should or should not be in the completion list.

Signals

  • action_activated
    procedure Handler (Completion : access Gtk_Entry_Completion_Record'Class; Index : Gint);
    Gets emitted when an action is activated.
  • insert_prefix
    procedure Handler (Completion : access Gtk_Entry_Completion_Record'Class; Prefix : String);
    Gets emitted when the inline autocompletion is triggered. The default behaviour is to make the entry display the whole prefix and select the newly inserted part. Applications may connect to this signal in order to insert only smaller part of the Prefix into the entry - e.g. the entry used in the #GtkFileChooser inserts only the part of the prefix up to the next '/'. Return value: %TRUE if the signal has been handled
  • match_selected
    procedure Handler (Completion : access Gtk_Entry_Completion_Record'Class; Model : Gtk_Tree_Model; Iter : Gtk_Tree_Iter);
    Gets emitted when a match from the list is selected. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by Iter. Return value: %TRUE if the signal has been handled

Properties

  • Inline_Completion_Property
    Boolean
    Whether the common prefix should be inserted automatically
  • Minimum_Key_Length_Property
    Int
    Minimum length of the search key in order to look up matches
  • Model_Property
    Object
    The model to find matches in
  • Popup_Completion_Property
    Boolean
    Whether the completions should be shown in a popup window
  • Popup_Set_Width_Property
    Boolean
    If TRUE, the popup window will have the same size as the entry
  • Popup_Single_Match_Property
    Boolean
    If TRUE, the popup window will appear for a single match.
  • Text_Column_Property
    Int
    The column of the model containing the strings.

Alphabetical Index