## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Entry_Completion

- Goto spec source

# Description

    package Gtk.Entry_Completion is

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.

# Packages

### Match_Functions (generic)

Full description

### Implements_Buildable (new Glib.Types.Implements)

    package Implements_Buildable is new Glib.Types.Implements
         (Gtk.Buildable.Gtk_Buildable, Gtk_Entry_Completion_Record, Gtk_Entry_Completion);

### Implements_CellLayout (new Glib.Types.Implements)

    package Implements_CellLayout is new Glib.Types.Implements
         (Gtk.Cell_Layout.Gtk_Cell_Layout, Gtk_Entry_Completion_Record, Gtk_Entry_Completion);

# Classes

### Gtk_Entry_Completion_Record

- Goto declaration in source

    type Gtk_Entry_Completion_Record is new GObject_Record with null record;

#### Ancestors:

Glib.Object.GObject_Record

#### Primitive operations:

Complete

- To API doc
- To spec

Delete_Action

- To API doc
- To spec

Get_Completion_Prefix

- To API doc
- To spec

Get_Entry

- To API doc
- To spec

Get_Inline_Completion

- To API doc
- To spec

Get_Inline_Selection

- To API doc
- To spec

Get_Minimum_Key_Length

- To API doc
- To spec

Get_Model

- To API doc
- To spec

Get_Popup_Completion

- To API doc
- To spec

Get_Popup_Set_Width

- To API doc
- To spec

Get_Popup_Single_Match

- To API doc
- To spec

Get_Text_Column

- To API doc
- To spec

Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Insert_Action_Markup

- To API doc
- To spec

Insert_Action_Text

- To API doc
- To spec

Insert_Prefix

- To API doc
- To spec

Set_Inline_Completion

- To API doc
- To spec

Set_Inline_Selection

- To API doc
- To spec

Set_Match_Func

- To API doc
- To spec

Set_Minimum_Key_Length

- To API doc
- To spec

Set_Model

- To API doc
- To spec

Set_Popup_Completion

- To API doc
- To spec

Set_Popup_Set_Width

- To API doc
- To spec

Set_Popup_Single_Match

- To API doc
- To spec

Set_Text_Column

- To API doc
- To spec

# Types

### Gtk_Entry_Completion

- Goto declaration in source

    type Gtk_Entry_Completion is access all Gtk_Entry_Completion_Record'Class;

### C_Gtk_Entry_Completion_Match_Func

- Goto declaration in source

    type C_Gtk_Entry_Completion_Match_Func is access function
         (Completion    : System.Address;
          Key           : Interfaces.C.Strings.chars_ptr;
          Iter          : Gtk.Tree_Model.Gtk_Tree_Iter;
          Data          : System.Address) return Boolean;

# Constants & Global variables

### Inline_Completion_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Inline_Completion_Property : constant Glib.Properties.Property_Boolean;

### Inline_Selection_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Inline_Selection_Property : constant Glib.Properties.Property_Boolean;

### Minimum_Key_Length_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Minimum_Key_Length_Property : constant Glib.Properties.Property_Int;

### Model_Property

- Goto declaration in source

(Glib.Properties.Property_Object)

    Model_Property : constant Glib.Properties.Property_Object;

### Popup_Completion_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Popup_Completion_Property : constant Glib.Properties.Property_Boolean;

### Popup_Set_Width_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Popup_Set_Width_Property : constant Glib.Properties.Property_Boolean;

### Popup_Single_Match_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Popup_Single_Match_Property : constant Glib.Properties.Property_Boolean;

### Text_Column_Property

- Goto declaration in source

(Glib.Properties.Property_Int)

    Text_Column_Property : constant Glib.Properties.Property_Int;

### Signal_Action_Activated

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Action_Activated : constant Glib.Signal_Name := "action-activated";

### Signal_Cursor_On_Match

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Cursor_On_Match : constant Glib.Signal_Name := "cursor-on-match";

### Signal_Insert_Prefix

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Insert_Prefix : constant Glib.Signal_Name := "insert-prefix";

### Signal_Match_Selected

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Match_Selected : constant Glib.Signal_Name := "match-selected";

# Subprograms & Entries

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Completion: out Gtk_Entry_Completion);

### Initialize

- Goto spec in source

    procedure Initialize (Completion: access Gtk_Entry_Completion_Record'Class);

Creates a new Gtk.Entry_Completion.Gtk_Entry_Completion object. Since: gtk+ 2.4

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Glib.GType;

### Complete

- Goto spec in source

    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. Since: gtk+ 2.4

### Delete_Action

- Goto spec in source

    procedure Delete_Action (Completion: access Gtk_Entry_Completion_Record;Index: Gint);

Deletes the action at Index_ from Completion's action list. Since: gtk+ 2.4 "index_": The index of the item to Delete.

### Get_Completion_Prefix

- Goto spec in source

    function Get_Completion_Prefix (Completion: access Gtk_Entry_Completion_Record) return UTF8_String;

Get the original text entered by the user that triggered the completion or null if there's no completion ongoing. Since: gtk+ 2.12

### Get_Entry

- Goto spec in source

    function Get_Entry (Completion: access Gtk_Entry_Completion_Record) return Gtk.Widget.Gtk_Widget;

Gets the entry Completion has been attached to. Since: gtk+ 2.4

### Get_Inline_Completion

- Goto spec in source

    function Get_Inline_Completion (Completion: access Gtk_Entry_Completion_Record) return Boolean;

### Set_Inline_Completion

- Goto spec in source

    procedure Set_Inline_Completion (Completion: access Gtk_Entry_Completion_Record;Inline_Completion: Boolean);

Sets whether the common prefix of the possible completions should be automatically inserted in the entry. Since: gtk+ 2.6 "inline_completion": True to do inline completion

### Get_Inline_Selection

- Goto spec in source

    function Get_Inline_Selection (Completion: access Gtk_Entry_Completion_Record) return Boolean;

### Set_Inline_Selection

- Goto spec in source

    procedure Set_Inline_Selection (Completion: access Gtk_Entry_Completion_Record;Inline_Selection: Boolean);

Sets whether it is possible to cycle through the possible completions inside the entry. Since: gtk+ 2.12 "inline_selection": True to do inline selection

### Get_Minimum_Key_Length

- Goto spec in source

    function Get_Minimum_Key_Length (Completion: access Gtk_Entry_Completion_Record) return Gint;

### Set_Minimum_Key_Length

- Goto spec in source

    procedure Set_Minimum_Key_Length (Completion: access Gtk_Entry_Completion_Record;Length: 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). Since: gtk+ 2.4 "length": The minimum length of the key in order to start completing.

### Get_Model

- Goto spec in source

    function Get_Model (Completion: access Gtk_Entry_Completion_Record) return Gtk.Tree_Model.Gtk_Tree_Model;

### Set_Model

- Goto spec in source

    procedure Set_Model (Completion: access Gtk_Entry_Completion_Record;Model: access Gtk.Tree_Model.Gtk_Tree_Model_Record'Class);

Sets the model for a Gtk.Entry_Completion.Gtk_Entry_Completion. If Completion already has a model set, it will remove it before setting the new model. If model is null, then it will unset the model. Since: gtk+ 2.4 "model": The Gtk.Tree_Model.Gtk_Tree_Model.

### Get_Popup_Completion

- Goto spec in source

    function Get_Popup_Completion (Completion: access Gtk_Entry_Completion_Record) return Boolean;

### Set_Popup_Completion

- Goto spec in source

    procedure Set_Popup_Completion (Completion: access Gtk_Entry_Completion_Record;Popup_Completion: Boolean);

Sets whether the completions should be presented in a popup window. Since: gtk+ 2.6 "popup_completion": True to do popup completion

### Get_Popup_Set_Width

- Goto spec in source

    function Get_Popup_Set_Width (Completion: access Gtk_Entry_Completion_Record) return Boolean;

### Set_Popup_Set_Width

- Goto spec in source

    procedure Set_Popup_Set_Width (Completion: access Gtk_Entry_Completion_Record;Popup_Set_Width: Boolean);

Sets whether the completion popup window will be resized to be the same width as the entry. Since: gtk+ 2.8 "popup_set_width": True to make the width of the popup the same as the entry

### Get_Popup_Single_Match

- Goto spec in source

    function Get_Popup_Single_Match (Completion: access Gtk_Entry_Completion_Record) return Boolean;

### Set_Popup_Single_Match

- Goto spec in source

    procedure Set_Popup_Single_Match (Completion: access Gtk_Entry_Completion_Record;Popup_Single_Match: Boolean);

Sets 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 <link linkend="GtkEntryCompletion--inline-completion">inline completion</link>. Since: gtk+ 2.8 "popup_single_match": True if the popup should appear even for a single match

### Get_Text_Column

- Goto spec in source

    function Get_Text_Column (Completion: access Gtk_Entry_Completion_Record) return Gint;

### Set_Text_Column

- Goto spec in source

    procedure Set_Text_Column (Completion: access Gtk_Entry_Completion_Record;Column: Gint);

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 Gtk.Cellrenderertext.Gtk_Cellrenderertext for the selected column. If you need to set the text column, but don't want the cell renderer, use g_object_set to set the ::text_column property directly. Since: gtk+ 2.4 "column": The column in the model of Completion to get strings from.

### Insert_Action_Markup

- Goto spec in source

    procedure Insert_Action_Markup (Completion: access Gtk_Entry_Completion_Record;Index: Gint;Markup: UTF8_String);

Inserts an action in Completion's action item list at position Index_ with markup Markup. Since: gtk+ 2.4 "index_": The index of the item to insert. "markup": Markup of the item to insert.

### Insert_Action_Text

- Goto spec in source

    procedure Insert_Action_Text (Completion: access Gtk_Entry_Completion_Record;Index: Gint;Text: UTF8_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 Gtk.Entry_Completion.Insert_Action_Markup. Since: gtk+ 2.4 "index_": The index of the item to insert. "text": Text of the item to insert.

### Insert_Prefix

- Goto spec in source

    procedure Insert_Prefix (Completion: access Gtk_Entry_Completion_Record);

Requests a prefix insertion. Since: gtk+ 2.6

### Set_Match_Func

- Goto spec in source

    procedure Set_Match_Func (Completion: access Gtk_Entry_Completion_Record;Func: C_Gtk_Entry_Completion_Match_Func;Func_Data: System.Address;Func_Notify: Glib.G_Destroy_Notify_Address);

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. Since: gtk+ 2.4 "func": The C_Gtk_Entry_Completion_Match_Func to use. "func_data": The user data for Func. "func_notify": Destroy notifier for Func_Data.

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Entry_Completion_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Buildable.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Buildable.Gtk_Buildable) return Gtk_Entry_Completion renames Implements_Buildable.To_Object;

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Entry_Completion_Record'Class) return Gtk.Cell_Layout.Gtk_Cell_Layout renames Implements_CellLayout.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Cell_Layout.Gtk_Cell_Layout) return Gtk_Entry_Completion renames Implements_CellLayout.To_Object;