### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/EntryCompletion.rakumod
### ----------------------------------------------------
### -- Chunk 2 of 2
 to insert only a smaller part of the I<prefix> into the entry - e.g. the entry used in the B<Gnome::Gtk3::FileChooser> inserts only the part of the prefix up to the next '/'.

Returns: C<True> if the signal has been handled


  method handler (
    Str $prefix,
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($widget),
    *%user-options
    --> Int
  );

=item $widget; the object which received the signal

=item $prefix; the common prefix of all possible completions


=comment -----------------------------------------------------------------------
=comment #TS:0:match-selected:
=head3 match-selected

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 I<iter>.

Note that I<model> is the model that was passed to C<set-model()>.

Returns: C<True> if the signal has been handled

  method handler (
    Unknown type GTK_TYPE_TREE_MODEL $model,
    N-GtkTreeIter #`{ native Gnome::Gtk3::TreeIter } $iter,
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($widget),
    *%user-options
    --> Int
  );

=item $widget; the object which received the signal

=item $model; the B<Gnome::Gtk3::TreeModel> containing the matches

=item $iter; a B<Gnome::Gtk3::TreeIter> positioned at the selected match


=comment -----------------------------------------------------------------------
=comment #TS:0:no-matches:
=head3 no-matches

Gets emitted when the filter model has zero number of rows in completion-complete method. (In other words when GtkEntryCompletion is out of suggestions)


  method handler (
    Int :$_handle_id,
    Gnome::GObject::Object :_widget($widget),
    *%user-options
  );

=item $widget; the object which received the signal


=end pod


#-------------------------------------------------------------------------------
=begin pod
=head1 Properties

An example of using a string type property of a B<Gnome::Gtk3::Label> object. This is just showing how to set/read a property, not that it is the best way to do it. This is because a) The class initialization often provides some options to set some of the properties and b) the classes provide many methods to modify just those properties. In the case below one can use B<new(:label('my text label'))> or B<.set-text('my text label')>.

  my Gnome::Gtk3::Label $label .= new;
  my Gnome::GObject::Value $gv .= new(:init(G_TYPE_STRING));
  $label.get-property( 'label', $gv);
  $gv.set-string('my text label');

=head2 Supported properties

=comment -----------------------------------------------------------------------
=comment #TP:0:cell-area:
=head3 Cell Area: cell-area

The B<Gnome::Gtk3::CellArea> used to layout cell renderers in the treeview column.

If no area is specified when creating the entry completion with C<new-with-area()> a horizontally oriented B<Gnome::Gtk3::CellAreaBox> will be used.

   Widget type: GTK_TYPE_CELL_AREA

The B<Gnome::GObject::Value> type of property I<cell-area> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:1:inline-completion:
=head3 Inline completion: inline-completion

Determines whether the common prefix of the possible completions should be inserted automatically in the entry. Note that this requires text-column to be set, even if you are using a custom match function.

The B<Gnome::GObject::Value> type of property I<inline-completion> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:1:inline-selection:
=head3 Inline selection: inline-selection

Determines whether the possible completions on the popup will appear in the entry as you navigate through them.

The B<Gnome::GObject::Value> type of property I<inline-selection> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:1:minimum-key-length:
=head3 Minimum Key Length: minimum-key-length

The B<Gnome::GObject::Value> type of property I<minimum-key-length> is C<G_TYPE_INT>.

=comment -----------------------------------------------------------------------
=comment #TP:0:model:
=head3 Completion Model: model

The model to find matches in Widget type: GTK-TYPE-TREE-MODEL

The B<Gnome::GObject::Value> type of property I<model> is C<G_TYPE_OBJECT>.

=comment -----------------------------------------------------------------------
=comment #TP:1:popup-completion:
=head3 Popup completion: popup-completion

Determines whether the possible completions should be
shown in a popup window.

The B<Gnome::GObject::Value> type of property I<popup-completion> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:1:popup-set-width:
=head3 Popup set width: popup-set-width

Determines whether the completions popup window will be resized to the width of the entry.

The B<Gnome::GObject::Value> type of property I<popup-set-width> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:1:popup-single-match:
=head3 Popup single match: popup-single-match

Determines whether the completions popup window will shown for a single possible completion. You probably want to set this to C<False> if you are using [inline completion][GtkEntryCompletion--inline-completion].

The B<Gnome::GObject::Value> type of property I<popup-single-match> is C<G_TYPE_BOOLEAN>.

=comment -----------------------------------------------------------------------
=comment #TP:1:text-column:
=head3 Text column: text-column

The column of the model containing the strings. Note that the strings must be UTF-8.

The B<Gnome::GObject::Value> type of property I<text-column> is C<G_TYPE_INT>.
=end pod


