-/* GTK - The GIMP Toolkit
+/* GTK - The GTK+ Toolkit
* gtktextbuffer.h Copyright (C) 2000 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
#ifndef __GTK_TEXT_BUFFER_H__
#define __GTK_TEXT_BUFFER_H__
* GtkTextBTree is the PRIVATE internal representation of it.
*/
+/* these values are used as "info" for the targets contained in the
+ * lists returned by gtk_text_buffer_get_copy,paste_target_list()
+ *
+ * the enum counts down from G_MAXUINT to avoid clashes with application
+ * added drag destinations which usually start at 0.
+ */
+typedef enum
+{
+ GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS = - 1,
+ GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT = - 2,
+ GTK_TEXT_BUFFER_TARGET_INFO_TEXT = - 3
+} GtkTextBufferTargetInfo;
+
typedef struct _GtkTextBTree GtkTextBTree;
typedef struct _GtkTextLogAttrCache GtkTextLogAttrCache;
{
GObject parent_instance;
- GtkTextTagTable *tag_table;
- GtkTextBTree *btree;
+ GtkTextTagTable *GSEAL (tag_table);
+ GtkTextBTree *GSEAL (btree);
+
+ GSList *GSEAL (clipboard_contents_buffers);
+ GSList *GSEAL (selection_clipboards);
- GSList *clipboard_contents_buffers;
- GSList *selection_clipboards;
+ GtkTextLogAttrCache *GSEAL (log_attr_cache);
- GtkTextLogAttrCache *log_attr_cache;
+ guint GSEAL (user_action_count);
- guint user_action_count;
-
/* Whether the buffer has been modified since last save */
- guint modified : 1;
+ guint GSEAL (modified) : 1;
+
+ guint GSEAL (has_selection) : 1;
};
struct _GtkTextBufferClass
void (* insert_child_anchor) (GtkTextBuffer *buffer,
GtkTextIter *pos,
GtkTextChildAnchor *anchor);
-
+
void (* delete_range) (GtkTextBuffer *buffer,
GtkTextIter *start,
GtkTextIter *end);
GtkTextIter *iter);
/* Mark manipulation */
+void gtk_text_buffer_add_mark (GtkTextBuffer *buffer,
+ GtkTextMark *mark,
+ const GtkTextIter *where);
GtkTextMark *gtk_text_buffer_create_mark (GtkTextBuffer *buffer,
const gchar *mark_name,
const GtkTextIter *where,
void gtk_text_buffer_set_modified (GtkTextBuffer *buffer,
gboolean setting);
+gboolean gtk_text_buffer_get_has_selection (GtkTextBuffer *buffer);
+
void gtk_text_buffer_add_selection_clipboard (GtkTextBuffer *buffer,
GtkClipboard *clipboard);
void gtk_text_buffer_remove_selection_clipboard (GtkTextBuffer *buffer,
GtkTextIter *end);
gboolean gtk_text_buffer_delete_selection (GtkTextBuffer *buffer,
gboolean interactive,
- gboolean default_editable);
+ gboolean default_editable);
/* Called to specify atomic user actions, used to implement undo */
void gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer);
void gtk_text_buffer_end_user_action (GtkTextBuffer *buffer);
+GtkTargetList * gtk_text_buffer_get_copy_target_list (GtkTextBuffer *buffer);
+GtkTargetList * gtk_text_buffer_get_paste_target_list (GtkTextBuffer *buffer);
+
/* INTERNAL private stuff */
void _gtk_text_buffer_spew (GtkTextBuffer *buffer);