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,52 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentaction.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/12 14:53:09 $
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
+ #if GTK_CHECK_VERSION(2,12,0)
18
+
19
+ static VALUE
20
+ recentaction_initialize(argc, argv, self)
21
+ int argc;
22
+ VALUE* argv;
23
+ VALUE self;
24
+ {
25
+ VALUE name, label, tooltip, stock_id, manager;
26
+ rb_scan_args(argc, argv, "23", &name, &label, &tooltip, &stock_id, &manager);
27
+ if (NIL_P(manager)) {
28
+ G_INITIALIZE(self, gtk_recent_action_new(RVAL2CSTR(name),
29
+ RVAL2CSTR(label),
30
+ NIL_P(tooltip) ? NULL : RVAL2CSTR(tooltip),
31
+ NIL_P(stock_id) ? NULL : RVAL2CSTR(stock_id)));
32
+ } else {
33
+ G_INITIALIZE(self, gtk_recent_action_new_for_manager(RVAL2CSTR(name),
34
+ RVAL2CSTR(label),
35
+ NIL_P(tooltip) ? NULL : RVAL2CSTR(tooltip),
36
+ NIL_P(stock_id) ? NULL : RVAL2CSTR(stock_id),
37
+ GTK_RECENT_MANAGER(RVAL2GOBJ(manager))));
38
+ }
39
+ return Qnil;
40
+ }
41
+
42
+ #endif
43
+
44
+ void
45
+ Init_gtk_recentaction()
46
+ {
47
+ #if GTK_CHECK_VERSION(2,12,0)
48
+ VALUE gRecentaction = G_DEF_CLASS(GTK_TYPE_RECENT_ACTION, "RecentAction", mGtk);
49
+ rb_define_method(gRecentaction, "initialize", recentaction_initialize, -1);
50
+ G_DEF_SETTERS(gRecentaction);
51
+ #endif
52
+ }
@@ -0,0 +1,276 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentchooser.c -
5
+
6
+ $Author: sakai $
7
+ $Date: 2007/07/08 03:00:49 $
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_CHOOSER(RVAL2GOBJ(self)))
17
+
18
+ /* Defined as Properties
19
+ void gtk_recent_chooser_set_show_private
20
+ (GtkRecentChooser *chooser,
21
+ gboolean show_private);
22
+ gboolean gtk_recent_chooser_get_show_private
23
+ (GtkRecentChooser *chooser);
24
+ void gtk_recent_chooser_set_show_not_found
25
+ (GtkRecentChooser *chooser,
26
+ gboolean show_not_found);
27
+ gboolean gtk_recent_chooser_get_show_not_found
28
+ (GtkRecentChooser *chooser);
29
+ void gtk_recent_chooser_set_show_icons
30
+ (GtkRecentChooser *chooser,
31
+ gboolean show_icons);
32
+ gboolean gtk_recent_chooser_get_show_icons
33
+ (GtkRecentChooser *chooser);
34
+ void gtk_recent_chooser_set_select_multiple
35
+ (GtkRecentChooser *chooser,
36
+ gboolean select_multiple);
37
+ gboolean gtk_recent_chooser_get_select_multiple
38
+ (GtkRecentChooser *chooser);
39
+ void gtk_recent_chooser_set_local_only
40
+ (GtkRecentChooser *chooser,
41
+ gboolean local_only);
42
+ gboolean gtk_recent_chooser_get_local_only
43
+ (GtkRecentChooser *chooser);
44
+ void gtk_recent_chooser_set_limit (GtkRecentChooser *chooser,
45
+ gint limit);
46
+ gint gtk_recent_chooser_get_limit (GtkRecentChooser *chooser);
47
+ void gtk_recent_chooser_set_show_tips
48
+ (GtkRecentChooser *chooser,
49
+ gboolean show_tips);
50
+ gboolean gtk_recent_chooser_get_show_tips
51
+ (GtkRecentChooser *chooser);
52
+ void gtk_recent_chooser_set_sort_type
53
+ (GtkRecentChooser *chooser,
54
+ GtkRecentSortType sort_type);
55
+ GtkRecentSortType gtk_recent_chooser_get_sort_type
56
+ (GtkRecentChooser *chooser);
57
+ void gtk_recent_chooser_set_filter (GtkRecentChooser *chooser,
58
+ GtkRecentFilter *filter);
59
+ GtkRecentFilter* gtk_recent_chooser_get_filter
60
+ (GtkRecentChooser *chooser);
61
+
62
+ */
63
+ static VALUE
64
+ rc_set_show_numbers(self, val)
65
+ VALUE self, val;
66
+ {
67
+ gtk_recent_chooser_set_show_numbers(_SELF(self), RVAL2CBOOL(val));
68
+ return self;
69
+ }
70
+
71
+ static VALUE
72
+ rc_get_show_numbers(self)
73
+ VALUE self;
74
+ {
75
+ return CBOOL2RVAL(gtk_recent_chooser_get_show_numbers(_SELF(self)));
76
+ }
77
+
78
+ struct callback_arg
79
+ {
80
+ VALUE callback;
81
+ VALUE a, b;
82
+ };
83
+
84
+ static VALUE
85
+ invoke_callback(data)
86
+ VALUE data;
87
+ {
88
+ struct callback_arg *arg = (struct callback_arg *)data;
89
+ return rb_funcall(arg->callback, id_call, 1, arg->a, arg->b);
90
+ }
91
+
92
+ static void
93
+ remove_callback_reference(callback)
94
+ gpointer callback;
95
+ {
96
+ G_CHILD_REMOVE(mGtk, (VALUE)callback);
97
+ }
98
+
99
+ static gint
100
+ sort_func(a, b, func)
101
+ GtkRecentInfo* a;
102
+ GtkRecentInfo* b;
103
+ gpointer func;
104
+ {
105
+ struct callback_arg arg;
106
+
107
+ arg.callback = (VALUE)func;
108
+ arg.a = BOXED2RVAL(a, GTK_TYPE_RECENT_INFO);
109
+ arg.b = BOXED2RVAL(b, GTK_TYPE_RECENT_INFO);
110
+ return NUM2INT(G_PROTECT_CALLBACK(invoke_callback, &arg));
111
+ }
112
+
113
+ static VALUE
114
+ rc_set_sort_func(self)
115
+ VALUE self;
116
+ {
117
+ VALUE func = rb_block_proc();
118
+ G_CHILD_ADD(mGtk, func);
119
+ gtk_recent_chooser_set_sort_func(_SELF(self), (GtkRecentSortFunc)sort_func,
120
+ (gpointer)func, (GDestroyNotify)remove_callback_reference);
121
+ return self;
122
+ }
123
+
124
+ static VALUE
125
+ rc_set_current_uri(self, uri)
126
+ VALUE self, uri;
127
+ {
128
+ GError *error = NULL;
129
+ gboolean ret = gtk_recent_chooser_set_current_uri(_SELF(self),
130
+ RVAL2CSTR(uri),
131
+ &error);
132
+ if (! ret) RAISE_GERROR(error);
133
+ return self;
134
+ }
135
+
136
+ static VALUE
137
+ rc_get_current_uri(self)
138
+ VALUE self;
139
+ {
140
+ return CSTR2RVAL(gtk_recent_chooser_get_current_uri(_SELF(self)));
141
+ }
142
+
143
+ static VALUE
144
+ rc_get_current_item(self)
145
+ VALUE self;
146
+ {
147
+ return BOXED2RVAL(gtk_recent_chooser_get_current_item(_SELF(self)),
148
+ GTK_TYPE_RECENT_INFO);
149
+ }
150
+
151
+ static VALUE
152
+ rc_select_uri(self, uri)
153
+ VALUE self, uri;
154
+ {
155
+ GError *error = NULL;
156
+ gboolean ret = gtk_recent_chooser_select_uri(_SELF(self),
157
+ RVAL2CSTR(uri),
158
+ &error);
159
+ if (! ret) RAISE_GERROR(error);
160
+ return self;
161
+ }
162
+
163
+ static VALUE
164
+ rc_unselect_uri(self, uri)
165
+ VALUE self, uri;
166
+ {
167
+ gtk_recent_chooser_unselect_uri(_SELF(self), RVAL2CSTR(uri));
168
+ return self;
169
+ }
170
+
171
+ static VALUE
172
+ rc_select_all(self)
173
+ VALUE self;
174
+ {
175
+ gtk_recent_chooser_select_all(_SELF(self));
176
+ return self;
177
+ }
178
+
179
+ static VALUE
180
+ rc_unselect_all(self)
181
+ VALUE self;
182
+ {
183
+ gtk_recent_chooser_unselect_all(_SELF(self));
184
+ return self;
185
+ }
186
+
187
+ static VALUE
188
+ rc_get_items(self)
189
+ VALUE self;
190
+ {
191
+ GList* list = gtk_recent_chooser_get_items(_SELF(self));
192
+ VALUE ary = rb_ary_new();
193
+ while (list) {
194
+ rb_ary_push(ary, BOXED2RVAL(list->data, GTK_TYPE_RECENT_INFO));
195
+ gtk_recent_info_unref(list->data);
196
+ list = list->next;
197
+ }
198
+ g_list_free(list);
199
+ return ary;
200
+ }
201
+
202
+ static VALUE
203
+ rc_get_uris(self)
204
+ VALUE self;
205
+ {
206
+ int i;
207
+ gsize size;
208
+ gchar** uris = gtk_recent_chooser_get_uris(_SELF(self), &size);
209
+ VALUE ary = rb_ary_new();
210
+ for (i = 0; i < size; i++){
211
+ rb_ary_push(ary, CSTR2RVAL(uris[i]));
212
+ }
213
+ g_strfreev(uris);
214
+ return ary;
215
+ }
216
+
217
+ static VALUE
218
+ rc_add_filter(self, filter)
219
+ VALUE self, filter;
220
+ {
221
+ gtk_recent_chooser_add_filter(_SELF(self),
222
+ GTK_RECENT_FILTER(RVAL2GOBJ(filter)));
223
+ return self;
224
+ }
225
+
226
+ static VALUE
227
+ rc_remove_filter(self, filter)
228
+ VALUE self, filter;
229
+ {
230
+ gtk_recent_chooser_remove_filter(_SELF(self),
231
+ GTK_RECENT_FILTER(RVAL2GOBJ(filter)));
232
+ return self;
233
+ }
234
+
235
+ static VALUE
236
+ rc_list_filters(self)
237
+ VALUE self;
238
+ {
239
+ return GSLIST2ARYF(gtk_recent_chooser_list_filters(_SELF(self)));
240
+ }
241
+ #endif
242
+
243
+ void
244
+ Init_gtk_recent_chooser()
245
+ {
246
+ #if GTK_CHECK_VERSION(2,10,0)
247
+ VALUE gRecentChooser = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER, "RecentChooser", mGtk);
248
+
249
+ rb_define_method(gRecentChooser, "set_show_numbers", rc_set_show_numbers, 1);
250
+ rb_define_method(gRecentChooser, "show_numbers", rc_get_show_numbers, 0);
251
+ rb_define_method(gRecentChooser, "set_sort_func", rc_set_sort_func, 0);
252
+ rb_define_method(gRecentChooser, "set_current_uri", rc_set_current_uri, 1);
253
+ rb_define_method(gRecentChooser, "current_uri", rc_get_current_uri, 0);
254
+ rb_define_method(gRecentChooser, "current_item", rc_get_current_item, 0);
255
+ rb_define_method(gRecentChooser, "select_uri", rc_select_uri, 1);
256
+ rb_define_method(gRecentChooser, "unselect_uri", rc_unselect_uri, 1);
257
+ rb_define_method(gRecentChooser, "select_all", rc_select_all, 0);
258
+ rb_define_method(gRecentChooser, "unselect_all", rc_unselect_all, 0);
259
+ rb_define_method(gRecentChooser, "items", rc_get_items, 0);
260
+ rb_define_method(gRecentChooser, "uris", rc_get_uris, 0);
261
+ rb_define_method(gRecentChooser, "add_filter", rc_add_filter, 1);
262
+ rb_define_method(gRecentChooser, "remove_filter", rc_remove_filter, 1);
263
+ rb_define_method(gRecentChooser, "filters", rc_list_filters, 0);
264
+
265
+ G_DEF_SETTERS(gRecentChooser);
266
+
267
+ /* GtkRecentChooserError */
268
+ G_DEF_ERROR(GTK_RECENT_CHOOSER_ERROR, "RecentChooserError", mGtk, rb_eRuntimeError,
269
+ GTK_TYPE_RECENT_CHOOSER_ERROR);
270
+
271
+ /* GtkRecentSortType */
272
+ G_DEF_CLASS(GTK_TYPE_RECENT_SORT_TYPE, "SortType", gRecentChooser);
273
+ G_DEF_CONSTANTS(gRecentChooser, GTK_TYPE_RECENT_SORT_TYPE, "GTK_RECENT_");
274
+ #endif
275
+
276
+ }
@@ -0,0 +1,59 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentchooserdialog.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/11/27 17:41:06 $
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_CHOOSER_DIALOG(RVAL2GOBJ(self)))
17
+
18
+ static VALUE
19
+ rcd_initialize(argc, argv, self)
20
+ int argc;
21
+ VALUE *argv;
22
+ VALUE self;
23
+ {
24
+ VALUE title, parent, button_ary;
25
+ GtkWidget* dialog;
26
+ if (rb_obj_is_kind_of(argv[2], GTYPE2CLASS(GTK_TYPE_RECENT_MANAGER))){
27
+ VALUE manager;
28
+ rb_scan_args(argc, argv, "03*", &title, &parent, &manager, &button_ary);
29
+
30
+ dialog = gtk_recent_chooser_dialog_new_for_manager((const gchar*)RVAL2CSTR2(title),
31
+ GTK_WINDOW(RVAL2GOBJ(parent)),
32
+ GTK_RECENT_MANAGER(RVAL2GOBJ(manager)),
33
+ (const gchar*)NULL, NULL);
34
+ } else {
35
+ rb_scan_args(argc, argv, "02*", &title, &parent, &button_ary);
36
+
37
+ dialog = gtk_recent_chooser_dialog_new((const gchar*)RVAL2CSTR2(title),
38
+ GTK_WINDOW(RVAL2GOBJ(parent)),
39
+ (const gchar*)NULL, NULL);
40
+ }
41
+
42
+ RBGTK_INITIALIZE(self, dialog);
43
+
44
+ if (button_ary != Qnil){
45
+ rbgtk_dialog_add_buttons_internal(self, button_ary);
46
+ }
47
+ return Qnil;
48
+ }
49
+ #endif
50
+
51
+ void
52
+ Init_gtk_recent_chooser_dialog()
53
+ {
54
+ #if GTK_CHECK_VERSION(2,10,0)
55
+ VALUE rcd = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER_DIALOG, "RecentChooserDialog", mGtk);
56
+
57
+ rb_define_method(rcd, "initialize", rcd_initialize, -1);
58
+ #endif
59
+ }
@@ -0,0 +1,55 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentchoosermenu.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/11/27 17:41:06 $
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_CHOOSER_MENU(RVAL2GOBJ(self)))
17
+
18
+ static VALUE
19
+ rcm_initialize(argc, argv, self)
20
+ int argc;
21
+ VALUE *argv;
22
+ VALUE self;
23
+ {
24
+ VALUE manager;
25
+ GtkWidget* menu;
26
+
27
+ rb_scan_args(argc, argv, "01", &manager);
28
+
29
+ if (NIL_P(manager)){
30
+ menu = gtk_recent_chooser_menu_new_for_manager(GTK_RECENT_MANAGER(RVAL2GOBJ(manager)));
31
+ } else {
32
+ menu = gtk_recent_chooser_menu_new();
33
+ }
34
+ RBGTK_INITIALIZE(self, menu);
35
+ return Qnil;
36
+ }
37
+
38
+ /* Defined as properties
39
+ gboolean gtk_recent_chooser_menu_get_show_numbers
40
+ (GtkRecentChooserMenu *menu);
41
+ void gtk_recent_chooser_menu_set_show_numbers
42
+ (GtkRecentChooserMenu *menu,
43
+ gboolean show_numbers);
44
+ */
45
+ #endif
46
+
47
+ void
48
+ Init_gtk_recent_chooser_menu()
49
+ {
50
+ #if GTK_CHECK_VERSION(2,10,0)
51
+ VALUE rcm = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER_MENU, "RecentChooserMenu", mGtk);
52
+
53
+ rb_define_method(rcm, "initialize", rcm_initialize, -1);
54
+ #endif
55
+ }
@@ -0,0 +1,45 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkrecentchooserwidget.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_CHOOSER_WIDGET(RVAL2GOBJ(self)))
17
+
18
+ static VALUE
19
+ rcw_initialize(argc, argv, self)
20
+ int argc;
21
+ VALUE *argv;
22
+ VALUE self;
23
+ {
24
+ VALUE manager;
25
+ GtkWidget* widget;
26
+ rb_scan_args(argc, argv, "01", &manager);
27
+ if (NIL_P(manager)){
28
+ widget = gtk_recent_chooser_widget_new_for_manager(GTK_RECENT_MANAGER(RVAL2GOBJ(manager)));
29
+ } else {
30
+ widget = gtk_recent_chooser_widget_new();
31
+ }
32
+ RBGTK_INITIALIZE(self, widget);
33
+ return Qnil;
34
+ }
35
+ #endif
36
+
37
+ void
38
+ Init_gtk_recent_chooser_widget()
39
+ {
40
+ #if GTK_CHECK_VERSION(2,10,0)
41
+ VALUE rcw = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER_WIDGET, "RecentChooserWidget", mGtk);
42
+
43
+ rb_define_method(rcw, "initialize", rcw_initialize, -1);
44
+ #endif
45
+ }