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,98 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkprintunixdialog.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/12/26 16:11:13 $
8
+
9
+ Copyright (C) 2006 Ruby-GNOME2 Project Team
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #ifdef HAVE_GTK_UNIX_PRINT
15
+ #include <gtk/gtkprintunixdialog.h>
16
+
17
+ #define _SELF(s) (GTK_PRINT_UNIX_DIALOG(RVAL2GOBJ(s)))
18
+ #ifndef GTK_TYPE_PRINT_CAPABILITIES
19
+ # define GTK_TYPE_PRINT_CAPABILITIES (gtk_print_capabilities_get_type())
20
+ #endif
21
+
22
+ /* Defined as Properties
23
+ void gtk_print_unix_dialog_set_page_setup
24
+ (GtkPrintUnixDialog *dialog,
25
+ GtkPageSetup *page_setup);
26
+ GtkPageSetup* gtk_print_unix_dialog_get_page_setup
27
+ (GtkPrintUnixDialog *dialog);
28
+ void gtk_print_unix_dialog_set_current_page
29
+ (GtkPrintUnixDialog *dialog,
30
+ gint current_page);
31
+ gint gtk_print_unix_dialog_get_current_page
32
+ (GtkPrintUnixDialog *dialog);
33
+
34
+ void gtk_print_unix_dialog_set_settings
35
+ (GtkPrintUnixDialog *dialog,
36
+ GtkPrintSettings *settings);
37
+ GtkPrintSettings* gtk_print_unix_dialog_get_settings
38
+ (GtkPrintUnixDialog *dialog);
39
+
40
+ GtkPrinter* gtk_print_unix_dialog_get_selected_printer
41
+ (GtkPrintUnixDialog *dialog);
42
+ */
43
+
44
+ static VALUE
45
+ pud_initialize(int argc, VALUE *argv, VALUE self)
46
+ {
47
+ GtkWidget *dialog;
48
+ VALUE title, parent;
49
+
50
+ rb_scan_args(argc, argv, "02", &title, &parent);
51
+ dialog = gtk_print_unix_dialog_new(NIL_P(title) ? NULL : RVAL2CSTR(title),
52
+ RVAL2GOBJ(parent));
53
+
54
+ RBGTK_INITIALIZE(self, dialog);
55
+ return Qnil;
56
+ }
57
+
58
+ static VALUE
59
+ pud_add_custom_tab(VALUE self, VALUE child, VALUE tab_label)
60
+ {
61
+ gtk_print_unix_dialog_add_custom_tab(_SELF(self),
62
+ RVAL2GOBJ(child),
63
+ RVAL2GOBJ(tab_label));
64
+ return self;
65
+ }
66
+
67
+ static VALUE
68
+ pud_set_manual_capabilities(VALUE self, VALUE rb_capabilities)
69
+ {
70
+ GtkPrintCapabilities capabilities;
71
+
72
+ capabilities = RVAL2GFLAGS(rb_capabilities, GTK_TYPE_PRINT_CAPABILITIES);
73
+ gtk_print_unix_dialog_set_manual_capabilities(_SELF(self), capabilities);
74
+ return self;
75
+ }
76
+ #endif
77
+
78
+ void
79
+ Init_gtk_print_unix_dialog()
80
+ {
81
+ #ifdef HAVE_GTK_UNIX_PRINT
82
+ VALUE gPrintUnixDialog = G_DEF_CLASS(GTK_TYPE_PRINT_UNIX_DIALOG,
83
+ "PrintUnixDialog", mGtk);
84
+
85
+ rb_define_method(gPrintUnixDialog, "initialize", pud_initialize, -1);
86
+ rb_define_method(gPrintUnixDialog, "add_custom_tab", pud_add_custom_tab, 2);
87
+ rb_define_method(gPrintUnixDialog, "set_manual_capability",
88
+ pud_set_manual_capabilities, 1);
89
+ rb_define_alias(gPrintUnixDialog, "settings", "print_settings");
90
+ rb_define_alias(gPrintUnixDialog, "set_settings", "set_print_settings");
91
+
92
+ G_DEF_SETTERS(gPrintUnixDialog);
93
+
94
+ /* GtkPrintCapabilities */
95
+ G_DEF_CLASS(GTK_TYPE_PRINT_CAPABILITIES, "Capabilities", gPrintUnixDialog);
96
+ G_DEF_CONSTANTS(gPrintUnixDialog, GTK_TYPE_PRINT_CAPABILITIES, "GTK_PRINT_");
97
+ #endif
98
+ }
@@ -0,0 +1,21 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkprogress.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
+ void
18
+ Init_gtk_progress()
19
+ {
20
+ G_DEF_CLASS(GTK_TYPE_PROGRESS, "Progress", mGtk);
21
+ }
@@ -0,0 +1,72 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkprogressbar.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2005/01/09 19:02:05 $
8
+
9
+ Copyright (C) 2002-2005 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
+ pbar_initialize(self)
19
+ VALUE self;
20
+ {
21
+ RBGTK_INITIALIZE(self, gtk_progress_bar_new());
22
+ return Qnil;
23
+ }
24
+
25
+ static VALUE
26
+ pbar_pulse(self)
27
+ VALUE self;
28
+ {
29
+ gtk_progress_bar_pulse(GTK_PROGRESS_BAR(RVAL2GOBJ(self)));
30
+ return self;
31
+ }
32
+
33
+ /* Defined as Property
34
+ void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar,
35
+ PangoEllipsizeMode mode);
36
+ */
37
+
38
+ void
39
+ Init_gtk_progress_bar()
40
+ {
41
+ VALUE gProgressBar = G_DEF_CLASS(GTK_TYPE_PROGRESS_BAR, "ProgressBar", mGtk);
42
+
43
+ /* GtkProgressBarStyle */
44
+ /* Deprecated.
45
+ rb_define_const(gProgressBar, "CONTINUOUS", INT2FIX(GTK_PROGRESS_CONTINUOUS));
46
+ rb_define_const(gProgressBar, "DISCRETE", INT2FIX(GTK_PROGRESS_DISCRETE));
47
+ */
48
+
49
+ /* GtkProgressBarOrientation */
50
+ G_DEF_CLASS(GTK_TYPE_PROGRESS_BAR_ORIENTATION, "Orientation", gProgressBar);
51
+ G_DEF_CONSTANTS(gProgressBar, GTK_TYPE_PROGRESS_BAR_ORIENTATION, "GTK_PROGRESS_");
52
+
53
+ rb_define_method(gProgressBar, "initialize", pbar_initialize, 0);
54
+ rb_define_method(gProgressBar, "pulse", pbar_pulse, 0);
55
+
56
+ /* undef deprecated properties */
57
+ rb_undef_method(gProgressBar, "adjustment");
58
+ rb_undef_method(gProgressBar, "adjustment=");
59
+ rb_undef_method(gProgressBar, "set_adjustment");
60
+ rb_undef_method(gProgressBar, "bar_style");
61
+ rb_undef_method(gProgressBar, "bar_style=");
62
+ rb_undef_method(gProgressBar, "set_bar_style");
63
+ rb_undef_method(gProgressBar, "discrete_blocks");
64
+ rb_undef_method(gProgressBar, "discrete_blocks=");
65
+ rb_undef_method(gProgressBar, "set_discrete_blocks");
66
+ rb_undef_method(gProgressBar, "activity_blocks");
67
+ rb_undef_method(gProgressBar, "activity_blocks=");
68
+ rb_undef_method(gProgressBar, "set_activity_blocks");
69
+ rb_undef_method(gProgressBar, "activity_step");
70
+ rb_undef_method(gProgressBar, "activity_step=");
71
+ rb_undef_method(gProgressBar, "set_activity_step");
72
+ }
@@ -0,0 +1,102 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkradioaction.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2006/12/26 16:11:13 $
8
+
9
+ Copyright (C) 2004-2006 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #if GTK_CHECK_VERSION(2,4,0)
15
+
16
+ #define _SELF(self) (GTK_RADIO_ACTION(RVAL2GOBJ(self)))
17
+
18
+ static VALUE
19
+ raction_initialize(self, name, label, tooltip, stock_id, value)
20
+ VALUE self, name, label, tooltip, stock_id, value;
21
+ {
22
+ const gchar *gstock = NULL;
23
+
24
+ if (TYPE(stock_id) == T_STRING){
25
+ gstock = RVAL2CSTR(stock_id);
26
+ } else if (TYPE(stock_id) == T_SYMBOL) {
27
+ gstock = rb_id2name(SYM2ID(stock_id));
28
+ }
29
+ G_INITIALIZE(self, gtk_radio_action_new(RVAL2CSTR(name),
30
+ RVAL2CSTR(label),
31
+ NIL_P(tooltip) ? NULL : RVAL2CSTR(tooltip),
32
+ gstock,
33
+ NUM2INT(value)));
34
+ return Qnil;
35
+ }
36
+
37
+ static VALUE
38
+ raction_get_group(self)
39
+ VALUE self;
40
+ {
41
+ /* Owned by GTK+ */
42
+ return GSLIST2ARY(gtk_radio_action_get_group(_SELF(self)));
43
+ }
44
+
45
+ static VALUE
46
+ raction_set_group(self, group)
47
+ VALUE self, group;
48
+ {
49
+ long i;
50
+ GSList *glist = NULL;
51
+
52
+ if (TYPE(group) == T_ARRAY){
53
+ for (i = 0; i < RARRAY_LEN(group); i++) {
54
+ glist = g_slist_append(glist, RVAL2GOBJ(RARRAY_PTR(group)[i]));
55
+ }
56
+ gtk_radio_action_set_group(_SELF(group), glist);
57
+ g_slist_free(glist);
58
+ } else {
59
+ glist = gtk_radio_action_get_group(GTK_RADIO_ACTION(RVAL2GOBJ(group)));
60
+ gtk_radio_action_set_group(_SELF(group), glist);
61
+ }
62
+ return self;
63
+ }
64
+
65
+ #if ! GTK_CHECK_VERSION(2,10,0)
66
+ static VALUE
67
+ raction_get_current_value(self)
68
+ VALUE self;
69
+ {
70
+ return INT2NUM(gtk_radio_action_get_current_value(_SELF(self)));
71
+ }
72
+ #endif
73
+
74
+ #endif
75
+
76
+ /* Defined as Properties
77
+ void gtk_radio_action_set_current_value
78
+ (GtkRadioAction *action,
79
+ gint current_value);
80
+ */
81
+
82
+ void
83
+ Init_gtk_radio_action()
84
+ {
85
+ #if GTK_CHECK_VERSION(2,4,0)
86
+
87
+ VALUE gRadioAction = G_DEF_CLASS(GTK_TYPE_RADIO_ACTION, "RadioAction", mGtk);
88
+
89
+ rb_define_method(gRadioAction, "initialize", raction_initialize, 5);
90
+ #if ! GTK_CHECK_VERSION(2,10,0)
91
+ /* Define as Property since 2.10 */
92
+ rb_define_method(gRadioAction, "current_value", raction_get_current_value, 0);
93
+ #endif
94
+ rb_undef_method(gRadioAction, "group");
95
+ rb_undef_method(gRadioAction, "set_group");
96
+ rb_define_method(gRadioAction, "group", raction_get_group, 0);
97
+ rb_define_method(gRadioAction, "set_group", raction_set_group, 1);
98
+
99
+ G_DEF_SETTERS(gRadioAction);
100
+ #endif
101
+ }
102
+
@@ -0,0 +1,83 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkradiobutton.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:31 $
8
+
9
+ Copyright (C) 2002-2006 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 gRButton;
18
+
19
+ #define _GROUP(s) (NIL_P(s) ? NULL : GTK_RADIO_BUTTON(RVAL2GOBJ(s)))
20
+
21
+ static GtkWidget*
22
+ create_button(group, label, use_underline)
23
+ VALUE group, label, use_underline;
24
+ {
25
+ GtkWidget* widget = NULL;
26
+
27
+ if (TYPE(label) == T_STRING){
28
+ if (NIL_P(use_underline) || RVAL2CBOOL(use_underline)){
29
+ widget = gtk_radio_button_new_with_mnemonic_from_widget(_GROUP(group), RVAL2CSTR(label));
30
+ } else {
31
+ widget = gtk_radio_button_new_with_label_from_widget(_GROUP(group), RVAL2CSTR(label));
32
+ }
33
+ } else if (TYPE(label) == T_SYMBOL){
34
+ widget = gtk_radio_button_new_with_label_from_widget(_GROUP(group), rb_id2name(SYM2ID(label)));
35
+ gtk_button_set_use_stock(GTK_BUTTON(widget), TRUE);
36
+ } else if (NIL_P(label)){
37
+ widget = gtk_radio_button_new_from_widget(_GROUP(group));
38
+ } else {
39
+ rb_raise(rb_eArgError, "invalid argument %s (expect Symbol(Gtk::Stock constants) or String)",
40
+ rb_class2name(CLASS_OF(label)));
41
+ }
42
+ return widget;
43
+ }
44
+
45
+ static VALUE
46
+ rbtn_initialize(argc, argv, self)
47
+ int argc;
48
+ VALUE *argv;
49
+ VALUE self;
50
+ {
51
+ VALUE group_or_label, label_or_use_underline, use_underline;
52
+ GtkWidget *widget;
53
+
54
+ if (rb_scan_args(argc, argv, "03", &group_or_label, &label_or_use_underline, &use_underline) > 0) {
55
+ if (rb_obj_is_kind_of(group_or_label, gRButton)){
56
+ widget = create_button(group_or_label, label_or_use_underline, use_underline);
57
+ } else {
58
+ widget = create_button(Qnil, group_or_label, label_or_use_underline);
59
+ }
60
+ } else {
61
+ widget = gtk_radio_button_new(NULL);
62
+ }
63
+
64
+ RBGTK_INITIALIZE(self, widget);
65
+ return Qnil;
66
+ }
67
+
68
+ static VALUE
69
+ rbtn_group(self)
70
+ VALUE self;
71
+ {
72
+ /* Owened by GTK+ */
73
+ return GSLIST2ARY(gtk_radio_button_get_group(GTK_RADIO_BUTTON(RVAL2GOBJ(self))));
74
+ }
75
+
76
+ void
77
+ Init_gtk_radio_button()
78
+ {
79
+ gRButton = G_DEF_CLASS(GTK_TYPE_RADIO_BUTTON, "RadioButton", mGtk);
80
+
81
+ rb_define_method(gRButton, "initialize", rbtn_initialize, -1);
82
+ rb_define_method(gRButton, "group", rbtn_group, 0);
83
+ }
@@ -0,0 +1,115 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkradiomenuitem.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:31 $
8
+
9
+ Copyright (C) 2002-2006 Ruby-GNOME2 Project Team
10
+ Copyright (C) 1998-2000 Yukihiro Matsumoto,
11
+ Daisuke Kanda,
12
+ Hiroshi Igarashi,
13
+ dellin
14
+ ************************************************/
15
+
16
+ #include "global.h"
17
+
18
+ static GSList*
19
+ ary2gslist(ary)
20
+ VALUE ary;
21
+ {
22
+ long i;
23
+ GSList *glist = NULL;
24
+
25
+ if (NIL_P(ary)) return NULL;
26
+ Check_Type(ary, T_ARRAY);
27
+ for (i=0; i<RARRAY_LEN(ary); i++) {
28
+ glist = g_slist_append(glist,RVAL2GOBJ(RARRAY_PTR(ary)[i]));
29
+ }
30
+
31
+ return glist;
32
+ }
33
+
34
+ static VALUE
35
+ rmitem_initialize(argc, argv, self)
36
+ int argc;
37
+ VALUE *argv;
38
+ VALUE self;
39
+ {
40
+ VALUE arg1, arg2, arg3;
41
+ GtkWidget *widget;
42
+ GSList *list = NULL;
43
+ char *label = NULL;
44
+ char *mnemonic = NULL;
45
+
46
+ if (rb_scan_args(argc, argv, "03", &arg1, &arg2, &arg3) > 0 &&
47
+ TYPE(arg1) == T_STRING) {
48
+ if (NIL_P(arg2) || RVAL2CBOOL(arg2)){
49
+ mnemonic = RVAL2CSTR(arg1);
50
+ } else {
51
+ label = RVAL2CSTR(arg1);
52
+ }
53
+ } else {
54
+ if (!NIL_P(arg2)) {
55
+ if (NIL_P(arg3) || RVAL2CBOOL(arg3)){
56
+ mnemonic = RVAL2CSTR(arg2);
57
+ } else {
58
+ label = RVAL2CSTR(arg2);
59
+ }
60
+ }
61
+ if (rb_obj_is_kind_of(arg1, GTYPE2CLASS(GTK_TYPE_RADIO_MENU_ITEM))){
62
+ list = GTK_RADIO_MENU_ITEM(RVAL2GOBJ(arg1))->group;
63
+ } else if (TYPE(arg1) == T_ARRAY){
64
+ list = ary2gslist(arg1);
65
+ } else if (! NIL_P(arg1)){
66
+ rb_raise(rb_eArgError, "invalid argument %s (expect Array or Gtk::RadioMenuItem)",
67
+ rb_class2name(CLASS_OF(label)));
68
+ }
69
+ }
70
+ if (label) {
71
+ widget = gtk_radio_menu_item_new_with_label(list, label);
72
+ } else if (mnemonic){
73
+ widget = gtk_radio_menu_item_new_with_mnemonic(list, mnemonic);
74
+ } else {
75
+ widget = gtk_radio_menu_item_new(list);
76
+ }
77
+ RBGTK_INITIALIZE(self, widget);
78
+ return Qnil;
79
+ }
80
+
81
+ static VALUE
82
+ rmitem_get_group(self)
83
+ VALUE self;
84
+ {
85
+ /* Owened by GTK+ */
86
+ return GSLIST2ARY(gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(RVAL2GOBJ(self))));
87
+ }
88
+
89
+ static VALUE
90
+ rmitem_set_group(self, grp_ary)
91
+ VALUE self, grp_ary;
92
+ {
93
+ GtkRadioMenuItem *rmitem2add, *rmitem_orig;
94
+ GSList *group;
95
+
96
+ rmitem2add = GTK_RADIO_MENU_ITEM(RVAL2GOBJ(self));
97
+ rmitem_orig = GTK_RADIO_MENU_ITEM(RVAL2GOBJ(rb_ary_entry(grp_ary, 0)));
98
+ group = gtk_radio_menu_item_group(rmitem_orig);
99
+
100
+ gtk_radio_menu_item_set_group(rmitem2add, group);
101
+
102
+ return GSLIST2ARY(gtk_radio_menu_item_get_group(rmitem2add));
103
+ }
104
+
105
+ void
106
+ Init_gtk_radio_menu_item()
107
+ {
108
+ VALUE gRMenuItem = G_DEF_CLASS(GTK_TYPE_RADIO_MENU_ITEM, "RadioMenuItem", mGtk);
109
+
110
+ rb_define_method(gRMenuItem, "initialize", rmitem_initialize, -1);
111
+ rb_define_method(gRMenuItem, "group", rmitem_get_group, 0);
112
+ rb_define_method(gRMenuItem, "set_group", rmitem_set_group, 1);
113
+
114
+ G_DEF_SETTERS(gRMenuItem);
115
+ }