### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/Entry.rakumod
### ----------------------------------------------------
### -- Chunk 3 of 5
Gtk3::Toolbar>.
The signal handler should not make assumptions about the
type of I<widget>.

  method handler (
    N-GObject #`{ native widget } $widget,
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $widget; the container that is being populated
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object which registered the signal.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=comment -----------------------------------------------------------------------
=comment #TS:0:preedit-changed:
=head2 preedit-changed

If an input method is used, the typed text will not immediately
be committed to the buffer. So if you are interested in the text,
connect to this signal.

  method handler (
    Str $preedit,
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $preedit; the current preedit string
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object which registered the signal.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

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

The I<toggle-overwrite> signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to toggle the overwrite mode of the entry.

The default bindings for this signal is Insert.

  method handler (
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object which registered the signal.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=end pod

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

=comment -----------------------------------------------------------------------
=comment #TP:0:activates-default:
=head2 activates-default

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

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:attributes:
=head2 attributes

A list of style attributes to apply to the text of the label

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOXED
=item The type of this G_TYPE_BOXED object is PANGO_TYPE_ATTR_LIST
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:buffer:
=head2 buffer

Text buffer object which actually stores entry text

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is GTK_TYPE_ENTRY_BUFFER
=item Parameter is readable and writable.
=item Parameter is set on construction of object.


=comment -----------------------------------------------------------------------
=comment #TP:0:caps-lock-warning:
=head2 caps-lock-warning

Whether password entries will show a warning when Caps Lock is on

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:completion:
=head2 completion

The auxiliary completion object

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is GTK_TYPE_ENTRY_COMPLETION
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:cursor-position:
=head2 cursor-position

The current position of the insertion cursor in chars

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable.
=item Minimum value is 0.
=item Maximum value is GTK_ENTRY_BUFFER_MAX_SIZE.
=item Default value is 0.


=comment -----------------------------------------------------------------------
=comment #TP:0:editable:
=head2 editable

Whether the entry contents can be edited

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:enable-emoji-completion:
=head2 enable-emoji-completion

Whether to suggest Emoji replacements

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:has-frame:
=head2 has-frame

FALSE removes outside bevel from entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:im-module:
=head2 im-module

Which IM module should be used

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


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

Hints for the text field behaviour

=item B<Gnome::GObject::Value> type of this property is G_TYPE_FLAGS
=item The type of this G_TYPE_FLAGS object is GTK_TYPE_INPUT_HINTS
=item Parameter is readable and writable.
=item Default value is GTK_INPUT_HINT_NONE.


=comment -----------------------------------------------------------------------
=comment #TP:0:input-purpose:
=head2 input-purpose

Purpose of the text field

=item B<Gnome::GObject::Value> type of this property is G_TYPE_ENUM
=item The type of this G_TYPE_ENUM object is GTK_TYPE_INPUT_PURPOSE
=item Parameter is readable and writable.
=item Default value is GTK_INPUT_PURPOSE_FREE_FORM.


=comment -----------------------------------------------------------------------
=comment #TP:0:invisible-char:
=head2 invisible-char

The character to use when masking entry contents (in \password mode\)

=item B<Gnome::GObject::Value> type of this property is G_TYPE_UNICHAR


=comment -----------------------------------------------------------------------
=comment #TP:0:invisible-char-set:
=head2 invisible-char-set

Whether the invisible character has been set

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:max-length:
=head2 max-length

Maximum number of characters for this entry. Zero if no maximum

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is 0.
=item Maximum value is GTK_ENTRY_BUFFER_MAX_SIZE.
=item Default value is 0.


=comment -----------------------------------------------------------------------
=comment #TP:0:max-width-chars:
=head2 max-width-chars

The desired maximum width of the entry, in characters

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:0:overwrite-mode:
=head2 overwrite-mode

Whether new text overwrites existing text

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:placeholder-text:
=head2 placeholder-text

Show text in the entry when it's empty and unfocused

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:populate-all:
=head2 populate-all

Whether to emit I<populate-popup> for touch popups

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-activatable:
=head2 primary-icon-activatable

Whether the primary icon is activatable

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-gicon:
=head2 primary-icon-gicon

GIcon for primary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is G_TYPE_ICON
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-name:
=head2 primary-icon-name

Icon name for primary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-pixbuf:
=head2 primary-icon-pixbuf

Primary pixbuf for the entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is GDK_TYPE_PIXBUF
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-sensitive:
=head2 primary-icon-sensitive

Whether the primary icon is sensitive

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-storage-type:
=head2 primary-icon-storage-type

The representation being used for primary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_ENUM
=item The type of this G_TYPE_ENUM object is GTK_TYPE_IMAGE_TYPE
=item Parameter is readable.
=item Default value is GTK_IMAGE_EMPTY.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-tooltip-markup:
=head2 primary-icon-tooltip-markup

The contents of the tooltip on the primary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:primary-icon-tooltip-text:
=head2 primary-icon-tooltip-text

The contents of the tooltip on the primary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:progress-fraction:
=head2 progress-fraction

The current fraction of the task that's been completed

=item B<Gnome::GObject::Value> type of this property is G_TYPE_DOUBLE
=item Parameter is readable and writable.
=item Minimum value is 0.0.
=item Maximum value is 1.0.
=item Default value is 0.0.


=comment -----------------------------------------------------------------------
=comment #TP:0:progress-pulse-step:
=head2 progress-pulse-step

The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse()

=item B<Gnome::GObject::Value> type of this property is G_TYPE_DOUBLE
=item Parameter is readable and writable.
=item Minimum value is 0.0.
=item Maximum value is 1.0.
=item Default value is 0.1.


=comment -----------------------------------------------------------------------
=comment #TP:0:scroll-offset:
=head2 scroll-offset

Number of pixels of the entry scrolled off the screen to the left

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable.
=item Minimum value is 0.
=item Maximum value is G_MAXINT.
=item Default value is 0.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-activatable:
=head2 secondary-icon-activatable

Whether the secondary icon is activatable

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-gicon:
=head2 secondary-icon-gicon

GIcon for secondary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is G_TYPE_ICON
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-name:
=head2 secondary-icon-name

Icon name for secondary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-pixbuf:
=head2 secondary-icon-pixbuf

Secondary pixbuf for the entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is GDK_TYPE_PIXBUF
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-sensitive:
=head2 secondary-icon-sensitive

Whether the secondary icon is sensitive

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-storage-type:
=head2 secondary-icon-storage-type

The representation being used for secondary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_ENUM
=item The type of this G_TYPE_ENUM object is GTK_TYPE_IMAGE_TYPE
=item Parameter is readable.
=item Default value is GTK_IMAGE_EMPTY.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-tooltip-markup:
=head2 secondary-icon-tooltip-markup

The contents of the tooltip on the secondary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:secondary-icon-tooltip-text:
=head2 secondary-icon-tooltip-text

The contents of the tooltip on the secondary icon

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:0:selection-bound:
=head2 selection-bound

The position of the opposite end of the selection from the cursor in chars

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable.
=item Minimum value is 0.
=item Maximum value is GTK_ENTRY_BUFFER_MAX_SIZE.
=item Default value is 0.


=comment -----------------------------------------------------------------------
=comment #TP:0:show-emoji-icon:
=head2 show-emoji-icon

Whether to show an icon for Emoji

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:tabs:
=head2 tabs

A list of tabstop locations to apply to the text of the entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOXED
=item The type of this G_TYPE_BOXED object is PANGO_TYPE_TAB_ARRAY
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:text:
=head2 text

The contents of the entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:0:text-length:
=head2 text-length

Length of the text currently in the entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_UINT
=item Parameter is readable.
=item Minimum value is 0.
=item Maximum value is G_MAXUINT16.
=item Default value is 0.


=comment -----------------------------------------------------------------------
=comment #TP:0:truncate-multiline:
=head2 truncate-multiline

Whether to truncate multiline pastes to one line.

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:0:visibility:
=head2 visibility

FALSE displays the \invisible char\ instead of the actual text (password mode)

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:0:width-chars:
=head2 width-chars

Number of characters to leave space for in the entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:0:xalign:
=head2 xalign

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

=item B<Gnome::GObject::Value> type of this property is G_TYPE_FLOAT
=item Parameter is readable and writable.
=item Minimum value is 0.0.
=item Maximum value is 1.0.
=item Default value is 0.0.

=end pod





























=finish
#-------------------------------------------------------------------------------
#TM:2:_gtk_entry_new:
#`{{
=begin pod
=head2 [gtk_] entry_new

Creates a new entry.

Returns: a new B<Gnome::Gtk3::Entry>.

  method gtk_entry_new ( --> N-GObject  )


=end pod
}}

sub _gtk_entry_new (  )
  returns N-GObject
  is native(&gtk-lib)
  is symbol('gtk_entry_new')
  { * }

#`{{
#-------------------------------------------------------------------------------
#TM:0:gtk_entry_new_with_buffer:
=begin pod
=head2 [[gtk_] entry_] new_with_buffer

Creates a new entry with the specified text buffer.

Returns: a new B<Gnome::Gtk3::Entry>

Since: 2.18

  method gtk_entry_new_with_buffer ( N-GObject $buffer --> N-GObject  )

=item N-GObject $buffer; The buffer to use for the new B<Gnome::Gtk3::Entry>.

=end pod

sub gtk_entry_new_with_buffer ( N-GObject $buffer )
  returns N-GObject
  is native(&gtk-lib)
  { * }
}}

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_buffer:
=begin pod
=head2 [[gtk_] entry_] get_buffer

Get the B<Gnome::Gtk3::EntryBuffer> object which holds the text for
this widget.

Since: 2.18

Returns: (transfer none): A B<Gnome::Gtk3::EntryBuffer> object.

  method gtk_entry_get_buffer ( --> N-GObject  )


=end pod

sub gtk_entry_get_buffer ( N-GObject $entry )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_buffer:
=begin pod
=head2 [[gtk_] entry_] set_buffer

Set the B<Gnome::Gtk3::EntryBuffer> object which holds the text for
this widget.

Since: 2.18

  method gtk_entry_set_buffer ( N-GObject $buffer )

=item N-GObject $buffer; a B<Gnome::Gtk3::EntryBuffer>

=end pod

sub gtk_entry_set_buffer ( N-GObject $entry, N-GObject $buffer )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_text_area:
=begin pod
=head2 [[gtk_] entry_] get_text_area

Gets the area where the entry’s text is drawn. This function is
useful when drawing something to the entry in a draw callback.

If the entry is not realized, I<text_area> is filled with zeros.

See also C<gtk_entry_get_icon_area()>.

Since: 3.0

  method gtk_entry_get_text_area ( N-GObject $text_area )

=item N-GObject $text_area; (out): Return location for the text area.

=end pod

sub gtk_entry_get_text_area ( N-GObject $entry, N-GObject $text_area )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_visibility:
=begin pod
=head2 [[gtk_] entry_] set_visibility

Sets whether the contents of the entry are visible or not.
When visibility is set to C<0>, characters are displayed
as the invisible char, and will also appear that way when
the text in the entry widget is copied elsewhere.

By default, GTK+ picks the best invisible character available
in the current font, but it can be changed with
C<gtk_entry_set_invisible_char()>.

Note that you probably want to set  I<input-purpose>
to C<GTK_INPUT_PURPOSE_PASSWORD> or C<GTK_INPUT_PURPOSE_PIN> to
inform input methods about the purpose of this entry,
in addition to setting visibility to C<0>.

  method gtk_entry_set_visibility ( Int $visible )

=item Int $visible; C<1> if the contents of the entry are displayed as plaintext

=end pod

sub gtk_entry_set_visibility ( N-GObject $entry, int32 $visible )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:1:gtk_entry_get_visibility:
=begin pod
=head2 [[gtk_] entry_] get_visibility

Retrieves whether the text in I<entry> is visible. See
C<gtk_entry_set_visibility()>.

Returns: C<1> if the text is currently visible

  method gtk_entry_get_visibility ( --> Int  )


=end pod

sub gtk_entry_get_visibility ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_invisible_char:
=begin pod
=head2 [[gtk_] entry_] set_invisible_char

Sets the character to use in place of the actual text when
C<gtk_entry_set_visibility()> has been called to set text visibility
to C<0>. i.e. this is the character used in “password mode” to
show the user how many characters have been typed. By default, GTK+
picks the best invisible char available in the current font. If you
set the invisible char to 0, then the user will get no feedback
at all; there will be no text on the screen as they type.

  method gtk_entry_set_invisible_char ( gunichar $ch )

=item UInt $ch; a Unicode character. This is a 4 byte UCS representation of

=end pod

sub gtk_entry_set_invisible_char ( N-GObject $entry, uint32 $ch )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
# from Rosetta Code: https://rosettacode.org/wiki/Host_introspection#Perl_6
sub _big_endian ( --> Bool ) {
  my $bytes = nativecast( CArray[uint8], CArray[uint16].new(1));
  ?$bytes[0]
}

#-------------------------------------------------------------------------------
#TM:1:gtk_entry_get_invisible_char:
=begin pod
=head2 [[gtk_] entry_] get_invisible_char

Retrieves the character displayed in place of the real characters
for entries with visibility set to false. See C<gtk_entry_set_invisible_char()>.

Returns: the current invisible char, or 0, if the entry does not
show invisible text at all.

  method gtk_entry_get_invisible_char ( --> UInt  )


=end pod

sub gtk_entry_get_invisible_char ( N-GObject $entry )
  returns uint32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_unset_invisible_char:
=begin pod
=head2 [[gtk_] entry_] unset_invisible_char

Unsets the invisible char previously set with
C<gtk_entry_set_invisible_char()>. So that the
default invisible char is used again.

Since: 2.16

  method gtk_entry_unset_invisible_char ( )


=end pod

sub gtk_entry_unset_invisible_char ( N-GObject $entry )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_has_frame:
=begin pod
=head2 [[gtk_] entry_] set_has_frame

Sets whether the entry has a beveled frame around it.

  method gtk_entry_set_has_frame ( Int $setting )

=item Int $setting; new value

=end pod

sub gtk_entry_set_has_frame ( N-GObject $entry, int32 $setting )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_has_frame:
=begin pod
=head2 [[gtk_] entry_] get_has_frame

Gets the value set by C<gtk_entry_set_has_frame()>.

Returns: whether the entry has a beveled frame

  method gtk_entry_get_has_frame ( --> Int  )


=end pod

sub gtk_entry_get_has_frame ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_overwrite_mode:
=begin pod
=head2 [[gtk_] entry_] set_overwrite_mode

Sets whether the text is overwritten when typing in the B<Gnome::Gtk3::Entry>.

Since: 2.14

  method gtk_entry_set_overwrite_mode ( Int $overwrite )

=item Int $overwrite; new value

=end pod

sub gtk_entry_set_overwrite_mode ( N-GObject $entry, int32 $overwrite )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_overwrite_mode:
=begin pod
=head2 [[gtk_] entry_] get_overwrite_mode

Gets the value set by C<gtk_entry_set_overwrite_mode()>.

Returns: whether the text is overwritten when typing.

Since: 2.14

  method gtk_entry_get_overwrite_mode ( --> Int  )


=end pod

sub gtk_entry_get_overwrite_mode ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_max_length:
=begin pod
=head2 [[gtk_] entry_] set_max_length

Sets the maximum allowed length of the contents of the widget. If
the current contents are longer than the given length, then they
will be truncated to fit.

This is equivalent to:

|[<!-- language="C" -->
B<Gnome::Gtk3::EntryBuffer> *buffer;
buffer = gtk_entry_get_buffer (entry);
gtk_entry_buffer_set_max_length (buffer, max);
]|

  method gtk_entry_set_max_length ( Int $max )

=item Int $max; the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536.

=end pod

sub gtk_entry_set_max_length ( N-GObject $entry, int32 $max )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_max_length:
=begin pod
=head2 [[gtk_] entry_] get_max_length

Retrieves the maximum allowed length of the text in
I<entry>. See C<gtk_entry_set_max_length()>.

This is equivalent to:

|[<!-- language="C" -->
B<Gnome::Gtk3::EntryBuffer> *buffer;
buffer = gtk_entry_get_buffer (entry);
gtk_entry_buffer_get_max_length (buffer);
]|

Returns: the maximum allowed number of characters
in B<Gnome::Gtk3::Entry>, or 0 if there is no maximum.

  method gtk_entry_get_max_length ( --> Int  )


=end pod

sub gtk_entry_get_max_length ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:1:gtk_entry_get_text_length:
=begin pod
=head2 [[gtk_] entry_] get_text_length

Retrieves the current length of the text in
I<entry>.

This is equivalent to:

|[<!-- language="C" -->
B<Gnome::Gtk3::EntryBuffer> *buffer;
buffer = gtk_entry_get_buffer (entry);
gtk_entry_buffer_get_length (buffer);
]|

Returns: the current number of characters
in B<Gnome::Gtk3::Entry>, or 0 if there are none.

Since: 2.14

  method gtk_entry_get_text_length ( --> UInt  )


=end pod

sub gtk_entry_get_text_length ( N-GObject $entry )
  returns uint16
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_activates_default:
=begin pod
=head2 [[gtk_] entry_] set_activates_default

If I<setting> is C<1>, pressing Enter in the I<entry> will activate the default
widget for the window containing the entry. This usually means that
the dialog box containing the entry will be closed, since the default
widget is usually one of the dialog buttons.

(For experts: if I<setting> is C<1>, the entry calls
C<gtk_window_activate_default()> on the window containing the entry, in
the default handler for the  I<activate> signal.)

  method gtk_entry_set_activates_default ( Int $setting )

=item Int $setting; C<1> to activate window’s default widget on Enter keypress

=end pod

sub gtk_entry_set_activates_default ( N-GObject $entry, int32 $setting )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_activates_default:
=begin pod
=head2 [[gtk_] entry_] get_activates_default

Retrieves the value set by C<gtk_entry_set_activates_default()>.

Returns: C<1> if the entry will activate the default widget

  method gtk_entry_get_activates_default ( --> Int  )


=end pod

sub gtk_entry_get_activates_default ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_width_chars:
=begin pod
=head2 [[gtk_] entry_] set_width_chars

Changes the size request of the entry to be about the right size
for I<n_chars> characters. Note that it changes the size
request, the size can still be affected by
how you pack the widget into containers. If I<n_chars> is -1, the
size reverts to the default entry size.

  method gtk_entry_set_width_chars ( Int $n_chars )

=item Int $n_chars; width in chars

=end pod

sub gtk_entry_set_width_chars ( N-GObject $entry, int32 $n_chars )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_width_chars:
=begin pod
=head2 [[gtk_] entry_] get_width_chars

Gets the value set by C<gtk_entry_set_width_chars()>.

Returns: number of chars to request space for, or negative if unset

  method gtk_entry_get_width_chars ( --> Int  )


=end pod

sub gtk_entry_get_width_chars ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_max_width_chars:
=begin pod
=head2 [[gtk_] entry_] set_max_width_chars

Sets the desired maximum width in characters of I<entry>.

Since: 3.12

  method gtk_entry_set_max_width_chars ( Int $n_chars )

=item Int $n_chars; the new desired maximum width, in characters

=end pod

sub gtk_entry_set_max_width_chars ( N-GObject $entry, int32 $n_chars )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_max_width_chars:
=begin pod
=head2 [[gtk_] entry_] get_max_width_chars

Retrieves the desired maximum width of I<entry>, in characters.
See C<gtk_entry_set_max_width_chars()>.

Returns: the maximum width of the entry, in characters

Since: 3.12

  method gtk_entry_get_max_width_chars ( --> Int  )


=end pod

sub gtk_entry_get_max_width_chars ( N-GObject $entry )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:1:gtk_entry_set_text:
=begin pod
=head2 [[gtk_] entry_] set_text

Sets the text in the widget to the given
value, replacing the current contents.

See C<gtk_entry_buffer_set_text()>.

  method gtk_entry_set_text ( Str $text )

=item Str $text; the new text

=end pod

sub gtk_entry_set_text ( N-GObject $entry, Str $text )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:1:gtk_entry_get_text:
=begin pod
=head2 [[gtk_] entry_] get_text

Retrieves the contents of the entry widget.
See also C<gtk_editable_get_chars()>.

This is equivalent to:

|[<!-- language="C" -->
B<Gnome::Gtk3::EntryBuffer> *buffer;
buffer = gtk_entry_get_buffer (entry);
gtk_entry_buffer_get_text (buffer);
]|

Returns: a pointer to the contents of the widget as a
string. This string points to internally allocated
storage in the widget and must not be freed, modified or
stored.

  method gtk_entry_get_text ( --> Str  )


=end pod

sub gtk_entry_get_text ( N-GObject $entry )
  returns Str
  is native(&gtk-lib)
  { * }

#`{{
#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_layout:
=begin pod
=head2 [[gtk_] entry_] get_layout

Gets the B<PangoLayout> used to display the entry.
The layout is useful to e.g. convert text positions to
pixel positions, in combination with C<gtk_entry_get_layout_offsets()>.
The returned layout is owned by the entry and must not be
modified or freed by the caller.

Keep in mind that the layout text may contain a preedit string, so
C<gtk_entry_layout_index_to_text_index()> and
C<gtk_entry_text_index_to_layout_index()> are needed to convert byte
indices in the layout to byte indices in the entry contents.

Returns: (transfer none): the B<PangoLayout> for this entry

  method gtk_entry_get_layout ( --> PangoLayout  )


=end pod

sub gtk_entry_get_layout ( N-GObject $entry )
  returns PangoLayout
  is native(&gtk-lib)
  { * }
}}
#`{{
#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_layout_offsets:
=begin pod
=head2 [[gtk_] entry_] get_layout_offsets

Obtains the position of the B<PangoLayout> used to render text
in the entry, in widget coordinates. Useful if you want to line
up the text in an entry with some other text, e.g. when using the
entry to implement editable cells in a sheet widget.

Also useful to convert mouse events into coordinates inside the
B<PangoLayout>, e.g. to take some action if some part of the entry text
is clicked.

Note that as the user scrolls around in the entry the offsets will
change; you’ll need to connect to the “notify::scroll-offset”
signal to track this. Remember when using the B<PangoLayout>
functions you need to convert to and from pixels using
C<PANGO_PIXELS()> or B<PANGO_SCALE>.

Keep in mind that the layout text may contain a preedit string, so
C<gtk_entry_layout_index_to_text_index()> and
C<gtk_entry_text_index_to_layout_index()> are needed to convert byte
indices in the layout to byte indices in the entry contents.

  method gtk_entry_get_layout_offsets ( Int $x, Int $y )

=item Int $x; (out) (allow-none): location to store X offset of layout, or C<Any>
=item Int $y; (out) (allow-none): location to store Y offset of layout, or C<Any>

=end pod

sub gtk_entry_get_layout_offsets ( N-GObject $entry, int32 $x, int32 $y )
  is native(&gtk-lib)
  { * }
}}

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_set_alignment:
=begin pod
=head2 [[gtk_] entry_] set_alignment

Sets the alignment for the contents of the entry. This controls
the horizontal positioning of the contents when the displayed
text is shorter than the width of the entry.

Since: 2.4

  method gtk_entry_set_alignment ( Num $xalign )

=item Num $xalign; The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts

=end pod

sub gtk_entry_set_alignment ( N-GObject $entry, num32 $xalign )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_entry_get_alignment:
=begin pod
=head2 [[gtk_] entry_] get_alignment

Gets the value set by C<gtk_entry_set_alignment()>.

Returns: the alignment

Since: 2.4

  method gtk_entry_get_alignment ( --> Num  )


=end pod

sub gtk_entry_get_alignment ( N-GObject $entry )
  returns num32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:2:gtk_entry_set_completion:
=begin pod
=head2 [[gtk_] entry_] set_completion

Sets I<completion> to be the auxiliary completion object to use with I<entry>.
All further configuration of the completion mechanism is done on
I<completion> using the B<Gnome::Gtk3::EntryCompletion> API. Completion is disabled if
I<completion> is set to C<Any>.

Since: 2.4

  method gtk_entry_set_completion ( N-GObject $completion )

=item N-G