gtksourcetag.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
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 Tue Aug 17 12:39:50 2004 for vdk 2.4.0 by
1.3.7