Blame gtk/gtktextbuffer.h

Packit Service fb6fa5
/* GTK - The GIMP Toolkit
Packit Service fb6fa5
 * gtktextbuffer.h Copyright (C) 2000 Red Hat, Inc.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is free software; you can redistribute it and/or
Packit Service fb6fa5
 * modify it under the terms of the GNU Lesser General Public
Packit Service fb6fa5
 * License as published by the Free Software Foundation; either
Packit Service fb6fa5
 * version 2 of the License, or (at your option) any later version.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is distributed in the hope that it will be useful,
Packit Service fb6fa5
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service fb6fa5
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service fb6fa5
 * Lesser General Public License for more details.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * You should have received a copy of the GNU Lesser General Public
Packit Service fb6fa5
 * License along with this library; if not, write to the
Packit Service fb6fa5
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit Service fb6fa5
 * Boston, MA 02111-1307, USA.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
/*
Packit Service fb6fa5
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
Packit Service fb6fa5
 * file for a list of people on the GTK+ Team.  See the ChangeLog
Packit Service fb6fa5
 * files for a list of changes.  These files are distributed with
Packit Service fb6fa5
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
#ifndef __GTK_TEXT_BUFFER_H__
Packit Service fb6fa5
#define __GTK_TEXT_BUFFER_H__
Packit Service fb6fa5
Packit Service fb6fa5
#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
Packit Service fb6fa5
#error "Only <gtk/gtk.h> can be included directly."
Packit Service fb6fa5
#endif
Packit Service fb6fa5
Packit Service fb6fa5
#include <gtk/gtkwidget.h>
Packit Service fb6fa5
#include <gtk/gtkclipboard.h>
Packit Service fb6fa5
#include <gtk/gtktexttagtable.h>
Packit Service fb6fa5
#include <gtk/gtktextiter.h>
Packit Service fb6fa5
#include <gtk/gtktextmark.h>
Packit Service fb6fa5
#include <gtk/gtktextchild.h>
Packit Service fb6fa5
Packit Service fb6fa5
G_BEGIN_DECLS
Packit Service fb6fa5
Packit Service fb6fa5
/*
Packit Service fb6fa5
 * This is the PUBLIC representation of a text buffer.
Packit Service fb6fa5
 * GtkTextBTree is the PRIVATE internal representation of it.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
/* these values are used as "info" for the targets contained in the
Packit Service fb6fa5
 * lists returned by gtk_text_buffer_get_copy,paste_target_list()
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * the enum counts down from G_MAXUINT to avoid clashes with application
Packit Service fb6fa5
 * added drag destinations which usually start at 0.
Packit Service fb6fa5
 */
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS = - 1,
Packit Service fb6fa5
  GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT       = - 2,
Packit Service fb6fa5
  GTK_TEXT_BUFFER_TARGET_INFO_TEXT            = - 3
Packit Service fb6fa5
} GtkTextBufferTargetInfo;
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct _GtkTextBTree GtkTextBTree;
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct _GtkTextLogAttrCache GtkTextLogAttrCache;
Packit Service fb6fa5
Packit Service fb6fa5
#define GTK_TYPE_TEXT_BUFFER            (gtk_text_buffer_get_type ())
Packit Service fb6fa5
#define GTK_TEXT_BUFFER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBuffer))
Packit Service fb6fa5
#define GTK_TEXT_BUFFER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass))
Packit Service fb6fa5
#define GTK_IS_TEXT_BUFFER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_BUFFER))
Packit Service fb6fa5
#define GTK_IS_TEXT_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_BUFFER))
Packit Service fb6fa5
#define GTK_TEXT_BUFFER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass))
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct _GtkTextBufferClass GtkTextBufferClass;
Packit Service fb6fa5
Packit Service fb6fa5
struct _GtkTextBuffer
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObject parent_instance;
Packit Service fb6fa5
Packit Service fb6fa5
  GtkTextTagTable *GSEAL (tag_table);
Packit Service fb6fa5
  GtkTextBTree *GSEAL (btree);
Packit Service fb6fa5
Packit Service fb6fa5
  GSList *GSEAL (clipboard_contents_buffers);
Packit Service fb6fa5
  GSList *GSEAL (selection_clipboards);
Packit Service fb6fa5
Packit Service fb6fa5
  GtkTextLogAttrCache *GSEAL (log_attr_cache);
Packit Service fb6fa5
Packit Service fb6fa5
  guint GSEAL (user_action_count);
Packit Service fb6fa5
Packit Service fb6fa5
  /* Whether the buffer has been modified since last save */
Packit Service fb6fa5
  guint GSEAL (modified) : 1;
Packit Service fb6fa5
Packit Service fb6fa5
  guint GSEAL (has_selection) : 1;
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
struct _GtkTextBufferClass
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObjectClass parent_class;
Packit Service fb6fa5
Packit Service fb6fa5
  void (* insert_text)     (GtkTextBuffer *buffer,
Packit Service fb6fa5
                            GtkTextIter *pos,
Packit Service fb6fa5
                            const gchar *text,
Packit Service fb6fa5
                            gint length);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* insert_pixbuf)   (GtkTextBuffer *buffer,
Packit Service fb6fa5
                            GtkTextIter   *pos,
Packit Service fb6fa5
                            GdkPixbuf     *pixbuf);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* insert_child_anchor)   (GtkTextBuffer      *buffer,
Packit Service fb6fa5
                                  GtkTextIter        *pos,
Packit Service fb6fa5
                                  GtkTextChildAnchor *anchor);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* delete_range)     (GtkTextBuffer *buffer,
Packit Service fb6fa5
                             GtkTextIter   *start,
Packit Service fb6fa5
                             GtkTextIter   *end);
Packit Service fb6fa5
Packit Service fb6fa5
  /* Only for text/widgets/pixbuf changed, marks/tags don't cause this
Packit Service fb6fa5
   * to be emitted
Packit Service fb6fa5
   */
Packit Service fb6fa5
  void (* changed)         (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
  /* New value for the modified flag */
Packit Service fb6fa5
  void (* modified_changed)   (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
  /* Mark moved or created */
Packit Service fb6fa5
  void (* mark_set)           (GtkTextBuffer *buffer,
Packit Service fb6fa5
                               const GtkTextIter *location,
Packit Service fb6fa5
                               GtkTextMark *mark);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* mark_deleted)       (GtkTextBuffer *buffer,
Packit Service fb6fa5
                               GtkTextMark *mark);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* apply_tag)          (GtkTextBuffer *buffer,
Packit Service fb6fa5
                               GtkTextTag *tag,
Packit Service fb6fa5
                               const GtkTextIter *start_char,
Packit Service fb6fa5
                               const GtkTextIter *end_char);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* remove_tag)         (GtkTextBuffer *buffer,
Packit Service fb6fa5
                               GtkTextTag *tag,
Packit Service fb6fa5
                               const GtkTextIter *start_char,
Packit Service fb6fa5
                               const GtkTextIter *end_char);
Packit Service fb6fa5
Packit Service fb6fa5
  /* Called at the start and end of an atomic user action */
Packit Service fb6fa5
  void (* begin_user_action)  (GtkTextBuffer *buffer);
Packit Service fb6fa5
  void (* end_user_action)    (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
  void (* paste_done)         (GtkTextBuffer *buffer,
Packit Service fb6fa5
                               GtkClipboard  *clipboard);
Packit Service fb6fa5
Packit Service fb6fa5
  /* Padding for future expansion */
Packit Service fb6fa5
  void (*_gtk_reserved1) (void);
Packit Service fb6fa5
  void (*_gtk_reserved2) (void);
Packit Service fb6fa5
  void (*_gtk_reserved3) (void);
Packit Service fb6fa5
  void (*_gtk_reserved4) (void);
Packit Service fb6fa5
  void (*_gtk_reserved5) (void);
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
GType        gtk_text_buffer_get_type       (void) G_GNUC_CONST;
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/* table is NULL to create a new one */
Packit Service fb6fa5
GtkTextBuffer *gtk_text_buffer_new            (GtkTextTagTable *table);
Packit Service fb6fa5
gint           gtk_text_buffer_get_line_count (GtkTextBuffer   *buffer);
Packit Service fb6fa5
gint           gtk_text_buffer_get_char_count (GtkTextBuffer   *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
GtkTextTagTable* gtk_text_buffer_get_tag_table (GtkTextBuffer  *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
/* Delete whole buffer, then insert */
Packit Service fb6fa5
void gtk_text_buffer_set_text          (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                        const gchar   *text,
Packit Service fb6fa5
                                        gint           len);
Packit Service fb6fa5
Packit Service fb6fa5
/* Insert into the buffer */
Packit Service fb6fa5
void gtk_text_buffer_insert            (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                        GtkTextIter   *iter,
Packit Service fb6fa5
                                        const gchar   *text,
Packit Service fb6fa5
                                        gint           len);
Packit Service fb6fa5
void gtk_text_buffer_insert_at_cursor  (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                        const gchar   *text,
Packit Service fb6fa5
                                        gint           len);
Packit Service fb6fa5
Packit Service fb6fa5
gboolean gtk_text_buffer_insert_interactive           (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                                       GtkTextIter   *iter,
Packit Service fb6fa5
                                                       const gchar   *text,
Packit Service fb6fa5
                                                       gint           len,
Packit Service fb6fa5
                                                       gboolean       default_editable);
Packit Service fb6fa5
gboolean gtk_text_buffer_insert_interactive_at_cursor (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                                       const gchar   *text,
Packit Service fb6fa5
                                                       gint           len,
Packit Service fb6fa5
                                                       gboolean       default_editable);
Packit Service fb6fa5
Packit Service fb6fa5
void     gtk_text_buffer_insert_range             (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                   GtkTextIter       *iter,
Packit Service fb6fa5
                                                   const GtkTextIter *start,
Packit Service fb6fa5
                                                   const GtkTextIter *end);
Packit Service fb6fa5
gboolean gtk_text_buffer_insert_range_interactive (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                   GtkTextIter       *iter,
Packit Service fb6fa5
                                                   const GtkTextIter *start,
Packit Service fb6fa5
                                                   const GtkTextIter *end,
Packit Service fb6fa5
                                                   gboolean           default_editable);
Packit Service fb6fa5
Packit Service fb6fa5
void    gtk_text_buffer_insert_with_tags          (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                   GtkTextIter       *iter,
Packit Service fb6fa5
                                                   const gchar       *text,
Packit Service fb6fa5
                                                   gint               len,
Packit Service fb6fa5
                                                   GtkTextTag        *first_tag,
Packit Service fb6fa5
                                                   ...) G_GNUC_NULL_TERMINATED;
Packit Service fb6fa5
Packit Service fb6fa5
void    gtk_text_buffer_insert_with_tags_by_name  (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                   GtkTextIter       *iter,
Packit Service fb6fa5
                                                   const gchar       *text,
Packit Service fb6fa5
                                                   gint               len,
Packit Service fb6fa5
                                                   const gchar       *first_tag_name,
Packit Service fb6fa5
                                                   ...) G_GNUC_NULL_TERMINATED;
Packit Service fb6fa5
Packit Service fb6fa5
/* Delete from the buffer */
Packit Service fb6fa5
void     gtk_text_buffer_delete             (GtkTextBuffer *buffer,
Packit Service fb6fa5
					     GtkTextIter   *start,
Packit Service fb6fa5
					     GtkTextIter   *end);
Packit Service fb6fa5
gboolean gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer,
Packit Service fb6fa5
					     GtkTextIter   *start_iter,
Packit Service fb6fa5
					     GtkTextIter   *end_iter,
Packit Service fb6fa5
					     gboolean       default_editable);
Packit Service fb6fa5
gboolean gtk_text_buffer_backspace          (GtkTextBuffer *buffer,
Packit Service fb6fa5
					     GtkTextIter   *iter,
Packit Service fb6fa5
					     gboolean       interactive,
Packit Service fb6fa5
					     gboolean       default_editable);
Packit Service fb6fa5
Packit Service fb6fa5
/* Obtain strings from the buffer */
Packit Service fb6fa5
gchar          *gtk_text_buffer_get_text            (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                     const GtkTextIter *start,
Packit Service fb6fa5
                                                     const GtkTextIter *end,
Packit Service fb6fa5
                                                     gboolean           include_hidden_chars);
Packit Service fb6fa5
Packit Service fb6fa5
gchar          *gtk_text_buffer_get_slice           (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                     const GtkTextIter *start,
Packit Service fb6fa5
                                                     const GtkTextIter *end,
Packit Service fb6fa5
                                                     gboolean           include_hidden_chars);
Packit Service fb6fa5
Packit Service fb6fa5
/* Insert a pixbuf */
Packit Service fb6fa5
void gtk_text_buffer_insert_pixbuf         (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                            GtkTextIter   *iter,
Packit Service fb6fa5
                                            GdkPixbuf     *pixbuf);
Packit Service fb6fa5
Packit Service fb6fa5
/* Insert a child anchor */
Packit Service fb6fa5
void               gtk_text_buffer_insert_child_anchor (GtkTextBuffer      *buffer,
Packit Service fb6fa5
                                                        GtkTextIter        *iter,
Packit Service fb6fa5
                                                        GtkTextChildAnchor *anchor);
Packit Service fb6fa5
Packit Service fb6fa5
/* Convenience, create and insert a child anchor */
Packit Service fb6fa5
GtkTextChildAnchor *gtk_text_buffer_create_child_anchor (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                                         GtkTextIter   *iter);
Packit Service fb6fa5
Packit Service fb6fa5
/* Mark manipulation */
Packit Service fb6fa5
void           gtk_text_buffer_add_mark    (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            GtkTextMark       *mark,
Packit Service fb6fa5
                                            const GtkTextIter *where);
Packit Service fb6fa5
GtkTextMark   *gtk_text_buffer_create_mark (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            const gchar       *mark_name,
Packit Service fb6fa5
                                            const GtkTextIter *where,
Packit Service fb6fa5
                                            gboolean           left_gravity);
Packit Service fb6fa5
void           gtk_text_buffer_move_mark   (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            GtkTextMark       *mark,
Packit Service fb6fa5
                                            const GtkTextIter *where);
Packit Service fb6fa5
void           gtk_text_buffer_delete_mark (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            GtkTextMark       *mark);
Packit Service fb6fa5
GtkTextMark*   gtk_text_buffer_get_mark    (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            const gchar       *name);
Packit Service fb6fa5
Packit Service fb6fa5
void gtk_text_buffer_move_mark_by_name   (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                          const gchar       *name,
Packit Service fb6fa5
                                          const GtkTextIter *where);
Packit Service fb6fa5
void gtk_text_buffer_delete_mark_by_name (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                          const gchar       *name);
Packit Service fb6fa5
Packit Service fb6fa5
GtkTextMark* gtk_text_buffer_get_insert          (GtkTextBuffer *buffer);
Packit Service fb6fa5
GtkTextMark* gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
/* efficiently move insert and selection_bound at the same time */
Packit Service fb6fa5
void gtk_text_buffer_place_cursor (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                   const GtkTextIter *where);
Packit Service fb6fa5
void gtk_text_buffer_select_range (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                   const GtkTextIter *ins,
Packit Service fb6fa5
				   const GtkTextIter *bound);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/* Tag manipulation */
Packit Service fb6fa5
void gtk_text_buffer_apply_tag             (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            GtkTextTag        *tag,
Packit Service fb6fa5
                                            const GtkTextIter *start,
Packit Service fb6fa5
                                            const GtkTextIter *end);
Packit Service fb6fa5
void gtk_text_buffer_remove_tag            (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            GtkTextTag        *tag,
Packit Service fb6fa5
                                            const GtkTextIter *start,
Packit Service fb6fa5
                                            const GtkTextIter *end);
Packit Service fb6fa5
void gtk_text_buffer_apply_tag_by_name     (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            const gchar       *name,
Packit Service fb6fa5
                                            const GtkTextIter *start,
Packit Service fb6fa5
                                            const GtkTextIter *end);
Packit Service fb6fa5
void gtk_text_buffer_remove_tag_by_name    (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            const gchar       *name,
Packit Service fb6fa5
                                            const GtkTextIter *start,
Packit Service fb6fa5
                                            const GtkTextIter *end);
Packit Service fb6fa5
void gtk_text_buffer_remove_all_tags       (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                            const GtkTextIter *start,
Packit Service fb6fa5
                                            const GtkTextIter *end);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/* You can either ignore the return value, or use it to
Packit Service fb6fa5
 * set the attributes of the tag. tag_name can be NULL
Packit Service fb6fa5
 */
Packit Service fb6fa5
GtkTextTag    *gtk_text_buffer_create_tag (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                           const gchar   *tag_name,
Packit Service fb6fa5
                                           const gchar   *first_property_name,
Packit Service fb6fa5
                                           ...);
Packit Service fb6fa5
Packit Service fb6fa5
/* Obtain iterators pointed at various places, then you can move the
Packit Service fb6fa5
 * iterator around using the GtkTextIter operators
Packit Service fb6fa5
 */
Packit Service fb6fa5
void gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter,
Packit Service fb6fa5
                                              gint           line_number,
Packit Service fb6fa5
                                              gint           char_offset);
Packit Service fb6fa5
void gtk_text_buffer_get_iter_at_line_index  (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter,
Packit Service fb6fa5
                                              gint           line_number,
Packit Service fb6fa5
                                              gint           byte_index);
Packit Service fb6fa5
void gtk_text_buffer_get_iter_at_offset      (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter,
Packit Service fb6fa5
                                              gint           char_offset);
Packit Service fb6fa5
void gtk_text_buffer_get_iter_at_line        (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter,
Packit Service fb6fa5
                                              gint           line_number);
Packit Service fb6fa5
void gtk_text_buffer_get_start_iter          (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter);
Packit Service fb6fa5
void gtk_text_buffer_get_end_iter            (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter);
Packit Service fb6fa5
void gtk_text_buffer_get_bounds              (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *start,
Packit Service fb6fa5
                                              GtkTextIter   *end);
Packit Service fb6fa5
void gtk_text_buffer_get_iter_at_mark        (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextIter   *iter,
Packit Service fb6fa5
                                              GtkTextMark   *mark);
Packit Service fb6fa5
Packit Service fb6fa5
void gtk_text_buffer_get_iter_at_child_anchor (GtkTextBuffer      *buffer,
Packit Service fb6fa5
                                               GtkTextIter        *iter,
Packit Service fb6fa5
                                               GtkTextChildAnchor *anchor);
Packit Service fb6fa5
Packit Service fb6fa5
/* There's no get_first_iter because you just get the iter for
Packit Service fb6fa5
   line or char 0 */
Packit Service fb6fa5
Packit Service fb6fa5
/* Used to keep track of whether the buffer needs saving; anytime the
Packit Service fb6fa5
   buffer contents change, the modified flag is turned on. Whenever
Packit Service fb6fa5
   you save, turn it off. Tags and marks do not affect the modified
Packit Service fb6fa5
   flag, but if you would like them to you can connect a handler to
Packit Service fb6fa5
   the tag/mark signals and call set_modified in your handler */
Packit Service fb6fa5
Packit Service fb6fa5
gboolean        gtk_text_buffer_get_modified            (GtkTextBuffer *buffer);
Packit Service fb6fa5
void            gtk_text_buffer_set_modified            (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                                         gboolean       setting);
Packit Service fb6fa5
Packit Service fb6fa5
gboolean        gtk_text_buffer_get_has_selection       (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
void gtk_text_buffer_add_selection_clipboard    (GtkTextBuffer     *buffer,
Packit Service fb6fa5
						 GtkClipboard      *clipboard);
Packit Service fb6fa5
void gtk_text_buffer_remove_selection_clipboard (GtkTextBuffer     *buffer,
Packit Service fb6fa5
						 GtkClipboard      *clipboard);
Packit Service fb6fa5
Packit Service fb6fa5
void            gtk_text_buffer_cut_clipboard           (GtkTextBuffer *buffer,
Packit Service fb6fa5
							 GtkClipboard  *clipboard,
Packit Service fb6fa5
                                                         gboolean       default_editable);
Packit Service fb6fa5
void            gtk_text_buffer_copy_clipboard          (GtkTextBuffer *buffer,
Packit Service fb6fa5
							 GtkClipboard  *clipboard);
Packit Service fb6fa5
void            gtk_text_buffer_paste_clipboard         (GtkTextBuffer *buffer,
Packit Service fb6fa5
							 GtkClipboard  *clipboard,
Packit Service fb6fa5
							 GtkTextIter   *override_location,
Packit Service fb6fa5
                                                         gboolean       default_editable);
Packit Service fb6fa5
Packit Service fb6fa5
gboolean        gtk_text_buffer_get_selection_bounds    (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                                         GtkTextIter   *start,
Packit Service fb6fa5
                                                         GtkTextIter   *end);
Packit Service fb6fa5
gboolean        gtk_text_buffer_delete_selection        (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                                         gboolean       interactive,
Packit Service fb6fa5
                                                         gboolean       default_editable);
Packit Service fb6fa5
Packit Service fb6fa5
/* Called to specify atomic user actions, used to implement undo */
Packit Service fb6fa5
void            gtk_text_buffer_begin_user_action       (GtkTextBuffer *buffer);
Packit Service fb6fa5
void            gtk_text_buffer_end_user_action         (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
GtkTargetList * gtk_text_buffer_get_copy_target_list    (GtkTextBuffer *buffer);
Packit Service fb6fa5
GtkTargetList * gtk_text_buffer_get_paste_target_list   (GtkTextBuffer *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
/* INTERNAL private stuff */
Packit Service fb6fa5
void            _gtk_text_buffer_spew                  (GtkTextBuffer      *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
GtkTextBTree*   _gtk_text_buffer_get_btree             (GtkTextBuffer      *buffer);
Packit Service fb6fa5
Packit Service fb6fa5
const PangoLogAttr* _gtk_text_buffer_get_line_log_attrs (GtkTextBuffer     *buffer,
Packit Service fb6fa5
                                                         const GtkTextIter *anywhere_in_line,
Packit Service fb6fa5
                                                         gint              *char_len);
Packit Service fb6fa5
Packit Service fb6fa5
void _gtk_text_buffer_notify_will_remove_tag (GtkTextBuffer *buffer,
Packit Service fb6fa5
                                              GtkTextTag    *tag);
Packit Service fb6fa5
Packit Service fb6fa5
G_END_DECLS
Packit Service fb6fa5
Packit Service fb6fa5
#endif