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,63 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkcolorbutton.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2004/05/30 16:41:13 $
8
+
9
+ Copyright (C) 2004 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #if GTK_CHECK_VERSION(2,4,0)
15
+
16
+ static VALUE
17
+ colorbutton_initialize(argc, argv, self)
18
+ int argc;
19
+ VALUE* argv;
20
+ VALUE self;
21
+ {
22
+ VALUE color;
23
+ GtkWidget* widget;
24
+
25
+ rb_scan_args(argc, argv, "01", &color);
26
+
27
+ if (NIL_P(color)){
28
+ widget = gtk_color_button_new();
29
+ } else {
30
+ widget = gtk_color_button_new_with_color(RVAL2GDKCOLOR(color));
31
+ }
32
+
33
+ RBGTK_INITIALIZE(self, widget);
34
+ return Qnil;
35
+ }
36
+
37
+ /* Defined as property.
38
+ void gtk_color_button_set_color (GtkColorButton *color_button,
39
+ const GdkColor *color);
40
+ void gtk_color_button_get_color (GtkColorButton *color_button,
41
+ GdkColor *color);
42
+ void gtk_color_button_set_alpha (GtkColorButton *color_button,
43
+ guint16 alpha);
44
+ guint16 gtk_color_button_get_alpha (GtkColorButton *color_button);
45
+ void gtk_color_button_set_use_alpha (GtkColorButton *color_button,
46
+ gboolean use_alpha);
47
+ gboolean gtk_color_button_get_use_alpha (GtkColorButton *color_button);
48
+ void gtk_color_button_set_title (GtkColorButton *color_button,
49
+ const gchar *title);
50
+ G_CONST_RETURN gchar* gtk_color_button_get_title
51
+ (GtkColorButton *color_button);
52
+ */
53
+
54
+ #endif
55
+
56
+ void
57
+ Init_gtk_colorbutton()
58
+ {
59
+ #if GTK_CHECK_VERSION(2,4,0)
60
+ VALUE gColorbutton = G_DEF_CLASS(GTK_TYPE_COLOR_BUTTON, "ColorButton", mGtk);
61
+ rb_define_method(gColorbutton, "initialize", colorbutton_initialize, -1);
62
+ #endif
63
+ }
@@ -0,0 +1,175 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkcolorsel.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 14:27: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
+ #define _SELF(s) (GTK_COLOR_SELECTION(RVAL2GOBJ(self)))
18
+
19
+ static VALUE gColorSel;
20
+
21
+ static VALUE
22
+ colorsel_initialize(self)
23
+ VALUE self;
24
+ {
25
+ RBGTK_INITIALIZE(self, gtk_color_selection_new());
26
+ return Qnil;
27
+ }
28
+
29
+ static VALUE
30
+ colorsel_get_previous_alpha(self)
31
+ VALUE self;
32
+ {
33
+ return INT2NUM(gtk_color_selection_get_previous_alpha(_SELF(self)));
34
+ }
35
+
36
+ static VALUE
37
+ colorsel_set_previous_alpha(self, alpha)
38
+ VALUE self, alpha;
39
+ {
40
+ gtk_color_selection_set_previous_alpha(_SELF(self), NUM2INT(alpha));
41
+ return self;
42
+ }
43
+
44
+ static VALUE
45
+ colorsel_set_previous_color(self, color)
46
+ VALUE self, color;
47
+ {
48
+ gtk_color_selection_set_previous_color(_SELF(self), RVAL2GDKCOLOR(color));
49
+ return self;
50
+ }
51
+
52
+ static VALUE
53
+ colorsel_get_previous_color(self)
54
+ VALUE self;
55
+ {
56
+ GdkColor color;
57
+ gtk_color_selection_get_previous_color(_SELF(self), &color);
58
+ return GDKCOLOR2RVAL(&color);
59
+ }
60
+
61
+ static VALUE
62
+ colorsel_is_adjusting(self)
63
+ VALUE self;
64
+ {
65
+ return CBOOL2RVAL(gtk_color_selection_is_adjusting(_SELF(self)));
66
+ }
67
+
68
+ static VALUE
69
+ colorsel_s_palette_from_string(self, str)
70
+ VALUE self, str;
71
+ {
72
+ GdkColor* gcolors;
73
+ gint i, n_colors;
74
+ VALUE ary = Qnil;
75
+ gboolean ret = gtk_color_selection_palette_from_string(RVAL2CSTR(str),
76
+ &gcolors, &n_colors);
77
+
78
+ if (ret) {
79
+ ary = rb_ary_new();
80
+ for (i = 0; i < n_colors; i++) {
81
+ rb_ary_push(ary, GDKCOLOR2RVAL(&gcolors[i]));
82
+ }
83
+ }
84
+
85
+ return ary;
86
+ }
87
+
88
+ static VALUE
89
+ colorsel_s_palette_to_string(argc, argv, self)
90
+ int argc;
91
+ VALUE* argv;
92
+ VALUE self;
93
+ {
94
+ GdkColor* gcolors;
95
+ GdkColor* gcolor;
96
+ VALUE colors;
97
+ gint i, len;
98
+
99
+ if (argc > 1) {
100
+ rb_scan_args(argc, argv, "*", &colors);
101
+ } else {
102
+ rb_scan_args(argc, argv, "10", &colors);
103
+ }
104
+
105
+ len = RARRAY_LEN(colors);
106
+ gcolors = ALLOCA_N(GdkColor, len);
107
+
108
+ for (i = 0; i < len; i++) {
109
+ gcolor = RVAL2GDKCOLOR(RARRAY_PTR(colors)[i]);
110
+ gcolors[i] = *gcolor;
111
+ }
112
+
113
+ return CSTR2RVAL(gtk_color_selection_palette_to_string((const GdkColor*)gcolors, len));
114
+ }
115
+
116
+ #if GTK_CHECK_VERSION(2,2,0)
117
+ static void
118
+ screen_func(screen, colors, n_colors)
119
+ GdkScreen* screen;
120
+ const GdkColor* colors;
121
+ gint n_colors;
122
+ {
123
+ int i;
124
+ VALUE func = rb_cvar_get(gColorSel, rb_intern("__palette_proc__"));
125
+ VALUE ary = rb_ary_new();
126
+ for (i = 0; i < n_colors; i++){
127
+ ary = rb_ary_push(ary, GDKCOLOR2RVAL((GdkColor *)&colors[i]));
128
+ }
129
+ if (! NIL_P(func))
130
+ rb_funcall(func, id_call, 2, GOBJ2RVAL(screen), ary);
131
+ }
132
+
133
+ static VALUE
134
+ colorsel_s_set_change_palette_hook(self)
135
+ VALUE self;
136
+ {
137
+ VALUE func = rb_block_proc();
138
+
139
+ rb_cv_set(gColorSel, "__palette_proc__", func);
140
+ gtk_color_selection_set_change_palette_with_screen_hook(
141
+ (GtkColorSelectionChangePaletteWithScreenFunc)screen_func);
142
+ return self;
143
+ }
144
+ #endif
145
+
146
+ /* Don't implement them.
147
+ GtkColorSelectionChangePaletteFunc gtk_color_selection_set_change_palette_hook
148
+ (GtkColorSelectionChangePaletteFunc func);
149
+ void (*GtkColorSelectionChangePaletteWithScreenFunc)
150
+ (GdkScreen *screen,
151
+ const GdkColor *colors,
152
+ gint n_colors);
153
+ */
154
+
155
+ void
156
+ Init_gtk_color_selection()
157
+ {
158
+ gColorSel = G_DEF_CLASS(GTK_TYPE_COLOR_SELECTION, "ColorSelection", mGtk);
159
+
160
+ rb_define_method(gColorSel, "initialize", colorsel_initialize, 0);
161
+ rb_define_method(gColorSel, "previous_alpha", colorsel_get_previous_alpha, 0);
162
+ rb_define_method(gColorSel, "set_previous_alpha", colorsel_set_previous_alpha, 1);
163
+ rb_define_method(gColorSel, "set_previous_color", colorsel_set_previous_color, 1);
164
+ rb_define_method(gColorSel, "previous_color", colorsel_get_previous_color, 0);
165
+ rb_define_method(gColorSel, "adjusting?", colorsel_is_adjusting, 0);
166
+
167
+ rb_define_singleton_method(gColorSel, "palette_to_string", colorsel_s_palette_to_string, -1);
168
+ rb_define_singleton_method(gColorSel, "palette_from_string", colorsel_s_palette_from_string, 1);
169
+
170
+ #if GTK_CHECK_VERSION(2,2,0)
171
+ rb_define_singleton_method(gColorSel, "set_change_palette_hook", colorsel_s_set_change_palette_hook, 0);
172
+ #endif
173
+
174
+ G_DEF_SETTERS(gColorSel);
175
+ }
@@ -0,0 +1,72 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkcolorselectiondialog.c -
5
+
6
+ $Author: mutoh $
7
+ $Date: 2003/01/19 14:28:24 $
8
+
9
+ Copyright (C) 2002,2003 Masao Mutoh
10
+
11
+ This file is devided from rbgtkcolorsel.c.
12
+ rbgtkcolorsel.c:
13
+ Copyright (C) 1998-2000 Yukihiro Matsumoto,
14
+ Daisuke Kanda,
15
+ Hiroshi Igarashi
16
+ ************************************************/
17
+ #include "global.h"
18
+
19
+ #define _SELF(s) (GTK_COLOR_SELECTION_DIALOG(RVAL2GOBJ(s)))
20
+
21
+ static VALUE
22
+ cdialog_initialize(argc, argv, self)
23
+ int argc;
24
+ VALUE *argv;
25
+ VALUE self;
26
+ {
27
+ VALUE title;
28
+ rb_scan_args(argc, argv, "01", &title);
29
+ RBGTK_INITIALIZE(self, gtk_color_selection_dialog_new(NIL_P(title) ? NULL : RVAL2CSTR(title)));
30
+ return Qnil;
31
+ }
32
+
33
+ static VALUE
34
+ cdialog_get_colorsel(self)
35
+ VALUE self;
36
+ {
37
+ return GOBJ2RVAL(_SELF(self)->colorsel);
38
+ }
39
+
40
+ static VALUE
41
+ cdialog_get_ok_button(self)
42
+ VALUE self;
43
+ {
44
+ return GOBJ2RVAL(_SELF(self)->ok_button);
45
+ }
46
+
47
+ static VALUE
48
+ cdialog_get_cancel_button(self)
49
+ VALUE self;
50
+ {
51
+ return GOBJ2RVAL(_SELF(self)->cancel_button);
52
+ }
53
+
54
+ static VALUE
55
+ cdialog_get_help_button(self)
56
+ VALUE self;
57
+ {
58
+ return GOBJ2RVAL(_SELF(self)->help_button);
59
+ }
60
+
61
+ void
62
+ Init_gtk_color_selection_dialog()
63
+ {
64
+ VALUE gColorSelDialog = G_DEF_CLASS(GTK_TYPE_COLOR_SELECTION_DIALOG,
65
+ "ColorSelectionDialog", mGtk);
66
+
67
+ rb_define_method(gColorSelDialog, "initialize", cdialog_initialize, -1);
68
+ rb_define_method(gColorSelDialog, "colorsel", cdialog_get_colorsel, 0);
69
+ rb_define_method(gColorSelDialog, "ok_button", cdialog_get_ok_button, 0);
70
+ rb_define_method(gColorSelDialog, "cancel_button", cdialog_get_cancel_button, 0);
71
+ rb_define_method(gColorSelDialog, "help_button", cdialog_get_help_button, 0);
72
+ }
@@ -0,0 +1,117 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkcombo.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
+ #ifndef GTK_DISABLE_DEPRECATED /* Since 2.4 */
18
+
19
+ static VALUE
20
+ combo_set_popdown_strings(self, ary)
21
+ VALUE self, ary;
22
+ {
23
+ int i;
24
+ GList *glist = NULL;
25
+
26
+ Check_Type(ary, T_ARRAY);
27
+ for (i=0; i<RARRAY_LEN(ary); i++) {
28
+ glist = g_list_append(glist, RVAL2CSTR(RARRAY_PTR(ary)[i]));
29
+ }
30
+ gtk_combo_set_popdown_strings(GTK_COMBO(RVAL2GOBJ(self)), glist);
31
+ g_list_free(glist);
32
+ return self;
33
+ }
34
+
35
+ static VALUE
36
+ combo_initialize(argc, argv, self)
37
+ int argc;
38
+ VALUE *argv;
39
+ VALUE self;
40
+ {
41
+ VALUE ary;
42
+ GtkWidget* widget = NULL;
43
+
44
+ rb_scan_args(argc, argv, "01", &ary);
45
+ widget = gtk_combo_new();
46
+
47
+ RBGTK_INITIALIZE(self, widget);
48
+
49
+ if (! NIL_P(ary)){
50
+ combo_set_popdown_strings(self, ary);
51
+ }
52
+
53
+ return Qnil;
54
+ }
55
+
56
+ static VALUE
57
+ combo_set_val_in_list(self, val, ok)
58
+ VALUE self, val, ok;
59
+ {
60
+ gtk_combo_set_value_in_list(GTK_COMBO(RVAL2GOBJ(self)),
61
+ RVAL2CBOOL(val), RVAL2CBOOL(ok));
62
+ return self;
63
+ }
64
+
65
+ static VALUE
66
+ combo_set_use_arrows(self, val)
67
+ VALUE self, val;
68
+ {
69
+ gtk_combo_set_use_arrows(GTK_COMBO(RVAL2GOBJ(self)),
70
+ RVAL2CBOOL(val));
71
+ return self;
72
+ }
73
+
74
+ static VALUE
75
+ combo_set_use_arrows_always(self, val)
76
+ VALUE self, val;
77
+ {
78
+ gtk_combo_set_use_arrows_always(GTK_COMBO(RVAL2GOBJ(self)),
79
+ RVAL2CBOOL(val));
80
+ return self;
81
+ }
82
+
83
+ static VALUE
84
+ combo_disable_activate(self)
85
+ VALUE self;
86
+ {
87
+ gtk_combo_disable_activate(GTK_COMBO(RVAL2GOBJ(self)));
88
+ return self;
89
+ }
90
+
91
+ static VALUE
92
+ combo_entry(self)
93
+ VALUE self;
94
+ {
95
+ return GOBJ2RVAL(GTK_COMBO(RVAL2GOBJ(self))->entry);
96
+ }
97
+ #endif
98
+
99
+ void
100
+ Init_gtk_combo()
101
+ {
102
+ #ifndef GTK_DISABLE_DEPRECATED /* Since 2.4 */
103
+ VALUE gCombo = G_DEF_CLASS(GTK_TYPE_COMBO, "Combo", mGtk);
104
+
105
+ rb_define_method(gCombo, "initialize", combo_initialize, -1);
106
+ rb_define_method(gCombo, "set_value_in_list", combo_set_val_in_list, 2);
107
+ rb_define_method(gCombo, "set_use_arrows", combo_set_use_arrows, 1);
108
+ rb_define_method(gCombo, "set_use_arrows_always", combo_set_use_arrows_always, 1);
109
+ rb_define_method(gCombo, "set_popdown_strings", combo_set_popdown_strings, 1);
110
+ rb_define_method(gCombo, "disable_activate", combo_disable_activate, 0);
111
+
112
+ rb_define_method(gCombo, "entry", combo_entry, 0);
113
+
114
+ G_DEF_SETTERS(gCombo);
115
+ #endif
116
+ }
117
+
@@ -0,0 +1,240 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgtkcombobox.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:31 $
8
+
9
+ Copyright (C) 2004 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ #if GTK_CHECK_VERSION(2,4,0)
15
+
16
+ #define _SELF(self) (GTK_COMBO_BOX(RVAL2GOBJ(self)))
17
+ #define RVAL2WIDGET(w) (GTK_WIDGET(RVAL2GOBJ(w)))
18
+
19
+ static VALUE
20
+ combobox_initialize(argc, argv, self)
21
+ int argc;
22
+ VALUE* argv;
23
+ VALUE self;
24
+ {
25
+ VALUE model_or_false;
26
+ GtkWidget* widget;
27
+
28
+ rb_scan_args(argc, argv, "01", &model_or_false);
29
+
30
+ if (rb_obj_is_kind_of(model_or_false, GTYPE2CLASS(GTK_TYPE_TREE_MODEL))){
31
+ widget = gtk_combo_box_new_with_model(GTK_TREE_MODEL(RVAL2GOBJ(model_or_false)));
32
+ } else if (NIL_P(model_or_false) || TYPE(model_or_false) == T_TRUE){
33
+ widget = gtk_combo_box_new_text();
34
+ } else if (TYPE(model_or_false) == T_FALSE){
35
+ widget = gtk_combo_box_new();
36
+ } else {
37
+ rb_raise(rb_eArgError, "invalid 2nd argument %s (except true/false or Gtk::TreeModel)",
38
+ rb_class2name(CLASS_OF(model_or_false)));
39
+ }
40
+
41
+ RBGTK_INITIALIZE(self, widget);
42
+ return Qnil;
43
+ }
44
+
45
+ /* Defined as properties.
46
+ void gtk_combo_box_set_wrap_width (GtkComboBox *combo_box,
47
+ gint width);
48
+ void gtk_combo_box_set_row_span_column
49
+ (GtkComboBox *combo_box,
50
+ gint row_span);
51
+ void gtk_combo_box_set_column_span_column
52
+ (GtkComboBox *combo_box,
53
+ gint column_span);
54
+ gint gtk_combo_box_get_active (GtkComboBox *combo_box);
55
+ void gtk_combo_box_set_active (GtkComboBox *combo_box,
56
+ gint index);
57
+ */
58
+
59
+ static VALUE
60
+ combobox_get_active_iter(self)
61
+ VALUE self;
62
+ {
63
+ GtkTreeIter iter;
64
+ VALUE val = Qnil;
65
+ gboolean ret = gtk_combo_box_get_active_iter(_SELF(self), &iter);
66
+ if (ret){
67
+ iter.user_data3 = (gpointer)gtk_combo_box_get_model(_SELF(self));
68
+ val = BOXED2RVAL(&iter, GTK_TYPE_TREE_ITER);
69
+ }
70
+ return val;
71
+ }
72
+
73
+ static VALUE
74
+ combobox_set_active_iter(self, iter)
75
+ VALUE self, iter;
76
+ {
77
+ gtk_combo_box_set_active_iter(_SELF(self), RVAL2GTKTREEITER(iter));
78
+ return self;
79
+ }
80
+
81
+ /* Defined as properties
82
+ GtkTreeModel* gtk_combo_box_get_model (GtkComboBox *combo_box);
83
+ void gtk_combo_box_set_model (GtkComboBox *combo_box,
84
+ GtkTreeModel *model);
85
+ */
86
+
87
+
88
+ static VALUE
89
+ combobox_append_text(self, text)
90
+ VALUE self, text;
91
+ {
92
+ gtk_combo_box_append_text(_SELF(self), RVAL2CSTR(text));
93
+ return self;
94
+ }
95
+
96
+ static VALUE
97
+ combobox_insert_text(self, position, text)
98
+ VALUE self, position, text;
99
+ {
100
+ gtk_combo_box_insert_text(_SELF(self), NUM2INT(position), RVAL2CSTR(text));
101
+ return self;
102
+ }
103
+
104
+ static VALUE
105
+ combobox_prepend_text(self, text)
106
+ VALUE self, text;
107
+ {
108
+ gtk_combo_box_prepend_text(_SELF(self), RVAL2CSTR(text));
109
+ return self;
110
+ }
111
+
112
+ static VALUE
113
+ combobox_remove_text(self, position)
114
+ VALUE self, position;
115
+ {
116
+ gtk_combo_box_remove_text(_SELF(self), NUM2INT(position));
117
+ return self;
118
+ }
119
+
120
+
121
+ static VALUE
122
+ combobox_popup(self)
123
+ VALUE self;
124
+ {
125
+ gtk_combo_box_popup(_SELF(self));
126
+ return self;
127
+ }
128
+
129
+ static VALUE
130
+ combobox_popdown(self)
131
+ VALUE self;
132
+ {
133
+ gtk_combo_box_popdown(_SELF(self));
134
+ return self;
135
+ }
136
+
137
+ #if GTK_CHECK_VERSION(2,6,0)
138
+ /* Defined as Property
139
+ void gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box,
140
+ gboolean add_tearoffs);
141
+ gboolean gtk_combo_box_get_add_tearoffs (GtkComboBox *combo_box);
142
+ gint gtk_combo_box_get_column_span_column
143
+ (GtkComboBox *combo_box);
144
+ gint gtk_combo_box_get_wrap_width (GtkComboBox *combo_box);
145
+
146
+ gboolean gtk_combo_box_get_focus_on_click
147
+ (GtkComboBox *combo);
148
+ gint gtk_combo_box_get_row_span_column
149
+ (GtkComboBox *combo_box);
150
+ */
151
+
152
+ static VALUE
153
+ combobox_get_active_text(self)
154
+ VALUE self;
155
+ {
156
+ return CSTR2RVAL2(gtk_combo_box_get_active_text(_SELF(self)));
157
+ }
158
+
159
+ static VALUE
160
+ combobox_get_popup_accessible(self)
161
+ VALUE self;
162
+ {
163
+ return GOBJ2RVAL(gtk_combo_box_get_popup_accessible(_SELF(self)));
164
+ }
165
+
166
+ /* How can I implement this?
167
+ GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func
168
+ (GtkComboBox *combo_box);
169
+ */
170
+
171
+ static gboolean
172
+ row_separator_func(model, iter, func)
173
+ GtkTreeModel* model;
174
+ GtkTreeIter* iter;
175
+ gpointer* func;
176
+ {
177
+ iter->user_data3 = model;
178
+ return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(model),
179
+ GTKTREEITER2RVAL(iter)));
180
+ }
181
+
182
+ static VALUE
183
+ combobox_set_row_separator_func(self)
184
+ VALUE self;
185
+ {
186
+ VALUE func = rb_block_proc();
187
+ G_RELATIVE(self, func);
188
+ gtk_combo_box_set_row_separator_func(_SELF(self),
189
+ (GtkTreeViewRowSeparatorFunc)row_separator_func,
190
+ (gpointer)func, NULL);
191
+ return self;
192
+ }
193
+
194
+ /* This calls g_object_notify(combo, "focus_on_click");
195
+ If you want to set "focus_on_click" property only,
196
+ call GLib::Object.set_property.
197
+ */
198
+ static VALUE
199
+ combobox_set_focus_on_click(self, val)
200
+ VALUE self, val;
201
+ {
202
+ gtk_combo_box_set_focus_on_click(_SELF(self), RVAL2CBOOL(val));
203
+ return self;
204
+ }
205
+
206
+ #endif
207
+ #endif
208
+
209
+ /* Defined as Properties
210
+ void gtk_combo_box_set_title (GtkComboBox *combo_box,
211
+ const gchar *title);
212
+ const gchar* gtk_combo_box_get_title (GtkComboBox *combo_box);
213
+ */
214
+
215
+ void
216
+ Init_gtk_combobox()
217
+ {
218
+ #if GTK_CHECK_VERSION(2,4,0)
219
+ VALUE gCombobox = G_DEF_CLASS(GTK_TYPE_COMBO_BOX, "ComboBox", mGtk);
220
+
221
+ rb_define_method(gCombobox, "initialize", combobox_initialize, -1);
222
+ rb_define_method(gCombobox, "active_iter", combobox_get_active_iter, 0);
223
+ rb_define_method(gCombobox, "set_active_iter", combobox_set_active_iter, 1);
224
+ rb_define_method(gCombobox, "append_text", combobox_append_text, 1);
225
+ rb_define_method(gCombobox, "insert_text", combobox_insert_text, 2);
226
+ rb_define_method(gCombobox, "prepend_text", combobox_prepend_text, 1);
227
+ rb_define_method(gCombobox, "remove_text", combobox_remove_text, 1);
228
+ rb_define_method(gCombobox, "popup", combobox_popup, 0);
229
+ rb_define_method(gCombobox, "popdown", combobox_popdown, 0);
230
+
231
+ #if GTK_CHECK_VERSION(2,6,0)
232
+ rb_define_method(gCombobox, "active_text", combobox_get_active_text, 0);
233
+ rb_define_method(gCombobox, "popup_accessible", combobox_get_popup_accessible, 0);
234
+ rb_define_method(gCombobox, "set_row_separator_func", combobox_set_row_separator_func, 0);
235
+ rb_define_method(gCombobox, "set_focus_on_click", combobox_set_focus_on_click, 1);
236
+ #endif
237
+
238
+ G_DEF_SETTERS(gCombobox);
239
+ #endif
240
+ }