gtk2 1.0.3 → 1.1.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 (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,19 +1,28 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgtktreedragdest.c -
5
-
6
- $Author: mutoh $
7
-
8
- $Date: 2003/07/11 19:39:08 $
9
-
10
- Copyright (C) 2003 Masao Mutoh
11
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2003 Masao Mutoh
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
+ * MA 02110-1301 USA
20
+ */
12
21
 
13
22
  #include "global.h"
14
23
 
15
24
  void
16
- Init_gtk_treedragdest()
25
+ Init_gtk_treedragdest(VALUE mGtk)
17
26
  {
18
27
  G_DEF_INTERFACE(GTK_TYPE_TREE_DRAG_DEST, "TreeDragDest", mGtk);
19
28
  }
@@ -1,19 +1,28 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgtktreedragsource.c -
5
-
6
- $Author: mutoh $
7
-
8
- $Date: 2003/07/11 19:39:08 $
9
-
10
- Copyright (C) 2003 Masao Mutoh
11
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2003 Masao Mutoh
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
+ * MA 02110-1301 USA
20
+ */
12
21
 
13
22
  #include "global.h"
14
23
 
15
24
  void
16
- Init_gtk_treedragsource()
25
+ Init_gtk_treedragsource(VALUE mGtk)
17
26
  {
18
27
  G_DEF_INTERFACE(GTK_TYPE_TREE_DRAG_SOURCE, "TreeDragSource", mGtk);
19
28
  }
@@ -1,17 +1,28 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgtktreeiter.c -
5
-
6
- $Author: ggc $
7
- $Date: 2007/07/13 14:27:10 $
8
-
9
- Copyright (C) 2002-2004 Ruby-GNOME2 Project Team
10
- Copyright (C) 2002,2003 Masao Mutoh
11
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002-2004 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 2002,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 cTreeIter
15
26
  #define _SELF(i) ((GtkTreeIter*)RVAL2BOXED(i, GTK_TYPE_TREE_ITER))
16
27
 
17
28
  void
@@ -22,7 +33,7 @@ rbgtk_register_treeiter_set_value_func(GType gtype, rbgtkiter_set_value_func fun
22
33
  }
23
34
 
24
35
  static VALUE
25
- treeiter_first(VALUE self)
36
+ rg_first_bang(VALUE self)
26
37
  {
27
38
  GtkTreeIter* iter = _SELF(self);
28
39
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
@@ -32,7 +43,7 @@ treeiter_first(VALUE self)
32
43
  }
33
44
 
34
45
  static VALUE
35
- treeiter_next(VALUE self)
46
+ rg_next_bang(VALUE self)
36
47
  {
37
48
  GtkTreeIter* iter = _SELF(self);
38
49
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
@@ -46,9 +57,9 @@ treeiter_next(VALUE self)
46
57
  }
47
58
 
48
59
  static VALUE
49
- treeiter_get_value(VALUE self, VALUE column)
60
+ rg_get_value(VALUE self, VALUE column)
50
61
  {
51
- GValue value = {0, };
62
+ GValue value = G_VALUE_INIT;
52
63
  GtkTreeIter* iter = _SELF(self);
53
64
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
54
65
  VALUE ret = Qnil;
@@ -62,7 +73,7 @@ treeiter_get_value(VALUE self, VALUE column)
62
73
  }
63
74
 
64
75
  static VALUE
65
- treeiter_children(VALUE self)
76
+ rg_first_child(VALUE self)
66
77
  {
67
78
  GtkTreeIter child;
68
79
  GtkTreeIter* iter = _SELF(self);
@@ -73,7 +84,7 @@ treeiter_children(VALUE self)
73
84
  }
74
85
 
75
86
  static VALUE
76
- treeiter_get_path(VALUE self)
87
+ rg_path(VALUE self)
77
88
  {
78
89
  VALUE retval = Qnil;
79
90
  GtkTreeIter* iter = _SELF(self);
@@ -85,7 +96,7 @@ treeiter_get_path(VALUE self)
85
96
  }
86
97
 
87
98
  static VALUE
88
- treeiter_has_child(VALUE self)
99
+ rg_has_child_p(VALUE self)
89
100
  {
90
101
  GtkTreeIter* iter = _SELF(self);
91
102
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
@@ -93,7 +104,7 @@ treeiter_has_child(VALUE self)
93
104
  }
94
105
 
95
106
  static VALUE
96
- treeiter_n_children(VALUE self)
107
+ rg_n_children(VALUE self)
97
108
  {
98
109
  GtkTreeIter* iter = _SELF(self);
99
110
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
@@ -101,7 +112,7 @@ treeiter_n_children(VALUE self)
101
112
  }
102
113
 
103
114
  static VALUE
104
- treeiter_nth_child(VALUE self, VALUE n)
115
+ rg_nth_child(VALUE self, VALUE n)
105
116
  {
106
117
  GtkTreeIter child;
107
118
  GtkTreeIter* iter = _SELF(self);
@@ -112,7 +123,7 @@ treeiter_nth_child(VALUE self, VALUE n)
112
123
  }
113
124
 
114
125
  static VALUE
115
- treeiter_parent(VALUE self)
126
+ rg_parent(VALUE self)
116
127
  {
117
128
  GtkTreeIter parent;
118
129
  GtkTreeIter* iter = _SELF(self);
@@ -123,7 +134,7 @@ treeiter_parent(VALUE self)
123
134
  }
124
135
 
125
136
  static VALUE
126
- treeiter_set_value(VALUE self, VALUE column, VALUE value)
137
+ rg_set_value(VALUE self, VALUE column, VALUE value)
127
138
  {
128
139
  GtkTreeIter* iter = _SELF(self);
129
140
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
@@ -131,7 +142,7 @@ treeiter_set_value(VALUE self, VALUE column, VALUE value)
131
142
  VALUE obj = rb_hash_aref(treeiter_set_value_table, INT2NUM(G_TYPE_FROM_INSTANCE(model)));
132
143
  rbgtkiter_set_value_func func;
133
144
  GType gtype = gtk_tree_model_get_column_type(model, NUM2INT(column));
134
- GValue gval = {0,};
145
+ GValue gval = G_VALUE_INIT;
135
146
 
136
147
  if (NIL_P(obj))
137
148
  rb_raise(rb_eTypeError, "Gtk::TreeModel is invalid.");
@@ -147,14 +158,14 @@ treeiter_set_value(VALUE self, VALUE column, VALUE value)
147
158
  }
148
159
 
149
160
  static VALUE
150
- treeiter_set_value_eql(VALUE self, VALUE column, VALUE value)
161
+ rg_operator_treeiter_set_value_eql(VALUE self, VALUE column, VALUE value)
151
162
  {
152
- treeiter_set_value(self, column, value);
163
+ rg_set_value(self, column, value);
153
164
  return value;
154
165
  }
155
166
 
156
167
  static VALUE
157
- treeiter_eql(VALUE self, VALUE other)
168
+ rg_operator_treeiter_eql(VALUE self, VALUE other)
158
169
  {
159
170
  gint i, num1, num2;
160
171
  GtkTreeIter* iter1 = _SELF(self);
@@ -189,12 +200,12 @@ treeiter_eql(VALUE self, VALUE other)
189
200
  }
190
201
 
191
202
  for (i = 0; i < num1; i++){
192
- GValue gval1 = {0,};
193
- GValue gval2 = {0,};
203
+ GValue gval1 = G_VALUE_INIT;
204
+ GValue gval2 = G_VALUE_INIT;
194
205
  VALUE ret1, ret2;
195
206
  gtk_tree_model_get_value(model1, iter1, i, &gval1);
196
207
  gtk_tree_model_get_value(model2, iter2, i, &gval2);
197
-
208
+
198
209
  ret1 = GVAL2RVAL(&gval1);
199
210
  ret2 = GVAL2RVAL(&gval2);
200
211
  g_value_unset(&gval1);
@@ -207,7 +218,7 @@ treeiter_eql(VALUE self, VALUE other)
207
218
 
208
219
  #if GTK_CHECK_VERSION(2,2,0)
209
220
  static VALUE
210
- treeiter_to_string(VALUE self)
221
+ rg_to_str(VALUE self)
211
222
  {
212
223
  GtkTreeIter* iter = _SELF(self);
213
224
  GtkTreeModel* model = (GtkTreeModel*)iter->user_data3;
@@ -220,25 +231,25 @@ treeiter_to_string(VALUE self)
220
231
  #endif
221
232
 
222
233
  void
223
- Init_gtk_treeiter()
234
+ Init_gtk_treeiter(VALUE mGtk)
224
235
  {
225
- VALUE gTreeIter = G_DEF_CLASS(GTK_TYPE_TREE_ITER, "TreeIter", mGtk);
226
-
227
- rb_define_method(gTreeIter, "first!", treeiter_first, 0);
228
- rb_define_method(gTreeIter, "next!", treeiter_next, 0);
229
- rb_define_method(gTreeIter, "get_value", treeiter_get_value, 1);
230
- rb_define_alias(gTreeIter, "[]", "get_value");
231
- rb_define_method(gTreeIter, "first_child", treeiter_children, 0);
232
- rb_define_method(gTreeIter, "path", treeiter_get_path, 0);
233
- rb_define_method(gTreeIter, "has_child?", treeiter_has_child, 0);
234
- rb_define_method(gTreeIter, "n_children", treeiter_n_children, 0);
235
- rb_define_method(gTreeIter, "nth_child", treeiter_nth_child, 1);
236
- rb_define_method(gTreeIter, "parent", treeiter_parent, 0);
237
- rb_define_method(gTreeIter, "set_value", treeiter_set_value, 2);
238
- rb_define_method(gTreeIter, "[]=", treeiter_set_value_eql, 2);
239
- rb_define_method(gTreeIter, "==", treeiter_eql, 1);
236
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_ITER, "TreeIter", mGtk);
237
+
238
+ RG_DEF_METHOD_BANG(first, 0);
239
+ RG_DEF_METHOD_BANG(next, 0);
240
+ RG_DEF_METHOD(get_value, 1);
241
+ RG_DEF_ALIAS("[]", "get_value");
242
+ RG_DEF_METHOD(first_child, 0);
243
+ RG_DEF_METHOD(path, 0);
244
+ RG_DEF_METHOD_P(has_child, 0);
245
+ RG_DEF_METHOD(n_children, 0);
246
+ RG_DEF_METHOD(nth_child, 1);
247
+ RG_DEF_METHOD(parent, 0);
248
+ RG_DEF_METHOD(set_value, 2);
249
+ RG_DEF_METHOD_OPERATOR("[]=", treeiter_set_value_eql, 2);
250
+ RG_DEF_METHOD_OPERATOR("==", treeiter_eql, 1);
240
251
  #if GTK_CHECK_VERSION(2,2,0)
241
- rb_define_method(gTreeIter, "to_str", treeiter_to_string, 0);
242
- rb_define_alias(gTreeIter, "to_s", "to_str");
252
+ RG_DEF_METHOD(to_str, 0);
253
+ RG_DEF_ALIAS("to_s", "to_str");
243
254
  #endif
244
255
  }
@@ -1,39 +1,50 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgtktreemodel.c -
5
-
6
- $Author: mutoh $
7
- $Date: 2005/11/06 04:44:24 $
8
-
9
- Copyright (C) 2002,2003 Masao Mutoh
10
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 Masao Mutoh
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
+ * MA 02110-1301 USA
20
+ */
11
21
 
12
22
  #include "global.h"
13
23
 
24
+ #define RG_TARGET_NAMESPACE mTreeModel
14
25
  #define _SELF(s) (GTK_TREE_MODEL(RVAL2GOBJ(s)))
15
26
 
16
27
  static VALUE
17
- treemodel_get_flags(VALUE self)
28
+ rg_flags(VALUE self)
18
29
  {
19
30
  return GFLAGS2RVAL(gtk_tree_model_get_flags(_SELF(self)), GTK_TYPE_TREE_MODEL_FLAGS);
20
31
  }
21
32
 
22
33
  static VALUE
23
- treemodel_get_n_columns(VALUE self)
34
+ rg_n_columns(VALUE self)
24
35
  {
25
36
  return INT2NUM(gtk_tree_model_get_n_columns(_SELF(self)));
26
37
  }
27
38
 
28
39
  static VALUE
29
- treemodel_get_column_type(VALUE self, VALUE index)
40
+ rg_get_column_type(VALUE self, VALUE index)
30
41
  {
31
42
  return GTYPE2CLASS(gtk_tree_model_get_column_type(_SELF(self),
32
43
  NUM2INT(index)));
33
44
  }
34
45
 
35
46
  static VALUE
36
- treemodel_get_iter_first(VALUE self)
47
+ rg_iter_first(VALUE self)
37
48
  {
38
49
  VALUE val = Qnil;
39
50
  GtkTreeIter iter;
@@ -45,12 +56,12 @@ treemodel_get_iter_first(VALUE self)
45
56
  val = GTKTREEITER2RVAL(&iter);
46
57
  G_CHILD_ADD(self, val);
47
58
  }
48
-
59
+
49
60
  return val;
50
61
  }
51
62
 
52
63
  static VALUE
53
- treemodel_get_iter(VALUE self, VALUE path)
64
+ rg_get_iter(VALUE self, VALUE path)
54
65
  {
55
66
  VALUE val = Qnil;
56
67
  GtkTreeIter iter;
@@ -70,14 +81,14 @@ treemodel_get_iter(VALUE self, VALUE path)
70
81
  val = GTKTREEITER2RVAL(&iter);
71
82
  G_CHILD_ADD(self, val);
72
83
  }
73
-
84
+
74
85
  return val;
75
86
  }
76
87
 
77
88
  static VALUE
78
- treemodel_get_value(VALUE self, VALUE iter, VALUE column)
89
+ rg_get_value(VALUE self, VALUE iter, VALUE column)
79
90
  {
80
- GValue value = {0, };
91
+ GValue value = G_VALUE_INIT;
81
92
  VALUE ret = Qnil;
82
93
  gtk_tree_model_get_value(_SELF(self), RVAL2GTKTREEITER(iter), NUM2INT(column), &value);
83
94
  if (G_VALUE_TYPE(&value) != G_TYPE_INVALID){
@@ -101,7 +112,10 @@ void gtk_tree_model_get_valist (GtkTreeModel *tree_model,
101
112
  */
102
113
 
103
114
  static gboolean
104
- treemodel_foreach_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer func)
115
+ treemodel_foreach_func(GtkTreeModel *model,
116
+ GtkTreePath *path,
117
+ GtkTreeIter *iter,
118
+ G_GNUC_UNUSED gpointer func)
105
119
  {
106
120
  iter->user_data3 = model;
107
121
  rb_yield(rb_ary_new3(3, GOBJ2RVAL(model), GTKTREEPATH2RVAL(path), GTKTREEITER2RVAL(iter)));
@@ -109,7 +123,7 @@ treemodel_foreach_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter
109
123
  }
110
124
 
111
125
  static VALUE
112
- treemodel_foreach(VALUE self)
126
+ rg_each(VALUE self)
113
127
  {
114
128
  gtk_tree_model_foreach(_SELF(self),
115
129
  (GtkTreeModelForeachFunc)treemodel_foreach_func,
@@ -118,71 +132,77 @@ treemodel_foreach(VALUE self)
118
132
  }
119
133
 
120
134
  static VALUE
121
- treemodel_row_changed(VALUE self, VALUE path, VALUE iter)
135
+ rg_row_changed(VALUE self, VALUE path, VALUE iter)
122
136
  {
123
137
  gtk_tree_model_row_changed(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter));
124
138
  return self;
125
139
  }
126
140
 
127
141
  static VALUE
128
- treemodel_row_inserted(VALUE self, VALUE path, VALUE iter)
142
+ rg_row_inserted(VALUE self, VALUE path, VALUE iter)
129
143
  {
130
144
  gtk_tree_model_row_inserted(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter));
131
145
  return self;
132
146
  }
133
147
 
134
148
  static VALUE
135
- treemodel_row_has_child_toggled(VALUE self, VALUE path, VALUE iter)
149
+ rg_row_has_child_toggled(VALUE self, VALUE path, VALUE iter)
136
150
  {
137
151
  gtk_tree_model_row_has_child_toggled(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter));
138
152
  return self;
139
153
  }
140
154
 
141
155
  static VALUE
142
- treemodel_row_deleted(VALUE self, VALUE path)
156
+ rg_row_deleted(VALUE self, VALUE path)
143
157
  {
144
158
  gtk_tree_model_row_deleted(_SELF(self), RVAL2GTKTREEPATH(path));
145
159
  return self;
146
160
  }
147
161
 
148
162
  static VALUE
149
- treemodel_rows_reordered(VALUE self, VALUE path, VALUE iter, VALUE new_orders)
163
+ rg_rows_reordered(VALUE self, VALUE rbpath, VALUE rbiter, VALUE rbnew_order)
150
164
  {
151
- gint i, len;
152
- gint* orders;
153
-
154
- Check_Type(new_orders, T_ARRAY);
165
+ GtkTreeModel *proxy = _SELF(self);
166
+ GtkTreePath *path = RVAL2GTKTREEPATH(rbpath);
167
+ GtkTreeIter *iter = RVAL2GTKTREEITER(rbiter);
168
+ gint columns = gtk_tree_model_get_n_columns(proxy);
169
+ long n;
170
+ gint *new_order = RVAL2GINTS(rbnew_order, n);
155
171
 
156
- len = RARRAY_LEN(new_orders);
157
- orders = ALLOCA_N(gint, len);
172
+ if (n != columns) {
173
+ g_free(new_order);
158
174
 
159
- for (i = 0; i < len; i++) {
160
- orders[i] = RARRAY_PTR(new_orders)[i];
175
+ rb_raise(rb_eArgError,
176
+ "new order array must contain same number of elements as the number of columns in the store: %ld != %d",
177
+ n, columns);
161
178
  }
162
-
163
- gtk_tree_model_rows_reordered(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter), orders);
179
+
180
+ gtk_tree_model_rows_reordered(proxy, path, iter, new_order);
181
+
182
+ g_free(new_order);
183
+
164
184
  return self;
165
185
  }
166
186
 
167
187
  static VALUE
168
- treemodel_iter_is_valid(VALUE self, VALUE iter)
188
+ rg_iter_is_valid_p(G_GNUC_UNUSED VALUE self, G_GNUC_UNUSED VALUE iter)
169
189
  {
170
190
  return Qtrue;
171
191
  }
172
192
 
173
193
  static VALUE
174
- signal_func(guint num, const GValue *values)
194
+ signal_func(G_GNUC_UNUSED guint num, const GValue *values)
175
195
  {
176
196
  GtkTreeModel* model = g_value_get_object(&values[0]);
177
197
  GtkTreePath* path = g_value_get_boxed(&values[1]);
178
198
  GtkTreeIter* iter = g_value_get_boxed(&values[2]);
179
199
  iter->user_data3 = model;
180
-
200
+
181
201
  return rb_ary_new3(3, GOBJ2RVAL(model), GTKTREEPATH2RVAL(path), GTKTREEITER2RVAL(iter));
182
202
  }
183
203
 
184
204
  static VALUE
185
- signal_rows_reordered_func(guint num, const GValue *values)
205
+ signal_rows_reordered_func(G_GNUC_UNUSED guint num, const GValue *values)
186
206
  {
187
207
  GtkTreeModel* model = g_value_get_object(&values[0]);
188
208
  GtkTreePath* path = g_value_get_boxed(&values[1]);
@@ -202,34 +222,32 @@ signal_rows_reordered_func(guint num, const GValue *values)
202
222
  }
203
223
 
204
224
  void
205
- Init_gtk_treemodel()
206
- {
207
- VALUE mTreeModel = G_DEF_INTERFACE(GTK_TYPE_TREE_MODEL, "TreeModel", mGtk);
208
-
209
- rb_define_method(mTreeModel, "flags", treemodel_get_flags, 0);
210
- rb_define_method(mTreeModel, "n_columns", treemodel_get_n_columns, 0);
211
- rb_define_method(mTreeModel, "get_column_type", treemodel_get_column_type, 1);
212
- rb_define_method(mTreeModel, "iter_first", treemodel_get_iter_first, 0);
213
- rb_define_method(mTreeModel, "get_iter", treemodel_get_iter, 1);
214
- rb_define_method(mTreeModel, "get_value", treemodel_get_value, 2);
215
- rb_define_method(mTreeModel, "each", treemodel_foreach, 0);
216
- rb_define_method(mTreeModel, "row_changed", treemodel_row_changed, 2);
217
- rb_define_method(mTreeModel, "row_inserted", treemodel_row_inserted, 2);
218
- rb_define_method(mTreeModel, "row_has_child_toggled", treemodel_row_has_child_toggled, 2);
219
- rb_define_method(mTreeModel, "row_deleted", treemodel_row_deleted, 1);
220
- rb_define_method(mTreeModel, "rows_reordered", treemodel_rows_reordered, 3);
221
- rb_define_method(mTreeModel, "iter_is_valid?", treemodel_iter_is_valid, 1);
225
+ Init_gtk_treemodel(VALUE mGtk)
226
+ {
227
+ VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(GTK_TYPE_TREE_MODEL, "TreeModel", mGtk);
228
+
229
+ RG_DEF_METHOD(flags, 0);
230
+ RG_DEF_METHOD(n_columns, 0);
231
+ RG_DEF_METHOD(get_column_type, 1);
232
+ RG_DEF_METHOD(iter_first, 0);
233
+ RG_DEF_METHOD(get_iter, 1);
234
+ RG_DEF_METHOD(get_value, 2);
235
+ RG_DEF_METHOD(each, 0);
236
+ RG_DEF_METHOD(row_changed, 2);
237
+ RG_DEF_METHOD(row_inserted, 2);
238
+ RG_DEF_METHOD(row_has_child_toggled, 2);
239
+ RG_DEF_METHOD(row_deleted, 1);
240
+ RG_DEF_METHOD(rows_reordered, 3);
241
+ RG_DEF_METHOD_P(iter_is_valid, 1);
222
242
 
223
243
  /* GtkTreeModelFlags */
224
- G_DEF_CLASS(GTK_TYPE_TREE_MODEL_FLAGS, "Flags", mTreeModel);
225
- G_DEF_CONSTANTS(mTreeModel, GTK_TYPE_TREE_MODEL_FLAGS, "GTK_TREE_MODEL_");
244
+ G_DEF_CLASS(GTK_TYPE_TREE_MODEL_FLAGS, "Flags", RG_TARGET_NAMESPACE);
245
+ G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GTK_TYPE_TREE_MODEL_FLAGS, "GTK_TREE_MODEL_");
226
246
 
227
- G_DEF_SIGNAL_FUNC(mTreeModel, "row_changed", (GValToRValSignalFunc)signal_func);
228
- G_DEF_SIGNAL_FUNC(mTreeModel, "row_inserted", (GValToRValSignalFunc)signal_func);
229
- G_DEF_SIGNAL_FUNC(mTreeModel, "row_has_child_toggled", (GValToRValSignalFunc)signal_func);
230
- G_DEF_SIGNAL_FUNC(mTreeModel, "rows_reordered", (GValToRValSignalFunc)signal_rows_reordered_func);
247
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row_changed", (GValToRValSignalFunc)signal_func);
248
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row_inserted", (GValToRValSignalFunc)signal_func);
249
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row_has_child_toggled", (GValToRValSignalFunc)signal_func);
250
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "rows_reordered", (GValToRValSignalFunc)signal_rows_reordered_func);
231
251
 
232
- G_DEF_SETTERS(mTreeModel);
252
+ G_DEF_SETTERS(RG_TARGET_NAMESPACE);
233
253
  }
234
-
235
-