X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktextbuffer.h;h=793b7635ac639f6115d3ae41b1280392ea70abf5;hb=HEAD;hp=7d69a600d51b3e9a6c160350864f669d651f13a6;hpb=6c1d990adc5eea803b4cb28956befb83e89468ee;p=~andy%2Fgtk
diff --git a/gtk/gtktextbuffer.h b/gtk/gtktextbuffer.h
index 7d69a600d..793b7635a 100644
--- a/gtk/gtktextbuffer.h
+++ b/gtk/gtktextbuffer.h
@@ -12,9 +12,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see .
*/
/*
@@ -27,6 +25,10 @@
#ifndef __GTK_TEXT_BUFFER_H__
#define __GTK_TEXT_BUFFER_H__
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only can be included directly."
+#endif
+
#include
#include
#include
@@ -43,18 +45,19 @@ G_BEGIN_DECLS
/* 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,
- GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT,
- GTK_TEXT_BUFFER_TARGET_INFO_TEXT
+ 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;
-
#define GTK_TYPE_TEXT_BUFFER (gtk_text_buffer_get_type ())
#define GTK_TEXT_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBuffer))
#define GTK_TEXT_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass))
@@ -62,26 +65,14 @@ typedef struct _GtkTextLogAttrCache GtkTextLogAttrCache;
#define GTK_IS_TEXT_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_BUFFER))
#define GTK_TEXT_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass))
+typedef struct _GtkTextBufferPrivate GtkTextBufferPrivate;
typedef struct _GtkTextBufferClass GtkTextBufferClass;
struct _GtkTextBuffer
{
GObject parent_instance;
- GtkTextTagTable *tag_table;
- GtkTextBTree *btree;
-
- GSList *clipboard_contents_buffers;
- GSList *selection_clipboards;
-
- GtkTextLogAttrCache *log_attr_cache;
-
- guint user_action_count;
-
- /* Whether the buffer has been modified since last save */
- guint modified : 1;
-
- guint has_selection : 1;
+ GtkTextBufferPrivate *priv;
};
struct _GtkTextBufferClass
@@ -90,17 +81,17 @@ struct _GtkTextBufferClass
void (* insert_text) (GtkTextBuffer *buffer,
GtkTextIter *pos,
- const gchar *text,
- gint length);
+ const gchar *new_text,
+ gint new_text_length);
void (* insert_pixbuf) (GtkTextBuffer *buffer,
- GtkTextIter *pos,
+ GtkTextIter *iter,
GdkPixbuf *pixbuf);
void (* insert_child_anchor) (GtkTextBuffer *buffer,
- GtkTextIter *pos,
+ GtkTextIter *iter,
GtkTextChildAnchor *anchor);
-
+
void (* delete_range) (GtkTextBuffer *buffer,
GtkTextIter *start,
GtkTextIter *end);
@@ -124,25 +115,26 @@ struct _GtkTextBufferClass
void (* apply_tag) (GtkTextBuffer *buffer,
GtkTextTag *tag,
- const GtkTextIter *start_char,
- const GtkTextIter *end_char);
+ const GtkTextIter *start,
+ const GtkTextIter *end);
void (* remove_tag) (GtkTextBuffer *buffer,
GtkTextTag *tag,
- const GtkTextIter *start_char,
- const GtkTextIter *end_char);
+ const GtkTextIter *start,
+ const GtkTextIter *end);
/* Called at the start and end of an atomic user action */
void (* begin_user_action) (GtkTextBuffer *buffer);
void (* end_user_action) (GtkTextBuffer *buffer);
+ void (* paste_done) (GtkTextBuffer *buffer,
+ GtkClipboard *clipboard);
+
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void);
void (*_gtk_reserved4) (void);
- void (*_gtk_reserved5) (void);
- void (*_gtk_reserved6) (void);
};
GType gtk_text_buffer_get_type (void) G_GNUC_CONST;
@@ -244,6 +236,9 @@ GtkTextChildAnchor *gtk_text_buffer_create_child_anchor (GtkTextBuffer *buffer,
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,
@@ -371,7 +366,7 @@ gboolean gtk_text_buffer_get_selection_bounds (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);
@@ -392,6 +387,22 @@ const PangoLogAttr* _gtk_text_buffer_get_line_log_attrs (GtkTextBuffer *buff
void _gtk_text_buffer_notify_will_remove_tag (GtkTextBuffer *buffer,
GtkTextTag *tag);
+void _gtk_text_buffer_get_text_before (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end);
+void _gtk_text_buffer_get_text_at (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end);
+void _gtk_text_buffer_get_text_after (GtkTextBuffer *buffer,
+ AtkTextBoundary boundary_type,
+ GtkTextIter *position,
+ GtkTextIter *start,
+ GtkTextIter *end);
+
G_END_DECLS
#endif