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