Blame gtk/gtktextbuffer.h

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