23#ifndef __GTK_SOURCE_BUFFER_H__
24#define __GTK_SOURCE_BUFFER_H__
28#include <vdk/gtksourcetag.h>
32#define GTK_TYPE_SOURCE_BUFFER (gtk_source_buffer_get_type ())
33#define GTK_SOURCE_BUFFER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SOURCE_BUFFER, GtkSourceBuffer))
34#define GTK_SOURCE_BUFFER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SOURCE_BUFFER, GtkSourceBufferClass))
35#define GTK_IS_SOURCE_BUFFER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SOURCE_BUFFER))
36#define GTK_IS_SOURCE_BUFFER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SOURCE_BUFFER))
38typedef struct _GtkSourceBuffer GtkSourceBuffer;
39typedef struct _GtkSourceBufferClass GtkSourceBufferClass;
40typedef struct _GtkSourceBufferPrivate GtkSourceBufferPrivate;
41typedef struct _GtkSourceBufferMarker GtkSourceBufferMarker;
43struct _GtkSourceBuffer {
44 GtkTextBuffer TextBuffer;
46 GtkSourceBufferPrivate *priv;
49struct _GtkSourceBufferClass {
50 GtkTextBufferClass parent_class;
52 void (* can_undo) (GtkSourceBuffer *buffer,
54 void (* can_redo) (GtkSourceBuffer *buffer,
58struct _GtkSourceBufferMarker {
64GType gtk_source_buffer_get_type (
void);
65GtkSourceBuffer *gtk_source_buffer_new (GtkTextTagTable *table);
66void gtk_source_buffer_attach_to_view (GtkSourceBuffer *buffer,
70void gtk_source_buffer_set_check_brackets (GtkSourceBuffer *buf,
71 gboolean check_brackets);
72gboolean gtk_source_buffer_get_highlight (GtkSourceBuffer *buffer);
73void gtk_source_buffer_set_highlight (GtkSourceBuffer *buf,
77gint gtk_source_buffer_get_tag_start (GtkTextIter *iter);
78gint gtk_source_buffer_get_tag_end (GtkTextIter *iter);
79GtkSyntaxTag *gtk_source_buffer_iter_has_syntax_tag (GtkTextIter *iter);
81void gtk_source_buffer_highlight_region (GtkSourceBuffer *sbuf,
86gint gtk_source_buffer_regex_search (
const gchar *text,
90 GtkSourceBufferMatch *match);
91gint gtk_source_buffer_regex_match (
const gchar *text,
96GList *gtk_source_buffer_get_regex_tags (GtkSourceBuffer *buffer);
97void gtk_source_buffer_purge_regex_tags (GtkSourceBuffer *buffer);
98void gtk_source_buffer_install_regex_tags (GtkSourceBuffer *buffer,
100void gtk_source_buffer_sync_syntax_regex (GtkSourceBuffer *buffer);
101GtkSyntaxTag *gtk_source_buffer_iter_has_syntax_tag (GtkTextIter *iter);
104GList *gtk_source_buffer_get_syntax_entries (GtkSourceBuffer *buffer);
105GList *gtk_source_buffer_get_pattern_entries (GtkSourceBuffer *buffer);
106GList *gtk_source_buffer_get_embedded_entries (GtkSourceBuffer *buffer);
109gchar *gtk_source_buffer_convert_to_html (GtkSourceBuffer *buffer,
111gboolean gtk_source_buffer_find_bracket_match (GtkTextIter *orig);
114gboolean gtk_source_buffer_can_undo (
const GtkSourceBuffer *buffer);
115gboolean gtk_source_buffer_can_redo (
const GtkSourceBuffer *buffer);
117void gtk_source_buffer_undo (GtkSourceBuffer *buffer);
118void gtk_source_buffer_redo (GtkSourceBuffer *buffer);
120int gtk_source_buffer_get_undo_levels (GtkSourceBuffer *buffer);
121void gtk_source_buffer_set_undo_levels (GtkSourceBuffer *buffer,
124void gtk_source_buffer_begin_not_undoable_action (GtkSourceBuffer *buffer);
125void gtk_source_buffer_end_not_undoable_action (GtkSourceBuffer *buffer);
128void gtk_source_buffer_line_add_marker (GtkSourceBuffer *buffer,
130 const gchar *marker);
131void gtk_source_buffer_line_set_marker (GtkSourceBuffer *buffer,
133 const gchar *marker);
134gboolean gtk_source_buffer_line_remove_marker (GtkSourceBuffer *buffer,
136 const gchar *marker);
137const GList *gtk_source_buffer_line_get_markers (GtkSourceBuffer *buffer,
139gint gtk_source_buffer_line_has_markers (GtkSourceBuffer *buffer,
141gint gtk_source_buffer_line_remove_markers (GtkSourceBuffer *buffer,
143GList *gtk_source_buffer_get_all_markers (GtkSourceBuffer *buffer);
144gint gtk_source_buffer_remove_all_markers (GtkSourceBuffer *buffer,
149gboolean gtk_source_buffer_load (GtkSourceBuffer *buffer,
150 const gchar *filename,
152gboolean gtk_source_buffer_save (GtkSourceBuffer *buffer,
153 const gchar *filename,
155gboolean gtk_source_buffer_load_with_character_encoding (GtkSourceBuffer *buffer,
156 const gchar *filename,
157 const gchar *encoding,
159gboolean gtk_source_buffer_save_with_character_encoding (GtkSourceBuffer *buffer,
160 const gchar *filename,
161 const gchar *encoding,