gtk2 0.20.0

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.
Files changed (281) hide show
  1. data/ChangeLog +6664 -0
  2. data/README +33 -0
  3. data/Rakefile +71 -0
  4. data/extconf.rb +116 -0
  5. data/src/global.h +33 -0
  6. data/src/init.c +39 -0
  7. data/src/lib/gtk2.rb +13 -0
  8. data/src/lib/gtk2/base.rb +95 -0
  9. data/src/makeinits.rb +57 -0
  10. data/src/makekeysyms.rb +5 -0
  11. data/src/rbgdk.c +395 -0
  12. data/src/rbgdk.h +50 -0
  13. data/src/rbgdkatom.c +122 -0
  14. data/src/rbgdkcairo.c +100 -0
  15. data/src/rbgdkcolor.c +151 -0
  16. data/src/rbgdkcolormap.c +142 -0
  17. data/src/rbgdkconst.c +29 -0
  18. data/src/rbgdkconversions.h +18 -0
  19. data/src/rbgdkcursor.c +115 -0
  20. data/src/rbgdkdevice.c +235 -0
  21. data/src/rbgdkdisplay.c +634 -0
  22. data/src/rbgdkdisplaymanager.c +50 -0
  23. data/src/rbgdkdragcontext.c +280 -0
  24. data/src/rbgdkdraw.c +487 -0
  25. data/src/rbgdkevent.c +1020 -0
  26. data/src/rbgdkgc.c +456 -0
  27. data/src/rbgdkgeometry.c +272 -0
  28. data/src/rbgdkimage.c +155 -0
  29. data/src/rbgdkinput.c +70 -0
  30. data/src/rbgdkkeymap.c +153 -0
  31. data/src/rbgdkkeysyms.h +2174 -0
  32. data/src/rbgdkkeyval.c +105 -0
  33. data/src/rbgdkpango.c +171 -0
  34. data/src/rbgdkpangorenderer.c +132 -0
  35. data/src/rbgdkpixbuf.c +178 -0
  36. data/src/rbgdkpixmap.c +255 -0
  37. data/src/rbgdkproperty.c +342 -0
  38. data/src/rbgdkrectangle.c +146 -0
  39. data/src/rbgdkregion.c +242 -0
  40. data/src/rbgdkrgb.c +197 -0
  41. data/src/rbgdkscreen.c +535 -0
  42. data/src/rbgdkselection.c +161 -0
  43. data/src/rbgdkthreads.c +68 -0
  44. data/src/rbgdktimecoord.c +118 -0
  45. data/src/rbgdkvisual.c +273 -0
  46. data/src/rbgdkwindow.c +1302 -0
  47. data/src/rbgdkwindowattr.c +213 -0
  48. data/src/rbgdkx11.c +256 -0
  49. data/src/rbgtk.c +93 -0
  50. data/src/rbgtk.h +121 -0
  51. data/src/rbgtkaboutdialog.c +195 -0
  52. data/src/rbgtkaccelerator.c +78 -0
  53. data/src/rbgtkaccelgroup.c +216 -0
  54. data/src/rbgtkaccelgroupentry.c +85 -0
  55. data/src/rbgtkaccelkey.c +116 -0
  56. data/src/rbgtkaccellabel.c +46 -0
  57. data/src/rbgtkaccelmap.c +162 -0
  58. data/src/rbgtkaccessible.c +29 -0
  59. data/src/rbgtkaction.c +277 -0
  60. data/src/rbgtkactiongroup.c +377 -0
  61. data/src/rbgtkadjustment.c +153 -0
  62. data/src/rbgtkalignment.c +71 -0
  63. data/src/rbgtkallocation.c +171 -0
  64. data/src/rbgtkarrow.c +47 -0
  65. data/src/rbgtkaspectframe.c +46 -0
  66. data/src/rbgtkassistant.c +230 -0
  67. data/src/rbgtkbbox.c +47 -0
  68. data/src/rbgtkbin.c +31 -0
  69. data/src/rbgtkbindingset.c +192 -0
  70. data/src/rbgtkborder.c +80 -0
  71. data/src/rbgtkbox.c +142 -0
  72. data/src/rbgtkbuildable.c +115 -0
  73. data/src/rbgtkbuilder.c +154 -0
  74. data/src/rbgtkbutton.c +151 -0
  75. data/src/rbgtkcalendar.c +159 -0
  76. data/src/rbgtkcelleditable.c +49 -0
  77. data/src/rbgtkcelllayout.c +144 -0
  78. data/src/rbgtkcellrenderer.c +139 -0
  79. data/src/rbgtkcellrendereraccel.c +42 -0
  80. data/src/rbgtkcellrenderercombo.c +37 -0
  81. data/src/rbgtkcellrendererpixbuf.c +33 -0
  82. data/src/rbgtkcellrendererprogress.c +37 -0
  83. data/src/rbgtkcellrendererspin.c +38 -0
  84. data/src/rbgtkcellrenderertext.c +45 -0
  85. data/src/rbgtkcellrenderertoggle.c +32 -0
  86. data/src/rbgtkcellview.c +134 -0
  87. data/src/rbgtkcheckbutton.c +55 -0
  88. data/src/rbgtkcheckmenuitem.c +56 -0
  89. data/src/rbgtkclipboard.c +473 -0
  90. data/src/rbgtkcolorbutton.c +63 -0
  91. data/src/rbgtkcolorsel.c +175 -0
  92. data/src/rbgtkcolorselectiondialog.c +72 -0
  93. data/src/rbgtkcombo.c +117 -0
  94. data/src/rbgtkcombobox.c +240 -0
  95. data/src/rbgtkcomboboxentry.c +60 -0
  96. data/src/rbgtkconst.c +163 -0
  97. data/src/rbgtkcontainer.c +776 -0
  98. data/src/rbgtkconversions.h +26 -0
  99. data/src/rbgtkcurve.c +105 -0
  100. data/src/rbgtkdialog.c +244 -0
  101. data/src/rbgtkdrag.c +436 -0
  102. data/src/rbgtkdrawingarea.c +31 -0
  103. data/src/rbgtkeditable.c +152 -0
  104. data/src/rbgtkentry.c +161 -0
  105. data/src/rbgtkentrycompletion.c +167 -0
  106. data/src/rbgtkeventbox.c +31 -0
  107. data/src/rbgtkexpander.c +67 -0
  108. data/src/rbgtkfilechooser.c +403 -0
  109. data/src/rbgtkfilechooserbutton.c +72 -0
  110. data/src/rbgtkfilechooserdialog.c +58 -0
  111. data/src/rbgtkfilechooserwidget.c +50 -0
  112. data/src/rbgtkfilefilter.c +139 -0
  113. data/src/rbgtkfilesel.c +155 -0
  114. data/src/rbgtkfixed.c +72 -0
  115. data/src/rbgtkfontbutton.c +69 -0
  116. data/src/rbgtkfontselection.c +30 -0
  117. data/src/rbgtkfontselectiondialog.c +106 -0
  118. data/src/rbgtkframe.c +64 -0
  119. data/src/rbgtkgamma.c +47 -0
  120. data/src/rbgtkhandlebox.c +42 -0
  121. data/src/rbgtkhbbox.c +31 -0
  122. data/src/rbgtkhbox.c +38 -0
  123. data/src/rbgtkhpaned.c +31 -0
  124. data/src/rbgtkhruler.c +31 -0
  125. data/src/rbgtkhscale.c +45 -0
  126. data/src/rbgtkhscrollbar.c +38 -0
  127. data/src/rbgtkhseparator.c +30 -0
  128. data/src/rbgtkiconfactory.c +80 -0
  129. data/src/rbgtkiconinfo.c +118 -0
  130. data/src/rbgtkiconset.c +87 -0
  131. data/src/rbgtkiconsize.c +90 -0
  132. data/src/rbgtkiconsource.c +176 -0
  133. data/src/rbgtkicontheme.c +309 -0
  134. data/src/rbgtkiconview.c +351 -0
  135. data/src/rbgtkimage.c +152 -0
  136. data/src/rbgtkimagemenuitem.c +52 -0
  137. data/src/rbgtkimcontext.c +134 -0
  138. data/src/rbgtkimcontextsimple.c +48 -0
  139. data/src/rbgtkimmulticontext.c +38 -0
  140. data/src/rbgtkinits.c +473 -0
  141. data/src/rbgtkinputdialog.c +30 -0
  142. data/src/rbgtkinvisible.c +68 -0
  143. data/src/rbgtkitem.c +51 -0
  144. data/src/rbgtkitemfactory.c +312 -0
  145. data/src/rbgtklabel.c +168 -0
  146. data/src/rbgtklayout.c +91 -0
  147. data/src/rbgtklinkbutton.c +68 -0
  148. data/src/rbgtkliststore.c +412 -0
  149. data/src/rbgtkmacros.h +26 -0
  150. data/src/rbgtkmain.c +532 -0
  151. data/src/rbgtkmenu.c +272 -0
  152. data/src/rbgtkmenubar.c +48 -0
  153. data/src/rbgtkmenuitem.c +171 -0
  154. data/src/rbgtkmenushell.c +128 -0
  155. data/src/rbgtkmenutoolbutton.c +74 -0
  156. data/src/rbgtkmessagedialog.c +102 -0
  157. data/src/rbgtkmisc.c +63 -0
  158. data/src/rbgtknotebook.c +484 -0
  159. data/src/rbgtkobject.c +186 -0
  160. data/src/rbgtkoptionmenu.c +65 -0
  161. data/src/rbgtkpagesetup.c +196 -0
  162. data/src/rbgtkpagesetupunixdialog.c +80 -0
  163. data/src/rbgtkpaned.c +114 -0
  164. data/src/rbgtkpapersize.c +186 -0
  165. data/src/rbgtkplug.c +84 -0
  166. data/src/rbgtkprintcontext.c +124 -0
  167. data/src/rbgtkprinter.c +155 -0
  168. data/src/rbgtkprintjob.c +151 -0
  169. data/src/rbgtkprintoperation.c +152 -0
  170. data/src/rbgtkprintoperationpreview.c +54 -0
  171. data/src/rbgtkprintsettings.c +794 -0
  172. data/src/rbgtkprintunixdialog.c +98 -0
  173. data/src/rbgtkprogress.c +21 -0
  174. data/src/rbgtkprogressbar.c +72 -0
  175. data/src/rbgtkradioaction.c +102 -0
  176. data/src/rbgtkradiobutton.c +83 -0
  177. data/src/rbgtkradiomenuitem.c +115 -0
  178. data/src/rbgtkradiotoolbutton.c +99 -0
  179. data/src/rbgtkrange.c +98 -0
  180. data/src/rbgtkrc.c +228 -0
  181. data/src/rbgtkrcstyle.c +184 -0
  182. data/src/rbgtkrecentaction.c +52 -0
  183. data/src/rbgtkrecentchooser.c +276 -0
  184. data/src/rbgtkrecentchooserdialog.c +59 -0
  185. data/src/rbgtkrecentchoosermenu.c +55 -0
  186. data/src/rbgtkrecentchooserwidget.c +45 -0
  187. data/src/rbgtkrecentdata.c +152 -0
  188. data/src/rbgtkrecentfilter.c +180 -0
  189. data/src/rbgtkrecentfilterinfo.c +197 -0
  190. data/src/rbgtkrecentinfo.c +232 -0
  191. data/src/rbgtkrecentmanager.c +164 -0
  192. data/src/rbgtkruler.c +82 -0
  193. data/src/rbgtkscale.c +47 -0
  194. data/src/rbgtkscalebutton.c +115 -0
  195. data/src/rbgtkscrollbar.c +21 -0
  196. data/src/rbgtkscrolledwindow.c +160 -0
  197. data/src/rbgtkselection.c +171 -0
  198. data/src/rbgtkselectiondata.c +333 -0
  199. data/src/rbgtkseparator.c +21 -0
  200. data/src/rbgtkseparatormenuitem.c +28 -0
  201. data/src/rbgtkseparatortoolitem.c +40 -0
  202. data/src/rbgtksettings.c +225 -0
  203. data/src/rbgtksizegroup.c +74 -0
  204. data/src/rbgtksocket.c +72 -0
  205. data/src/rbgtkspinbutton.c +138 -0
  206. data/src/rbgtkstatusbar.c +90 -0
  207. data/src/rbgtkstatusicon.c +120 -0
  208. data/src/rbgtkstock.c +264 -0
  209. data/src/rbgtkstyle.c +722 -0
  210. data/src/rbgtktable.c +190 -0
  211. data/src/rbgtktargetlist.c +148 -0
  212. data/src/rbgtktearoffmenuitem.c +30 -0
  213. data/src/rbgtktextappearance.c +173 -0
  214. data/src/rbgtktextattributes.c +209 -0
  215. data/src/rbgtktextbuffer.c +993 -0
  216. data/src/rbgtktextchild.c +49 -0
  217. data/src/rbgtktextiter.c +553 -0
  218. data/src/rbgtktextmark.c +87 -0
  219. data/src/rbgtktexttag.c +66 -0
  220. data/src/rbgtktexttagtable.c +94 -0
  221. data/src/rbgtktextview.c +351 -0
  222. data/src/rbgtktoggleaction.c +76 -0
  223. data/src/rbgtktogglebutton.c +84 -0
  224. data/src/rbgtktoggletoolbutton.c +70 -0
  225. data/src/rbgtktoolbar.c +373 -0
  226. data/src/rbgtktoolbutton.c +75 -0
  227. data/src/rbgtktoolitem.c +184 -0
  228. data/src/rbgtktooltip.c +76 -0
  229. data/src/rbgtktooltips.c +107 -0
  230. data/src/rbgtktreedragdest.c +19 -0
  231. data/src/rbgtktreedragsource.c +19 -0
  232. data/src/rbgtktreeiter.c +259 -0
  233. data/src/rbgtktreemodel.c +256 -0
  234. data/src/rbgtktreemodelfilter.c +214 -0
  235. data/src/rbgtktreemodelsort.c +113 -0
  236. data/src/rbgtktreepath.c +195 -0
  237. data/src/rbgtktreerowreference.c +168 -0
  238. data/src/rbgtktreeselection.c +235 -0
  239. data/src/rbgtktreesortable.c +127 -0
  240. data/src/rbgtktreestore.c +379 -0
  241. data/src/rbgtktreeview.c +881 -0
  242. data/src/rbgtktreeviewcolumn.c +331 -0
  243. data/src/rbgtkuimanager.c +210 -0
  244. data/src/rbgtkvbbox.c +31 -0
  245. data/src/rbgtkvbox.c +38 -0
  246. data/src/rbgtkviewport.c +33 -0
  247. data/src/rbgtkvolumebutton.c +36 -0
  248. data/src/rbgtkvpaned.c +31 -0
  249. data/src/rbgtkvruler.c +30 -0
  250. data/src/rbgtkvscale.c +45 -0
  251. data/src/rbgtkvscrollbar.c +38 -0
  252. data/src/rbgtkvseparator.c +30 -0
  253. data/src/rbgtkwidget.c +1414 -0
  254. data/src/rbgtkwindow.c +822 -0
  255. data/src/rbgtkwindowgroup.c +48 -0
  256. data/test/gtk-test-utils.rb +15 -0
  257. data/test/run-test.rb +30 -0
  258. data/test/test_gc.rb +25 -0
  259. data/test/test_gdk.rb +18 -0
  260. data/test/test_gdk_color.rb +10 -0
  261. data/test/test_gdk_display.rb +37 -0
  262. data/test/test_gdk_event.rb +11 -0
  263. data/test/test_gdk_gc.rb +7 -0
  264. data/test/test_gdk_keymap.rb +8 -0
  265. data/test/test_gdk_pango.rb +9 -0
  266. data/test/test_gdk_selection_data.rb +17 -0
  267. data/test/test_gdk_window.rb +29 -0
  268. data/test/test_gdk_window_attribute.rb +9 -0
  269. data/test/test_gtk_about_dialog.rb +14 -0
  270. data/test/test_gtk_buildable.rb +66 -0
  271. data/test/test_gtk_builder.rb +188 -0
  272. data/test/test_gtk_entry.rb +18 -0
  273. data/test/test_gtk_icon_theme.rb +30 -0
  274. data/test/test_gtk_image.rb +8 -0
  275. data/test/test_gtk_list_store.rb +65 -0
  276. data/test/test_gtk_menu_item.rb +13 -0
  277. data/test/test_gtk_rc_style.rb +14 -0
  278. data/test/test_gtk_tree_path.rb +20 -0
  279. data/test/test_gtk_unix_print.rb +14 -0
  280. data/test/test_gtk_widget.rb +32 -0
  281. metadata +393 -0
@@ -0,0 +1,232 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentinfo.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/11/12 15:28:40 $
8
+
9
+ Copyright (C) 2006 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #if GTK_CHECK_VERSION(2,10,0)
15
+
16
+ #define _SELF(self) ((GtkRecentInfo*)RVAL2BOXED(self, GTK_TYPE_RECENT_INFO))
17
+
18
+
19
+ static VALUE
20
+ ri_get_uri(self)
21
+ VALUE self;
22
+ {
23
+ return CSTR2RVAL(gtk_recent_info_get_uri(_SELF(self)));
24
+ }
25
+
26
+ static VALUE
27
+ ri_get_display_name(self)
28
+ VALUE self;
29
+ {
30
+ return CSTR2RVAL(gtk_recent_info_get_display_name(_SELF(self)));
31
+ }
32
+
33
+ static VALUE
34
+ ri_get_description(self)
35
+ VALUE self;
36
+ {
37
+ return CSTR2RVAL(gtk_recent_info_get_description(_SELF(self)));
38
+ }
39
+
40
+ static VALUE
41
+ ri_get_mime_type(self)
42
+ VALUE self;
43
+ {
44
+ return CSTR2RVAL(gtk_recent_info_get_mime_type(_SELF(self)));
45
+ }
46
+
47
+ static VALUE
48
+ ri_get_added(self)
49
+ VALUE self;
50
+ {
51
+ time_t t = gtk_recent_info_get_added(_SELF(self));
52
+ return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2NUM(t));
53
+ }
54
+
55
+ static VALUE
56
+ ri_get_modified(self)
57
+ VALUE self;
58
+ {
59
+ time_t t = gtk_recent_info_get_modified(_SELF(self));
60
+ return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2NUM(t));
61
+ }
62
+
63
+ static VALUE
64
+ ri_get_visited(self)
65
+ VALUE self;
66
+ {
67
+ time_t t = gtk_recent_info_get_visited(_SELF(self));
68
+ return rb_funcall(rb_cTime, rb_intern("at"), 1, INT2NUM(t));
69
+ }
70
+
71
+ static VALUE
72
+ ri_get_private_hint(self)
73
+ VALUE self;
74
+ {
75
+ return CBOOL2RVAL(gtk_recent_info_get_private_hint(_SELF(self)));
76
+ }
77
+
78
+ static VALUE
79
+ ri_get_application_info(self, app_name)
80
+ VALUE self, app_name;
81
+ {
82
+ const gchar *app_exec;
83
+ guint count;
84
+ time_t t;
85
+ gboolean ret = gtk_recent_info_get_application_info(_SELF(self),
86
+ RVAL2CSTR(app_name),
87
+ &app_exec,
88
+ &count,
89
+ &t);
90
+ VALUE ary = rb_ary_new();
91
+ if (ret){
92
+ rb_ary_push(ary, CSTR2RVAL(app_exec));
93
+ rb_ary_push(ary, UINT2NUM(count));
94
+ rb_ary_push(ary, rb_funcall(rb_cTime, rb_intern("at"), 1, INT2NUM(t)));
95
+ }
96
+ return ary;
97
+ }
98
+
99
+ static VALUE
100
+ ri_get_applications(self)
101
+ VALUE self;
102
+ {
103
+ gint i;
104
+ gsize length;
105
+ gchar** str = gtk_recent_info_get_applications(_SELF(self), &length);
106
+ VALUE ary = rb_ary_new();
107
+ for(i = 0; i < length; i++){
108
+ rb_ary_push(ary, CSTR2RVAL(str[i]));
109
+ }
110
+ g_strfreev(str);
111
+ return ary;
112
+ }
113
+
114
+ static VALUE
115
+ ri_last_application(self)
116
+ VALUE self;
117
+ {
118
+ return CSTR2RVAL(gtk_recent_info_last_application(_SELF(self)));
119
+ }
120
+
121
+ static VALUE
122
+ ri_get_groups(self)
123
+ VALUE self;
124
+ {
125
+ gint i;
126
+ gsize length;
127
+ gchar** str = gtk_recent_info_get_groups(_SELF(self), &length);
128
+ VALUE ary = rb_ary_new();
129
+ for(i = 0; i < length; i++){
130
+ rb_ary_push(ary, CSTR2RVAL(str[i]));
131
+ }
132
+ g_strfreev(str);
133
+ return ary;
134
+ }
135
+
136
+ static VALUE
137
+ ri_has_group(self, group_name)
138
+ VALUE self, group_name;
139
+ {
140
+ return CBOOL2RVAL(gtk_recent_info_has_group(_SELF(self),
141
+ RVAL2CSTR(group_name)));
142
+ }
143
+
144
+ static VALUE
145
+ ri_has_application(self, app_name)
146
+ VALUE self, app_name;
147
+ {
148
+ return CBOOL2RVAL(gtk_recent_info_has_application(_SELF(self),
149
+ RVAL2CSTR(app_name)));
150
+ }
151
+
152
+ static VALUE
153
+ ri_get_icon(self, size)
154
+ VALUE self, size;
155
+ {
156
+ return GOBJ2RVAL(gtk_recent_info_get_icon(_SELF(self), NUM2INT(size)));
157
+ }
158
+
159
+ static VALUE
160
+ ri_get_short_name(self)
161
+ VALUE self;
162
+ {
163
+ return CSTR2RVAL(gtk_recent_info_get_short_name(_SELF(self)));
164
+ }
165
+
166
+ static VALUE
167
+ ri_get_uri_display(self)
168
+ VALUE self;
169
+ {
170
+ return CSTR2RVAL(gtk_recent_info_get_uri_display(_SELF(self)));
171
+ }
172
+
173
+ static VALUE
174
+ ri_get_age(self)
175
+ VALUE self;
176
+ {
177
+ return INT2NUM(gtk_recent_info_get_age(_SELF(self)));
178
+ }
179
+
180
+ static VALUE
181
+ ri_is_local(self)
182
+ VALUE self;
183
+ {
184
+ return CBOOL2RVAL(gtk_recent_info_is_local(_SELF(self)));
185
+ }
186
+
187
+ static VALUE
188
+ ri_exist(self)
189
+ VALUE self;
190
+ {
191
+ return CBOOL2RVAL(gtk_recent_info_exists(_SELF(self)));
192
+ }
193
+
194
+ static VALUE
195
+ ri_match(self, other)
196
+ VALUE self, other;
197
+ {
198
+ return CBOOL2RVAL(gtk_recent_info_match(_SELF(self), _SELF(other)));
199
+ }
200
+
201
+ #endif
202
+
203
+ void
204
+ Init_gtk_recent_info()
205
+ {
206
+ #if GTK_CHECK_VERSION(2,10,0)
207
+ VALUE ri = G_DEF_CLASS(GTK_TYPE_RECENT_INFO, "RecentInfo", mGtk);
208
+ rb_define_method(ri, "uri", ri_get_uri, 0);
209
+ rb_define_method(ri, "display_name", ri_get_display_name, 0);
210
+ rb_define_method(ri, "description", ri_get_description, 0);
211
+ rb_define_method(ri, "mime_type", ri_get_mime_type, 0);
212
+ rb_define_method(ri, "added", ri_get_added, 0);
213
+ rb_define_method(ri, "modified", ri_get_modified, 0);
214
+ rb_define_method(ri, "visited", ri_get_visited, 0);
215
+ rb_define_method(ri, "private_hint?", ri_get_private_hint, 0);
216
+ rb_define_method(ri, "application_info", ri_get_application_info, 1);
217
+ rb_define_method(ri, "applications", ri_get_applications, 0);
218
+ rb_define_method(ri, "last_application", ri_last_application, 0);
219
+ rb_define_method(ri, "groups", ri_get_groups, 0);
220
+ rb_define_method(ri, "has_group?", ri_has_group, 1);
221
+ rb_define_method(ri, "has_application?", ri_has_application, 1);
222
+ rb_define_method(ri, "get_icon", ri_get_icon, 1);
223
+ rb_define_method(ri, "short_name", ri_get_short_name, 0);
224
+ rb_define_method(ri, "uri_display", ri_get_uri_display, 0);
225
+ rb_define_method(ri, "age", ri_get_age, 0);
226
+ rb_define_method(ri, "local?", ri_is_local, 0);
227
+ rb_define_method(ri, "exist?", ri_exist, 0);
228
+ rb_define_method(ri, "==", ri_match, 1);
229
+
230
+ G_DEF_SETTERS(ri);
231
+ #endif
232
+ }
@@ -0,0 +1,164 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentmanager.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/11/12 15:28:40 $
8
+
9
+ Copyright (C) 2006 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #if GTK_CHECK_VERSION(2,10,0)
15
+
16
+ #define _SELF(self) (GTK_RECENT_MANAGER(RVAL2GOBJ(self)))
17
+
18
+
19
+ static VALUE
20
+ rm_initialize(self)
21
+ VALUE self;
22
+ {
23
+ G_INITIALIZE(self, gtk_recent_manager_new());
24
+ return Qnil;
25
+ }
26
+
27
+ static VALUE
28
+ rm_s_get_default(self)
29
+ VALUE self;
30
+ {
31
+ return GOBJ2RVAL(gtk_recent_manager_get_default());
32
+ }
33
+
34
+ static VALUE
35
+ rm_s_get_for_screen(self, screen)
36
+ VALUE self, screen;
37
+ {
38
+ return GOBJ2RVAL(gtk_recent_manager_get_for_screen(GDK_SCREEN(RVAL2GOBJ(screen))));
39
+ }
40
+
41
+ static VALUE
42
+ rm_set_screen(self, screen)
43
+ VALUE self, screen;
44
+ {
45
+ gtk_recent_manager_set_screen(_SELF(self), GDK_SCREEN(RVAL2GOBJ(screen)));
46
+ return self;
47
+ }
48
+
49
+ static VALUE
50
+ rm_add_item(argc, argv, self)
51
+ int argc;
52
+ VALUE *argv;
53
+ VALUE self;
54
+ {
55
+ VALUE uri, data;
56
+ gboolean ret;
57
+ rb_scan_args(argc, argv, "11", &uri, &data);
58
+
59
+ if (NIL_P(data)){
60
+ ret = gtk_recent_manager_add_item(_SELF(self), RVAL2CSTR(uri));
61
+ if (! ret) rb_raise(rb_eRuntimeError, "Can't add the uri");
62
+ } else {
63
+ ret = gtk_recent_manager_add_full(_SELF(self),
64
+ RVAL2CSTR(uri),
65
+ RVAL2BOXED(data, GTK_TYPE_RECENT_DATA));
66
+ if (! ret) rb_raise(rb_eRuntimeError, "Can't add the uri or data");
67
+ }
68
+ return self;
69
+ }
70
+
71
+ static VALUE
72
+ rm_remove_item(self, uri)
73
+ VALUE self, uri;
74
+ {
75
+ GError* error = NULL;
76
+ gboolean ret = gtk_recent_manager_remove_item(_SELF(self), RVAL2CSTR(uri),
77
+ &error);
78
+ if (! ret) RAISE_GERROR(error);
79
+
80
+ return self;
81
+ }
82
+
83
+ static VALUE
84
+ rm_lookup_item(self, uri)
85
+ VALUE self, uri;
86
+ {
87
+ GError* error = NULL;
88
+ GtkRecentInfo* info = gtk_recent_manager_lookup_item(_SELF(self), RVAL2CSTR(uri),
89
+ &error);
90
+ if (error) RAISE_GERROR(error);
91
+ return BOXED2RVAL(info, GTK_TYPE_RECENT_INFO);
92
+ }
93
+
94
+ static VALUE
95
+ rm_has_item(self, uri)
96
+ VALUE self, uri;
97
+ {
98
+ return CBOOL2RVAL(gtk_recent_manager_has_item(_SELF(self), RVAL2CSTR(uri)));
99
+ }
100
+
101
+ static VALUE
102
+ rm_move_item(self, uri, new_uri)
103
+ VALUE self, uri, new_uri;
104
+ {
105
+ GError* error = NULL;
106
+ gboolean ret = gtk_recent_manager_move_item(_SELF(self),
107
+ RVAL2CSTR(uri),
108
+ RVAL2CSTR(new_uri),
109
+ &error);
110
+ if (! ret) RAISE_GERROR(error);
111
+ return self;
112
+ }
113
+
114
+ /* Defined as properties
115
+ gint gtk_recent_manager_get_limit (GtkRecentManager *manager);
116
+ void gtk_recent_manager_set_limit (GtkRecentManager *manager,
117
+ gint limit);
118
+ */
119
+
120
+ static VALUE
121
+ rm_get_items(self)
122
+ VALUE self;
123
+ {
124
+ return GLIST2ARY2F(gtk_recent_manager_get_items(_SELF(self)), GTK_TYPE_RECENT_INFO);
125
+ }
126
+
127
+ static VALUE
128
+ rm_purge_items(self)
129
+ VALUE self;
130
+ {
131
+ GError* error = NULL;
132
+ gint ret = gtk_recent_manager_purge_items(_SELF(self), &error);
133
+
134
+ if (error) RAISE_GERROR(error);
135
+
136
+ return INT2NUM(ret);
137
+ }
138
+ #endif
139
+
140
+ void
141
+ Init_gtk_recent_manager()
142
+ {
143
+ #if GTK_CHECK_VERSION(2,10,0)
144
+ VALUE rm = G_DEF_CLASS(GTK_TYPE_RECENT_MANAGER, "RecentManager", mGtk);
145
+
146
+ rb_define_method(rm, "initialize", rm_initialize, 0);
147
+ rb_define_singleton_method(rm, "default", rm_s_get_default, 0);
148
+ rb_define_singleton_method(rm, "get_for_screen", rm_s_get_for_screen, 1);
149
+ rb_define_method(rm, "set_screen", rm_set_screen, 1);
150
+ rb_define_method(rm, "add_item", rm_add_item, -1);
151
+ rb_define_method(rm, "remove_item", rm_remove_item, 1);
152
+ rb_define_method(rm, "lookup_item", rm_lookup_item, 1);
153
+ rb_define_method(rm, "has_item?", rm_has_item, 1);
154
+ rb_define_method(rm, "move_item", rm_move_item, 2);
155
+ rb_define_method(rm, "items", rm_get_items, 0);
156
+ rb_define_method(rm, "purge_items", rm_purge_items, 0);
157
+
158
+ G_DEF_SETTERS(rm);
159
+
160
+ /* GtkRecentManagerError */
161
+ G_DEF_ERROR(GTK_RECENT_MANAGER_ERROR, "RecentManagerError", mGtk, rb_eRuntimeError,
162
+ GTK_TYPE_RECENT_MANAGER_ERROR);
163
+ #endif
164
+ }
@@ -0,0 +1,82 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkruler.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2003/08/31 15:29:44 $
8
+
9
+ Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
10
+ Copyright (C) 1998-2000 Yukihiro Matsumoto,
11
+ Daisuke Kanda,
12
+ Hiroshi Igarashi
13
+ ************************************************/
14
+
15
+ #include "global.h"
16
+
17
+ #define _SELF(self) (GTK_RULER(RVAL2GOBJ(self)))
18
+
19
+ static VALUE
20
+ ruler_set_metric(self, metric)
21
+ VALUE self, metric;
22
+ {
23
+ gtk_ruler_set_metric(_SELF(self), RVAL2GENUM(metric, GTK_TYPE_METRIC_TYPE));
24
+ return self;
25
+ }
26
+
27
+ static VALUE
28
+ ruler_set_range(self, lower, upper, position, max_size)
29
+ VALUE self, lower, upper, position, max_size;
30
+ {
31
+ gtk_ruler_set_range(_SELF(self), NUM2DBL(lower), NUM2DBL(upper),
32
+ NUM2DBL(position), NUM2DBL(max_size));
33
+ return self;
34
+ }
35
+
36
+ static VALUE
37
+ ruler_get_metric(self)
38
+ VALUE self;
39
+ {
40
+ return INT2FIX(gtk_ruler_get_metric(_SELF(self)));
41
+ }
42
+
43
+ static VALUE
44
+ ruler_get_range(self)
45
+ VALUE self;
46
+ {
47
+ gdouble lower, upper, position, max_size;
48
+ gtk_ruler_get_range(_SELF(self), &lower, &upper, &position, &max_size);
49
+ return rb_ary_new3(4, rb_float_new(lower), rb_float_new(upper),
50
+ rb_float_new(position), rb_float_new(max_size));
51
+ }
52
+
53
+ static VALUE
54
+ ruler_draw_ticks(self)
55
+ VALUE self;
56
+ {
57
+ gtk_ruler_draw_ticks(_SELF(self));
58
+ return self;
59
+ }
60
+
61
+ static VALUE
62
+ ruler_draw_pos(self)
63
+ VALUE self;
64
+ {
65
+ gtk_ruler_draw_pos(_SELF(self));
66
+ return self;
67
+ }
68
+
69
+ void
70
+ Init_gtk_ruler()
71
+ {
72
+ VALUE gRuler = G_DEF_CLASS(GTK_TYPE_RULER, "Ruler", mGtk);
73
+
74
+ rb_define_method(gRuler, "set_metric", ruler_set_metric, 1);
75
+ rb_define_method(gRuler, "set_range", ruler_set_range, 4);
76
+ rb_define_method(gRuler, "metric", ruler_get_metric, 0);
77
+ rb_define_method(gRuler, "range", ruler_get_range, 0);
78
+ rb_define_method(gRuler, "draw_ticks", ruler_draw_ticks, 0);
79
+ rb_define_method(gRuler, "draw_pos", ruler_draw_pos, 0);
80
+
81
+ G_DEF_SETTERS(gRuler);
82
+ }