📄 gtktextbuffer.h
字号:
/* GTK - The GIMP Toolkit * gtktextbuffer.h Copyright (C) 2000 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 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. *//* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * 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__#include <gtk/gtkwidget.h>#include <gtk/gtkclipboard.h>#include <gtk/gtktexttagtable.h>#include <gtk/gtktextiter.h>#include <gtk/gtktextmark.h>#include <gtk/gtktextchild.h>G_BEGIN_DECLS/* * This is the PUBLIC representation of a text buffer. * 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;#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))#define GTK_IS_TEXT_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_BUFFER))#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 _GtkTextBufferClass GtkTextBufferClass;struct _GtkTextBuffer{ GObject parent_instance; GtkTextTagTable *GSEAL (tag_table); GtkTextBTree *GSEAL (btree); GSList *GSEAL (clipboard_contents_buffers); GSList *GSEAL (selection_clipboards); GtkTextLogAttrCache *GSEAL (log_attr_cache); guint GSEAL (user_action_count); /* Whether the buffer has been modified since last save */ guint GSEAL (modified) : 1; guint GSEAL (has_selection) : 1;};struct _GtkTextBufferClass{ GObjectClass parent_class; void (* insert_text) (GtkTextBuffer *buffer, GtkTextIter *pos, const gchar *text, gint length); void (* insert_pixbuf) (GtkTextBuffer *buffer, GtkTextIter *pos, GdkPixbuf *pixbuf); void (* insert_child_anchor) (GtkTextBuffer *buffer, GtkTextIter *pos, GtkTextChildAnchor *anchor); void (* delete_range) (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end); /* Only for text/widgets/pixbuf changed, marks/tags don't cause this * to be emitted */ void (* changed) (GtkTextBuffer *buffer); /* New value for the modified flag */ void (* modified_changed) (GtkTextBuffer *buffer); /* Mark moved or created */ void (* mark_set) (GtkTextBuffer *buffer, const GtkTextIter *location, GtkTextMark *mark); void (* mark_deleted) (GtkTextBuffer *buffer, GtkTextMark *mark); void (* apply_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start_char, const GtkTextIter *end_char); void (* remove_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start_char, const GtkTextIter *end_char); /* Called at the start and end of an atomic user action */ void (* begin_user_action) (GtkTextBuffer *buffer); void (* end_user_action) (GtkTextBuffer *buffer); /* 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;/* table is NULL to create a new one */GtkTextBuffer *gtk_text_buffer_new (GtkTextTagTable *table);gint gtk_text_buffer_get_line_count (GtkTextBuffer *buffer);gint gtk_text_buffer_get_char_count (GtkTextBuffer *buffer);GtkTextTagTable* gtk_text_buffer_get_tag_table (GtkTextBuffer *buffer);/* Delete whole buffer, then insert */void gtk_text_buffer_set_text (GtkTextBuffer *buffer, const gchar *text, gint len);/* Insert into the buffer */void gtk_text_buffer_insert (GtkTextBuffer *buffer, GtkTextIter *iter, const gchar *text, gint len);void gtk_text_buffer_insert_at_cursor (GtkTextBuffer *buffer, const gchar *text, gint len);gboolean gtk_text_buffer_insert_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const gchar *text, gint len, gboolean default_editable);gboolean gtk_text_buffer_insert_interactive_at_cursor (GtkTextBuffer *buffer, const gchar *text, gint len, gboolean default_editable);void gtk_text_buffer_insert_range (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end);gboolean gtk_text_buffer_insert_range_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end, gboolean default_editable);void gtk_text_buffer_insert_with_tags (GtkTextBuffer *buffer, GtkTextIter *iter, const gchar *text, gint len,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -