gtk2 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. data/Rakefile +66 -1
  2. data/ext/gtk2/extconf.rb +0 -96
  3. data/ext/gtk2/global.h +274 -13
  4. data/ext/gtk2/gtk2.def +5 -3
  5. data/ext/gtk2/init.c +263 -19
  6. data/ext/gtk2/rbgdk.c +245 -89
  7. data/ext/gtk2/rbgdk.h +32 -6
  8. data/ext/gtk2/rbgdkatom.c +38 -28
  9. data/ext/gtk2/rbgdkcairo.c +32 -42
  10. data/ext/gtk2/rbgdkcolor.c +52 -42
  11. data/ext/gtk2/rbgdkcolormap.c +42 -37
  12. data/ext/gtk2/rbgdkconst.c +23 -13
  13. data/ext/gtk2/rbgdkconversions.h +19 -6
  14. data/ext/gtk2/rbgdkcursor.c +37 -25
  15. data/ext/gtk2/rbgdkdevice.c +77 -67
  16. data/ext/gtk2/rbgdkdisplay.c +158 -150
  17. data/ext/gtk2/rbgdkdisplaymanager.c +27 -15
  18. data/ext/gtk2/rbgdkdragcontext.c +121 -70
  19. data/ext/gtk2/rbgdkdraw.c +252 -160
  20. data/ext/gtk2/rbgdkevent.c +30 -20
  21. data/ext/gtk2/rbgdkgc.c +123 -116
  22. data/ext/gtk2/rbgdkgeometry.c +77 -68
  23. data/ext/gtk2/rbgdkimage.c +58 -47
  24. data/ext/gtk2/rbgdkinput.c +33 -26
  25. data/ext/gtk2/rbgdkkeymap.c +38 -27
  26. data/ext/gtk2/rbgdkkeyval.c +44 -32
  27. data/ext/gtk2/rbgdkpango.c +66 -39
  28. data/ext/gtk2/rbgdkpangorenderer.c +63 -35
  29. data/ext/gtk2/rbgdkpixbuf.c +36 -25
  30. data/ext/gtk2/rbgdkpixmap.c +65 -49
  31. data/ext/gtk2/rbgdkproperty.c +66 -60
  32. data/ext/gtk2/rbgdkrectangle.c +54 -46
  33. data/ext/gtk2/rbgdkregion.c +144 -79
  34. data/ext/gtk2/rbgdkrgb.c +74 -58
  35. data/ext/gtk2/rbgdkscreen.c +103 -97
  36. data/ext/gtk2/rbgdkselection.c +49 -39
  37. data/ext/gtk2/rbgdkthreads.c +32 -19
  38. data/ext/gtk2/rbgdktimecoord.c +60 -38
  39. data/ext/gtk2/rbgdkvisual.c +79 -71
  40. data/ext/gtk2/rbgdkwindow.c +284 -305
  41. data/ext/gtk2/rbgdkwindowattr.c +69 -58
  42. data/ext/gtk2/rbgdkx11.c +41 -28
  43. data/ext/gtk2/rbgtk.c +498 -19
  44. data/ext/gtk2/rbgtk.h +35 -20
  45. data/ext/gtk2/rbgtkaboutdialog.c +33 -80
  46. data/ext/gtk2/rbgtkaccelerator.c +36 -23
  47. data/ext/gtk2/rbgtkaccelgroup.c +50 -40
  48. data/ext/gtk2/rbgtkaccelgroupentry.c +32 -20
  49. data/ext/gtk2/rbgtkaccelkey.c +40 -28
  50. data/ext/gtk2/rbgtkaccellabel.c +30 -18
  51. data/ext/gtk2/rbgtkaccelmap.c +55 -42
  52. data/ext/gtk2/rbgtkaccessible.c +25 -14
  53. data/ext/gtk2/rbgtkaction.c +68 -68
  54. data/ext/gtk2/rbgtkactiongroup.c +317 -195
  55. data/ext/gtk2/rbgtkadjustment.c +33 -46
  56. data/ext/gtk2/rbgtkalignment.c +36 -24
  57. data/ext/gtk2/rbgtkallocation.c +53 -42
  58. data/ext/gtk2/rbgtkarrow.c +34 -22
  59. data/ext/gtk2/rbgtkaspectframe.c +32 -20
  60. data/ext/gtk2/rbgtkassistant.c +81 -61
  61. data/ext/gtk2/rbgtkbbox.c +32 -20
  62. data/ext/gtk2/rbgtkbin.c +28 -16
  63. data/ext/gtk2/rbgtkbindingset.c +42 -35
  64. data/ext/gtk2/rbgtkborder.c +34 -23
  65. data/ext/gtk2/rbgtkbox.c +40 -29
  66. data/ext/gtk2/rbgtkbuildable.c +57 -45
  67. data/ext/gtk2/rbgtkbuilder.c +53 -38
  68. data/ext/gtk2/rbgtkbutton.c +41 -55
  69. data/ext/gtk2/rbgtkcalendar.c +51 -40
  70. data/ext/gtk2/rbgtkcelleditable.c +28 -17
  71. data/ext/gtk2/rbgtkcelllayout.c +41 -30
  72. data/ext/gtk2/rbgtkcellrenderer.c +43 -32
  73. data/ext/gtk2/rbgtkcellrendereraccel.c +26 -18
  74. data/ext/gtk2/rbgtkcellrenderercombo.c +25 -17
  75. data/ext/gtk2/rbgtkcellrendererpixbuf.c +24 -17
  76. data/ext/gtk2/rbgtkcellrendererprogress.c +25 -17
  77. data/ext/gtk2/rbgtkcellrendererspin.c +24 -16
  78. data/ext/gtk2/rbgtkcellrendererspinner.c +23 -11
  79. data/ext/gtk2/rbgtkcellrenderertext.c +28 -21
  80. data/ext/gtk2/rbgtkcellrenderertoggle.c +24 -16
  81. data/ext/gtk2/rbgtkcellview.c +34 -33
  82. data/ext/gtk2/rbgtkcheckbutton.c +28 -16
  83. data/ext/gtk2/rbgtkcheckmenuitem.c +31 -19
  84. data/ext/gtk2/rbgtkclipboard.c +123 -77
  85. data/ext/gtk2/rbgtkcolorbutton.c +26 -31
  86. data/ext/gtk2/rbgtkcolorsel.c +109 -55
  87. data/ext/gtk2/rbgtkcolorselectiondialog.c +28 -19
  88. data/ext/gtk2/rbgtkcombo.c +43 -32
  89. data/ext/gtk2/rbgtkcombobox.c +44 -83
  90. data/ext/gtk2/rbgtkcomboboxentry.c +26 -21
  91. data/ext/gtk2/rbgtkconst.c +23 -13
  92. data/ext/gtk2/rbgtkcontainer.c +153 -100
  93. data/ext/gtk2/rbgtkconversions.h +19 -6
  94. data/ext/gtk2/rbgtkcurve.c +46 -36
  95. data/ext/gtk2/rbgtkdialog.c +104 -70
  96. data/ext/gtk2/rbgtkdrag.c +173 -121
  97. data/ext/gtk2/rbgtkdrawingarea.c +28 -16
  98. data/ext/gtk2/rbgtkeditable.c +63 -51
  99. data/ext/gtk2/rbgtkentry.c +48 -85
  100. data/ext/gtk2/rbgtkentrycompletion.c +42 -55
  101. data/ext/gtk2/rbgtkeventbox.c +28 -16
  102. data/ext/gtk2/rbgtkexpander.c +26 -35
  103. data/ext/gtk2/rbgtkfilechooser.c +87 -143
  104. data/ext/gtk2/rbgtkfilechooserbutton.c +26 -32
  105. data/ext/gtk2/rbgtkfilechooserdialog.c +25 -15
  106. data/ext/gtk2/rbgtkfilechooserwidget.c +26 -15
  107. data/ext/gtk2/rbgtkfilefilter.c +45 -35
  108. data/ext/gtk2/rbgtkfilesel.c +54 -43
  109. data/ext/gtk2/rbgtkfilesystemerror.c +51 -0
  110. data/ext/gtk2/rbgtkfixed.c +36 -25
  111. data/ext/gtk2/rbgtkfontbutton.c +26 -37
  112. data/ext/gtk2/rbgtkfontselection.c +27 -15
  113. data/ext/gtk2/rbgtkfontselectiondialog.c +43 -32
  114. data/ext/gtk2/rbgtkframe.c +39 -28
  115. data/ext/gtk2/rbgtkgamma.c +32 -20
  116. data/ext/gtk2/rbgtkhandlebox.c +31 -19
  117. data/ext/gtk2/rbgtkhbbox.c +28 -16
  118. data/ext/gtk2/rbgtkhbox.c +29 -17
  119. data/ext/gtk2/rbgtkhpaned.c +28 -16
  120. data/ext/gtk2/rbgtkhruler.c +28 -16
  121. data/ext/gtk2/rbgtkhscale.c +28 -16
  122. data/ext/gtk2/rbgtkhscrollbar.c +28 -16
  123. data/ext/gtk2/rbgtkhseparator.c +28 -16
  124. data/ext/gtk2/rbgtkiconfactory.c +35 -23
  125. data/ext/gtk2/rbgtkiconinfo.c +42 -30
  126. data/ext/gtk2/rbgtkiconset.c +31 -19
  127. data/ext/gtk2/rbgtkiconsize.c +38 -25
  128. data/ext/gtk2/rbgtkiconsource.c +62 -50
  129. data/ext/gtk2/rbgtkicontheme.c +95 -95
  130. data/ext/gtk2/rbgtkiconview.c +87 -121
  131. data/ext/gtk2/rbgtkimage.c +31 -40
  132. data/ext/gtk2/rbgtkimagemenuitem.c +26 -14
  133. data/ext/gtk2/rbgtkimcontext.c +46 -34
  134. data/ext/gtk2/rbgtkimcontextsimple.c +47 -24
  135. data/ext/gtk2/rbgtkimmulticontext.c +26 -14
  136. data/ext/gtk2/rbgtkinputdialog.c +28 -16
  137. data/ext/gtk2/rbgtkinvisible.c +24 -18
  138. data/ext/gtk2/rbgtkitem.c +32 -20
  139. data/ext/gtk2/rbgtkitemfactory.c +65 -57
  140. data/ext/gtk2/rbgtklabel.c +46 -57
  141. data/ext/gtk2/rbgtklayout.c +40 -29
  142. data/ext/gtk2/rbgtklinkbutton.c +26 -15
  143. data/ext/gtk2/rbgtkliststore.c +145 -102
  144. data/ext/gtk2/rbgtkmacros.h +19 -6
  145. data/ext/gtk2/rbgtkmenu.c +47 -59
  146. data/ext/gtk2/rbgtkmenubar.c +30 -30
  147. data/ext/gtk2/rbgtkmenuitem.c +34 -41
  148. data/ext/gtk2/rbgtkmenushell.c +43 -42
  149. data/ext/gtk2/rbgtkmenutoolbutton.c +27 -16
  150. data/ext/gtk2/rbgtkmessagedialog.c +31 -25
  151. data/ext/gtk2/rbgtkmisc.c +33 -22
  152. data/ext/gtk2/rbgtknotebook.c +98 -134
  153. data/ext/gtk2/rbgtkobject.c +46 -81
  154. data/ext/gtk2/rbgtkoptionmenu.c +35 -23
  155. data/ext/gtk2/rbgtkpagesetup.c +64 -54
  156. data/ext/gtk2/rbgtkpagesetupunixdialog.c +34 -27
  157. data/ext/gtk2/rbgtkpaned.c +46 -36
  158. data/ext/gtk2/rbgtkpapersize.c +60 -54
  159. data/ext/gtk2/rbgtkplug.c +32 -20
  160. data/ext/gtk2/rbgtkprintcontext.c +43 -35
  161. data/ext/gtk2/rbgtkprinter.c +36 -37
  162. data/ext/gtk2/rbgtkprintjob.c +36 -37
  163. data/ext/gtk2/rbgtkprintoperation.c +44 -33
  164. data/ext/gtk2/rbgtkprintoperationpreview.c +30 -18
  165. data/ext/gtk2/rbgtkprintsettings.c +248 -192
  166. data/ext/gtk2/rbgtkprintunixdialog.c +33 -45
  167. data/ext/gtk2/rbgtkprogress.c +23 -13
  168. data/ext/gtk2/rbgtkprogressbar.c +47 -46
  169. data/ext/gtk2/rbgtkradioaction.c +84 -39
  170. data/ext/gtk2/rbgtkradiobutton.c +33 -21
  171. data/ext/gtk2/rbgtkradiomenuitem.c +86 -45
  172. data/ext/gtk2/rbgtkradiotoolbutton.c +99 -53
  173. data/ext/gtk2/rbgtkrange.c +36 -56
  174. data/ext/gtk2/rbgtkrc.c +61 -49
  175. data/ext/gtk2/rbgtkrcstyle.c +59 -48
  176. data/ext/gtk2/rbgtkrecentaction.c +28 -16
  177. data/ext/gtk2/rbgtkrecentchooser.c +58 -92
  178. data/ext/gtk2/rbgtkrecentchooserdialog.c +29 -18
  179. data/ext/gtk2/rbgtkrecentchoosermenu.c +25 -21
  180. data/ext/gtk2/rbgtkrecentchooserwidget.c +24 -13
  181. data/ext/gtk2/rbgtkrecentdata.c +47 -36
  182. data/ext/gtk2/rbgtkrecentfilter.c +55 -46
  183. data/ext/gtk2/rbgtkrecentfilterinfo.c +51 -40
  184. data/ext/gtk2/rbgtkrecentinfo.c +66 -56
  185. data/ext/gtk2/rbgtkrecentmanager.c +47 -43
  186. data/ext/gtk2/rbgtkruler.c +35 -30
  187. data/ext/gtk2/rbgtkscale.c +29 -18
  188. data/ext/gtk2/rbgtkscalebutton.c +27 -27
  189. data/ext/gtk2/rbgtkscrollbar.c +23 -13
  190. data/ext/gtk2/rbgtkscrolledwindow.c +44 -60
  191. data/ext/gtk2/rbgtkselection.c +87 -67
  192. data/ext/gtk2/rbgtkselectiondata.c +74 -65
  193. data/ext/gtk2/rbgtkseparator.c +23 -13
  194. data/ext/gtk2/rbgtkseparatormenuitem.c +25 -13
  195. data/ext/gtk2/rbgtkseparatortoolitem.c +26 -21
  196. data/ext/gtk2/rbgtksettings.c +123 -103
  197. data/ext/gtk2/rbgtksizegroup.c +33 -30
  198. data/ext/gtk2/rbgtksocket.c +32 -20
  199. data/ext/gtk2/rbgtkspinbutton.c +48 -38
  200. data/ext/gtk2/rbgtkspinner.c +27 -14
  201. data/ext/gtk2/rbgtkstatusbar.c +36 -31
  202. data/ext/gtk2/rbgtkstatusicon.c +31 -44
  203. data/ext/gtk2/rbgtkstock.c +137 -125
  204. data/ext/gtk2/rbgtkstyle.c +177 -161
  205. data/ext/gtk2/rbgtktable.c +58 -47
  206. data/ext/gtk2/rbgtktargetlist.c +56 -36
  207. data/ext/gtk2/rbgtktearoffmenuitem.c +28 -16
  208. data/ext/gtk2/rbgtktextappearance.c +44 -34
  209. data/ext/gtk2/rbgtktextattributes.c +54 -42
  210. data/ext/gtk2/rbgtktextbuffer.c +188 -191
  211. data/ext/gtk2/rbgtktextchild.c +29 -18
  212. data/ext/gtk2/rbgtktextiter.c +153 -145
  213. data/ext/gtk2/rbgtktextmark.c +33 -30
  214. data/ext/gtk2/rbgtktexttag.c +34 -22
  215. data/ext/gtk2/rbgtktexttagtable.c +36 -25
  216. data/ext/gtk2/rbgtktextview.c +85 -73
  217. data/ext/gtk2/rbgtktoggleaction.c +27 -22
  218. data/ext/gtk2/rbgtktogglebutton.c +37 -26
  219. data/ext/gtk2/rbgtktoggletoolbutton.c +26 -20
  220. data/ext/gtk2/rbgtktoolbar.c +66 -69
  221. data/ext/gtk2/rbgtktoolbutton.c +27 -40
  222. data/ext/gtk2/rbgtktoolitem.c +60 -62
  223. data/ext/gtk2/rbgtktooltip.c +36 -25
  224. data/ext/gtk2/rbgtktooltips.c +42 -34
  225. data/ext/gtk2/rbgtktreedragdest.c +20 -11
  226. data/ext/gtk2/rbgtktreedragsource.c +20 -11
  227. data/ext/gtk2/rbgtktreeiter.c +58 -47
  228. data/ext/gtk2/rbgtktreemodel.c +83 -65
  229. data/ext/gtk2/rbgtktreemodelfilter.c +47 -35
  230. data/ext/gtk2/rbgtktreemodelsort.c +38 -27
  231. data/ext/gtk2/rbgtktreepath.c +55 -44
  232. data/ext/gtk2/rbgtktreerowreference.c +60 -42
  233. data/ext/gtk2/rbgtktreeselection.c +61 -52
  234. data/ext/gtk2/rbgtktreesortable.c +52 -42
  235. data/ext/gtk2/rbgtktreestore.c +88 -67
  236. data/ext/gtk2/rbgtktreeview.c +157 -185
  237. data/ext/gtk2/rbgtktreeviewcolumn.c +57 -62
  238. data/ext/gtk2/rbgtkuimanager.c +61 -61
  239. data/ext/gtk2/rbgtkvbbox.c +28 -16
  240. data/ext/gtk2/rbgtkvbox.c +29 -17
  241. data/ext/gtk2/rbgtkviewport.c +28 -16
  242. data/ext/gtk2/rbgtkvolumebutton.c +28 -16
  243. data/ext/gtk2/rbgtkvpaned.c +28 -16
  244. data/ext/gtk2/rbgtkvruler.c +28 -16
  245. data/ext/gtk2/rbgtkvscale.c +28 -16
  246. data/ext/gtk2/rbgtkvscrollbar.c +28 -16
  247. data/ext/gtk2/rbgtkvseparator.c +28 -16
  248. data/ext/gtk2/rbgtkwidget.c +284 -296
  249. data/ext/gtk2/rbgtkwindow.c +156 -214
  250. data/ext/gtk2/rbgtkwindowgroup.c +35 -24
  251. data/sample/testgtk/labels.rb +1 -0
  252. data/sample/testgtk/testgtk.rb +2 -0
  253. metadata +16 -17
  254. data/ChangeLog +0 -6902
  255. data/ext/gtk2/rbgtkmain.c +0 -493
@@ -1,28 +1,40 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgtksettings.c -
5
-
6
- $Author: ggc $
7
- $Date: 2007/07/13 16:07:32 $
8
-
9
- Copyright (C) 2003,2004 Ruby-GNOME2 Project Team
10
- Copyright (C) 2003 Masao Mutoh
11
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2003,2004 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 2003 Masao Mutoh
6
+ *
7
+ * This library is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * This library is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with this library; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ * MA 02110-1301 USA
21
+ */
12
22
 
13
23
  #include "global.h"
14
24
 
25
+ #define RG_TARGET_NAMESPACE cSettings
26
+
15
27
  static VALUE prop_func_table;
16
28
 
17
29
  static VALUE
18
- settings_s_get_default(VALUE self)
30
+ rg_s_default(G_GNUC_UNUSED VALUE self)
19
31
  {
20
32
  return GOBJ2RVAL(gtk_settings_get_default());
21
33
  }
22
34
 
23
35
  #if GTK_CHECK_VERSION(2,2,0)
24
36
  static VALUE
25
- settings_s_get_for_screen(VALUE self, VALUE screen)
37
+ rg_s_get_for_screen(G_GNUC_UNUSED VALUE self, VALUE screen)
26
38
  {
27
39
  return GOBJ2RVAL(gtk_settings_get_for_screen(GDK_SCREEN(RVAL2GOBJ(screen))));
28
40
  }
@@ -52,7 +64,7 @@ rc_property_parser(const GParamSpec *pspec, const GString *rc_string, GValue *pr
52
64
  }
53
65
 
54
66
  static VALUE
55
- settings_s_install_property(VALUE self, VALUE spec)
67
+ rg_s_install_property(VALUE self, VALUE spec)
56
68
  {
57
69
  GParamSpec* pspec = G_PARAM_SPEC(RVAL2GOBJ(spec));
58
70
  if (rb_block_given_p()){
@@ -66,106 +78,115 @@ settings_s_install_property(VALUE self, VALUE spec)
66
78
  }
67
79
 
68
80
  static VALUE
69
- settings_rc_property_parse_color(VALUE self, VALUE spec, VALUE str)
81
+ settings_rc_property_parse(G_GNUC_UNUSED VALUE self, VALUE rbspec, VALUE rbstring, GtkRcPropertyParser parser)
70
82
  {
71
- gboolean ret;
72
- GValue prop = {0,};
73
- VALUE val = Qnil;
74
- GString* gstr = g_string_new(RVAL2CSTR(str));
75
- g_value_init(&prop, GDK_TYPE_COLOR);
76
- ret = gtk_rc_property_parse_color(G_PARAM_SPEC(RVAL2GOBJ(spec)),
77
- gstr, &prop);
78
- if (ret) val = GVAL2RVAL(&prop);
79
-
80
- g_string_free(gstr, TRUE);
81
- g_value_unset(&prop);
82
- return val;
83
+ GParamSpec *spec = RVAL2GOBJ(rbspec);
84
+ GString *string = g_string_new(RVAL2CSTR(rbstring));
85
+ GValue property = G_VALUE_INIT;
86
+ gboolean parsed;
87
+
88
+ g_value_init(&property, spec->value_type);
89
+
90
+ parsed = parser(spec, string, &property);
91
+
92
+ g_string_free(string, TRUE);
93
+
94
+ return parsed ? GVAL2RVAL_UNSET(&property) : Qnil;
83
95
  }
84
96
 
85
97
  static VALUE
86
- settings_rc_property_parse_enum(VALUE self, VALUE spec, VALUE str)
98
+ rg_s_rc_property_parse_color(VALUE self, VALUE rbspec, VALUE rbstring)
87
99
  {
88
- gboolean ret;
89
- GValue prop = {0,};
90
- VALUE val = Qnil;
91
- GString* gstr = g_string_new(RVAL2CSTR(str));
92
- GParamSpec* gspec = G_PARAM_SPEC(RVAL2GOBJ(spec));
93
- g_value_init(&prop, gspec->value_type);
94
- ret = gtk_rc_property_parse_enum(gspec, gstr, &prop);
95
-
96
- if (ret) val = GVAL2RVAL(&prop);
97
-
98
- g_string_free(gstr, TRUE);
99
- g_value_unset(&prop);
100
- return val;
100
+ return settings_rc_property_parse(self, rbspec, rbstring, gtk_rc_property_parse_color);
101
101
  }
102
102
 
103
103
  static VALUE
104
- settings_rc_property_parse_flags(VALUE self, VALUE spec, VALUE str)
104
+ rg_s_rc_property_parse_enum(VALUE self, VALUE rbspec, VALUE rbstring)
105
105
  {
106
- gboolean ret;
107
- GValue prop = {0,};
108
- VALUE val = Qnil;
109
- GString* gstr = g_string_new(RVAL2CSTR(str));
110
- GParamSpec* gspec = G_PARAM_SPEC(RVAL2GOBJ(spec));
111
- g_value_init(&prop, gspec->value_type);
112
- ret = gtk_rc_property_parse_flags(gspec, gstr, &prop);
113
-
114
- if (ret) val = GVAL2RVAL(&prop);
115
-
116
- g_string_free(gstr, TRUE);
117
- g_value_unset(&prop);
118
- return val;
106
+ return settings_rc_property_parse(self, rbspec, rbstring, gtk_rc_property_parse_enum);
119
107
  }
120
108
 
121
109
  static VALUE
122
- settings_rc_property_parse_requisition(VALUE self, VALUE spec, VALUE str)
110
+ rg_s_rc_property_parse_flags(VALUE self, VALUE rbspec, VALUE rbstring)
123
111
  {
124
- gboolean ret;
125
- GValue prop = {0,};
126
- VALUE val = Qnil;
127
- GString* gstr = g_string_new(RVAL2CSTR(str));
128
- g_value_init(&prop, GTK_TYPE_REQUISITION);
129
- ret = gtk_rc_property_parse_requisition(G_PARAM_SPEC(RVAL2GOBJ(spec)),
130
- gstr, &prop);
131
- if (ret){
132
- GtkRequisition* req = g_value_get_boxed(&prop);
133
- val = rb_assoc_new(INT2NUM(req->width), INT2NUM(req->height));
134
- }
135
- g_string_free(gstr, TRUE);
136
- g_value_unset(&prop);
137
- return val;
112
+ return settings_rc_property_parse(self, rbspec, rbstring, gtk_rc_property_parse_flags);
138
113
  }
139
114
 
140
115
  static VALUE
141
- settings_rc_property_parse_border(VALUE self, VALUE spec, VALUE str)
116
+ rg_s_rc_property_parse_requisition(G_GNUC_UNUSED VALUE self, VALUE rbspec, VALUE rbstring)
142
117
  {
143
- gboolean ret;
144
- GValue prop = {0,};
145
- VALUE val = Qnil;
146
- GString* gstr = g_string_new(RVAL2CSTR(str));
147
- g_value_init(&prop, GTK_TYPE_BORDER);
148
- ret = gtk_rc_property_parse_border(G_PARAM_SPEC(RVAL2GOBJ(spec)),
149
- gstr, &prop);
150
- if (ret){
151
- GtkBorder* border = g_value_get_boxed(&prop);
152
- val = BOXED2RVAL(border, GTK_TYPE_BORDER);
153
- }
154
- g_string_free(gstr, TRUE);
155
- g_value_unset(&prop);
156
- return val;
118
+ GParamSpec *spec = RVAL2GOBJ(rbspec);
119
+ GString *string = g_string_new(RVAL2CSTR(rbstring));
120
+ GValue property = G_VALUE_INIT;
121
+ gboolean parsed;
122
+ GtkRequisition *requisition;
123
+ gint width;
124
+ gint height;
125
+
126
+ g_value_init(&property, GTK_TYPE_REQUISITION);
127
+
128
+ parsed = gtk_rc_property_parse_requisition(spec, string, &property);
129
+
130
+ g_string_free(string, TRUE);
131
+
132
+ if (!parsed)
133
+ return Qnil;
134
+
135
+ requisition = g_value_get_boxed(&property);
136
+ width = requisition->width;
137
+ height = requisition->height;
138
+
139
+ g_value_unset(&property);
140
+
141
+ return rb_assoc_new(INT2NUM(width), INT2NUM(height));
157
142
  }
158
143
 
159
144
  static VALUE
160
- settings_set_property_value(VALUE self, VALUE name, VALUE value, VALUE origin)
145
+ settings_rc_property_parse_border_result(VALUE value)
161
146
  {
162
- GtkSettingsValue svalue = { NULL, { 0, }, };
163
- g_value_init(&svalue.value, RVAL2GTYPE(value));
164
- rbgobj_rvalue_to_gvalue(value, &svalue.value);
147
+ return BOXED2RVAL(g_value_get_boxed((GValue *)value), GTK_TYPE_BORDER);
148
+ }
149
+
150
+ static VALUE
151
+ settings_rc_property_parse_border_ensure(VALUE value)
152
+ {
153
+ g_value_unset((GValue *)value);
154
+
155
+ return Qnil;
156
+ }
157
+
158
+ static VALUE
159
+ rg_s_rc_property_parse_border(G_GNUC_UNUSED VALUE self, VALUE rbspec, VALUE rbstring)
160
+ {
161
+ GParamSpec *spec = RVAL2GOBJ(rbspec);
162
+ GString *string = g_string_new(RVAL2CSTR(rbstring));
163
+ GValue property = G_VALUE_INIT;
164
+ gboolean parsed;
165
+
166
+ g_value_init(&property, GTK_TYPE_BORDER);
167
+
168
+ parsed = gtk_rc_property_parse_border(spec, string, &property);
169
+
170
+ g_string_free(string, TRUE);
171
+
172
+ if (!parsed)
173
+ return Qnil;
174
+
175
+ return rb_ensure(settings_rc_property_parse_border_result, (VALUE)&property,
176
+ settings_rc_property_parse_border_ensure, (VALUE)&property);
177
+ }
178
+
179
+ static VALUE
180
+ rg_set_property_value(VALUE self, VALUE rbname, VALUE rbvalue, VALUE origin)
181
+ {
182
+ GtkSettings *settings = GTK_SETTINGS(RVAL2GOBJ(self));
183
+ GtkSettingsValue svalue = { (gchar *)RVAL2CSTR(origin), G_VALUE_INIT };
184
+ const gchar *name = RVAL2CSTR(rbname);
185
+ g_value_init(&svalue.value, RVAL2GTYPE(rbvalue));
186
+ rbgobj_rvalue_to_gvalue(rbvalue, &svalue.value);
187
+
188
+ gtk_settings_set_property_value(settings, name, &svalue);
165
189
 
166
- svalue.origin = (char *)RVAL2CSTR(origin);
167
- gtk_settings_set_property_value(GTK_SETTINGS(RVAL2GOBJ(self)),
168
- RVAL2CSTR(name), &svalue);
169
190
  g_value_unset(&svalue.value);
170
191
 
171
192
  return self;
@@ -188,26 +209,25 @@ void gtk_settings_set_double_property
188
209
  const gchar *origin);
189
210
  */
190
211
 
191
-
192
212
  void
193
- Init_gtk_settings()
213
+ Init_gtk_settings(VALUE mGtk)
194
214
  {
195
- VALUE gSettings = G_DEF_CLASS(GTK_TYPE_SETTINGS, "Settings", mGtk);
215
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_SETTINGS, "Settings", mGtk);
196
216
 
197
217
  rb_global_variable(&prop_func_table);
198
218
  prop_func_table = rb_hash_new();
199
219
 
200
- rb_define_singleton_method(gSettings, "default", settings_s_get_default, 0);
220
+ RG_DEF_SMETHOD(default, 0);
201
221
  #if GTK_CHECK_VERSION(2,2,0)
202
- rb_define_singleton_method(gSettings, "get_for_screen", settings_s_get_for_screen, 1);
222
+ RG_DEF_SMETHOD(get_for_screen, 1);
203
223
  #endif
204
- rb_define_singleton_method(gSettings, "install_property", settings_s_install_property, 1);
224
+ RG_DEF_SMETHOD(install_property, 1);
205
225
 
206
- rb_define_singleton_method(gSettings, "rc_property_parse_color", settings_rc_property_parse_color, 2);
207
- rb_define_singleton_method(gSettings, "rc_property_parse_enum", settings_rc_property_parse_enum, 2);
208
- rb_define_singleton_method(gSettings, "rc_property_parse_flags", settings_rc_property_parse_flags, 2);
209
- rb_define_singleton_method(gSettings, "rc_property_parse_requisition", settings_rc_property_parse_requisition, 2);
210
- rb_define_singleton_method(gSettings, "rc_property_parse_border", settings_rc_property_parse_border, 2);
226
+ RG_DEF_SMETHOD(rc_property_parse_color, 2);
227
+ RG_DEF_SMETHOD(rc_property_parse_enum, 2);
228
+ RG_DEF_SMETHOD(rc_property_parse_flags, 2);
229
+ RG_DEF_SMETHOD(rc_property_parse_requisition, 2);
230
+ RG_DEF_SMETHOD(rc_property_parse_border, 2);
211
231
 
212
- rb_define_method(gSettings, "set_property_value", settings_set_property_value, 3);
232
+ RG_DEF_METHOD(set_property_value, 3);
213
233
  }
@@ -1,70 +1,73 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2003-2005 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 2002,2003 OGASAWARA, Takeshi
6
+ *
7
+ * This library is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * This library is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with this library; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ * MA 02110-1301 USA
21
+ */
3
22
 
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
23
  #include "global.h"
13
24
 
25
+ #define RG_TARGET_NAMESPACE cSizeGroup
14
26
  #define _SELF(self) (GTK_SIZE_GROUP(RVAL2GOBJ(self)))
15
27
 
16
28
  static VALUE
17
- sizegrp_initialize(VALUE self, VALUE mode)
29
+ rg_initialize(VALUE self, VALUE mode)
18
30
  {
19
31
  G_INITIALIZE(self, gtk_size_group_new(RVAL2GENUM(mode, GTK_TYPE_SIZE_GROUP_MODE)));
20
32
  return Qnil;
21
33
  }
22
34
 
23
35
  static VALUE
24
- sizegrp_add_widget(VALUE self, VALUE widget)
36
+ rg_add_widget(VALUE self, VALUE widget)
25
37
  {
26
38
  gtk_size_group_add_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget)));
27
39
  return self;
28
40
  }
29
41
 
30
42
  static VALUE
31
- sizegrp_remove_widget(VALUE self, VALUE widget)
43
+ rg_remove_widget(VALUE self, VALUE widget)
32
44
  {
33
45
  gtk_size_group_remove_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget)));
34
46
  return self;
35
47
  }
36
48
 
37
- /* Defined as properties
38
- void gtk_size_group_set_ignore_hidden
39
- (GtkSizeGroup *size_group,
40
- gboolean ignore_hidden);
41
- gboolean gtk_size_group_get_ignore_hidden
42
- (GtkSizeGroup *size_group);
43
- */
44
-
45
49
  #if GTK_CHECK_VERSION(2,10,0)
46
50
  static VALUE
47
- sizegrp_get_widgets(VALUE self)
51
+ rg_widgets(VALUE self)
48
52
  {
49
53
  return GSLIST2ARY(gtk_size_group_get_widgets(_SELF(self)));
50
54
  }
51
55
  #endif
52
56
 
53
57
  void
54
- Init_sizegrp()
58
+ Init_gtk_size_group(VALUE mGtk)
55
59
  {
56
- VALUE gSizeGroup = G_DEF_CLASS(GTK_TYPE_SIZE_GROUP, "SizeGroup", mGtk);
60
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_SIZE_GROUP, "SizeGroup", mGtk);
57
61
 
58
- rb_define_method(gSizeGroup, "initialize", sizegrp_initialize, 1);
59
- rb_define_method(gSizeGroup, "add_widget", sizegrp_add_widget, 1);
60
- rb_define_method(gSizeGroup, "remove_widget", sizegrp_remove_widget, 1);
62
+ RG_DEF_METHOD(initialize, 1);
63
+ RG_DEF_METHOD(add_widget, 1);
64
+ RG_DEF_METHOD(remove_widget, 1);
61
65
 
62
66
  #if GTK_CHECK_VERSION(2,10,0)
63
- rb_define_method(gSizeGroup, "widgets", sizegrp_get_widgets, 0);
67
+ RG_DEF_METHOD(widgets, 0);
64
68
  #endif
65
69
 
66
70
  /* GtkSizeGroupMode */
67
- G_DEF_CLASS(GTK_TYPE_SIZE_GROUP_MODE, "Mode", gSizeGroup);
68
- G_DEF_CONSTANTS(gSizeGroup, GTK_TYPE_SIZE_GROUP_MODE, "GTK_SIZE_GROUP_");
71
+ G_DEF_CLASS(GTK_TYPE_SIZE_GROUP_MODE, "Mode", RG_TARGET_NAMESPACE);
72
+ G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GTK_TYPE_SIZE_GROUP_MODE, "GTK_SIZE_GROUP_");
69
73
  }
70
-
@@ -1,29 +1,41 @@
1
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
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 2002 Neil Conway
6
+ *
7
+ * This library is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * This library is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with this library; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ * MA 02110-1301 USA
21
+ */
12
22
 
13
23
  #include "global.h"
14
24
 
15
25
  #ifdef HAVE_GTK_SOCKET_GET_TYPE
26
+
27
+ #define RG_TARGET_NAMESPACE cSocket
16
28
  #define _SELF(self) GTK_SOCKET(RVAL2GOBJ(self))
17
29
 
18
30
  static VALUE
19
- socket_initialize(VALUE self)
31
+ rg_initialize(VALUE self)
20
32
  {
21
33
  RBGTK_INITIALIZE(self, gtk_socket_new());
22
34
  return Qnil;
23
35
  }
24
36
 
25
37
  static VALUE
26
- socket_add_id(VALUE self, VALUE wid)
38
+ rg_add_id(VALUE self, VALUE wid)
27
39
  {
28
40
  gtk_socket_add_id(_SELF(self),
29
41
  #ifdef GDK_NATIVE_WINDOW_POINTER
@@ -36,13 +48,13 @@ socket_add_id(VALUE self, VALUE wid)
36
48
  }
37
49
 
38
50
  static VALUE
39
- socket_plug_window(VALUE self)
51
+ rg_plug_window(VALUE self)
40
52
  {
41
53
  return GOBJ2RVAL(_SELF(self)->plug_window);
42
54
  }
43
55
 
44
56
  static VALUE
45
- socket_get_socket_id(VALUE self)
57
+ rg_id(VALUE self)
46
58
  {
47
59
  GdkNativeWindow id = gtk_socket_get_id(_SELF(self));
48
60
  #ifdef GDK_NATIVE_WINDOW_POINTER
@@ -55,14 +67,14 @@ socket_get_socket_id(VALUE self)
55
67
  #endif /* HAVE_GTK_SOCKET_GET_TYPE */
56
68
 
57
69
  void
58
- Init_gtk_socket()
70
+ Init_gtk_socket(VALUE mGtk)
59
71
  {
60
72
  #ifdef HAVE_GTK_SOCKET_GET_TYPE
61
- VALUE gSocket = G_DEF_CLASS(GTK_TYPE_SOCKET, "Socket", mGtk);
73
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_SOCKET, "Socket", mGtk);
62
74
 
63
- rb_define_method(gSocket, "initialize", socket_initialize, 0);
64
- rb_define_method(gSocket, "plug_window", socket_plug_window, 0);
65
- rb_define_method(gSocket, "add_id", socket_add_id, 1);
66
- rb_define_method(gSocket, "id", socket_get_socket_id, 0);
75
+ RG_DEF_METHOD(initialize, 0);
76
+ RG_DEF_METHOD(plug_window, 0);
77
+ RG_DEF_METHOD(add_id, 1);
78
+ RG_DEF_METHOD(id, 0);
67
79
  #endif
68
80
  }