Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

gtksourcebuffer.h

00001 /* gtksourcebuffer.h 00002 * 00003 * Copyright (C) 1999,2000,2001,2002 by: 00004 * Mikael Hermansson <tyan@linux.se> 00005 * Chris Phelps <chicane@reninet.com> 00006 * Jeroen Zwartepoorte <jeroen@xs4all.nl> 00007 * 00008 * This program is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 */ 00022 00023 #ifndef __GTK_SOURCE_BUFFER_H__ 00024 #define __GTK_SOURCE_BUFFER_H__ 00025 00026 #include <regex.h> 00027 #include <gtk/gtk.h> 00028 #include <vdk/gtksourcetag.h> 00029 00030 G_BEGIN_DECLS 00031 00032 #define GTK_TYPE_SOURCE_BUFFER (gtk_source_buffer_get_type ()) 00033 #define GTK_SOURCE_BUFFER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SOURCE_BUFFER, GtkSourceBuffer)) 00034 #define GTK_SOURCE_BUFFER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SOURCE_BUFFER, GtkSourceBufferClass)) 00035 #define GTK_IS_SOURCE_BUFFER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SOURCE_BUFFER)) 00036 #define GTK_IS_SOURCE_BUFFER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SOURCE_BUFFER)) 00037 00038 typedef struct _GtkSourceBuffer GtkSourceBuffer; 00039 typedef struct _GtkSourceBufferClass GtkSourceBufferClass; 00040 typedef struct _GtkSourceBufferPrivate GtkSourceBufferPrivate; 00041 typedef struct _GtkSourceBufferMarker GtkSourceBufferMarker; 00042 00043 struct _GtkSourceBuffer { 00044 GtkTextBuffer TextBuffer; 00045 00046 GtkSourceBufferPrivate *priv; 00047 }; 00048 00049 struct _GtkSourceBufferClass { 00050 GtkTextBufferClass parent_class; 00051 00052 void (* can_undo) (GtkSourceBuffer *buffer, 00053 gboolean can_undo); 00054 void (* can_redo) (GtkSourceBuffer *buffer, 00055 gboolean can_redo); 00056 }; 00057 00058 struct _GtkSourceBufferMarker { 00059 int line; 00060 char *name; 00061 }; 00062 00063 /* Creation. */ 00064 GType gtk_source_buffer_get_type (void); 00065 GtkSourceBuffer *gtk_source_buffer_new (GtkTextTagTable *table); 00066 void gtk_source_buffer_attach_to_view (GtkSourceBuffer *buffer, 00067 GtkTextView *view); 00068 00069 /* Properties. */ 00070 void gtk_source_buffer_set_check_brackets (GtkSourceBuffer *buf, 00071 gboolean check_brackets); 00072 gboolean gtk_source_buffer_get_highlight (GtkSourceBuffer *buffer); 00073 void gtk_source_buffer_set_highlight (GtkSourceBuffer *buf, 00074 gboolean highlight); 00075 00076 /* Tags methods. */ 00077 gint gtk_source_buffer_get_tag_start (GtkTextIter *iter); 00078 gint gtk_source_buffer_get_tag_end (GtkTextIter *iter); 00079 GtkSyntaxTag *gtk_source_buffer_iter_has_syntax_tag (GtkTextIter *iter); 00080 00081 void gtk_source_buffer_highlight_region (GtkSourceBuffer *sbuf, 00082 GtkTextIter *start, 00083 GtkTextIter *end); 00084 00085 /* Regex methods. */ 00086 gint gtk_source_buffer_regex_search (const gchar *text, 00087 gint pos, 00088 Regex *regex, 00089 gboolean forward, 00090 GtkSourceBufferMatch *match); 00091 gint gtk_source_buffer_regex_match (const gchar *text, 00092 gint pos, 00093 gint end, 00094 Regex *regex); 00095 00096 GList *gtk_source_buffer_get_regex_tags (GtkSourceBuffer *buffer); 00097 void gtk_source_buffer_purge_regex_tags (GtkSourceBuffer *buffer); 00098 void gtk_source_buffer_install_regex_tags (GtkSourceBuffer *buffer, 00099 GList *entries); 00100 void gtk_source_buffer_sync_syntax_regex (GtkSourceBuffer *buffer); 00101 GtkSyntaxTag *gtk_source_buffer_iter_has_syntax_tag (GtkTextIter *iter); 00102 00103 /* Get only the syntax, pattern, or embedded entries. */ 00104 GList *gtk_source_buffer_get_syntax_entries (GtkSourceBuffer *buffer); 00105 GList *gtk_source_buffer_get_pattern_entries (GtkSourceBuffer *buffer); 00106 GList *gtk_source_buffer_get_embedded_entries (GtkSourceBuffer *buffer); 00107 00108 /* Utility methods. */ 00109 gchar *gtk_source_buffer_convert_to_html (GtkSourceBuffer *buffer, 00110 const gchar *title); 00111 gboolean gtk_source_buffer_find_bracket_match (GtkTextIter *orig); 00112 00113 /* Undo/redo methods. */ 00114 gboolean gtk_source_buffer_can_undo (const GtkSourceBuffer *buffer); 00115 gboolean gtk_source_buffer_can_redo (const GtkSourceBuffer *buffer); 00116 00117 void gtk_source_buffer_undo (GtkSourceBuffer *buffer); 00118 void gtk_source_buffer_redo (GtkSourceBuffer *buffer); 00119 00120 int gtk_source_buffer_get_undo_levels (GtkSourceBuffer *buffer); 00121 void gtk_source_buffer_set_undo_levels (GtkSourceBuffer *buffer, 00122 int undo_levels); 00123 00124 void gtk_source_buffer_begin_not_undoable_action (GtkSourceBuffer *buffer); 00125 void gtk_source_buffer_end_not_undoable_action (GtkSourceBuffer *buffer); 00126 00127 /* Line marker methods. */ 00128 void gtk_source_buffer_line_add_marker (GtkSourceBuffer *buffer, 00129 gint line, 00130 const gchar *marker); 00131 void gtk_source_buffer_line_set_marker (GtkSourceBuffer *buffer, 00132 gint line, 00133 const gchar *marker); 00134 gboolean gtk_source_buffer_line_remove_marker (GtkSourceBuffer *buffer, 00135 gint line, 00136 const gchar *marker); 00137 const GList *gtk_source_buffer_line_get_markers (GtkSourceBuffer *buffer, 00138 gint line); 00139 gint gtk_source_buffer_line_has_markers (GtkSourceBuffer *buffer, 00140 gint line); 00141 gint gtk_source_buffer_line_remove_markers (GtkSourceBuffer *buffer, 00142 gint line); 00143 GList *gtk_source_buffer_get_all_markers (GtkSourceBuffer *buffer); 00144 gint gtk_source_buffer_remove_all_markers (GtkSourceBuffer *buffer, 00145 gint line_start, 00146 gint line_end); 00147 00148 /* IO utility methods. */ 00149 gboolean gtk_source_buffer_load (GtkSourceBuffer *buffer, 00150 const gchar *filename, 00151 GError**error); 00152 gboolean gtk_source_buffer_save (GtkSourceBuffer *buffer, 00153 const gchar *filename, 00154 GError**error); 00155 gboolean gtk_source_buffer_load_with_character_encoding (GtkSourceBuffer *buffer, 00156 const gchar *filename, 00157 const gchar *encoding, 00158 GError**error); 00159 gboolean gtk_source_buffer_save_with_character_encoding (GtkSourceBuffer *buffer, 00160 const gchar *filename, 00161 const gchar *encoding, 00162 GError **error); 00163 00164 G_END_DECLS 00165 00166 #endif /* __GTK_SOURCE_BUFFER_H__ */

Generated on Wed Jul 28 17:23:53 2004 for vdk 2.0.3 by doxygen 1.3.7