### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/Entry.rakumod
### ----------------------------------------------------
### -- Chunk 5 of 5
]
which gets emitted when the user asks for it.

The default bindings for this signal are
Backspace and Shift-Backspace.

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

=item $entry; the object which received the signal


=comment #TS:0:cut-clipboard:
=head3 cut-clipboard

The I<cut-clipboard> signal is a
[keybinding signal][B<Gnome::Gtk3::BindingSignal>]
which gets emitted to cut the selection to the clipboard.

The default bindings for this signal are
Ctrl-x and Shift-Delete.

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

=item $entry; the object which received the signal


=comment #TS:0:copy-clipboard:
=head3 copy-clipboard

The I<copy-clipboard> signal is a
[keybinding signal][B<Gnome::Gtk3::BindingSignal>]
which gets emitted to copy the selection to the clipboard.

The default bindings for this signal are
Ctrl-c and Ctrl-Insert.

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

=item $entry; the object which received the signal


=comment #TS:0:paste-clipboard:
=head3 paste-clipboard

The I<paste-clipboard> signal is a
[keybinding signal][B<Gnome::Gtk3::BindingSignal>]
which gets emitted to paste the contents of the clipboard
into the text view.

The default bindings for this signal are
Ctrl-v and Shift-Insert.

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

=item $entry; the object which received the signal


=comment #TS:0:toggle-overwrite:
=head3 toggle-overwrite

The I<toggle-overwrite> signal is a
[keybinding signal][B<Gnome::Gtk3::BindingSignal>]
which gets emitted to toggle the overwrite mode of the entry.

The default bindings for this signal is Insert.

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

=item $entry; the object which received the signal


=comment #TS:0:icon-press:
=head3 icon-press

The I<icon-press> signal is emitted when an activatable icon
is clicked.

Since: 2.16

  method handler (
    Unknown type GTK_TYPE_ENTRY_ICON_POSITION $icon_pos,
    Unknown type GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE $event,
    Int :$_handler_id,
    Gnome::GObject::Object :_widget($entry),
    *%user-options
  );

=item $entry; The entry on which the signal is emitted

=item $icon_pos; The position of the clicked icon

=item $event; (type B<Gnome::Gdk3::.EventButton>): the button press event


=comment #TS:0:icon-release:
=head3 icon-release

The I<icon-release> signal is emitted on the button release from a
mouse click over an activatable icon.

Since: 2.16

  method handler (
    Str $icon_pos,
    - $event,
    Int :$_handler_id,
    Gnome::GObject::Object :_widget($entry),
    *%user-options
  );

=item $entry; The entry on which the signal is emitted

=item $icon_pos; The position of the clicked icon

=item $event; (type B<Gnome::Gdk3::.EventButton>): the button release event


=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<gtk_label_set_text('my text label')>.

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

=head2 Supported properties

=begin comment
=comment #TP:0:buffer:
=head3 Text Buffer

Text buffer object which actually stores entry text
Widget type: GTK_TYPE_ENTRY_BUFFER


The B<Gnome::GObject::Value> type of property I<buffer> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:cursor-position:
=head3 Cursor Position



The B<Gnome::GObject::Value> type of property I<cursor-position> is C<G_TYPE_INT>.

=comment #TP:0:selection-bound:
=head3 Selection Bound



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

=comment #TP:0:editable:
=head3 Editable

Whether the entry contents can be edited
Default value: True


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

=comment #TP:0:max-length:
=head3 Maximum length



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

=comment #TP:0:visibility:
=head3 Visibility

FALSE displays the \invisible char\ instead of the actual text (password mode)
Default value: True


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

=comment #TP:0:has-frame:
=head3 Has Frame

FALSE removes outside bevel from entry
Default value: True


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

=comment #TP:0:invisible-char:
=head3 Invisible character



The B<Gnome::GObject::Value> type of property I<invisible-char> is C<G_TYPE_UNICHAR>.

=comment #TP:0:activates-default:
=head3 Activates default

Whether to activate the default widget (such as the default button in a dialog when Enter is pressed)
Default value: False


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

=comment #TP:0:width-chars:
=head3 Width in chars



The B<Gnome::GObject::Value> type of property I<width-chars> is C<G_TYPE_INT>.

=comment #TP:0:max-width-chars:
=head3 Maximum width in characters


The desired maximum width of the entry, in characters.
If this property is set to -1, the width will be calculated
automatically.
Since: 3.12

The B<Gnome::GObject::Value> type of property I<max-width-chars> is C<G_TYPE_INT>.

=comment #TP:0:scroll-offset:
=head3 Scroll offset



The B<Gnome::GObject::Value> type of property I<scroll-offset> is C<G_TYPE_INT>.

=comment #TP:0:text:
=head3 Text

The contents of the entry
Default value:


The B<Gnome::GObject::Value> type of property I<text> is C<G_TYPE_STRING>.

=comment #TP:0:xalign:
=head3 X align


The horizontal alignment, from 0 (left) to 1 (right).
Reversed for RTL layouts.
Since: 2.4

The B<Gnome::GObject::Value> type of property I<xalign> is C<G_TYPE_FLOAT>.

=comment #TP:0:truncate-multiline:
=head3 Truncate multiline


When C<1>, pasted multi-line text is truncated to the first line.
Since: 2.10

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

=comment #TP:0:overwrite-mode:
=head3 Overwrite mode


If text is overwritten when typing in the B<Gnome::Gtk3::Entry>.
Since: 2.14

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

=comment #TP:0:text-length:
=head3 Text length


The length of the text in the B<Gnome::Gtk3::Entry>.
Since: 2.14

The B<Gnome::GObject::Value> type of property I<text-length> is C<G_TYPE_UINT>.

=comment #TP:0:invisible-char-set:
=head3 Invisible character set


Whether the invisible char has been set for the B<Gnome::Gtk3::Entry>.
Since: 2.16

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

=comment #TP:0:caps-lock-warning:
=head3 Caps Lock warning


Whether password entries will show a warning when Caps Lock is on.
Note that the warning is shown using a secondary icon, and thus
does not work if you are using the secondary icon position for some
other purpose.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<caps-lock-warning> is C<G_TYPE_BOOLEAN>.

=comment #TP:0:progress-fraction:
=head3 Progress Fraction


The current fraction of the task that's been completed.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<progress-fraction> is C<G_TYPE_DOUBLE>.

=comment #TP:0:progress-pulse-step:
=head3 Progress Pulse Step


The fraction of total entry width to move the progress
bouncing block for each call to C<gtk_entry_progress_pulse()>.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<progress-pulse-step> is C<G_TYPE_DOUBLE>.

=comment #TP:0:placeholder-text:
=head3 Placeholder text


The text that will be displayed in the B<Gnome::Gtk3::Entry> when it is empty
and unfocused.
Since: 3.2

The B<Gnome::GObject::Value> type of property I<placeholder-text> is C<G_TYPE_STRING>.

=begin comment
=comment #TP:0:primary-icon-pixbuf:
=head3 Primary pixbuf


A pixbuf to use as the primary icon for the entry.
Since: 2.16
Widget type: GDK_TYPE_PIXBUF

The B<Gnome::GObject::Value> type of property I<primary-icon-pixbuf> is C<G_TYPE_OBJECT>.

=comment #TP:0:secondary-icon-pixbuf:
=head3 Secondary pixbuf

An pixbuf to use as the secondary icon for the entry.
Since: 2.16
Widget type: GDK_TYPE_PIXBUF

The B<Gnome::GObject::Value> type of property I<secondary-icon-pixbuf> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:primary-icon-name:
=head3 Primary icon name


The icon name to use for the primary icon for the entry.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<primary-icon-name> is C<G_TYPE_STRING>.

=comment #TP:0:secondary-icon-name:
=head3 Secondary icon name


The icon name to use for the secondary icon for the entry.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<secondary-icon-name> is C<G_TYPE_STRING>.

=begin comment

=comment #TP:0:primary-icon-gicon:
=head3 Primary GIcon


The B<GIcon> to use for the primary icon for the entry.
Since: 2.16
Widget type: G_TYPE_ICON

The B<Gnome::GObject::Value> type of property I<primary-icon-gicon> is C<G_TYPE_OBJECT>.

=comment #TP:0:secondary-icon-gicon:
=head3 Secondary GIcon


The B<GIcon> to use for the secondary icon for the entry.
Since: 2.16
Widget type: G_TYPE_ICON

The B<Gnome::GObject::Value> type of property I<secondary-icon-gicon> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:primary-icon-storage-type:
=head3 Primary storage type


The representation which is used for the primary icon of the entry.
Since: 2.16
Widget type: GTK_TYPE_IMAGE_TYPE

The B<Gnome::GObject::Value> type of property I<primary-icon-storage-type> is C<G_TYPE_ENUM>.

=comment #TP:0:secondary-icon-storage-type:
=head3 Secondary storage type


The representation which is used for the secondary icon of the entry.
Since: 2.16
Widget type: GTK_TYPE_IMAGE_TYPE

The B<Gnome::GObject::Value> type of property I<secondary-icon-storage-type> is C<G_TYPE_ENUM>.

=comment #TP:0:primary-icon-activatable:
=head3 Primary icon activatable


Whether the primary icon is activatable.
GTK+ emits the  I<icon-press> and  I<icon-release>
signals only on sensitive, activatable icons.
Sensitive, but non-activatable icons can be used for purely
informational purposes.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<primary-icon-activatable> is C<G_TYPE_BOOLEAN>.

=comment #TP:0:secondary-icon-activatable:
=head3 Secondary icon activatable


Whether the secondary icon is activatable.
GTK+ emits the  I<icon-press> and  I<icon-release>
signals only on sensitive, activatable icons.
Sensitive, but non-activatable icons can be used for purely
informational purposes.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<secondary-icon-activatable> is C<G_TYPE_BOOLEAN>.

=comment #TP:0:primary-icon-sensitive:
=head3 Primary icon sensitive


Whether the primary icon is sensitive.
An insensitive icon appears grayed out. GTK+ does not emit the
 I<icon-press> and  I<icon-release> signals and
does not allow DND from insensitive icons.
An icon should be set insensitive if the action that would trigger
when clicked is currently not available.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<primary-icon-sensitive> is C<G_TYPE_BOOLEAN>.

=comment #TP:0:secondary-icon-sensitive:
=head3 Secondary icon sensitive


Whether the secondary icon is sensitive.
An insensitive icon appears grayed out. GTK+ does not emit the
 I<icon-press> and  I<icon-release> signals and
does not allow DND from insensitive icons.
An icon should be set insensitive if the action that would trigger
when clicked is currently not available.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<secondary-icon-sensitive> is C<G_TYPE_BOOLEAN>.

=comment #TP:0:primary-icon-tooltip-text:
=head3 Primary icon tooltip text


The contents of the tooltip on the primary icon.
Also see C<gtk_entry_set_icon_tooltip_text()>.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<primary-icon-tooltip-text> is C<G_TYPE_STRING>.

=comment #TP:0:secondary-icon-tooltip-text:
=head3 Secondary icon tooltip text


The contents of the tooltip on the secondary icon.
Also see C<gtk_entry_set_icon_tooltip_text()>.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<secondary-icon-tooltip-text> is C<G_TYPE_STRING>.

=comment #TP:0:primary-icon-tooltip-markup:
=head3 Primary icon tooltip markup


The contents of the tooltip on the primary icon, which is marked up
with the [Pango text markup language][PangoMarkupFormat].
Also see C<gtk_entry_set_icon_tooltip_markup()>.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<primary-icon-tooltip-markup> is C<G_TYPE_STRING>.

=comment #TP:0:secondary-icon-tooltip-markup:
=head3 Secondary icon tooltip markup


The contents of the tooltip on the secondary icon, which is marked up
with the [Pango text markup language][PangoMarkupFormat].
Also see C<gtk_entry_set_icon_tooltip_markup()>.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<secondary-icon-tooltip-markup> is C<G_TYPE_STRING>.

=comment #TP:0:im-module:
=head3 IM module


Which IM (input method) module should be used for this entry.
See B<Gnome::Gtk3::IMContext>.
Setting this to a non-C<Any> value overrides the
system-wide IM module setting. See the B<Gnome::Gtk3::Settings>
 I<gtk-im-module> property.
Since: 2.16

The B<Gnome::GObject::Value> type of property I<im-module> is C<G_TYPE_STRING>.

=begin comment
=comment #TP:0:completion:
=head3 Completion

The auxiliary completion object to use with the entry.
Since: 3.2
Widget type: GTK_TYPE_ENTRY_COMPLETION

The B<Gnome::GObject::Value> type of property I<completion> is C<G_TYPE_OBJECT>.
=end comment

=comment #TP:0:input-purpose:
=head3 Purpose


The purpose of this text field.
This property can be used by on-screen keyboards and other input
methods to adjust their behaviour.
Note that setting the purpose to C<GTK_INPUT_PURPOSE_PASSWORD> or
C<GTK_INPUT_PURPOSE_PIN> is independent from setting
 I<visibility>.
Since: 3.6
Widget type: GTK_TYPE_INPUT_PURPOSE

The B<Gnome::GObject::Value> type of property I<input-purpose> is C<G_TYPE_ENUM>.


=comment #TP:0:input-hints:
=head3 hints


Additional hints (beyond  I<input-purpose>) that
allow input methods to fine-tune their behaviour.
Since: 3.6

The B<Gnome::GObject::Value> type of property I<input-hints> is C<G_TYPE_FLAGS>.


=begin comment
=comment #TP:0:attributes:
=head3 Attributes


A list of Pango attributes to apply to the text of the entry.
This is mainly useful to change the size or weight of the text.
Since: 3.6

The B<Gnome::GObject::Value> type of property I<attributes> is C<G_TYPE_BOXED>.
=end comment

=comment #TP:0:populate-all:
=head3 Populate all


If I<populate-all> is C<1>, the  I<populate-popup>
signal is also emitted for touch popups.
Since: 3.8

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

=begin comment
=comment #TP:0:tabs:
=head3 Tabs

The B<Gnome::GObject::Value> type of property I<tabs> is C<G_TYPE_BOXED>.
=end comment
=end pod


