### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/TextBuffer.rakumod
### ----------------------------------------------------
### -- Chunk 3 of 3
 object.

=item $end; the end of the range to be deleted. A native GtkTextIter object.


=comment #TS:0:changed:
=head3 changed

The I<changed> signal is emitted when the content of a B<Gnome::Gtk3::TextBuffer>
has changed.

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

=item $textbuffer; the object which received the signal


=comment #TS:0:modified-changed:
=head3 modified-changed

The I<modified-changed> signal is emitted when the modified bit of a
B<Gnome::Gtk3::TextBuffer> flips.

See also:
C<gtk_text_buffer_set_modified()>.

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

=item $textbuffer; the object which received the signal


=comment #TS:0:mark-set:
=head3 mark-set

The I<mark-set> signal is emitted as notification
after a B<Gnome::Gtk3::TextMark> is set.

See also:
C<gtk_text_buffer_create_mark()>,
C<gtk_text_buffer_move_mark()>.

  method handler (
    N-GObject $location,
    N-GObject $mark,
    Int :$_handler_id,
    Gnome::GObject::Object :_widget($textbuffer),
    *%user-options
  );

=item $textbuffer; the object which received the signal

=item $location; The location of I<mark> in I<textbuffer>. A native GtkTextIter object.

=item $mark; The mark that is set. A native GtkTextMark object.


=comment #TS:0:mark-deleted:
=head3 mark-deleted

The I<mark-deleted> signal is emitted as notification
after a B<Gnome::Gtk3::TextMark> is deleted.

See also:
C<gtk_text_buffer_delete_mark()>.

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

=item $textbuffer; the object which received the signal

=item $mark; The mark that was deleted. A native GtkTextMark object.


=comment #TS:0:apply-tag:
=head3 apply-tag

The I<apply-tag> signal is emitted to apply a tag to a
range of text in a B<Gnome::Gtk3::TextBuffer>.
Applying actually occurs in the default handler.

Note that if your handler runs before the default handler it must not
invalidate the I<start> and I<end> iters (or has to revalidate them).

See also:
C<gtk_text_buffer_apply_tag()>,
C<gtk_text_buffer_insert_with_tags()>,
C<gtk_text_buffer_insert_range()>.

  method handler (
    N-GObject $tag,
    N-GObject $start,
    N-GObject $end,
    Int :$_handler_id,
    Gnome::GObject::Object :_widget($textbuffer),
    *%user-options
  );

=item $textbuffer; the object which received the signal

=item $tag; the applied tag. A native GtkTextTag object.

=item $start; the start of the range the tag is applied to. A native GtkTextIter object.

=item $end; the end of the range the tag is applied to. A native GtkTextIter object.


=comment #TS:0:remove-tag:
=head3 remove-tag

The I<remove-tag> signal is emitted to remove all occurrences of I<tag> from
a range of text in a B<Gnome::Gtk3::TextBuffer>.
Removal actually occurs in the default handler.

Note that if your handler runs before the default handler it must not
invalidate the I<start> and I<end> iters (or has to revalidate them).

See also:
C<gtk_text_buffer_remove_tag()>.

  method handler (
    N-GObject $tag,
    N-GObject $start,
    N-GObject $end,
    Int :$_handler_id,
    Gnome::GObject::Object :_widget($textbuffer),
    *%user-options
  );

=item $textbuffer; the object which received the signal

=item $tag; the tag to be removed. A native GtkTextTag object.

=item $start; the start of the range the tag is removed from. A native GtkTextIter object.

=item $end; the end of the range the tag is removed from. A native GtkTextIter object.


=comment #TS:0:begin-user-action:
=head3 begin-user-action

The I<begin-user-action> signal is emitted at the beginning of a single
user-visible operation on a B<Gnome::Gtk3::TextBuffer>.

See also:
C<gtk_text_buffer_begin_user_action()>,
C<gtk_text_buffer_insert_interactive()>,
C<gtk_text_buffer_insert_range_interactive()>,
C<gtk_text_buffer_delete_interactive()>,
C<gtk_text_buffer_backspace()>,
C<gtk_text_buffer_delete_selection()>.

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

=item $textbuffer; the object which received the signal


=comment #TS:0:end-user-action:
=head3 end-user-action

The I<end-user-action> signal is emitted at the end of a single
user-visible operation on the B<Gnome::Gtk3::TextBuffer>.

See also:
C<gtk_text_buffer_end_user_action()>,
C<gtk_text_buffer_insert_interactive()>,
C<gtk_text_buffer_insert_range_interactive()>,
C<gtk_text_buffer_delete_interactive()>,
C<gtk_text_buffer_backspace()>,
C<gtk_text_buffer_delete_selection()>,
C<gtk_text_buffer_backspace()>.

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

=item $textbuffer; the object which received the signal


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

The paste-done signal is emitted after paste operation has been completed.
This is useful to properly scroll the view to the end of the pasted text.
See C<gtk_text_buffer_paste_clipboard()> for more details.


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

=item $textbuffer; the object which received the signal

=item $clipboard; the native GtkClipboard pasted from


=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:tag-table:
=head3 Tag Table

Text Tag Table
Widget type: GTK_TYPE_TEXT_TAG_TABLE


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

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


The text content of the buffer. Without child widgets and images,
see C<gtk_text_buffer_get_text()> for more information.

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

=comment #TP:0:has-selection:
=head3 Has selection


Whether the buffer has some text currently selected.

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

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


The position of the insert mark (as offset from the beginning
of the buffer). It is useful for getting notified when the
cursor moves.

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

=begin comment
=comment #TP:0:copy-target-list:
=head3 Copy target list


The list of targets this buffer supports for clipboard copying
and as DND source.

The B<Gnome::GObject::Value> type of property I<copy-target-list> is C<G_TYPE_BOXED>.

=comment #TP:0:paste-target-list:
=head3 Paste target list


The list of targets this buffer supports for clipboard pasting
and as DND destination.

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


