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

gtksourcetag.h

00001 /* gtksourcetag.h 00002 * 00003 * Copyright (C) 2001 00004 * Mikael Hermansson<tyan@linux.se> 00005 * Chris Phelps <chicane@reninet.com> 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU Library General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Library General Public License* along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00019 */ 00020 00021 #ifndef __GTK_SOURCE_TAG_H__ 00022 #define __GTK_SOURCE_TAG_H__ 00023 00024 #include <regex.h> 00025 #include <gtk/gtk.h> 00026 #include <gtk/gtktexttag.h> 00027 00028 G_BEGIN_DECLS 00029 00030 #define GTK_TYPE_SYNTAX_TAG (gtk_syntax_tag_get_type ()) 00031 #define GTK_SYNTAX_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SYNTAX_TAG, GtkSyntaxTag)) 00032 #define GTK_SYNTAX_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SYNTAX_TAG, GtkSyntaxTagClass)) 00033 #define GTK_IS_SYNTAX_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SYNTAX_TAG)) 00034 #define GTK_IS_SYNTAX_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SYNTAX_TAG)) 00035 #define GTK_SYNTAX_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SYNTAX_TAG, GtkSyntaxTagClass)) 00036 00037 #define GTK_TYPE_PATTERN_TAG (gtk_pattern_tag_get_type ()) 00038 #define GTK_PATTERN_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PATTERN_TAG, GtkPatternTag)) 00039 #define GTK_PATTERN_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PATTERN_TAG, GtkPatternTagClass)) 00040 #define GTK_IS_PATTERN_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PATTERN_TAG)) 00041 #define GTK_IS_PATTERN_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PATTERN_TAG)) 00042 #define GTK_PATTERN_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PATTERN_TAG, GtkPatternTagClass)) 00043 00044 #define GTK_TYPE_EMBEDDED_TAG (gtk_embedded_tag_get_type ()) 00045 #define GTK_EMBEDDED_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EMBEDDED_TAG, GtkEmbeddedTag)) 00046 #define GTK_EMBEDDED_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EMBEDDED_TAG, GtkEmbeddedTagClass)) 00047 #define GTK_IS_EMBEDDED_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EMBEDDED_TAG)) 00048 #define GTK_IS_EMBEDDED_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EMBEDDED_TAG)) 00049 #define GTK_EMBEDDED_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EMBEDDED_TAG, GtkEmbeddedTagClass)) 00050 00051 typedef struct _GtkSourceBufferMatch 00052 { 00053 gint startpos; 00054 gint endpos; 00055 }GtkSourceBufferMatch; 00056 00057 /* FIXME: regex routines is NOT UTF8 compat... */ 00058 00059 typedef struct _Regex { 00060 struct re_pattern_buffer buf; 00061 struct re_registers reg; 00062 gint len; 00063 }Regex; 00064 00065 typedef struct _GtkSyntaxTag GtkSyntaxTag; 00066 typedef struct _GtkSyntaxTagClass GtkSyntaxTagClass; 00067 typedef struct _GtkPatternTag GtkPatternTag; 00068 typedef struct _GtkPatternTagClass GtkPatternTagClass; 00069 typedef struct _GtkEmbeddedTag GtkEmbeddedTag; 00070 typedef struct _GtkEmbeddedTagClass GtkEmbeddedTagClass; 00071 00072 struct _GtkSyntaxTag { 00073 GtkTextTag parent_instance; 00074 gchar *start; 00075 Regex reg_start; 00076 Regex reg_end; 00077 }; 00078 00079 struct _GtkSyntaxTagClass { 00080 GtkTextTagClass parent_class; 00081 }; 00082 00083 struct _GtkPatternTag { 00084 GtkTextTag parent_instance; 00085 Regex reg_pattern; 00086 }; 00087 00088 struct _GtkPatternTagClass { 00089 GtkTextTagClass parent_class; 00090 }; 00091 00092 struct _GtkEmbeddedTag { 00093 GtkTextTag parent_instance; 00094 Regex reg_outside; 00095 Regex reg_inside; 00096 }; 00097 00098 struct _GtkEmbeddedTagClass { 00099 GtkTextTagClass parent_class; 00100 }; 00101 00102 00103 GType gtk_syntax_tag_get_type(void) G_GNUC_CONST; 00104 GtkTextTag* gtk_syntax_tag_new(const gchar *name, const gchar *patternstart, 00105 const gchar *patternend); 00106 00107 GType gtk_pattern_tag_get_type(void) G_GNUC_CONST; 00108 GtkTextTag* gtk_pattern_tag_new(const gchar *name, const gchar *pattern); 00109 00110 GType gtk_embedded_tag_get_type(void) G_GNUC_CONST; 00111 GtkTextTag* gtk_embedded_tag_new(const gchar *name, const gchar *outside, 00112 const gchar *inside); 00113 00114 gboolean gtk_source_compile_regex (const gchar *pattern, Regex *regex); 00115 00116 G_END_DECLS 00117 00118 #endif

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