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,31 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkdrawingarea.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2003/02/01 16:46:23 $
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
+ static VALUE
18
+ darea_initialize(self)
19
+ VALUE self;
20
+ {
21
+ RBGTK_INITIALIZE(self, gtk_drawing_area_new());
22
+ return Qnil;
23
+ }
24
+
25
+ void
26
+ Init_gtk_drawing_area()
27
+ {
28
+ VALUE gDrawArea = G_DEF_CLASS(GTK_TYPE_DRAWING_AREA, "DrawingArea", mGtk);
29
+
30
+ rb_define_method(gDrawArea, "initialize", darea_initialize, 0);
31
+ }
@@ -0,0 +1,152 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkeditable.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:31 $
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
+ static VALUE
18
+ edit_sel_region(self, start, end)
19
+ VALUE self, start, end;
20
+ {
21
+ gtk_editable_select_region(GTK_EDITABLE(RVAL2GOBJ(self)),
22
+ NUM2INT(start), NUM2INT(end));
23
+ return self;
24
+ }
25
+
26
+ static VALUE
27
+ edit_get_sel_bounds(self)
28
+ VALUE self;
29
+ {
30
+ gint start, end;
31
+ gboolean ret;
32
+ ret = gtk_editable_get_selection_bounds(GTK_EDITABLE(RVAL2GOBJ(self)),
33
+ &start, &end);
34
+ return ret ? rb_ary_new3(2, INT2NUM(start), INT2NUM(end)) : Qnil;
35
+ }
36
+
37
+ static VALUE
38
+ edit_insert_text(self, new_text, pos)
39
+ VALUE self, new_text, pos;
40
+ {
41
+ gint p = NUM2INT(pos);
42
+
43
+ StringValue(new_text);
44
+ gtk_editable_insert_text(GTK_EDITABLE(RVAL2GOBJ(self)),
45
+ RSTRING_PTR(new_text),
46
+ RSTRING_LEN(new_text),
47
+ &p);
48
+ return INT2NUM(p);
49
+ }
50
+
51
+ static VALUE
52
+ edit_delete_text(self, start, end)
53
+ VALUE self, start, end;
54
+ {
55
+ gtk_editable_delete_text(GTK_EDITABLE(RVAL2GOBJ(self)),
56
+ NUM2INT(start), NUM2INT(end));
57
+ return self;
58
+ }
59
+
60
+ static VALUE
61
+ edit_get_chars(self, start, end)
62
+ VALUE self, start, end;
63
+ {
64
+ return CSTR2RVAL2(
65
+ gtk_editable_get_chars(GTK_EDITABLE(RVAL2GOBJ(self)), /* check s */
66
+ NUM2INT(start), NUM2INT(end))); /* check start,end */
67
+ }
68
+
69
+ static VALUE
70
+ edit_delete_selection(self)
71
+ VALUE self;
72
+ {
73
+ gtk_editable_delete_selection(GTK_EDITABLE(RVAL2GOBJ(self)));
74
+ return self;
75
+ }
76
+
77
+ static VALUE
78
+ edit_get_position(self)
79
+ VALUE self;
80
+ {
81
+ return INT2NUM(gtk_editable_get_position(GTK_EDITABLE(RVAL2GOBJ(self))));
82
+ }
83
+
84
+ static VALUE
85
+ edit_set_position(self, position)
86
+ VALUE self, position;
87
+ {
88
+ gtk_editable_set_position(GTK_EDITABLE(RVAL2GOBJ(self)),
89
+ NUM2INT(position));
90
+ return self;
91
+ }
92
+
93
+ static VALUE
94
+ edit_set_editable(self, editable)
95
+ VALUE self, editable;
96
+ {
97
+ gtk_editable_set_editable(GTK_EDITABLE(RVAL2GOBJ(self)), RVAL2CBOOL(editable));
98
+ return self;
99
+ }
100
+
101
+ static VALUE
102
+ edit_get_editable(self)
103
+ VALUE self;
104
+ {
105
+ return CBOOL2RVAL(gtk_editable_get_editable(GTK_EDITABLE(RVAL2GOBJ(self))));
106
+ }
107
+
108
+ static VALUE
109
+ edit_cut_clipboard(self)
110
+ VALUE self;
111
+ {
112
+ gtk_editable_cut_clipboard(GTK_EDITABLE(RVAL2GOBJ(self)));
113
+ return self;
114
+ }
115
+
116
+ static VALUE
117
+ edit_copy_clipboard(self)
118
+ VALUE self;
119
+ {
120
+ gtk_editable_copy_clipboard(GTK_EDITABLE(RVAL2GOBJ(self)));
121
+ return self;
122
+ }
123
+
124
+ static VALUE
125
+ edit_paste_clipboard(self)
126
+ VALUE self;
127
+ {
128
+ gtk_editable_paste_clipboard(GTK_EDITABLE(RVAL2GOBJ(self)));
129
+ return self;
130
+ }
131
+
132
+ void
133
+ Init_gtk_editable()
134
+ {
135
+ VALUE mEditable = G_DEF_INTERFACE(GTK_TYPE_EDITABLE, "Editable", mGtk);
136
+
137
+ rb_define_method(mEditable, "select_region", edit_sel_region, 2);
138
+ rb_define_method(mEditable, "selection_bounds", edit_get_sel_bounds, 0);
139
+ rb_define_method(mEditable, "insert_text", edit_insert_text, 2);
140
+ rb_define_method(mEditable, "delete_text", edit_delete_text, 2);
141
+ rb_define_method(mEditable, "get_chars", edit_get_chars, 2);
142
+ rb_define_method(mEditable, "delete_selection", edit_delete_selection, 0);
143
+ rb_define_method(mEditable, "position", edit_get_position, 0);
144
+ rb_define_method(mEditable, "set_position", edit_set_position, 1);
145
+ rb_define_method(mEditable, "set_editable", edit_set_editable, 1);
146
+ rb_define_method(mEditable, "editable?", edit_get_editable, 0);
147
+ rb_define_method(mEditable, "copy_clipboard", edit_copy_clipboard, 0);
148
+ rb_define_method(mEditable, "cut_clipboard", edit_cut_clipboard, 0);
149
+ rb_define_method(mEditable, "paste_clipboard", edit_paste_clipboard, 0);
150
+
151
+ G_DEF_SETTERS(mEditable);
152
+ }
@@ -0,0 +1,161 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkentry.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/10/21 16:58:00 $
8
+
9
+ Copyright (C) 2002-2004 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_ENTRY(RVAL2GOBJ(self)))
18
+
19
+ static VALUE
20
+ entry_initialize(self)
21
+ VALUE self;
22
+ {
23
+ RBGTK_INITIALIZE(self, gtk_entry_new());
24
+ return Qnil;
25
+ }
26
+
27
+ static VALUE
28
+ entry_get_layout(self)
29
+ VALUE self;
30
+ {
31
+ return GOBJ2RVAL(gtk_entry_get_layout(_SELF(self)));
32
+ }
33
+
34
+ static VALUE
35
+ entry_get_layout_offsets(self)
36
+ VALUE self;
37
+ {
38
+ int x, y;
39
+ gtk_entry_get_layout_offsets(_SELF(self), &x, &y);
40
+ return rb_ary_new3(2, INT2NUM(x), INT2NUM(y));
41
+ }
42
+
43
+ #if GTK_CHECK_VERSION(2,4,0)
44
+ static VALUE
45
+ entry_set_completion(self, completion)
46
+ VALUE self, completion;
47
+ {
48
+ gtk_entry_set_completion(_SELF(self), GTK_ENTRY_COMPLETION(RVAL2GOBJ(completion)));
49
+ return self;
50
+ }
51
+
52
+ static VALUE
53
+ entry_get_completion(self)
54
+ VALUE self;
55
+ {
56
+ return GOBJ2RVAL(gtk_entry_get_completion(_SELF(self)));
57
+ }
58
+ #endif
59
+
60
+ static VALUE
61
+ entry_layout_index_to_text_index(self, layout_index)
62
+ VALUE self, layout_index;
63
+ {
64
+ return INT2NUM(gtk_entry_layout_index_to_text_index(_SELF(self), NUM2INT(layout_index)));
65
+ }
66
+
67
+ static VALUE
68
+ entry_text_index_to_layout_index(self, text_index)
69
+ VALUE self, text_index;
70
+ {
71
+ return INT2NUM(gtk_entry_text_index_to_layout_index(_SELF(self), NUM2INT(text_index)));
72
+ }
73
+
74
+ /* Deprecated.
75
+ GtkWidget* gtk_entry_new_with_max_length (gint max);
76
+ void gtk_entry_append_text (GtkEntry *entry,
77
+ const gchar *text);
78
+ void gtk_entry_prepend_text (GtkEntry *entry,
79
+ const gchar *text);
80
+ void gtk_entry_set_position (GtkEntry *entry,
81
+ gint position);
82
+ void gtk_entry_select_region (GtkEntry *entry,
83
+ gint start,
84
+ gint end);
85
+ void gtk_entry_set_editable (GtkEntry *entry,
86
+ gboolean editable);
87
+ */
88
+
89
+ /* Defined as properties
90
+ const gchar* gtk_entry_get_text (GtkEntry *entry);
91
+ void gtk_entry_set_text (GtkEntry *entry,
92
+ const gchar *text);
93
+
94
+ void gtk_entry_set_visibility (GtkEntry *entry,
95
+ gboolean visible);
96
+ void gtk_entry_set_invisible_char (GtkEntry *entry,
97
+ gunichar ch);
98
+
99
+ void gtk_entry_set_max_length (GtkEntry *entry,
100
+ gint max);
101
+ gboolean gtk_entry_get_activates_default (GtkEntry *entry);
102
+ gboolean gtk_entry_get_has_frame (GtkEntry *entry);
103
+ const GtkBorder* gtk_entry_get_inner_border (GtkEntry *entry);
104
+ gint gtk_entry_get_width_chars (GtkEntry *entry);
105
+ void gtk_entry_set_activates_default (GtkEntry *entry,
106
+ gboolean setting);
107
+ void gtk_entry_set_has_frame (GtkEntry *entry,
108
+ gboolean setting);
109
+ void gtk_entry_set_inner_border (GtkEntry *entry,
110
+ const GtkBorder *border);
111
+ void gtk_entry_set_width_chars (GtkEntry *entry,
112
+ gint n_chars);
113
+ gunichar gtk_entry_get_invisible_char (GtkEntry *entry);
114
+ // Use xalign/xalign=.
115
+ void gtk_entry_set_alignment (GtkEntry *entry,
116
+ gfloat xalign);
117
+ gfloat gtk_entry_get_alignment (GtkEntry *entry);
118
+
119
+ gint gtk_entry_get_max_length (GtkEntry *entry);
120
+ gboolean gtk_entry_get_visibility (GtkEntry *entry);
121
+ */
122
+
123
+ #if GTK_CHECK_VERSION(2, 12, 0)
124
+ static VALUE
125
+ entry_get_cursor_hadjustment(VALUE self)
126
+ {
127
+ return GOBJ2RVAL(gtk_entry_get_cursor_hadjustment(_SELF(self)));
128
+ }
129
+
130
+ static VALUE
131
+ entry_set_cursor_hadjustment(VALUE self, VALUE adjustment)
132
+ {
133
+ gtk_entry_set_cursor_hadjustment(_SELF(self), RVAL2GOBJ(adjustment));
134
+ return self;
135
+ }
136
+ #endif
137
+
138
+ void
139
+ Init_gtk_entry()
140
+ {
141
+ VALUE gEntry = G_DEF_CLASS(GTK_TYPE_ENTRY, "Entry", mGtk);
142
+
143
+ rb_define_method(gEntry, "initialize", entry_initialize, 0);
144
+ rb_define_method(gEntry, "layout", entry_get_layout, 0);
145
+ rb_define_method(gEntry, "layout_offsets", entry_get_layout_offsets, 0);
146
+ #if GTK_CHECK_VERSION(2,4,0)
147
+ rb_define_method(gEntry, "set_completion", entry_set_completion, 1);
148
+ rb_define_method(gEntry, "completion", entry_get_completion, 0);
149
+ #endif
150
+ rb_define_method(gEntry, "layout_index_to_text_index", entry_layout_index_to_text_index, 1);
151
+ rb_define_method(gEntry, "text_index_to_layout_index", entry_text_index_to_layout_index, 1);
152
+
153
+ #if GTK_CHECK_VERSION(2, 12, 0)
154
+ rb_define_method(gEntry, "cursor_hadjustment",
155
+ entry_get_cursor_hadjustment, 0);
156
+ rb_define_method(gEntry, "set_cursor_hadjustment",
157
+ entry_set_cursor_hadjustment, 1);
158
+ #endif
159
+
160
+ G_DEF_SETTERS(gEntry);
161
+ }
@@ -0,0 +1,167 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkentrycompletion.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:31 $
8
+
9
+ Copyright (C) 2004,2005 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #if GTK_CHECK_VERSION(2,4,0)
15
+ #define _SELF(self) (GTK_ENTRY_COMPLETION(RVAL2GOBJ(self)))
16
+
17
+ static VALUE
18
+ entryc_initialize(self)
19
+ VALUE self;
20
+ {
21
+ G_INITIALIZE(self, gtk_entry_completion_new());
22
+ return Qnil;
23
+ }
24
+
25
+ static VALUE
26
+ entryc_get_entry(self)
27
+ VALUE self;
28
+ {
29
+ return GOBJ2RVAL(gtk_entry_completion_get_entry(_SELF(self)));
30
+ }
31
+
32
+ static gboolean
33
+ entryc_match_func(completion, key, iter, func)
34
+ GtkEntryCompletion* completion;
35
+ const gchar* key;
36
+ GtkTreeIter* iter;
37
+ gpointer func;
38
+ {
39
+ iter->user_data3 = gtk_entry_completion_get_model(completion);
40
+ return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 3, GOBJ2RVAL(completion),
41
+ CSTR2RVAL(key), GTKTREEITER2RVAL(iter)));
42
+ }
43
+
44
+ static VALUE
45
+ entryc_set_match_func(self)
46
+ VALUE self;
47
+ {
48
+ VALUE func = rb_block_proc();
49
+ G_RELATIVE(self, func);
50
+ gtk_entry_completion_set_match_func(_SELF(self),
51
+ (GtkEntryCompletionMatchFunc)entryc_match_func,
52
+ (gpointer)func, NULL);
53
+ return self;
54
+ }
55
+
56
+ static VALUE
57
+ entryc_complete(self)
58
+ VALUE self;
59
+ {
60
+ gtk_entry_completion_complete(_SELF(self));
61
+ return self;
62
+ }
63
+
64
+ #if GTK_CHECK_VERSION(2,6,0)
65
+ static VALUE
66
+ entryc_insert_prefix(self)
67
+ VALUE self;
68
+ {
69
+ gtk_entry_completion_insert_prefix(_SELF(self));
70
+ return self;
71
+ }
72
+ #endif
73
+
74
+ static VALUE
75
+ entryc_insert_action_text(self, index, text)
76
+ VALUE self, index, text;
77
+ {
78
+ gtk_entry_completion_insert_action_text(_SELF(self), NUM2INT(index), RVAL2CSTR(text));
79
+ return self;
80
+ }
81
+
82
+ static VALUE
83
+ entryc_insert_action_markup(self, index, markup)
84
+ VALUE self, index, markup;
85
+ {
86
+ gtk_entry_completion_insert_action_markup(_SELF(self), NUM2INT(index), RVAL2CSTR(markup));
87
+ return self;
88
+ }
89
+
90
+ static VALUE
91
+ entryc_delete_action(self, index)
92
+ VALUE self, index;
93
+ {
94
+ gtk_entry_completion_delete_action(_SELF(self), NUM2INT(index));
95
+ return self;
96
+ }
97
+
98
+ static VALUE
99
+ entryc_set_text_column(self, column)
100
+ VALUE self, column;
101
+ {
102
+ gtk_entry_completion_set_text_column(_SELF(self), NUM2INT(column));
103
+ return self;
104
+ }
105
+
106
+ #if GTK_CHECK_VERSION(2, 12, 0)
107
+ static VALUE
108
+ entryc_get_completion_prefix(VALUE self)
109
+ {
110
+ return CSTR2RVAL(gtk_entry_completion_get_completion_prefix(_SELF(self)));
111
+ }
112
+ #endif
113
+
114
+ /* Defined as property
115
+ gint gtk_entry_completion_get_text_column
116
+ (GtkEntryCompletion *completion);
117
+ void gtk_entry_completion_set_inline_completion
118
+ (GtkEntryCompletion *completion,
119
+ gboolean inline_completion);
120
+ gboolean gtk_entry_completion_get_inline_completion
121
+ (GtkEntryCompletion *completion);
122
+ void gtk_entry_completion_set_popup_completion
123
+ (GtkEntryCompletion *completion,
124
+ gboolean popup_completion);
125
+ gboolean gtk_entry_completion_get_popup_completion
126
+ (GtkEntryCompletion *completion);
127
+ void gtk_entry_completion_set_popup_set_width
128
+ (GtkEntryCompletion *completion,
129
+ gboolean popup_set_width);
130
+ gboolean gtk_entry_completion_get_popup_set_width
131
+ (GtkEntryCompletion *completion);
132
+ void gtk_entry_completion_set_popup_single_match
133
+ (GtkEntryCompletion *completion,
134
+ gboolean popup_single_match);
135
+ gboolean gtk_entry_completion_get_popup_single_match
136
+ (GtkEntryCompletion *completion);
137
+ */
138
+
139
+ #endif
140
+
141
+ void
142
+ Init_gtk_entry_completion()
143
+ {
144
+ #if GTK_CHECK_VERSION(2,4,0)
145
+ VALUE gEntryC = G_DEF_CLASS(GTK_TYPE_ENTRY_COMPLETION, "EntryCompletion", mGtk);
146
+
147
+ rb_define_method(gEntryC, "initialize", entryc_initialize, 0);
148
+ rb_define_method(gEntryC, "entry", entryc_get_entry, 0);
149
+ rb_define_method(gEntryC, "set_match_func", entryc_set_match_func, 0);
150
+ rb_define_method(gEntryC, "complete", entryc_complete, 0);
151
+ #if GTK_CHECK_VERSION(2,6,0)
152
+ rb_define_method(gEntryC, "insert_prefix", entryc_insert_prefix, 0);
153
+ #endif
154
+ rb_define_method(gEntryC, "insert_action_text", entryc_insert_action_text, 2);
155
+ rb_define_method(gEntryC, "insert_action_markup", entryc_insert_action_markup, 2);
156
+ rb_define_method(gEntryC, "delete_action", entryc_delete_action, 1);
157
+
158
+ rb_undef_method(gEntryC, "text_column=");
159
+ rb_define_method(gEntryC, "set_text_column", entryc_set_text_column, 1);
160
+
161
+ #if GTK_CHECK_VERSION(2, 12, 0)
162
+ rb_define_method(gEntryC, "completion_prefix", entryc_get_completion_prefix, 0);
163
+ #endif
164
+
165
+ G_DEF_SETTERS(gEntryC);
166
+ #endif
167
+ }