gtksourceview2 0.90.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +57 -0
- data/README +29 -0
- data/Rakefile +14 -0
- data/ext/gtksourceview2/Makefile +162 -0
- data/ext/gtksourceview2/depend +5 -0
- data/ext/gtksourceview2/extconf.rb +73 -0
- data/ext/gtksourceview2/gtksourceview2.def +2 -0
- data/ext/gtksourceview2/gtksourceview2.so +0 -0
- data/ext/gtksourceview2/rbgtksourcebuffer.c +401 -0
- data/ext/gtksourceview2/rbgtksourcebuffer.o +0 -0
- data/ext/gtksourceview2/rbgtksourceiter.c +110 -0
- data/ext/gtksourceview2/rbgtksourceiter.o +0 -0
- data/ext/gtksourceview2/rbgtksourcelanguage.c +126 -0
- data/ext/gtksourceview2/rbgtksourcelanguage.o +0 -0
- data/ext/gtksourceview2/rbgtksourcelanguagemanager.c +188 -0
- data/ext/gtksourceview2/rbgtksourcelanguagemanager.o +0 -0
- data/ext/gtksourceview2/rbgtksourcemain.c +38 -0
- data/ext/gtksourceview2/rbgtksourcemain.h +32 -0
- data/ext/gtksourceview2/rbgtksourcemain.o +0 -0
- data/ext/gtksourceview2/rbgtksourcemark.c +90 -0
- data/ext/gtksourceview2/rbgtksourcemark.o +0 -0
- data/ext/gtksourceview2/rbgtksourceprintcompositor.c +249 -0
- data/ext/gtksourceview2/rbgtksourceprintcompositor.o +0 -0
- data/ext/gtksourceview2/rbgtksourcestyle.c +48 -0
- data/ext/gtksourceview2/rbgtksourcestyle.o +0 -0
- data/ext/gtksourceview2/rbgtksourcestylescheme.c +71 -0
- data/ext/gtksourceview2/rbgtksourcestylescheme.o +0 -0
- data/ext/gtksourceview2/rbgtksourcestyleschememanager.c +211 -0
- data/ext/gtksourceview2/rbgtksourcestyleschememanager.o +0 -0
- data/ext/gtksourceview2/rbgtksourceview.c +239 -0
- data/ext/gtksourceview2/rbgtksourceview.o +0 -0
- data/ext/gtksourceview2/rbgtksourceview2version.h +25 -0
- data/ext/gtksourceview2/ruby-gtksourceview2.pc +3 -0
- data/extconf.rb +49 -0
- data/lib/gtksourceview2.rb +2 -0
- data/sample/sourcelanguagemanager.rb +21 -0
- data/sample/test.rb +32 -0
- data/test/run-test.rb +33 -0
- data/test/test_source_view.rb +17 -0
- metadata +122 -0
@@ -0,0 +1,71 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtksourcestylescheme.c -
|
5
|
+
|
6
|
+
$Author: mutoh $
|
7
|
+
$Date: 2005/10/02 18:40:34 $
|
8
|
+
|
9
|
+
Copyright (C) 2005 Masao Mutoh
|
10
|
+
************************************************/
|
11
|
+
#include "rbgtksourcemain.h"
|
12
|
+
|
13
|
+
/* Module: Gtk::SourceStyleScheme
|
14
|
+
*/
|
15
|
+
|
16
|
+
#define _SELF(self) (GTK_SOURCE_STYLE_SCHEME(RVAL2GOBJ(self)))
|
17
|
+
|
18
|
+
/* Defined as properties.
|
19
|
+
const gchar* gtk_source_style_scheme_get_id (GtkSourceStyleScheme *scheme);
|
20
|
+
const gchar* gtk_source_style_scheme_get_name (GtkSourceStyleScheme *scheme);
|
21
|
+
const gchar* gtk_source_style_scheme_get_description
|
22
|
+
(GtkSourceStyleScheme *scheme);
|
23
|
+
const gchar* gtk_source_style_scheme_get_filename
|
24
|
+
(GtkSourceStyleScheme *scheme);
|
25
|
+
*/
|
26
|
+
|
27
|
+
/* Method: authors
|
28
|
+
*
|
29
|
+
* Returns: a list of authors for the given style scheme.
|
30
|
+
*/
|
31
|
+
static VALUE
|
32
|
+
scheme_get_authors (self)
|
33
|
+
VALUE self;
|
34
|
+
{
|
35
|
+
VALUE ary;
|
36
|
+
const gchar * const * authors =
|
37
|
+
gtk_source_style_scheme_get_authors (_SELF (self));
|
38
|
+
if (!authors)
|
39
|
+
return Qnil;
|
40
|
+
|
41
|
+
ary = rb_ary_new();
|
42
|
+
while (*authors){
|
43
|
+
rb_ary_push(ary, CSTR2RVAL(*authors));
|
44
|
+
authors++;
|
45
|
+
}
|
46
|
+
return ary;
|
47
|
+
}
|
48
|
+
|
49
|
+
/* Method: get_style(style_id)
|
50
|
+
* style_name: the name of a style.
|
51
|
+
*
|
52
|
+
* Gets the tag associated with the given style_name in the style scheme.
|
53
|
+
*
|
54
|
+
* Returns: Gtk::SourceStyle
|
55
|
+
*/
|
56
|
+
static VALUE
|
57
|
+
scheme_get_style(self, style_name)
|
58
|
+
VALUE self, style_name;
|
59
|
+
{
|
60
|
+
return GOBJ2RVAL(gtk_source_style_scheme_get_style(_SELF(self),
|
61
|
+
RVAL2CSTR(style_name)));
|
62
|
+
}
|
63
|
+
|
64
|
+
void
|
65
|
+
Init_gtk_sourcestylescheme ()
|
66
|
+
{
|
67
|
+
VALUE scheme = G_DEF_CLASS (GTK_TYPE_SOURCE_STYLE_SCHEME, "SourceStyleScheme", mGtk);
|
68
|
+
|
69
|
+
rb_define_method(scheme, "authors", scheme_get_authors, 0);
|
70
|
+
rb_define_method(scheme, "get_style", scheme_get_style, 1);
|
71
|
+
}
|
Binary file
|
@@ -0,0 +1,211 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtksourcestyleschememanager.c -
|
5
|
+
|
6
|
+
$Author $
|
7
|
+
$Date: 2004/08/05 18:13:49 $
|
8
|
+
|
9
|
+
Copyright (C) 2004 Ruby-GNOME2 Project Team
|
10
|
+
Copyright (C) 2003 Geoff Youngs, based on gtktextview.c by Masao Mutoh
|
11
|
+
************************************************/
|
12
|
+
#include "rbgtksourcemain.h"
|
13
|
+
|
14
|
+
/* Class: Gtk::SourceStyleSchemeManager
|
15
|
+
* A class to manage source style scheme.
|
16
|
+
*/
|
17
|
+
|
18
|
+
#define _SELF(self) (GTK_SOURCE_STYLE_SCHEME_MANAGER(RVAL2GOBJ(self)))
|
19
|
+
|
20
|
+
/* Class method: new
|
21
|
+
* Returns: a newly created Gtk::SourceStyleSchemeManager object.
|
22
|
+
*/
|
23
|
+
static VALUE
|
24
|
+
sssm_new (self)
|
25
|
+
VALUE self;
|
26
|
+
{
|
27
|
+
G_INITIALIZE (self, gtk_source_style_scheme_manager_new ());
|
28
|
+
return Qnil;
|
29
|
+
}
|
30
|
+
|
31
|
+
/* Class method: default
|
32
|
+
*
|
33
|
+
* Gets the default style scheme manager.
|
34
|
+
*
|
35
|
+
* Returns: a Gtk::SourceStyleSchemeManager
|
36
|
+
*/
|
37
|
+
static VALUE
|
38
|
+
sssm_get_default(self)
|
39
|
+
VALUE self;
|
40
|
+
{
|
41
|
+
GtkSourceStyleSchemeManager* sssm = gtk_source_style_scheme_manager_get_default();
|
42
|
+
GType gtype = G_TYPE_FROM_INSTANCE(sssm);
|
43
|
+
|
44
|
+
gchar *gtypename = (gchar *) g_type_name (gtype);
|
45
|
+
if (strncmp (gtypename, "Gtk", 3) == 0)
|
46
|
+
gtypename += 3;
|
47
|
+
if (!rb_const_defined_at (mGtk, rb_intern (gtypename)))
|
48
|
+
G_DEF_CLASS (gtype, gtypename, mGtk);
|
49
|
+
|
50
|
+
return GOBJ2RVAL(sssm);
|
51
|
+
}
|
52
|
+
|
53
|
+
/* Method: set_search_path(dirs)
|
54
|
+
* dirs: style scheme file directory path
|
55
|
+
*
|
56
|
+
* Sets the style scheme files directories for the given style scheme manager.
|
57
|
+
*
|
58
|
+
* Returns: self.
|
59
|
+
*/
|
60
|
+
static VALUE
|
61
|
+
sssm_set_search_path (self, dirs)
|
62
|
+
VALUE self, dirs;
|
63
|
+
{
|
64
|
+
gchar** gdirs = (gchar**)NULL;
|
65
|
+
gint i;
|
66
|
+
|
67
|
+
if (! NIL_P(dirs)){
|
68
|
+
Check_Type(dirs, T_ARRAY);
|
69
|
+
i = RARRAY_LEN(dirs);
|
70
|
+
gdirs = ALLOCA_N(gchar*, i + 1);
|
71
|
+
for (i = 0; i < i; i++) {
|
72
|
+
if (TYPE(RARRAY_PTR(dirs)[i]) == T_STRING) {
|
73
|
+
gdirs[i] = RVAL2CSTR(RARRAY_PTR(dirs)[i]);
|
74
|
+
}
|
75
|
+
else {
|
76
|
+
gdirs[i] = "";
|
77
|
+
}
|
78
|
+
}
|
79
|
+
gdirs[i] = (gchar*)NULL;
|
80
|
+
}
|
81
|
+
|
82
|
+
gtk_source_style_scheme_manager_set_search_path (_SELF (self), gdirs);
|
83
|
+
return self;
|
84
|
+
}
|
85
|
+
|
86
|
+
/* Method: append_search_path(path)
|
87
|
+
* path: additional style scheme file directory path (string)
|
88
|
+
*
|
89
|
+
* Appends the style scheme files directory for the given style scheme manager.
|
90
|
+
*
|
91
|
+
* Returns: self.
|
92
|
+
*/
|
93
|
+
static VALUE
|
94
|
+
sssm_append_search_path (self, path)
|
95
|
+
VALUE self, path;
|
96
|
+
{
|
97
|
+
gtk_source_style_scheme_manager_append_search_path (_SELF (self), RVAL2CSTR(path));
|
98
|
+
return self;
|
99
|
+
}
|
100
|
+
|
101
|
+
/* Method: prepend_search_path(path)
|
102
|
+
* path: additional style scheme file directory path (string)
|
103
|
+
*
|
104
|
+
* Prepend the style scheme files directory for the given style scheme manager.
|
105
|
+
*
|
106
|
+
* Returns: self.
|
107
|
+
*/
|
108
|
+
static VALUE
|
109
|
+
sssm_prepend_search_path (self, path)
|
110
|
+
VALUE self, path;
|
111
|
+
{
|
112
|
+
gtk_source_style_scheme_manager_prepend_search_path (_SELF (self), RVAL2CSTR(path));
|
113
|
+
return self;
|
114
|
+
}
|
115
|
+
|
116
|
+
/* Method: get_search_path
|
117
|
+
* Returns: a list of style scheme files directories (strings) for the given
|
118
|
+
* style scheme manager.
|
119
|
+
*/
|
120
|
+
static VALUE
|
121
|
+
sssm_get_search_path (self)
|
122
|
+
VALUE self;
|
123
|
+
{
|
124
|
+
VALUE ary;
|
125
|
+
const gchar * const * dirs =
|
126
|
+
gtk_source_style_scheme_manager_get_search_path (_SELF (self));
|
127
|
+
if (!dirs)
|
128
|
+
return Qnil;
|
129
|
+
|
130
|
+
ary = rb_ary_new();
|
131
|
+
while (*dirs){
|
132
|
+
rb_ary_push(ary, CSTR2RVAL(*dirs));
|
133
|
+
dirs++;
|
134
|
+
}
|
135
|
+
return ary;
|
136
|
+
}
|
137
|
+
|
138
|
+
/* Method: scheme_ids
|
139
|
+
* Returns: a list of style scheme ids for the given style scheme manager
|
140
|
+
*/
|
141
|
+
static VALUE
|
142
|
+
sssm_get_scheme_ids (self)
|
143
|
+
VALUE self;
|
144
|
+
{
|
145
|
+
VALUE ary;
|
146
|
+
const gchar * const * ids =
|
147
|
+
gtk_source_style_scheme_manager_get_scheme_ids (_SELF (self));
|
148
|
+
if (!ids)
|
149
|
+
return Qnil;
|
150
|
+
|
151
|
+
ary = rb_ary_new();
|
152
|
+
while (*ids){
|
153
|
+
rb_ary_push(ary, CSTR2RVAL(*ids));
|
154
|
+
ids++;
|
155
|
+
}
|
156
|
+
return ary;
|
157
|
+
}
|
158
|
+
|
159
|
+
/*
|
160
|
+
* Method: scheme(scheme_id)
|
161
|
+
* scheme_id: a style scheme id (as a string).
|
162
|
+
*
|
163
|
+
* Gets the Gtk::SourceStyleScheme which is associated with the given id
|
164
|
+
* in the style scheme manager.
|
165
|
+
*
|
166
|
+
* Returns: a Gtk::SourceStyleScheme, or nil if there is no style scheme
|
167
|
+
* associated with the given id.
|
168
|
+
*/
|
169
|
+
static VALUE
|
170
|
+
sssm_get_scheme (self, scheme_id)
|
171
|
+
VALUE self, scheme_id;
|
172
|
+
{
|
173
|
+
return
|
174
|
+
GOBJ2RVAL (gtk_source_style_scheme_manager_get_scheme
|
175
|
+
(_SELF (self), RVAL2CSTR (scheme_id)));
|
176
|
+
}
|
177
|
+
|
178
|
+
/*
|
179
|
+
* Method: force_rescan
|
180
|
+
*
|
181
|
+
* Forces all style schemes to be reloaded the next time the
|
182
|
+
* Gtk::SourceStyleSchemeManager is accessed.
|
183
|
+
*
|
184
|
+
* Returns: self.
|
185
|
+
*/
|
186
|
+
static VALUE
|
187
|
+
sssm_force_rescan (self)
|
188
|
+
VALUE self;
|
189
|
+
{
|
190
|
+
gtk_source_style_scheme_manager_force_rescan(_SELF (self));
|
191
|
+
return self;
|
192
|
+
}
|
193
|
+
|
194
|
+
void
|
195
|
+
Init_gtk_sourcestyleschememanager ()
|
196
|
+
{
|
197
|
+
VALUE csssm =
|
198
|
+
G_DEF_CLASS (GTK_TYPE_SOURCE_STYLE_SCHEME_MANAGER,
|
199
|
+
"SourceStyleSchemeManager", mGtk);
|
200
|
+
|
201
|
+
rb_define_method (csssm, "initialize", sssm_new, 0);
|
202
|
+
rb_define_method (csssm, "set_search_path", sssm_set_search_path, 1);
|
203
|
+
rb_define_method (csssm, "append_search_path", sssm_append_search_path, 1);
|
204
|
+
rb_define_method (csssm, "prepend_search_path", sssm_prepend_search_path, 1);
|
205
|
+
rb_define_method (csssm, "search_path", sssm_get_search_path, 0);
|
206
|
+
rb_define_method (csssm, "scheme_ids", sssm_get_scheme_ids, 0);
|
207
|
+
rb_define_method (csssm, "get_scheme", sssm_get_scheme, 1);
|
208
|
+
rb_define_method (csssm, "force_rescan", sssm_force_rescan, 0);
|
209
|
+
rb_define_singleton_method(csssm, "default", sssm_get_default, 0);
|
210
|
+
G_DEF_SETTERS (csssm);
|
211
|
+
}
|
Binary file
|
@@ -0,0 +1,239 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtksourceview.c -
|
5
|
+
|
6
|
+
$Author: mutoh $
|
7
|
+
$Date: 2006/12/17 16:15:28 $
|
8
|
+
|
9
|
+
Copyright (C) 2004,2005 Ruby-GNOME2 Project Team
|
10
|
+
Copyright (C) 2003 Geoff Youngs, based on gtktextview.c by Masao Mutoh
|
11
|
+
************************************************/
|
12
|
+
#include "rbgtksourcemain.h"
|
13
|
+
|
14
|
+
/* Class: Gtk::SourceView
|
15
|
+
* A view on a source.
|
16
|
+
*/
|
17
|
+
#define _SELF(self) (GTK_SOURCE_VIEW(RVAL2GOBJ(self)))
|
18
|
+
|
19
|
+
/*
|
20
|
+
* Class method: new(buffer=nil)
|
21
|
+
* buffer: a Gtk::SourceBuffer object.
|
22
|
+
*
|
23
|
+
* Creates a new Gtk::SourceView. If buffer is not provided or nil, an empty
|
24
|
+
* buffer will be created for you. Note that one buffer can be shared among
|
25
|
+
* many widgets.
|
26
|
+
*
|
27
|
+
* Returns: a newly created Gtk::SourceView object.
|
28
|
+
*/
|
29
|
+
static VALUE
|
30
|
+
sourceview_initialize(int argc, VALUE *argv, VALUE self)
|
31
|
+
{
|
32
|
+
VALUE buffer;
|
33
|
+
GtkWidget *widget;
|
34
|
+
|
35
|
+
rb_scan_args(argc, argv, "01", &buffer);
|
36
|
+
|
37
|
+
if (NIL_P(buffer))
|
38
|
+
widget = gtk_source_view_new();
|
39
|
+
else
|
40
|
+
widget = gtk_source_view_new_with_buffer(RVAL2GOBJ(buffer));
|
41
|
+
|
42
|
+
RBGTK_INITIALIZE(self, widget);
|
43
|
+
return self;
|
44
|
+
}
|
45
|
+
|
46
|
+
/* Defined as properties.
|
47
|
+
void gtk_source_view_set_auto_indent (GtkSourceView *view,
|
48
|
+
gboolean enable)
|
49
|
+
gboolean gtk_source_view_get_auto_indent (GtkSourceView *view)
|
50
|
+
void gtk_source_view_set_indent_on_tab (GtkSourceView *view,
|
51
|
+
gboolean enable)
|
52
|
+
gboolean gtk_source_view_get_indent_on_tab (GtkSourceView *view)
|
53
|
+
void gtk_source_view_set_indent_width (GtkSourceView *view,
|
54
|
+
gint width)
|
55
|
+
gint gtk_source_view_get_indent_width (GtkSourceView *view)
|
56
|
+
void gtk_source_view_set_insert_spaces_instead_of_tabs
|
57
|
+
(GtkSourceView *view,
|
58
|
+
gboolean enable)
|
59
|
+
gboolean gtk_source_view_get_insert_spaces_instead_of_tabs
|
60
|
+
(GtkSourceView *view)
|
61
|
+
void gtk_source_view_set_smart_home_end (GtkSourceView *view,
|
62
|
+
GtkSourceSmartHomeEndType smart_he)
|
63
|
+
GtkSourceSmartHomeEndType gtk_source_view_get_smart_home_end
|
64
|
+
(GtkSourceView *view)
|
65
|
+
*/
|
66
|
+
|
67
|
+
#ifdef HAVE_GTK_SOURCE_MARK_GET_TYPE
|
68
|
+
/*
|
69
|
+
* Method: set_mark_category_pixbuf(category, pixbuf)
|
70
|
+
* category: a category (as a string).
|
71
|
+
* pixbuf: a Gdk::Pixbuf object.
|
72
|
+
*
|
73
|
+
* Associates a given pixbuf with a given category.
|
74
|
+
*
|
75
|
+
* Returns: self.
|
76
|
+
*/
|
77
|
+
static VALUE
|
78
|
+
sourceview_set_mark_category_pixbuf(VALUE self, VALUE category, VALUE pixbuf)
|
79
|
+
{
|
80
|
+
gtk_source_view_set_mark_category_pixbuf(_SELF(self),
|
81
|
+
RVAL2CSTR(category),
|
82
|
+
GDK_PIXBUF(RVAL2GOBJ(pixbuf)));
|
83
|
+
return self;
|
84
|
+
}
|
85
|
+
|
86
|
+
/*
|
87
|
+
* Method: get_mark_category_pixbuf(category)
|
88
|
+
* category: a category (as a string).
|
89
|
+
*
|
90
|
+
* Gets the pixbuf which is associated with the given category.
|
91
|
+
*
|
92
|
+
* Returns: a Gdk::Pixbuf object if found, or nil if not found.
|
93
|
+
*/
|
94
|
+
static VALUE
|
95
|
+
sourceview_get_mark_category_pixbuf(VALUE self, VALUE category)
|
96
|
+
{
|
97
|
+
GdkPixbuf *pixbuf;
|
98
|
+
|
99
|
+
pixbuf = gtk_source_view_get_mark_category_pixbuf(_SELF(self),
|
100
|
+
RVAL2CSTR(category));
|
101
|
+
return GOBJ2RVAL(pixbuf);
|
102
|
+
}
|
103
|
+
|
104
|
+
/*
|
105
|
+
* Method: set_mark_category_priority(category, priority)
|
106
|
+
* category: a category (as a string).
|
107
|
+
* priority: a priority (int).
|
108
|
+
*
|
109
|
+
* Associates a given priority with a given category.
|
110
|
+
*
|
111
|
+
* Returns: self.
|
112
|
+
*/
|
113
|
+
static VALUE
|
114
|
+
sourceview_set_mark_category_priority(VALUE self, VALUE category, VALUE priority)
|
115
|
+
{
|
116
|
+
gtk_source_view_set_mark_category_priority(_SELF (self),
|
117
|
+
RVAL2CSTR(category),
|
118
|
+
NUM2INT(priority));
|
119
|
+
return self;
|
120
|
+
}
|
121
|
+
|
122
|
+
/*
|
123
|
+
* Method: get_mark_category_priority(category)
|
124
|
+
* category: a category (as a string).
|
125
|
+
*
|
126
|
+
* Gets the priority which is associated with the given category.
|
127
|
+
*
|
128
|
+
* Returns: the priority if found, or 0 if not found.
|
129
|
+
*/
|
130
|
+
static VALUE
|
131
|
+
sourceview_get_mark_category_priority(VALUE self, VALUE category)
|
132
|
+
{
|
133
|
+
gint priority;
|
134
|
+
|
135
|
+
priority = gtk_source_view_get_mark_category_priority(_SELF(self),
|
136
|
+
RVAL2CSTR(category));
|
137
|
+
return INT2NUM(priority);
|
138
|
+
}
|
139
|
+
#endif /* HAVE_GTK_SOURCE_MARK_GET_TYPE */
|
140
|
+
|
141
|
+
#ifdef HAVE_GTK_SOURCE_VIEW_GET_MARK_CATEGORY_BACKGROUND
|
142
|
+
/*
|
143
|
+
* Method: get_mark_category_background(category)
|
144
|
+
* category: a category (as a string).
|
145
|
+
*
|
146
|
+
* Gets the background color which is associated with the given category.
|
147
|
+
*
|
148
|
+
* Returns: a Gdk::Color object if found, or nil if not found.
|
149
|
+
*/
|
150
|
+
static VALUE
|
151
|
+
sourceview_get_mark_category_background(VALUE self, VALUE category)
|
152
|
+
{
|
153
|
+
GdkColor color;
|
154
|
+
gtk_source_view_get_mark_category_background(_SELF (self),
|
155
|
+
RVAL2CSTR(category),
|
156
|
+
&color);
|
157
|
+
return GDKCOLOR2RVAL(&color);
|
158
|
+
}
|
159
|
+
|
160
|
+
/*
|
161
|
+
* Method: set_mark_category_background(category, color)
|
162
|
+
* category: a category (as a string).
|
163
|
+
* color: a Gdk::Color.
|
164
|
+
*
|
165
|
+
* Sets given background color for mark category. If color is NULL,
|
166
|
+
* the background color is unset.
|
167
|
+
*
|
168
|
+
* Returns: self.
|
169
|
+
*/
|
170
|
+
static VALUE
|
171
|
+
sourceview_set_mark_category_background(VALUE self, VALUE category, VALUE color)
|
172
|
+
{
|
173
|
+
gtk_source_view_set_mark_category_background(_SELF (self),
|
174
|
+
RVAL2CSTR (category),
|
175
|
+
RVAL2GDKCOLOR((color)));
|
176
|
+
return self;
|
177
|
+
}
|
178
|
+
# endif /* HAVE_GTK_SOURCE_VIEW_GET_MARK_CATEGORY_BACKGROUND */
|
179
|
+
|
180
|
+
/* Defined as properties.
|
181
|
+
void gtk_source_view_set_highlight_current_line
|
182
|
+
(GtkSourceView *view,
|
183
|
+
gboolean show)
|
184
|
+
gboolean gtk_source_view_get_highlight_current_line
|
185
|
+
(GtkSourceView *view)
|
186
|
+
void gtk_source_view_set_show_line_marks (GtkSourceView *view,
|
187
|
+
gboolean show);
|
188
|
+
gboolean gtk_source_view_get_show_line_marks (GtkSourceView *view)
|
189
|
+
void gtk_source_view_set_show_line_numbers
|
190
|
+
(GtkSourceView *view,
|
191
|
+
gboolean show)
|
192
|
+
gboolean gtk_source_view_get_show_line_numbers
|
193
|
+
(GtkSourceView *view)
|
194
|
+
void gtk_source_view_set_show_right_margin
|
195
|
+
(GtkSourceView *view,
|
196
|
+
gboolean show)
|
197
|
+
gboolean gtk_source_view_get_show_right_margin
|
198
|
+
(GtkSourceView *view)
|
199
|
+
void gtk_source_view_set_right_margin_position
|
200
|
+
(GtkSourceView *view,
|
201
|
+
guint pos)
|
202
|
+
guint gtk_source_view_get_right_margin_position
|
203
|
+
(GtkSourceView *view)
|
204
|
+
void gtk_source_view_set_tab_width (GtkSourceView *view,
|
205
|
+
guint width)
|
206
|
+
guint gtk_source_view_get_tab_width (GtkSourceView *view)
|
207
|
+
*/
|
208
|
+
|
209
|
+
void
|
210
|
+
Init_gtk_sourceview ()
|
211
|
+
{
|
212
|
+
VALUE cSourceView = G_DEF_CLASS (GTK_TYPE_SOURCE_VIEW, "SourceView", mGtk);
|
213
|
+
|
214
|
+
rb_define_const(cSourceView, "BUILD_VERSION",
|
215
|
+
rb_ary_new3(3,
|
216
|
+
INT2FIX(GTKSOURCEVIEW2_MAJOR_VERSION),
|
217
|
+
INT2FIX(GTKSOURCEVIEW2_MINOR_VERSION),
|
218
|
+
INT2FIX(GTKSOURCEVIEW2_MICRO_VERSION)));
|
219
|
+
|
220
|
+
rb_define_method(cSourceView, "initialize", sourceview_initialize, -1);
|
221
|
+
#ifdef HAVE_GTK_SOURCE_MARK_GET_TYPE
|
222
|
+
rb_define_method(cSourceView, "get_mark_category_pixbuf", sourceview_get_mark_category_pixbuf, 1);
|
223
|
+
rb_define_method(cSourceView, "set_mark_category_pixbuf", sourceview_set_mark_category_pixbuf, 2);
|
224
|
+
rb_define_method(cSourceView, "get_mark_category_priority", sourceview_get_mark_category_priority, 1);
|
225
|
+
rb_define_method(cSourceView, "set_mark_category_priority", sourceview_set_mark_category_priority, 2);
|
226
|
+
#endif
|
227
|
+
#ifdef HAVE_GTK_SOURCE_VIEW_GET_MARK_CATEGORY_BACKGROUND
|
228
|
+
rb_define_method(cSourceView, "get_mark_category_background", sourceview_get_mark_category_background, 1);
|
229
|
+
rb_define_method(cSourceView, "set_mark_category_background", sourceview_set_mark_category_background, 2);
|
230
|
+
#endif
|
231
|
+
G_DEF_SETTERS (cSourceView);
|
232
|
+
|
233
|
+
G_DEF_CLASS(GTK_TYPE_SOURCE_SMART_HOME_END_TYPE, "SmartHomeEndType", cSourceView);
|
234
|
+
G_DEF_CONSTANTS(cSourceView, GTK_TYPE_SOURCE_SMART_HOME_END_TYPE, "GTK_SOURCE_");
|
235
|
+
#ifdef HAVE_GTK_SOURCE_VIEW_GET_MARK_CATEGORY_BACKGROUND
|
236
|
+
G_DEF_CLASS(GTK_TYPE_SOURCE_DRAW_SPACES_FLAGS, "DrawSpacesFlags", cSourceView);
|
237
|
+
G_DEF_CONSTANTS(cSourceView, GTK_TYPE_SOURCE_DRAW_SPACES_FLAGS, "GTK_SOURCE_");
|
238
|
+
#endif
|
239
|
+
}
|
Binary file
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtksourceview2version.h -
|
5
|
+
|
6
|
+
This file was generated by mkmf-gnome2.rb.
|
7
|
+
|
8
|
+
************************************************/
|
9
|
+
|
10
|
+
#ifndef __RBGTKSOURCEVIEW2_VERSION_H__
|
11
|
+
#define __RBGTKSOURCEVIEW2_VERSION_H__
|
12
|
+
|
13
|
+
#define GTKSOURCEVIEW2_MAJOR_VERSION (2)
|
14
|
+
#define GTKSOURCEVIEW2_MINOR_VERSION (0)
|
15
|
+
#define GTKSOURCEVIEW2_MICRO_VERSION (0)
|
16
|
+
#define GTKSOURCEVIEW2_TAG_VERSION (b7)
|
17
|
+
|
18
|
+
#define GTKSOURCEVIEW2_CHECK_VERSION(major,minor,micro) \
|
19
|
+
(GTKSOURCEVIEW2_MAJOR_VERSION > (major) || \
|
20
|
+
(GTKSOURCEVIEW2_MAJOR_VERSION == (major) && GTKSOURCEVIEW2_MINOR_VERSION > (minor)) || \
|
21
|
+
(GTKSOURCEVIEW2_MAJOR_VERSION == (major) && GTKSOURCEVIEW2_MINOR_VERSION == (minor) && \
|
22
|
+
GTKSOURCEVIEW2_MICRO_VERSION >= (micro)))
|
23
|
+
|
24
|
+
|
25
|
+
#endif /* __RBGTKSOURCEVIEW2_VERSION_H__ */
|
data/extconf.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'pathname'
|
4
|
+
require 'mkmf'
|
5
|
+
require 'rbconfig'
|
6
|
+
require 'fileutils'
|
7
|
+
|
8
|
+
package = "gtksourceview2"
|
9
|
+
|
10
|
+
base_dir = Pathname(__FILE__).dirname.expand_path
|
11
|
+
ext_dir = base_dir + "ext" + package
|
12
|
+
mkmf_gnome2_dir = base_dir + 'lib'
|
13
|
+
|
14
|
+
ruby = File.join(RbConfig::CONFIG['bindir'],
|
15
|
+
RbConfig::CONFIG['ruby_install_name'] +
|
16
|
+
RbConfig::CONFIG["EXEEXT"])
|
17
|
+
|
18
|
+
build_dir = Pathname("ext") + package
|
19
|
+
FileUtils.mkdir_p(build_dir.to_s) unless build_dir.exist?
|
20
|
+
extconf_rb_path = ext_dir + "extconf.rb"
|
21
|
+
system(ruby, "-C", build_dir.to_s, extconf_rb_path.to_s, *ARGV) || exit(false)
|
22
|
+
|
23
|
+
create_makefile(package)
|
24
|
+
FileUtils.mv("Makefile", "Makefile.lib")
|
25
|
+
|
26
|
+
File.open("Makefile", "w") do |makefile|
|
27
|
+
makefile.puts(<<-EOM)
|
28
|
+
all:
|
29
|
+
(cd ext/#{package} && $(MAKE))
|
30
|
+
$(MAKE) -f Makefile.lib
|
31
|
+
|
32
|
+
install:
|
33
|
+
(cd ext/#{package} && $(MAKE) install)
|
34
|
+
$(MAKE) -f Makefile.lib install
|
35
|
+
|
36
|
+
site-install:
|
37
|
+
(cd ext/#{package} && $(MAKE) site-install)
|
38
|
+
$(MAKE) -f Makefile.lib site-install
|
39
|
+
|
40
|
+
clean:
|
41
|
+
(cd ext/#{package} && $(MAKE) clean)
|
42
|
+
$(MAKE) -f Makefile.lib clean
|
43
|
+
|
44
|
+
distclean:
|
45
|
+
(cd ext/#{package} && $(MAKE) distclean)
|
46
|
+
$(MAKE) -f Makefile.lib distclean
|
47
|
+
@rm -f Makefile.lib
|
48
|
+
EOM
|
49
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
=begin
|
3
|
+
sourcelanguagesmanager.rb - Ruby/GtkSourceView sample script.
|
4
|
+
|
5
|
+
Copyright (c) 2006 Ruby-GNOME2 Project Team
|
6
|
+
This program is licenced under the same licence as Ruby-GNOME2.
|
7
|
+
|
8
|
+
$Id: sourcelanguagesmanager.rb,v 1.3 2007/06/03 02:11:07 mutoh Exp $
|
9
|
+
=end
|
10
|
+
|
11
|
+
require 'gtksourceview2'
|
12
|
+
|
13
|
+
s = Gtk::SourceLanguageManager.new
|
14
|
+
s.language_ids.each do |v|
|
15
|
+
puts v
|
16
|
+
end
|
17
|
+
s.search_path.each do |v|
|
18
|
+
puts v
|
19
|
+
end
|
20
|
+
puts s.get_language("html").name
|
21
|
+
|
data/sample/test.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
=begin
|
3
|
+
test.rb - Ruby/GtkSourceView2 sample script.
|
4
|
+
|
5
|
+
Copyright (c) 2006 Ruby-GNOME2 Project Team
|
6
|
+
This program is licenced under the same licence as Ruby-GNOME2.
|
7
|
+
|
8
|
+
$Id: test.rb,v 1.4 2007/06/03 02:11:07 mutoh Exp $
|
9
|
+
=end
|
10
|
+
|
11
|
+
require 'gtksourceview2'
|
12
|
+
|
13
|
+
w = Gtk::Window.new
|
14
|
+
w.signal_connect("delete-event"){Gtk::main_quit}
|
15
|
+
|
16
|
+
view = Gtk::SourceView.new
|
17
|
+
w.add(Gtk::ScrolledWindow.new.add(view))
|
18
|
+
view.show_line_numbers = true
|
19
|
+
view.insert_spaces_instead_of_tabs = true
|
20
|
+
view.indent_width = 4
|
21
|
+
view.show_right_margin = true
|
22
|
+
view.right_margin_position = 80
|
23
|
+
|
24
|
+
lang = Gtk::SourceLanguageManager.new.get_language('ruby')
|
25
|
+
view.buffer.language = lang
|
26
|
+
view.buffer.highlight_syntax = true
|
27
|
+
view.buffer.highlight_matching_brackets = true
|
28
|
+
|
29
|
+
w.set_default_size(450,300)
|
30
|
+
w.show_all
|
31
|
+
|
32
|
+
Gtk.main
|
data/test/run-test.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
|
4
|
+
ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
|
5
|
+
|
6
|
+
glib_base = File.join(ruby_gnome2_base, "glib2")
|
7
|
+
atk_base = File.join(ruby_gnome2_base, "atk")
|
8
|
+
pango_base = File.join(ruby_gnome2_base, "pango")
|
9
|
+
gdk_pixbuf_base = File.join(ruby_gnome2_base, "gdk_pixbuf2")
|
10
|
+
gtk_base = File.join(ruby_gnome2_base, "gtk2")
|
11
|
+
gtk_source_view2_base = File.join(ruby_gnome2_base, "gtksourceview2")
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(glib_base)
|
14
|
+
require 'test/glib-test-init'
|
15
|
+
|
16
|
+
[glib_base, atk_base, pango_base, gdk_pixbuf_base, gtk_base,
|
17
|
+
gtk_source_view2_base].each do |target|
|
18
|
+
if system("which make > /dev/null")
|
19
|
+
`make -C #{target.dump} > /dev/null` or exit(1)
|
20
|
+
end
|
21
|
+
$LOAD_PATH.unshift(File.join(target, "ext", File.basename(target)))
|
22
|
+
$LOAD_PATH.unshift(File.join(target, "src"))
|
23
|
+
$LOAD_PATH.unshift(File.join(target, "src", "lib"))
|
24
|
+
$LOAD_PATH.unshift(File.join(target))
|
25
|
+
$LOAD_PATH.unshift(File.join(target, "lib"))
|
26
|
+
end
|
27
|
+
|
28
|
+
$LOAD_PATH.unshift(File.join(gtk_base, "test"))
|
29
|
+
require 'gtk-test-utils'
|
30
|
+
|
31
|
+
require 'gtksourceview2'
|
32
|
+
|
33
|
+
exit Test::Unit::AutoRunner.run(true)
|