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,74 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtksizegroup.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/11/12 15:28:40 $
8
+
9
+ Copyright (C) 2003-2005 Ruby-GNOME2 Project Team
10
+ Copyright (C) 2002,2003 OGASAWARA, Takeshi
11
+ ************************************************/
12
+ #include "global.h"
13
+
14
+ #define _SELF(self) (GTK_SIZE_GROUP(RVAL2GOBJ(self)))
15
+
16
+ static VALUE
17
+ sizegrp_initialize(self, mode)
18
+ VALUE self, mode;
19
+ {
20
+ G_INITIALIZE(self, gtk_size_group_new(RVAL2GENUM(mode, GTK_TYPE_SIZE_GROUP_MODE)));
21
+ return Qnil;
22
+ }
23
+
24
+ static VALUE
25
+ sizegrp_add_widget(self, widget)
26
+ VALUE self, widget;
27
+ {
28
+ gtk_size_group_add_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget)));
29
+ return self;
30
+ }
31
+
32
+ static VALUE
33
+ sizegrp_remove_widget(self, widget)
34
+ VALUE self, widget;
35
+ {
36
+ gtk_size_group_remove_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget)));
37
+ return self;
38
+ }
39
+
40
+ /* Defined as properties
41
+ void gtk_size_group_set_ignore_hidden
42
+ (GtkSizeGroup *size_group,
43
+ gboolean ignore_hidden);
44
+ gboolean gtk_size_group_get_ignore_hidden
45
+ (GtkSizeGroup *size_group);
46
+ */
47
+
48
+ #if GTK_CHECK_VERSION(2,10,0)
49
+ static VALUE
50
+ sizegrp_get_widgets(self)
51
+ VALUE self;
52
+ {
53
+ return GSLIST2ARY(gtk_size_group_get_widgets(_SELF(self)));
54
+ }
55
+ #endif
56
+
57
+ void
58
+ Init_sizegrp()
59
+ {
60
+ VALUE gSizeGroup = G_DEF_CLASS(GTK_TYPE_SIZE_GROUP, "SizeGroup", mGtk);
61
+
62
+ rb_define_method(gSizeGroup, "initialize", sizegrp_initialize, 1);
63
+ rb_define_method(gSizeGroup, "add_widget", sizegrp_add_widget, 1);
64
+ rb_define_method(gSizeGroup, "remove_widget", sizegrp_remove_widget, 1);
65
+
66
+ #if GTK_CHECK_VERSION(2,10,0)
67
+ rb_define_method(gSizeGroup, "widgets", sizegrp_get_widgets, 0);
68
+ #endif
69
+
70
+ /* GtkSizeGroupMode */
71
+ G_DEF_CLASS(GTK_TYPE_SIZE_GROUP_MODE, "Mode", gSizeGroup);
72
+ G_DEF_CONSTANTS(gSizeGroup, GTK_TYPE_SIZE_GROUP_MODE, "GTK_SIZE_GROUP_");
73
+ }
74
+
@@ -0,0 +1,72 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtksocket.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2003/05/27 10:59:22 $
8
+
9
+ Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
10
+ Copyright (C) 2002 Neil Conway
11
+ ************************************************/
12
+
13
+ #include "global.h"
14
+
15
+ #ifdef HAVE_GTK_SOCKET_GET_TYPE
16
+ #define _SELF(self) GTK_SOCKET(RVAL2GOBJ(self))
17
+
18
+ static VALUE
19
+ socket_initialize(self)
20
+ VALUE self;
21
+ {
22
+ RBGTK_INITIALIZE(self, gtk_socket_new());
23
+ return Qnil;
24
+ }
25
+
26
+ static VALUE
27
+ socket_add_id(self, wid)
28
+ VALUE self, wid;
29
+ {
30
+ gtk_socket_add_id(_SELF(self),
31
+ #ifdef GDK_NATIVE_WINDOW_POINTER
32
+ GUINT_TO_POINTER(NUM2ULONG(wid))
33
+ #else
34
+ (guint32)NUM2UINT(wid)
35
+ #endif
36
+ );
37
+ return self;
38
+ }
39
+
40
+ static VALUE
41
+ socket_plug_window(self)
42
+ VALUE self;
43
+ {
44
+ return GOBJ2RVAL(_SELF(self)->plug_window);
45
+ }
46
+
47
+ static VALUE
48
+ socket_get_socket_id(self)
49
+ VALUE self;
50
+ {
51
+ GdkNativeWindow id = gtk_socket_get_id(_SELF(self));
52
+ #ifdef GDK_NATIVE_WINDOW_POINTER
53
+ return UINT2NUM(GPOINTER_TO_UINT(id));
54
+ #else
55
+ return UINT2NUM(id);
56
+ #endif
57
+ }
58
+
59
+ #endif /* HAVE_GTK_SOCKET_GET_TYPE */
60
+
61
+ void
62
+ Init_gtk_socket()
63
+ {
64
+ #ifdef HAVE_GTK_SOCKET_GET_TYPE
65
+ VALUE gSocket = G_DEF_CLASS(GTK_TYPE_SOCKET, "Socket", mGtk);
66
+
67
+ rb_define_method(gSocket, "initialize", socket_initialize, 0);
68
+ rb_define_method(gSocket, "plug_window", socket_plug_window, 0);
69
+ rb_define_method(gSocket, "add_id", socket_add_id, 1);
70
+ rb_define_method(gSocket, "id", socket_get_socket_id, 0);
71
+ #endif
72
+ }
@@ -0,0 +1,138 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkspinbutton.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2004/03/05 16:24:30 $
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_SPIN_BUTTON(RVAL2GOBJ(self)))
18
+
19
+ static VALUE
20
+ sbtn_initialize(argc, argv, self)
21
+ int argc;
22
+ VALUE *argv;
23
+ VALUE self;
24
+ {
25
+ VALUE arg1, arg2, arg3;
26
+ GtkAdjustment *adj = NULL;
27
+ gfloat climb_rate;
28
+ gint digits;
29
+ GtkWidget *widget;
30
+
31
+ rb_scan_args(argc, argv, "03", &arg1, &arg2, &arg3);
32
+
33
+ if (NIL_P(arg1) || RVAL2GTYPE(arg1) == GTK_TYPE_ADJUSTMENT){
34
+ if (!NIL_P(arg1)) adj = GTK_ADJUSTMENT(RVAL2GOBJ(arg1));
35
+ climb_rate = (NIL_P(arg2))? 0.0: NUM2DBL(arg2);
36
+ digits = (NIL_P(arg3))? 0: NUM2UINT(arg3);
37
+ widget = gtk_spin_button_new(adj, climb_rate, digits);
38
+ } else {
39
+ widget = gtk_spin_button_new_with_range(NUM2DBL(arg1),
40
+ NUM2DBL(arg2), NUM2DBL(arg3));
41
+ }
42
+ RBGTK_INITIALIZE(self, widget);
43
+ return Qnil;
44
+ }
45
+
46
+ static VALUE
47
+ sbtn_configure(self, adj, climb_rate, digits)
48
+ VALUE self, adj, climb_rate, digits;
49
+ {
50
+ gtk_spin_button_configure(_SELF(self), GTK_ADJUSTMENT(RVAL2GOBJ(adj)),
51
+ NUM2DBL(climb_rate), NUM2UINT(digits));
52
+ return self;
53
+ }
54
+
55
+ static VALUE
56
+ sbtn_set_increments(self, step, page)
57
+ VALUE self, step, page;
58
+ {
59
+ gtk_spin_button_set_increments(_SELF(self), NUM2DBL(step), NUM2DBL(page));
60
+ return self;
61
+ }
62
+
63
+ static VALUE
64
+ sbtn_set_range(self, min, max)
65
+ VALUE self, min, max;
66
+ {
67
+ gtk_spin_button_set_range(_SELF(self), NUM2DBL(min), NUM2DBL(max));
68
+ return self;
69
+ }
70
+
71
+
72
+ static VALUE
73
+ sbtn_get_value_as_int(self)
74
+ VALUE self;
75
+ {
76
+ return INT2NUM(gtk_spin_button_get_value_as_int(_SELF(self)));
77
+ }
78
+
79
+ static VALUE
80
+ sbtn_spin(self, direction, increment)
81
+ VALUE self, direction, increment;
82
+ {
83
+ gtk_spin_button_spin(_SELF(self), RVAL2GENUM(direction, GTK_TYPE_SPIN_TYPE),
84
+ NUM2DBL(increment));
85
+ return self;
86
+ }
87
+
88
+ static VALUE
89
+ sbtn_update(self)
90
+ VALUE self;
91
+ {
92
+ gtk_spin_button_update(_SELF(self));
93
+ return self;
94
+ }
95
+
96
+ static VALUE
97
+ sbtn_get_increments(self)
98
+ VALUE self;
99
+ {
100
+ gdouble step, page;
101
+ gtk_spin_button_get_increments(_SELF(self), &step, &page);
102
+
103
+ return rb_ary_new3(2, rb_float_new(step), rb_float_new(page));
104
+ }
105
+
106
+ static VALUE
107
+ sbtn_get_range(self)
108
+ VALUE self;
109
+ {
110
+ gdouble min, max;
111
+ gtk_spin_button_get_range(_SELF(self), &min, &max);
112
+
113
+ return rb_ary_new3(2, rb_float_new(min), rb_float_new(max));
114
+ }
115
+
116
+ void
117
+ Init_gtk_spin_button()
118
+ {
119
+ VALUE gSButton = G_DEF_CLASS(GTK_TYPE_SPIN_BUTTON, "SpinButton", mGtk);
120
+
121
+ rb_define_method(gSButton, "initialize", sbtn_initialize, -1);
122
+ rb_define_method(gSButton, "configure", sbtn_configure, 3);
123
+ rb_define_method(gSButton, "set_increments", sbtn_set_increments, 2);
124
+ rb_define_method(gSButton, "set_range", sbtn_set_range, 2);
125
+ rb_define_method(gSButton, "value_as_int", sbtn_get_value_as_int, 0);
126
+ rb_define_method(gSButton, "spin", sbtn_spin, 2);
127
+ rb_define_method(gSButton, "update", sbtn_update, 0);
128
+ rb_define_method(gSButton, "increments", sbtn_get_increments, 0);
129
+ rb_define_method(gSButton, "range", sbtn_get_range, 0);
130
+
131
+ /* GtkSpinType */
132
+ G_DEF_CLASS(GTK_TYPE_SPIN_TYPE, "Type", gSButton);
133
+ G_DEF_CONSTANTS(gSButton, GTK_TYPE_SPIN_TYPE, "GTK_SPIN_");
134
+
135
+ /* GtkSpinButtonUpdatePolicy */
136
+ G_DEF_CLASS(GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY, "UpdatePolicy", gSButton);
137
+ G_DEF_CONSTANTS(gSButton, GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY, "GTK_");
138
+ }
@@ -0,0 +1,90 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkstatusbar.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:32 $
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_STATUSBAR(RVAL2GOBJ(self)))
18
+
19
+ static VALUE
20
+ statusbar_initialize(self)
21
+ VALUE self;
22
+ {
23
+ RBGTK_INITIALIZE(self, gtk_statusbar_new());
24
+ return Qnil;
25
+ }
26
+
27
+ static VALUE
28
+ statusbar_get_context_id(self, text)
29
+ VALUE self, text;
30
+ {
31
+
32
+ return INT2FIX(gtk_statusbar_get_context_id(_SELF(self),
33
+ RVAL2CSTR(text)));
34
+ }
35
+
36
+ static VALUE
37
+ statusbar_push(self, id, text)
38
+ VALUE self, id, text;
39
+ {
40
+ return INT2FIX(gtk_statusbar_push(_SELF(self),
41
+ NUM2INT(id), RVAL2CSTR(text)));
42
+ }
43
+
44
+ static VALUE
45
+ statusbar_pop(self, id)
46
+ VALUE self, id;
47
+ {
48
+ gtk_statusbar_pop(_SELF(self), NUM2INT(id));
49
+ return self;
50
+
51
+ }
52
+
53
+ static VALUE
54
+ statusbar_remove(self, cid, mid)
55
+ VALUE self, cid, mid;
56
+ {
57
+ gtk_statusbar_remove(_SELF(self), NUM2INT(cid), NUM2INT(mid));
58
+ return self;
59
+ }
60
+
61
+ static VALUE
62
+ statusbar_set_has_resize_grip(self, setting)
63
+ VALUE self, setting;
64
+ {
65
+ gtk_statusbar_set_has_resize_grip(_SELF(self), RVAL2CBOOL(setting));
66
+ return self;
67
+ }
68
+
69
+ static VALUE
70
+ statusbar_get_has_resize_grip(self)
71
+ VALUE self;
72
+ {
73
+ return CBOOL2RVAL(gtk_statusbar_get_has_resize_grip(_SELF(self)));
74
+ }
75
+
76
+ void
77
+ Init_gtk_statusbar()
78
+ {
79
+ VALUE gStatusBar = G_DEF_CLASS(GTK_TYPE_STATUSBAR, "Statusbar", mGtk);
80
+
81
+ rb_define_method(gStatusBar, "initialize", statusbar_initialize, 0);
82
+ rb_define_method(gStatusBar, "get_context_id", statusbar_get_context_id, 1);
83
+ rb_define_method(gStatusBar, "push", statusbar_push, 2);
84
+ rb_define_method(gStatusBar, "pop", statusbar_pop, 1);
85
+ rb_define_method(gStatusBar, "remove", statusbar_remove, 2);
86
+ rb_define_method(gStatusBar, "set_has_resize_grip", statusbar_set_has_resize_grip, 1);
87
+ rb_define_method(gStatusBar, "has_resize_grip?", statusbar_get_has_resize_grip, 0);
88
+
89
+ G_DEF_SETTERS(gStatusBar);
90
+ }
@@ -0,0 +1,120 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkstatusicon.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/11/17 18:12:41 $
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(w) (GTK_STATUS_ICON(RVAL2GOBJ(w)))
17
+
18
+ static VALUE
19
+ si_initialize(self)
20
+ VALUE self;
21
+ {
22
+ G_INITIALIZE(self, gtk_status_icon_new());
23
+ return Qnil;
24
+ }
25
+
26
+ /* Don't implement this. Use Gtk::StatusIcon.new.set_foo(v) instead.
27
+ GtkStatusIcon* gtk_status_icon_new_from_pixbuf
28
+ (GdkPixbuf *pixbuf);
29
+ GtkStatusIcon* gtk_status_icon_new_from_file
30
+ (const gchar *filename);
31
+ GtkStatusIcon* gtk_status_icon_new_from_stock
32
+ (const gchar *stock_id);
33
+ GtkStatusIcon* gtk_status_icon_new_from_icon_name
34
+ (const gchar *icon_name);
35
+ */
36
+ /* Defined as properties
37
+ void gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon,
38
+ GdkPixbuf *pixbuf);
39
+ void gtk_status_icon_set_from_file (GtkStatusIcon *status_icon,
40
+ const gchar *filename);
41
+ void gtk_status_icon_set_from_stock (GtkStatusIcon *status_icon,
42
+ const gchar *stock_id);
43
+ void gtk_status_icon_set_from_icon_name
44
+ (GtkStatusIcon *status_icon,
45
+ const gchar *icon_name);
46
+ GtkImageType gtk_status_icon_get_storage_type
47
+ (GtkStatusIcon *status_icon);
48
+ GdkPixbuf* gtk_status_icon_get_pixbuf (GtkStatusIcon *status_icon);
49
+ const gchar* gtk_status_icon_get_stock (GtkStatusIcon *status_icon);
50
+ const gchar* gtk_status_icon_get_icon_name (GtkStatusIcon *status_icon);
51
+ gint gtk_status_icon_get_size (GtkStatusIcon *status_icon);
52
+ void gtk_status_icon_set_visible (GtkStatusIcon *status_icon,
53
+ gboolean visible);
54
+ gboolean gtk_status_icon_get_visible (GtkStatusIcon *status_icon);
55
+ void gtk_status_icon_set_blinking (GtkStatusIcon *status_icon,
56
+ gboolean blinking);
57
+ gboolean gtk_status_icon_get_blinking (GtkStatusIcon *status_icon);
58
+ */
59
+
60
+ static VALUE
61
+ si_set_tooltip(self, tooltip_text)
62
+ VALUE self, tooltip_text;
63
+ {
64
+ gtk_status_icon_set_tooltip(_SELF(self), RVAL2CSTR(tooltip_text));
65
+ return self;
66
+ }
67
+
68
+ static VALUE
69
+ si_is_embedded(self)
70
+ VALUE self;
71
+ {
72
+ return CBOOL2RVAL(gtk_status_icon_is_embedded(_SELF(self)));
73
+ }
74
+
75
+ static VALUE
76
+ si_position_menu(self, menu)
77
+ VALUE self, menu;
78
+ {
79
+ gint x, y;
80
+ gboolean push_in;
81
+
82
+ gtk_status_icon_position_menu(GTK_MENU(RVAL2GOBJ(menu)), &x, &y, &push_in,
83
+ (gpointer)(_SELF(self)));
84
+ return rb_ary_new3(3, INT2NUM(x), INT2NUM(y), CBOOL2RVAL(push_in));
85
+ }
86
+
87
+ static VALUE
88
+ si_get_geometry(self)
89
+ VALUE self;
90
+ {
91
+ GdkScreen* screen;
92
+ GdkRectangle area;
93
+ GtkOrientation orientation;
94
+ gboolean ret = gtk_status_icon_get_geometry(_SELF(self), &screen,
95
+ &area, &orientation);
96
+ if (ret) {
97
+ return rb_ary_new3(3, GOBJ2RVAL(screen),
98
+ BOXED2RVAL(&area, GDK_TYPE_RECTANGLE),
99
+ GENUM2RVAL(orientation, GTK_TYPE_ORIENTATION));
100
+ } else {
101
+ return rb_ary_new3(3, Qnil, Qnil, Qnil);
102
+ }
103
+ }
104
+ #endif
105
+
106
+ void
107
+ Init_gtk_status_icon()
108
+ {
109
+ #if GTK_CHECK_VERSION(2,10,0)
110
+ VALUE si = G_DEF_CLASS(GTK_TYPE_STATUS_ICON, "StatusIcon", mGtk);
111
+
112
+ rb_define_method(si, "initialize", si_initialize, 0);
113
+ rb_define_method(si, "set_tooltip", si_set_tooltip, 1);
114
+ rb_define_method(si, "embedded?", si_is_embedded, 0);
115
+ rb_define_method(si, "position_menu", si_position_menu, 1);
116
+ rb_define_method(si, "geometry", si_get_geometry, 0);
117
+
118
+ G_DEF_SETTERS(si);
119
+ #endif
120
+ }