gtk2 0.20.1 → 0.90.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (443) hide show
  1. data/ChangeLog +30 -0
  2. data/Rakefile +60 -54
  3. data/ext/gtk2/Makefile +163 -0
  4. data/ext/gtk2/depend +10 -0
  5. data/ext/gtk2/extconf.rb +202 -0
  6. data/{src → ext/gtk2}/global.h +0 -0
  7. data/ext/gtk2/gtk2.def +27 -0
  8. data/{src → ext/gtk2}/init.c +0 -0
  9. data/{src → ext/gtk2}/rbgdk.c +0 -0
  10. data/{src → ext/gtk2}/rbgdk.h +0 -0
  11. data/{src → ext/gtk2}/rbgdkatom.c +0 -0
  12. data/{src → ext/gtk2}/rbgdkcairo.c +0 -0
  13. data/{src → ext/gtk2}/rbgdkcolor.c +0 -0
  14. data/{src → ext/gtk2}/rbgdkcolormap.c +0 -0
  15. data/{src → ext/gtk2}/rbgdkconst.c +0 -0
  16. data/{src → ext/gtk2}/rbgdkconversions.h +0 -0
  17. data/{src → ext/gtk2}/rbgdkcursor.c +0 -0
  18. data/{src → ext/gtk2}/rbgdkdevice.c +0 -0
  19. data/{src → ext/gtk2}/rbgdkdisplay.c +0 -0
  20. data/{src → ext/gtk2}/rbgdkdisplaymanager.c +0 -0
  21. data/{src → ext/gtk2}/rbgdkdragcontext.c +0 -0
  22. data/{src → ext/gtk2}/rbgdkdraw.c +0 -0
  23. data/{src → ext/gtk2}/rbgdkevent.c +0 -0
  24. data/{src → ext/gtk2}/rbgdkgc.c +0 -0
  25. data/{src → ext/gtk2}/rbgdkgeometry.c +0 -0
  26. data/{src → ext/gtk2}/rbgdkimage.c +0 -0
  27. data/{src → ext/gtk2}/rbgdkinput.c +0 -0
  28. data/{src → ext/gtk2}/rbgdkkeymap.c +0 -0
  29. data/{src → ext/gtk2}/rbgdkkeysyms.h +0 -466
  30. data/{src → ext/gtk2}/rbgdkkeyval.c +0 -0
  31. data/{src → ext/gtk2}/rbgdkpango.c +0 -0
  32. data/{src → ext/gtk2}/rbgdkpangorenderer.c +0 -0
  33. data/{src → ext/gtk2}/rbgdkpixbuf.c +0 -0
  34. data/{src → ext/gtk2}/rbgdkpixmap.c +0 -0
  35. data/{src → ext/gtk2}/rbgdkproperty.c +0 -0
  36. data/{src → ext/gtk2}/rbgdkrectangle.c +0 -0
  37. data/{src → ext/gtk2}/rbgdkregion.c +0 -0
  38. data/{src → ext/gtk2}/rbgdkrgb.c +0 -0
  39. data/{src → ext/gtk2}/rbgdkscreen.c +0 -0
  40. data/{src → ext/gtk2}/rbgdkselection.c +0 -0
  41. data/{src → ext/gtk2}/rbgdkthreads.c +0 -0
  42. data/{src → ext/gtk2}/rbgdktimecoord.c +0 -0
  43. data/{src → ext/gtk2}/rbgdkvisual.c +0 -0
  44. data/{src → ext/gtk2}/rbgdkwindow.c +0 -0
  45. data/{src → ext/gtk2}/rbgdkwindowattr.c +0 -0
  46. data/{src → ext/gtk2}/rbgdkx11.c +0 -0
  47. data/{src → ext/gtk2}/rbgtk.c +0 -0
  48. data/{src → ext/gtk2}/rbgtk.h +0 -4
  49. data/{src → ext/gtk2}/rbgtkaboutdialog.c +0 -0
  50. data/{src → ext/gtk2}/rbgtkaccelerator.c +0 -0
  51. data/{src → ext/gtk2}/rbgtkaccelgroup.c +0 -0
  52. data/{src → ext/gtk2}/rbgtkaccelgroupentry.c +0 -0
  53. data/{src → ext/gtk2}/rbgtkaccelkey.c +0 -0
  54. data/{src → ext/gtk2}/rbgtkaccellabel.c +0 -0
  55. data/{src → ext/gtk2}/rbgtkaccelmap.c +0 -0
  56. data/{src → ext/gtk2}/rbgtkaccessible.c +0 -0
  57. data/{src → ext/gtk2}/rbgtkaction.c +0 -0
  58. data/{src → ext/gtk2}/rbgtkactiongroup.c +0 -0
  59. data/{src → ext/gtk2}/rbgtkadjustment.c +0 -0
  60. data/{src → ext/gtk2}/rbgtkalignment.c +0 -0
  61. data/{src → ext/gtk2}/rbgtkallocation.c +0 -0
  62. data/{src → ext/gtk2}/rbgtkarrow.c +0 -0
  63. data/{src → ext/gtk2}/rbgtkaspectframe.c +0 -0
  64. data/{src → ext/gtk2}/rbgtkassistant.c +0 -0
  65. data/{src → ext/gtk2}/rbgtkbbox.c +0 -0
  66. data/{src → ext/gtk2}/rbgtkbin.c +0 -0
  67. data/{src → ext/gtk2}/rbgtkbindingset.c +0 -0
  68. data/{src → ext/gtk2}/rbgtkborder.c +0 -0
  69. data/{src → ext/gtk2}/rbgtkbox.c +0 -0
  70. data/{src → ext/gtk2}/rbgtkbuildable.c +0 -0
  71. data/{src → ext/gtk2}/rbgtkbuilder.c +0 -0
  72. data/{src → ext/gtk2}/rbgtkbutton.c +0 -0
  73. data/{src → ext/gtk2}/rbgtkcalendar.c +0 -0
  74. data/{src → ext/gtk2}/rbgtkcelleditable.c +0 -0
  75. data/{src → ext/gtk2}/rbgtkcelllayout.c +0 -0
  76. data/{src → ext/gtk2}/rbgtkcellrenderer.c +0 -0
  77. data/{src → ext/gtk2}/rbgtkcellrendereraccel.c +0 -0
  78. data/{src → ext/gtk2}/rbgtkcellrenderercombo.c +0 -0
  79. data/{src → ext/gtk2}/rbgtkcellrendererpixbuf.c +0 -0
  80. data/{src → ext/gtk2}/rbgtkcellrendererprogress.c +0 -0
  81. data/{src → ext/gtk2}/rbgtkcellrendererspin.c +0 -0
  82. data/{src → ext/gtk2}/rbgtkcellrenderertext.c +0 -0
  83. data/{src → ext/gtk2}/rbgtkcellrenderertoggle.c +0 -0
  84. data/{src → ext/gtk2}/rbgtkcellview.c +0 -0
  85. data/{src → ext/gtk2}/rbgtkcheckbutton.c +0 -0
  86. data/{src → ext/gtk2}/rbgtkcheckmenuitem.c +0 -0
  87. data/{src → ext/gtk2}/rbgtkclipboard.c +0 -0
  88. data/{src → ext/gtk2}/rbgtkcolorbutton.c +0 -0
  89. data/{src → ext/gtk2}/rbgtkcolorsel.c +0 -0
  90. data/{src → ext/gtk2}/rbgtkcolorselectiondialog.c +0 -0
  91. data/{src → ext/gtk2}/rbgtkcombo.c +0 -0
  92. data/{src → ext/gtk2}/rbgtkcombobox.c +0 -0
  93. data/{src → ext/gtk2}/rbgtkcomboboxentry.c +0 -0
  94. data/{src → ext/gtk2}/rbgtkconst.c +0 -0
  95. data/{src → ext/gtk2}/rbgtkcontainer.c +0 -0
  96. data/{src → ext/gtk2}/rbgtkconversions.h +0 -0
  97. data/{src → ext/gtk2}/rbgtkcurve.c +0 -0
  98. data/{src → ext/gtk2}/rbgtkdialog.c +0 -0
  99. data/{src → ext/gtk2}/rbgtkdrag.c +0 -0
  100. data/{src → ext/gtk2}/rbgtkdrawingarea.c +0 -0
  101. data/{src → ext/gtk2}/rbgtkeditable.c +0 -0
  102. data/{src → ext/gtk2}/rbgtkentry.c +0 -0
  103. data/{src → ext/gtk2}/rbgtkentrycompletion.c +0 -0
  104. data/{src → ext/gtk2}/rbgtkeventbox.c +0 -0
  105. data/{src → ext/gtk2}/rbgtkexpander.c +0 -0
  106. data/{src → ext/gtk2}/rbgtkfilechooser.c +0 -0
  107. data/{src → ext/gtk2}/rbgtkfilechooserbutton.c +0 -0
  108. data/{src → ext/gtk2}/rbgtkfilechooserdialog.c +0 -0
  109. data/{src → ext/gtk2}/rbgtkfilechooserwidget.c +0 -0
  110. data/{src → ext/gtk2}/rbgtkfilefilter.c +0 -0
  111. data/{src → ext/gtk2}/rbgtkfilesel.c +0 -0
  112. data/{src → ext/gtk2}/rbgtkfixed.c +0 -0
  113. data/{src → ext/gtk2}/rbgtkfontbutton.c +0 -0
  114. data/{src → ext/gtk2}/rbgtkfontselection.c +0 -0
  115. data/{src → ext/gtk2}/rbgtkfontselectiondialog.c +0 -0
  116. data/{src → ext/gtk2}/rbgtkframe.c +0 -0
  117. data/{src → ext/gtk2}/rbgtkgamma.c +0 -0
  118. data/{src → ext/gtk2}/rbgtkhandlebox.c +0 -0
  119. data/{src → ext/gtk2}/rbgtkhbbox.c +0 -0
  120. data/{src → ext/gtk2}/rbgtkhbox.c +0 -0
  121. data/{src → ext/gtk2}/rbgtkhpaned.c +0 -0
  122. data/{src → ext/gtk2}/rbgtkhruler.c +0 -0
  123. data/{src → ext/gtk2}/rbgtkhscale.c +0 -0
  124. data/{src → ext/gtk2}/rbgtkhscrollbar.c +0 -0
  125. data/{src → ext/gtk2}/rbgtkhseparator.c +0 -0
  126. data/{src → ext/gtk2}/rbgtkiconfactory.c +0 -0
  127. data/{src → ext/gtk2}/rbgtkiconinfo.c +0 -0
  128. data/{src → ext/gtk2}/rbgtkiconset.c +0 -0
  129. data/{src → ext/gtk2}/rbgtkiconsize.c +0 -0
  130. data/{src → ext/gtk2}/rbgtkiconsource.c +0 -0
  131. data/{src → ext/gtk2}/rbgtkicontheme.c +0 -0
  132. data/{src → ext/gtk2}/rbgtkiconview.c +0 -0
  133. data/{src → ext/gtk2}/rbgtkimage.c +0 -0
  134. data/{src → ext/gtk2}/rbgtkimagemenuitem.c +0 -0
  135. data/{src → ext/gtk2}/rbgtkimcontext.c +0 -0
  136. data/{src → ext/gtk2}/rbgtkimcontextsimple.c +0 -0
  137. data/{src → ext/gtk2}/rbgtkimmulticontext.c +0 -0
  138. data/{src → ext/gtk2}/rbgtkinits.c +2 -6
  139. data/{src → ext/gtk2}/rbgtkinputdialog.c +0 -0
  140. data/{src → ext/gtk2}/rbgtkinvisible.c +0 -0
  141. data/{src → ext/gtk2}/rbgtkitem.c +0 -0
  142. data/{src → ext/gtk2}/rbgtkitemfactory.c +0 -0
  143. data/{src → ext/gtk2}/rbgtklabel.c +0 -0
  144. data/{src → ext/gtk2}/rbgtklayout.c +0 -0
  145. data/{src → ext/gtk2}/rbgtklinkbutton.c +0 -0
  146. data/{src → ext/gtk2}/rbgtkliststore.c +0 -0
  147. data/{src → ext/gtk2}/rbgtkmacros.h +0 -0
  148. data/{src → ext/gtk2}/rbgtkmain.c +0 -0
  149. data/{src → ext/gtk2}/rbgtkmenu.c +0 -0
  150. data/{src → ext/gtk2}/rbgtkmenubar.c +0 -0
  151. data/{src → ext/gtk2}/rbgtkmenuitem.c +0 -0
  152. data/{src → ext/gtk2}/rbgtkmenushell.c +0 -0
  153. data/{src → ext/gtk2}/rbgtkmenutoolbutton.c +0 -0
  154. data/{src → ext/gtk2}/rbgtkmessagedialog.c +0 -0
  155. data/{src → ext/gtk2}/rbgtkmisc.c +0 -0
  156. data/{src → ext/gtk2}/rbgtknotebook.c +0 -0
  157. data/{src → ext/gtk2}/rbgtkobject.c +0 -0
  158. data/{src → ext/gtk2}/rbgtkoptionmenu.c +0 -0
  159. data/{src → ext/gtk2}/rbgtkpagesetup.c +0 -0
  160. data/{src → ext/gtk2}/rbgtkpagesetupunixdialog.c +0 -0
  161. data/{src → ext/gtk2}/rbgtkpaned.c +0 -0
  162. data/{src → ext/gtk2}/rbgtkpapersize.c +0 -0
  163. data/{src → ext/gtk2}/rbgtkplug.c +0 -0
  164. data/{src → ext/gtk2}/rbgtkprintcontext.c +0 -0
  165. data/{src → ext/gtk2}/rbgtkprinter.c +0 -0
  166. data/{src → ext/gtk2}/rbgtkprintjob.c +0 -0
  167. data/{src → ext/gtk2}/rbgtkprintoperation.c +0 -0
  168. data/{src → ext/gtk2}/rbgtkprintoperationpreview.c +0 -0
  169. data/{src → ext/gtk2}/rbgtkprintsettings.c +0 -0
  170. data/{src → ext/gtk2}/rbgtkprintunixdialog.c +0 -0
  171. data/{src → ext/gtk2}/rbgtkprogress.c +0 -0
  172. data/{src → ext/gtk2}/rbgtkprogressbar.c +0 -0
  173. data/{src → ext/gtk2}/rbgtkradioaction.c +0 -0
  174. data/{src → ext/gtk2}/rbgtkradiobutton.c +0 -0
  175. data/{src → ext/gtk2}/rbgtkradiomenuitem.c +0 -0
  176. data/{src → ext/gtk2}/rbgtkradiotoolbutton.c +0 -0
  177. data/{src → ext/gtk2}/rbgtkrange.c +0 -0
  178. data/{src → ext/gtk2}/rbgtkrc.c +0 -0
  179. data/{src → ext/gtk2}/rbgtkrcstyle.c +0 -0
  180. data/{src → ext/gtk2}/rbgtkrecentaction.c +0 -0
  181. data/{src → ext/gtk2}/rbgtkrecentchooser.c +0 -0
  182. data/{src → ext/gtk2}/rbgtkrecentchooserdialog.c +0 -0
  183. data/{src → ext/gtk2}/rbgtkrecentchoosermenu.c +0 -0
  184. data/{src → ext/gtk2}/rbgtkrecentchooserwidget.c +0 -0
  185. data/{src → ext/gtk2}/rbgtkrecentdata.c +0 -0
  186. data/{src → ext/gtk2}/rbgtkrecentfilter.c +0 -0
  187. data/{src → ext/gtk2}/rbgtkrecentfilterinfo.c +0 -0
  188. data/{src → ext/gtk2}/rbgtkrecentinfo.c +0 -0
  189. data/{src → ext/gtk2}/rbgtkrecentmanager.c +0 -0
  190. data/{src → ext/gtk2}/rbgtkruler.c +0 -0
  191. data/{src → ext/gtk2}/rbgtkscale.c +0 -0
  192. data/{src → ext/gtk2}/rbgtkscalebutton.c +0 -0
  193. data/{src → ext/gtk2}/rbgtkscrollbar.c +0 -0
  194. data/{src → ext/gtk2}/rbgtkscrolledwindow.c +0 -0
  195. data/{src → ext/gtk2}/rbgtkselection.c +0 -0
  196. data/{src → ext/gtk2}/rbgtkselectiondata.c +0 -0
  197. data/{src → ext/gtk2}/rbgtkseparator.c +0 -0
  198. data/{src → ext/gtk2}/rbgtkseparatormenuitem.c +0 -0
  199. data/{src → ext/gtk2}/rbgtkseparatortoolitem.c +0 -0
  200. data/{src → ext/gtk2}/rbgtksettings.c +0 -0
  201. data/{src → ext/gtk2}/rbgtksizegroup.c +0 -0
  202. data/{src → ext/gtk2}/rbgtksocket.c +0 -0
  203. data/{src → ext/gtk2}/rbgtkspinbutton.c +0 -0
  204. data/{src → ext/gtk2}/rbgtkstatusbar.c +0 -0
  205. data/{src → ext/gtk2}/rbgtkstatusicon.c +0 -0
  206. data/{src → ext/gtk2}/rbgtkstock.c +0 -0
  207. data/{src → ext/gtk2}/rbgtkstyle.c +0 -0
  208. data/{src → ext/gtk2}/rbgtktable.c +0 -0
  209. data/{src → ext/gtk2}/rbgtktargetlist.c +0 -0
  210. data/{src → ext/gtk2}/rbgtktearoffmenuitem.c +0 -0
  211. data/{src → ext/gtk2}/rbgtktextappearance.c +0 -0
  212. data/{src → ext/gtk2}/rbgtktextattributes.c +0 -0
  213. data/{src → ext/gtk2}/rbgtktextbuffer.c +0 -0
  214. data/{src → ext/gtk2}/rbgtktextchild.c +0 -0
  215. data/{src → ext/gtk2}/rbgtktextiter.c +0 -0
  216. data/{src → ext/gtk2}/rbgtktextmark.c +0 -0
  217. data/{src → ext/gtk2}/rbgtktexttag.c +0 -0
  218. data/{src → ext/gtk2}/rbgtktexttagtable.c +0 -0
  219. data/{src → ext/gtk2}/rbgtktextview.c +0 -0
  220. data/{src → ext/gtk2}/rbgtktoggleaction.c +0 -0
  221. data/{src → ext/gtk2}/rbgtktogglebutton.c +0 -0
  222. data/{src → ext/gtk2}/rbgtktoggletoolbutton.c +0 -0
  223. data/{src → ext/gtk2}/rbgtktoolbar.c +0 -0
  224. data/{src → ext/gtk2}/rbgtktoolbutton.c +0 -0
  225. data/{src → ext/gtk2}/rbgtktoolitem.c +0 -0
  226. data/{src → ext/gtk2}/rbgtktooltip.c +0 -0
  227. data/{src → ext/gtk2}/rbgtktooltips.c +0 -0
  228. data/{src → ext/gtk2}/rbgtktreedragdest.c +0 -0
  229. data/{src → ext/gtk2}/rbgtktreedragsource.c +0 -0
  230. data/{src → ext/gtk2}/rbgtktreeiter.c +0 -0
  231. data/{src → ext/gtk2}/rbgtktreemodel.c +0 -0
  232. data/{src → ext/gtk2}/rbgtktreemodelfilter.c +0 -0
  233. data/{src → ext/gtk2}/rbgtktreemodelsort.c +0 -0
  234. data/{src → ext/gtk2}/rbgtktreepath.c +0 -0
  235. data/{src → ext/gtk2}/rbgtktreerowreference.c +0 -0
  236. data/{src → ext/gtk2}/rbgtktreeselection.c +0 -0
  237. data/{src → ext/gtk2}/rbgtktreesortable.c +0 -0
  238. data/{src → ext/gtk2}/rbgtktreestore.c +0 -0
  239. data/{src → ext/gtk2}/rbgtktreeview.c +0 -0
  240. data/{src → ext/gtk2}/rbgtktreeviewcolumn.c +0 -0
  241. data/{src → ext/gtk2}/rbgtkuimanager.c +0 -0
  242. data/{src → ext/gtk2}/rbgtkvbbox.c +0 -0
  243. data/{src → ext/gtk2}/rbgtkvbox.c +0 -0
  244. data/{src → ext/gtk2}/rbgtkviewport.c +0 -0
  245. data/{src → ext/gtk2}/rbgtkvolumebutton.c +0 -0
  246. data/{src → ext/gtk2}/rbgtkvpaned.c +0 -0
  247. data/{src → ext/gtk2}/rbgtkvruler.c +0 -0
  248. data/{src → ext/gtk2}/rbgtkvscale.c +0 -0
  249. data/{src → ext/gtk2}/rbgtkvscrollbar.c +0 -0
  250. data/{src → ext/gtk2}/rbgtkvseparator.c +0 -0
  251. data/{src → ext/gtk2}/rbgtkwidget.c +0 -0
  252. data/{src → ext/gtk2}/rbgtkwindow.c +0 -0
  253. data/{src → ext/gtk2}/rbgtkwindowgroup.c +0 -0
  254. data/extconf.rb +48 -113
  255. data/{src/lib → lib}/gtk2.rb +0 -0
  256. data/{src/lib → lib}/gtk2/base.rb +12 -1
  257. data/sample/gtk-demo/README +7 -0
  258. data/sample/gtk-demo/alphatest.png +0 -0
  259. data/sample/gtk-demo/apple-red.png +0 -0
  260. data/sample/gtk-demo/appwindow.rb +233 -0
  261. data/sample/gtk-demo/background.jpg +0 -0
  262. data/sample/gtk-demo/builder.rb +51 -0
  263. data/sample/gtk-demo/button_box.rb +84 -0
  264. data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
  265. data/sample/gtk-demo/cairo-arc.rb +41 -0
  266. data/sample/gtk-demo/cairo-clip-image.rb +51 -0
  267. data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
  268. data/sample/gtk-demo/cairo-clip.rb +35 -0
  269. data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
  270. data/sample/gtk-demo/cairo-curve-to.rb +43 -0
  271. data/sample/gtk-demo/cairo-dash.rb +39 -0
  272. data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
  273. data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
  274. data/sample/gtk-demo/cairo-gradient.rb +35 -0
  275. data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
  276. data/sample/gtk-demo/cairo-image.rb +49 -0
  277. data/sample/gtk-demo/cairo-line-cap.rb +53 -0
  278. data/sample/gtk-demo/cairo-line-join.rb +41 -0
  279. data/sample/gtk-demo/cairo-long-lines.rb +41 -0
  280. data/sample/gtk-demo/cairo-operator.rb +83 -0
  281. data/sample/gtk-demo/cairo-path.rb +28 -0
  282. data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
  283. data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
  284. data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
  285. data/sample/gtk-demo/cairo-text-extents.rb +46 -0
  286. data/sample/gtk-demo/cairo-text.rb +43 -0
  287. data/sample/gtk-demo/changedisplay.rb +408 -0
  288. data/sample/gtk-demo/clipboard.rb +72 -0
  289. data/sample/gtk-demo/colorsel.rb +84 -0
  290. data/sample/gtk-demo/common.rb +88 -0
  291. data/sample/gtk-demo/demo.ui +258 -0
  292. data/sample/gtk-demo/dialog.rb +137 -0
  293. data/sample/gtk-demo/drawingarea.rb +226 -0
  294. data/sample/gtk-demo/editable_cells.rb +172 -0
  295. data/sample/gtk-demo/entry_completion.rb +63 -0
  296. data/sample/gtk-demo/expander.rb +40 -0
  297. data/sample/gtk-demo/floppybuddy.gif +0 -0
  298. data/sample/gtk-demo/gnome-applets.png +0 -0
  299. data/sample/gtk-demo/gnome-calendar.png +0 -0
  300. data/sample/gtk-demo/gnome-foot.png +0 -0
  301. data/sample/gtk-demo/gnome-fs-directory.png +0 -0
  302. data/sample/gtk-demo/gnome-fs-regular.png +0 -0
  303. data/sample/gtk-demo/gnome-gimp.png +0 -0
  304. data/sample/gtk-demo/gnome-gmush.png +0 -0
  305. data/sample/gtk-demo/gnome-gsame.png +0 -0
  306. data/sample/gtk-demo/gnu-keys.png +0 -0
  307. data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
  308. data/sample/gtk-demo/hypertext.rb +211 -0
  309. data/sample/gtk-demo/iconview.rb +109 -0
  310. data/sample/gtk-demo/images.rb +197 -0
  311. data/sample/gtk-demo/item_factory.rb +94 -0
  312. data/sample/gtk-demo/list_store.rb +138 -0
  313. data/sample/gtk-demo/main.rb +380 -0
  314. data/sample/gtk-demo/menus.rb +172 -0
  315. data/sample/gtk-demo/panes.rb +156 -0
  316. data/sample/gtk-demo/pixbufs.rb +176 -0
  317. data/sample/gtk-demo/printing.rb +128 -0
  318. data/sample/gtk-demo/rotated_text.rb +84 -0
  319. data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
  320. data/sample/gtk-demo/sizegroup.rb +118 -0
  321. data/sample/gtk-demo/stock_browser.rb +235 -0
  322. data/sample/gtk-demo/textview.rb +435 -0
  323. data/sample/gtk-demo/tree_store.rb +270 -0
  324. data/sample/misc/aboutdialog.rb +42 -0
  325. data/sample/misc/aboutdialog2.rb +42 -0
  326. data/sample/misc/alpha-demo.rb +70 -0
  327. data/sample/misc/assistant.rb +347 -0
  328. data/sample/misc/bindings.rb +107 -0
  329. data/sample/misc/button.rb +69 -0
  330. data/sample/misc/button2.rb +28 -0
  331. data/sample/misc/buttonbox.rb +93 -0
  332. data/sample/misc/cairo-pong.rb +215 -0
  333. data/sample/misc/calendar.rb +62 -0
  334. data/sample/misc/checkbutton.rb +46 -0
  335. data/sample/misc/colorselection.rb +25 -0
  336. data/sample/misc/combo_check.rb +71 -0
  337. data/sample/misc/combobox.rb +86 -0
  338. data/sample/misc/composited-windows.rb +113 -0
  339. data/sample/misc/cursor.rb +32 -0
  340. data/sample/misc/dialog.rb +44 -0
  341. data/sample/misc/dialog2.rb +39 -0
  342. data/sample/misc/dnd.rb +65 -0
  343. data/sample/misc/dndtreeview.rb +56 -0
  344. data/sample/misc/drag-move.rb +131 -0
  345. data/sample/misc/drawing.rb +90 -0
  346. data/sample/misc/entry.rb +34 -0
  347. data/sample/misc/entrycompletion.rb +39 -0
  348. data/sample/misc/expander.rb +27 -0
  349. data/sample/misc/filechooser.rb +49 -0
  350. data/sample/misc/fileselection.rb +26 -0
  351. data/sample/misc/frame.rb +69 -0
  352. data/sample/misc/gc.rb +59 -0
  353. data/sample/misc/gdkscreen.rb +32 -0
  354. data/sample/misc/gnome-logo-icon.png +0 -0
  355. data/sample/misc/helloworld.rb +35 -0
  356. data/sample/misc/iconview.rb +38 -0
  357. data/sample/misc/image.rb +42 -0
  358. data/sample/misc/itemfactory.rb +73 -0
  359. data/sample/misc/itemfactory2.rb +74 -0
  360. data/sample/misc/keyboard_grab.rb +29 -0
  361. data/sample/misc/label.rb +33 -0
  362. data/sample/misc/linkbutton.rb +42 -0
  363. data/sample/misc/listview.rb +92 -0
  364. data/sample/misc/menu.rb +81 -0
  365. data/sample/misc/misc_button.rb +59 -0
  366. data/sample/misc/mouse-gesture.rb +465 -0
  367. data/sample/misc/pangorenderer.rb +66 -0
  368. data/sample/misc/pointer_grab.rb +34 -0
  369. data/sample/misc/print.rb +247 -0
  370. data/sample/misc/properties.rb +85 -0
  371. data/sample/misc/radiobutton.rb +47 -0
  372. data/sample/misc/recentchooserdialog.rb +59 -0
  373. data/sample/misc/rgtk+cairo.rb +44 -0
  374. data/sample/misc/scalebutton.rb +25 -0
  375. data/sample/misc/settings.rb +41 -0
  376. data/sample/misc/statusicon.rb +123 -0
  377. data/sample/misc/stock.rb +36 -0
  378. data/sample/misc/style_property.rb +67 -0
  379. data/sample/misc/style_property.rc +19 -0
  380. data/sample/misc/t-gtkplug.rb +58 -0
  381. data/sample/misc/t-gtksocket.rb +65 -0
  382. data/sample/misc/test.xpm +92 -0
  383. data/sample/misc/textbuffer_serialize.rb +130 -0
  384. data/sample/misc/threads.rb +72 -0
  385. data/sample/misc/to_drawable.rb +42 -0
  386. data/sample/misc/togglebutton.rb +34 -0
  387. data/sample/misc/toolbar.rb +55 -0
  388. data/sample/misc/tooltips.rb +204 -0
  389. data/sample/misc/tree_combo.rb +85 -0
  390. data/sample/misc/tree_progress.rb +69 -0
  391. data/sample/misc/treemodelfilter.rb +55 -0
  392. data/sample/misc/treeview.rb +71 -0
  393. data/sample/misc/uimanager.rb +148 -0
  394. data/sample/misc/uimanager2.rb +91 -0
  395. data/sample/misc/uimanager2.xml +36 -0
  396. data/sample/misc/window.rb +24 -0
  397. data/sample/misc/xbm_cursor.rb +43 -0
  398. data/sample/testgtk/3DRings.xpm +116 -0
  399. data/sample/testgtk/FilesQueue.xpm +98 -0
  400. data/sample/testgtk/Modeller.xpm +117 -0
  401. data/sample/testgtk/README +14 -0
  402. data/sample/testgtk/button.rb +133 -0
  403. data/sample/testgtk/buttonbox.rb +108 -0
  404. data/sample/testgtk/check-n.xpm +21 -0
  405. data/sample/testgtk/check-y.xpm +21 -0
  406. data/sample/testgtk/checkbutton.rb +67 -0
  407. data/sample/testgtk/circles.xbm +46 -0
  408. data/sample/testgtk/colorselect.rb +33 -0
  409. data/sample/testgtk/dialog.rb +47 -0
  410. data/sample/testgtk/entry.rb +73 -0
  411. data/sample/testgtk/filesel.rb +67 -0
  412. data/sample/testgtk/fontselection.rb +56 -0
  413. data/sample/testgtk/gammacurve.rb +70 -0
  414. data/sample/testgtk/labels.rb +73 -0
  415. data/sample/testgtk/layout.rb +108 -0
  416. data/sample/testgtk/marble.xpm +408 -0
  417. data/sample/testgtk/menu.rb +79 -0
  418. data/sample/testgtk/notebook.rb +281 -0
  419. data/sample/testgtk/pixmap.rb +58 -0
  420. data/sample/testgtk/progressbar.rb +181 -0
  421. data/sample/testgtk/radiobutton.rb +61 -0
  422. data/sample/testgtk/range.rb +65 -0
  423. data/sample/testgtk/reparent.rb +91 -0
  424. data/sample/testgtk/rulers.rb +46 -0
  425. data/sample/testgtk/sample.rb +80 -0
  426. data/sample/testgtk/savedposition.rb +87 -0
  427. data/sample/testgtk/scrolledwindow.rb +67 -0
  428. data/sample/testgtk/shapedwindow.rb +99 -0
  429. data/sample/testgtk/spinbutton.rb +181 -0
  430. data/sample/testgtk/statusbar.rb +89 -0
  431. data/sample/testgtk/test.xpm +92 -0
  432. data/sample/testgtk/testgtk.rb +179 -0
  433. data/sample/testgtk/testgtkrc +146 -0
  434. data/sample/testgtk/testgtkrc2 +21 -0
  435. data/sample/testgtk/togglebutton.rb +53 -0
  436. data/sample/testgtk/toolbar.rb +82 -0
  437. data/sample/testgtk/tooltips.rb +41 -0
  438. data/sample/testgtk/wmhints.rb +40 -0
  439. data/test/run-test.rb +10 -8
  440. data/test/test_gtk_builder.rb +1 -1
  441. metadata +495 -334
  442. data/src/makeinits.rb +0 -57
  443. data/src/makekeysyms.rb +0 -5
data/ChangeLog CHANGED
@@ -1,3 +1,33 @@
1
+ 2010-09-25 Kouhei Sutou <kou@cozmixng.org>
2
+
3
+ * ext/gtk2/extconf.rb: ensure adding built source to targets.
4
+
5
+ 2010-09-24 Kouhei Sutou <kou@cozmixng.org>
6
+
7
+ * Rakefile: add missing gtk2/base.rb.
8
+ Reported by S.Kitagawa. Thanks!!!
9
+
10
+ 2010-09-23 Kouhei Sutou <kou@cozmixng.org>
11
+
12
+ * Rakefile: don't add .zip into gem.
13
+
14
+ * lib/gtk2/base.rb: support bundled Windows DLL.
15
+
16
+ * test/test_gtk_builder.rb (TestGtkBuilder#test_objects): use
17
+ builder_name instead of name.
18
+
19
+ * test/run-test.rb: fix require order.
20
+
21
+ * test/run-test.rb: fix extension library path.
22
+
23
+ * Rakefile (#guess_version): add missing atk dependency.
24
+
25
+ * ./: make buildable with rake-compiler.
26
+
27
+ 2010-09-22 Kouhei Sutou <kou@cozmixng.org>
28
+
29
+ * src/lib/: -> lib/.
30
+
1
31
  2010-05-09 Kouhei Sutou <kou@cozmixng.org>
2
32
 
3
33
  * extconf.rb: add missing have_library("X11").
data/Rakefile CHANGED
@@ -1,70 +1,76 @@
1
- require 'rake/clean'
2
- CLEAN.include '**/*.o'
3
- CLEAN.include "**/*.#{Config::MAKEFILE_CONFIG['DLEXT']}"
4
- CLOBBER.include 'doc'
5
- CLOBBER.include '**/*.log'
6
- CLOBBER.include '**/Makefile'
7
- CLOBBER.include '**/extconf.h'
1
+ # -*- ruby -*-
8
2
 
9
- # Determine the current version of the software
10
- def ruby_gtk_version
11
- "0.20.1"
12
- end
13
-
14
- CURRENT_VERSION = ruby_gtk_version
15
-
16
- desc "Default Task (Test project)"
17
- task :default => :test
18
-
19
- # Make tasks -----------------------------------------------------
20
- make_program = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make'
21
- MAKECMD = ENV['MAKE_CMD'] || make_program
22
- MAKEOPTS = ENV['MAKE_OPTS'] || ''
3
+ require 'pathname'
4
+ require 'find'
5
+ require 'rubygems'
6
+ require 'rake/extensiontask'
23
7
 
24
- GTK_SO = "src/gtk2.#{Config::MAKEFILE_CONFIG['DLEXT']}"
8
+ @top_dir = Pathname(__FILE__).dirname.parent.expand_path
9
+ @rb_glib2_dir = @top_dir + "glib2"
25
10
 
26
- file 'Makefile' => 'extconf.rb' do
27
- sh "ruby extconf.rb #{ENV['EXTCONF_OPTS']}"
28
- end
11
+ task :default => :build
29
12
 
30
- def make(target = '')
31
- pid = system("#{MAKECMD} #{MAKEOPTS} #{target}")
32
- $?.exitstatus
13
+ def version
14
+ @version ||= ENV["VERSION"] || guess_version
33
15
  end
34
16
 
35
- # Let make handle dependencies between c/o/so - we'll just run it.
36
- file GTK_SO => (['Makefile'] + Dir['src/*.c'] + Dir['src/*.h']) do
37
- m = make
38
- fail "Make failed (status #{m})" unless m == 0
17
+ def guess_version
18
+ versions = {}
19
+ rbglib_h_path = @rb_glib2_dir + "ext" + "glib2" + "rbglib.h"
20
+ rbglib_h_path.open do |rbglib_h|
21
+ rbglib_h.each_line do |line|
22
+ if /#define\s+RBGLIB_([A-Z]+)_VERSION\s+(\d+)/ =~ line
23
+ versions[$1.downcase] = $2.to_i
24
+ end
25
+ end
26
+ end
27
+ ["major", "minor", "micro"].collect {|type| versions[type]}.compact.join(".")
39
28
  end
40
29
 
41
- desc "Configure Gtk"
42
- task :configure => ['Makefile']
30
+ package_name = "gtk2"
43
31
 
44
- desc "Compile the shared object"
45
- task :compile => [GTK_SO]
32
+ spec = Gem::Specification.new do |s|
33
+ s.name = package_name
34
+ s.summary = "Ruby/GTK2 is a Ruby binding of GTK+-2.x."
35
+ s.description = "Ruby/GTK2 is a Ruby binding of GTK+-2.x."
36
+ s.author = "The Ruby-GNOME2 Proejct Team"
37
+ s.email = "ruby-gnome2-devel-en@lists.sourceforge.net"
38
+ s.homepage = "http://ruby-gnome2.sourceforge.jp/"
39
+ s.version = version
40
+ s.platform = Gem::Platform::RUBY
41
+ s.add_dependency("cairo", ">= 1.10.0")
42
+ s.add_dependency("glib2", "= #{version}")
43
+ s.add_dependency("pango", "= #{version}")
44
+ s.add_dependency("atk", "= #{version}")
45
+ s.extensions = FileList["ext/#{package_name}/extconf.rb"]
46
+ s.require_paths = ["lib"]
47
+ s.files = FileList["ChangeLog", "README", "Rakefile", "extconf.rb",
48
+ "lib/**/*.rb", "{ext,sample,test}/**/*"]
49
+ end
46
50
 
47
- desc "Run gtk tests"
48
- task :test => :compile do
49
- sh "ruby test/run-test.rb"
51
+ Rake::GemPackageTask.new(spec) do |pkg|
50
52
  end
51
53
 
52
- desc 'Generate gem specification'
53
- task :gemspec do
54
- require 'erb'
55
- tspec = ERB.new(File.read(File.join(File.dirname(__FILE__),'src','gtk2.gemspec.erb')))
56
- File.open(File.join(File.dirname(__FILE__),'gtk2.gemspec'),'wb') do|f|
57
- f << tspec.result
54
+ Rake::ExtensionTask.new(package_name, spec) do |ext|
55
+ ext.cross_compile = true
56
+ ext.cross_compiling do |spec|
57
+ if /mingw|mswin/ =~ spec.platform.to_s
58
+ win32_dir = File.join("vendor", "local")
59
+ win32_files = []
60
+ Find.find(win32_dir) do |file|
61
+ next if /\.zip\z/ =~ file
62
+ win32_files << file
63
+ end
64
+ spec.files += win32_files
65
+ end
58
66
  end
59
67
  end
60
68
 
61
- desc 'Build gem'
62
- task :package => :gemspec do
63
- require 'rubygems/specification'
64
- spec_source = File.read File.join(File.dirname(__FILE__),'gtk2.gemspec')
65
- spec = nil
66
- # see: http://gist.github.com/16215
67
- Thread.new { spec = eval("$SAFE = 3\n#{spec_source}") }.join
68
- spec.validate
69
- Gem::Builder.new(spec).build
69
+ namespace :win32 do
70
+ desc "download Windows binaries"
71
+ task :download do
72
+ $LOAD_PATH.unshift((@rb_glib2_dir + "lib").to_s)
73
+ require 'gnome2-win32-binary-downloader'
74
+ GNOME2Win32BinaryDownloader.download(:packages => ["gtk"])
75
+ end
70
76
  end
@@ -0,0 +1,163 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ #### Start of system configuration section. ####
5
+
6
+ srcdir = /home/kou/work/ruby/ruby-gnome2/gtk/src
7
+ topdir = /usr/lib/ruby/1.8/x86_64-linux
8
+ hdrdir = $(topdir)
9
+ VPATH = $(srcdir):$(topdir):$(hdrdir)
10
+ prefix = $(DESTDIR)/usr
11
+ exec_prefix = $(prefix)
12
+ sitedir = $(DESTDIR)/usr/local/lib/site_ruby
13
+ rubylibdir = $(libdir)/ruby/$(ruby_version)
14
+ docdir = $(datarootdir)/doc/$(PACKAGE)
15
+ dvidir = $(docdir)
16
+ datarootdir = $(prefix)/share
17
+ archdir = $(rubylibdir)/$(arch)
18
+ sbindir = $(exec_prefix)/sbin
19
+ psdir = $(docdir)
20
+ localedir = $(datarootdir)/locale
21
+ htmldir = $(docdir)
22
+ datadir = $(datarootdir)
23
+ includedir = $(prefix)/include
24
+ infodir = $(prefix)/share/info
25
+ sysconfdir = $(DESTDIR)/etc
26
+ mandir = $(prefix)/share/man
27
+ libdir = $(exec_prefix)/lib
28
+ sharedstatedir = $(prefix)/com
29
+ oldincludedir = $(DESTDIR)/usr/include
30
+ pdfdir = $(docdir)
31
+ sitearchdir = $(sitelibdir)/$(sitearch)
32
+ bindir = $(exec_prefix)/bin
33
+ localstatedir = $(DESTDIR)/var
34
+ sitelibdir = $(sitedir)/$(ruby_version)
35
+ libexecdir = $(prefix)/lib/ruby1.8
36
+
37
+ CC = cc
38
+ LIBRUBY = $(LIBRUBY_SO)
39
+ LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
40
+ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
41
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
42
+
43
+ RUBY_EXTCONF_H =
44
+ CFLAGS = -fPIC -fno-strict-aliasing -g -O2 -fPIC -Wall -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -DPNG_NO_MMX_CODE -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -DPNG_NO_MMX_CODE -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12
45
+ INCFLAGS = -I. -I/home/kou/work/ruby/ruby-gnome2/pango/src -I/home/kou/work/ruby/ruby-gnome2/pango/src -I/home/kou/work/ruby/ruby-gnome2/glib/src -I/home/kou/work/ruby/ruby-gnome2/glib/src -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/home/kou/work/ruby/ruby-gnome2/gtk
46
+ CPPFLAGS = -DHAVE_RB_DEFINE_ALLOC_FUNC -DHAVE_RB_BLOCK_PROC -DHAVE_OBJECT_ALLOCATE -DHAVE_NODE_ATTRASGN -DRUBY_GTK2_TARGET=\"x11\" -DHAVE_GTK_PLUG_GET_TYPE -DHAVE_GTK_SOCKET_GET_TYPE -DHAVE_PANGO_RENDER_PART_GET_TYPE -DHAVE_XREADBITMAPFILEDATA -DHAVE_X11_XLIB_H -DHAVE_XGETERRORTEXT -DHAVE_GTK_PRINT_UNIX_DIALOG_GET_TYPE -DHAVE_GTK_PRINT_JOB_GET_TYPE -DHAVE_GTK_PRINTER_GET_TYPE -DHAVE_RB_CAIRO_H -DRUBY_GTK2_COMPILATION -I/usr/local/lib/site_ruby/1.8/x86_64-linux
47
+ CXXFLAGS = $(CFLAGS)
48
+ DLDFLAGS = -L. -rdynamic -Wl,-export-dynamic -pthread
49
+ LDSHARED = $(CC) -shared
50
+ AR = ar
51
+ EXEEXT =
52
+
53
+ RUBY_INSTALL_NAME = ruby1.8
54
+ RUBY_SO_NAME = ruby1.8
55
+ arch = x86_64-linux
56
+ sitearch = x86_64-linux
57
+ ruby_version = 1.8
58
+ ruby = /usr/bin/ruby1.8
59
+ RUBY = $(ruby)
60
+ RM = rm -f
61
+ MAKEDIRS = mkdir -p
62
+ INSTALL = /usr/bin/install -c
63
+ INSTALL_PROG = $(INSTALL) -m 0755
64
+ INSTALL_DATA = $(INSTALL) -m 644
65
+ COPY = cp
66
+
67
+ #### End of system configuration section. ####
68
+
69
+ preload =
70
+
71
+ libpath = . $(libdir)
72
+ LIBPATH = -L"." -L"$(libdir)"
73
+ DEFFILE =
74
+
75
+ CLEANFILES = mkmf.log
76
+ DISTCLEANFILES = rbgdkkeysyms.h rbgtkinits.c
77
+
78
+ extout =
79
+ extout_prefix =
80
+ target_prefix =
81
+ LOCAL_LIBS =
82
+ LIBS = $(LIBRUBYARG_SHARED) -lgthread-2.0 -lrt -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lcairo -lpthread -ldl -lcrypt -lm -lc
83
+ SRCS = rbgtkscrollbar.c rbgtkradioaction.c rbgtkstatusbar.c rbgtkwindow.c rbgtkrcstyle.c rbgtkhbbox.c rbgtk.c rbgtkinvisible.c rbgtkinits.c rbgtkimmulticontext.c rbgtkassistant.c rbgtkfontbutton.c rbgtkcellrendererprogress.c rbgdkpixmap.c rbgtkcellrenderertext.c rbgtkobject.c rbgtkhbox.c rbgtkrecentfilter.c rbgdkimage.c rbgtkvseparator.c rbgtkrecentdata.c rbgtkscrolledwindow.c rbgtkradiotoolbutton.c rbgtkbutton.c rbgdkpixbuf.c rbgtkvpaned.c rbgtktoolbutton.c rbgtkentry.c rbgdktimecoord.c rbgtkdrag.c rbgtkprintjob.c rbgtkconst.c rbgtktextmark.c rbgtkiconsource.c rbgtkcomboboxentry.c rbgtkfilechooserdialog.c rbgtkseparatormenuitem.c rbgtkplug.c rbgdkwindowattr.c rbgdkcolor.c rbgtktable.c rbgtkrecentmanager.c rbgtkrc.c rbgtkcombobox.c rbgdkrgb.c rbgtkbox.c rbgtkpapersize.c rbgtklabel.c rbgtkprintunixdialog.c rbgtkfilechooserwidget.c rbgtkmenu.c rbgtkprogress.c rbgtktreeiter.c rbgtkseparator.c rbgdkevent.c rbgdkregion.c rbgtkfilefilter.c rbgtkmessagedialog.c rbgtkalignment.c rbgtktreedragdest.c rbgtkpagesetupunixdialog.c rbgtkhandlebox.c rbgtkprintcontext.c rbgtkrecentaction.c rbgtktextbuffer.c rbgtkexpander.c rbgtkadjustment.c rbgtkhscale.c rbgtktextchild.c rbgdkgeometry.c rbgtkcellview.c rbgtktooltips.c rbgdkpango.c rbgtkprintsettings.c rbgtkcolorselectiondialog.c rbgtkaccellabel.c rbgtktoggletoolbutton.c rbgtkicontheme.c rbgtkdrawingarea.c rbgtktreeviewcolumn.c rbgtkmenubar.c rbgtkfixed.c rbgdkwindow.c rbgtkitem.c rbgtkfontselectiondialog.c rbgdkdisplaymanager.c rbgtktreeselection.c rbgtkcelllayout.c rbgdkselection.c rbgtkmenushell.c rbgtkprintoperationpreview.c rbgtkwindowgroup.c rbgtkradiobutton.c rbgtkradiomenuitem.c rbgtkscalebutton.c rbgtkprintoperation.c rbgtkallocation.c rbgtkvbbox.c rbgtkrecentchooserdialog.c rbgtkimcontextsimple.c rbgtkcombo.c rbgtkarrow.c rbgtkborder.c rbgtkfilechooser.c rbgtkiconinfo.c rbgtkcelleditable.c rbgtktreeview.c rbgtktextappearance.c rbgtkhpaned.c rbgtktreerowreference.c rbgtkrecentchoosermenu.c rbgtkgamma.c rbgtkspinbutton.c rbgdkcairo.c rbgtktreemodel.c rbgtktreedragsource.c rbgtkrange.c rbgtkvbox.c rbgtkinputdialog.c rbgtkmisc.c rbgtktooltip.c rbgtkprogressbar.c rbgtkiconview.c rbgdkdevice.c rbgtkvscrollbar.c rbgtktearoffmenuitem.c rbgtktogglebutton.c rbgtkiconset.c rbgdkkeymap.c rbgtkcellrendererspin.c rbgtkfilesel.c rbgtktoolbar.c rbgdk.c rbgtkcellrenderercombo.c rbgtkaboutdialog.c rbgtkbin.c init.c rbgtkitemfactory.c rbgtkrecentinfo.c rbgdkx11.c rbgtkeventbox.c rbgtkcontainer.c rbgtkstatusicon.c rbgtkaction.c rbgtkrecentfilterinfo.c rbgtktextiter.c rbgtkhseparator.c rbgtktoolitem.c rbgtkaccelgroup.c rbgdkinput.c rbgtkactiongroup.c rbgtkvruler.c rbgtkselectiondata.c rbgtkcheckbutton.c rbgtkpagesetup.c rbgtktreemodelfilter.c rbgtkmenutoolbutton.c rbgdkconst.c rbgdkrectangle.c rbgtkfontselection.c rbgtktextattributes.c rbgtkcellrendererpixbuf.c rbgtkimage.c rbgdkatom.c rbgdkvisual.c rbgtkstock.c rbgdkkeyval.c rbgtktreesortable.c rbgtkcellrendereraccel.c rbgtktreestore.c rbgtkpaned.c rbgtkliststore.c rbgdkcursor.c rbgtkimcontext.c rbgtkrecentchooser.c rbgtktreepath.c rbgtkeditable.c rbgtktexttagtable.c rbgtkvscale.c rbgtkhscrollbar.c rbgtkscale.c rbgtkaccelmap.c rbgtktextview.c rbgdkgc.c rbgdkscreen.c rbgtkoptionmenu.c rbgtkiconfactory.c rbgtkbbox.c rbgtkaccelerator.c rbgtkframe.c rbgtkwidget.c rbgtkmenuitem.c rbgtkviewport.c rbgtkcheckmenuitem.c rbgtkaccelkey.c rbgtknotebook.c rbgtkcalendar.c rbgtkselection.c rbgtkcolorsel.c rbgtksettings.c rbgtkprinter.c rbgtkfilechooserbutton.c rbgtktreemodelsort.c rbgtksizegroup.c rbgtkvolumebutton.c rbgtkruler.c rbgtklinkbutton.c rbgtkaccelgroupentry.c rbgtktargetlist.c rbgdkpangorenderer.c rbgtkdialog.c rbgtkcurve.c rbgtkcolorbutton.c rbgtkentrycompletion.c rbgtkseparatortoolitem.c rbgdkdisplay.c rbgdkproperty.c rbgtktexttag.c rbgtkstyle.c rbgtkaspectframe.c rbgtkaccessible.c rbgtkclipboard.c rbgtkhruler.c rbgtkimagemenuitem.c rbgtkbindingset.c rbgtkrecentchooserwidget.c rbgtktoggleaction.c rbgtkcellrenderertoggle.c rbgtkcellrenderer.c rbgtkmain.c rbgtkiconsize.c rbgtksocket.c rbgtkuimanager.c rbgdkdragcontext.c rbgtklayout.c rbgdkcolormap.c rbgdkthreads.c rbgdkdraw.c
84
+ OBJS = rbgtkscrollbar.o rbgtkradioaction.o rbgtkstatusbar.o rbgtkwindow.o rbgtkrcstyle.o rbgtkhbbox.o rbgtk.o rbgtkinvisible.o rbgtkinits.o rbgtkimmulticontext.o rbgtkassistant.o rbgtkfontbutton.o rbgtkcellrendererprogress.o rbgdkpixmap.o rbgtkcellrenderertext.o rbgtkobject.o rbgtkhbox.o rbgtkrecentfilter.o rbgdkimage.o rbgtkvseparator.o rbgtkrecentdata.o rbgtkscrolledwindow.o rbgtkradiotoolbutton.o rbgtkbutton.o rbgdkpixbuf.o rbgtkvpaned.o rbgtktoolbutton.o rbgtkentry.o rbgdktimecoord.o rbgtkdrag.o rbgtkprintjob.o rbgtkconst.o rbgtktextmark.o rbgtkiconsource.o rbgtkcomboboxentry.o rbgtkfilechooserdialog.o rbgtkseparatormenuitem.o rbgtkplug.o rbgdkwindowattr.o rbgdkcolor.o rbgtktable.o rbgtkrecentmanager.o rbgtkrc.o rbgtkcombobox.o rbgdkrgb.o rbgtkbox.o rbgtkpapersize.o rbgtklabel.o rbgtkprintunixdialog.o rbgtkfilechooserwidget.o rbgtkmenu.o rbgtkprogress.o rbgtktreeiter.o rbgtkseparator.o rbgdkevent.o rbgdkregion.o rbgtkfilefilter.o rbgtkmessagedialog.o rbgtkalignment.o rbgtktreedragdest.o rbgtkpagesetupunixdialog.o rbgtkhandlebox.o rbgtkprintcontext.o rbgtkrecentaction.o rbgtktextbuffer.o rbgtkexpander.o rbgtkadjustment.o rbgtkhscale.o rbgtktextchild.o rbgdkgeometry.o rbgtkcellview.o rbgtktooltips.o rbgdkpango.o rbgtkprintsettings.o rbgtkcolorselectiondialog.o rbgtkaccellabel.o rbgtktoggletoolbutton.o rbgtkicontheme.o rbgtkdrawingarea.o rbgtktreeviewcolumn.o rbgtkmenubar.o rbgtkfixed.o rbgdkwindow.o rbgtkitem.o rbgtkfontselectiondialog.o rbgdkdisplaymanager.o rbgtktreeselection.o rbgtkcelllayout.o rbgdkselection.o rbgtkmenushell.o rbgtkprintoperationpreview.o rbgtkwindowgroup.o rbgtkradiobutton.o rbgtkradiomenuitem.o rbgtkscalebutton.o rbgtkprintoperation.o rbgtkallocation.o rbgtkvbbox.o rbgtkrecentchooserdialog.o rbgtkimcontextsimple.o rbgtkcombo.o rbgtkarrow.o rbgtkborder.o rbgtkfilechooser.o rbgtkiconinfo.o rbgtkcelleditable.o rbgtktreeview.o rbgtktextappearance.o rbgtkhpaned.o rbgtktreerowreference.o rbgtkrecentchoosermenu.o rbgtkgamma.o rbgtkspinbutton.o rbgdkcairo.o rbgtktreemodel.o rbgtktreedragsource.o rbgtkrange.o rbgtkvbox.o rbgtkinputdialog.o rbgtkmisc.o rbgtktooltip.o rbgtkprogressbar.o rbgtkiconview.o rbgdkdevice.o rbgtkvscrollbar.o rbgtktearoffmenuitem.o rbgtktogglebutton.o rbgtkiconset.o rbgdkkeymap.o rbgtkcellrendererspin.o rbgtkfilesel.o rbgtktoolbar.o rbgdk.o rbgtkcellrenderercombo.o rbgtkaboutdialog.o rbgtkbin.o init.o rbgtkitemfactory.o rbgtkrecentinfo.o rbgdkx11.o rbgtkeventbox.o rbgtkcontainer.o rbgtkstatusicon.o rbgtkaction.o rbgtkrecentfilterinfo.o rbgtktextiter.o rbgtkhseparator.o rbgtktoolitem.o rbgtkaccelgroup.o rbgdkinput.o rbgtkactiongroup.o rbgtkvruler.o rbgtkselectiondata.o rbgtkcheckbutton.o rbgtkpagesetup.o rbgtktreemodelfilter.o rbgtkmenutoolbutton.o rbgdkconst.o rbgdkrectangle.o rbgtkfontselection.o rbgtktextattributes.o rbgtkcellrendererpixbuf.o rbgtkimage.o rbgdkatom.o rbgdkvisual.o rbgtkstock.o rbgdkkeyval.o rbgtktreesortable.o rbgtkcellrendereraccel.o rbgtktreestore.o rbgtkpaned.o rbgtkliststore.o rbgdkcursor.o rbgtkimcontext.o rbgtkrecentchooser.o rbgtktreepath.o rbgtkeditable.o rbgtktexttagtable.o rbgtkvscale.o rbgtkhscrollbar.o rbgtkscale.o rbgtkaccelmap.o rbgtktextview.o rbgdkgc.o rbgdkscreen.o rbgtkoptionmenu.o rbgtkiconfactory.o rbgtkbbox.o rbgtkaccelerator.o rbgtkframe.o rbgtkwidget.o rbgtkmenuitem.o rbgtkviewport.o rbgtkcheckmenuitem.o rbgtkaccelkey.o rbgtknotebook.o rbgtkcalendar.o rbgtkselection.o rbgtkcolorsel.o rbgtksettings.o rbgtkprinter.o rbgtkfilechooserbutton.o rbgtktreemodelsort.o rbgtksizegroup.o rbgtkvolumebutton.o rbgtkruler.o rbgtklinkbutton.o rbgtkaccelgroupentry.o rbgtktargetlist.o rbgdkpangorenderer.o rbgtkdialog.o rbgtkcurve.o rbgtkcolorbutton.o rbgtkentrycompletion.o rbgtkseparatortoolitem.o rbgdkdisplay.o rbgdkproperty.o rbgtktexttag.o rbgtkstyle.o rbgtkaspectframe.o rbgtkaccessible.o rbgtkclipboard.o rbgtkhruler.o rbgtkimagemenuitem.o rbgtkbindingset.o rbgtkrecentchooserwidget.o rbgtktoggleaction.o rbgtkcellrenderertoggle.o rbgtkcellrenderer.o rbgtkmain.o rbgtkiconsize.o rbgtksocket.o rbgtkuimanager.o rbgdkdragcontext.o rbgtklayout.o rbgdkcolormap.o rbgdkthreads.o rbgdkdraw.o
85
+ TARGET = gtk2
86
+ DLLIB = $(TARGET).so
87
+ EXTSTATIC =
88
+ STATIC_LIB =
89
+
90
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
91
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
92
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
93
+
94
+ TARGET_SO = $(DLLIB)
95
+ CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map
96
+ CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak
97
+
98
+ all: $(DLLIB)
99
+ static: $(STATIC_LIB)
100
+
101
+ clean:
102
+ @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
103
+
104
+ distclean: clean
105
+ @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
106
+ @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
107
+
108
+ realclean: distclean
109
+ install: install-so install-rb
110
+
111
+ install-so: $(RUBYARCHDIR)
112
+ install-so: $(RUBYARCHDIR)/$(DLLIB)
113
+ $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
114
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
115
+ install-rb: pre-install-rb install-rb-default
116
+ install-rb-default: pre-install-rb-default
117
+ pre-install-rb: Makefile
118
+ pre-install-rb-default: Makefile
119
+ pre-install-rb-default: $(RUBYLIBDIR)
120
+ install-rb-default: $(RUBYLIBDIR)/gtk2.rb
121
+ $(RUBYLIBDIR)/gtk2.rb: /home/kou/work/ruby/ruby-gnome2/gtk/src/lib/gtk2.rb
122
+ $(INSTALL_DATA) /home/kou/work/ruby/ruby-gnome2/gtk/src/lib/gtk2.rb $(@D)
123
+ pre-install-rb-default: $(RUBYLIBDIR)/gtk2
124
+ install-rb-default: $(RUBYLIBDIR)/gtk2/base.rb
125
+ $(RUBYLIBDIR)/gtk2/base.rb: /home/kou/work/ruby/ruby-gnome2/gtk/src/lib/gtk2/base.rb
126
+ $(INSTALL_DATA) /home/kou/work/ruby/ruby-gnome2/gtk/src/lib/gtk2/base.rb $(@D)
127
+ $(RUBYARCHDIR):
128
+ $(MAKEDIRS) $@
129
+ $(RUBYLIBDIR):
130
+ $(MAKEDIRS) $@
131
+ $(RUBYLIBDIR)/gtk2:
132
+ $(MAKEDIRS) $@
133
+
134
+ site-install: site-install-so site-install-rb
135
+ site-install-so: install-so
136
+ site-install-rb: install-rb
137
+
138
+ .SUFFIXES: .c .m .cc .cxx .cpp .C .o
139
+
140
+ .cc.o:
141
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
142
+
143
+ .cxx.o:
144
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
145
+
146
+ .cpp.o:
147
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
148
+
149
+ .C.o:
150
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
151
+
152
+ .c.o:
153
+ $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
154
+
155
+ $(DLLIB): $(OBJS)
156
+ @-$(RM) $@
157
+ $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
158
+
159
+
160
+
161
+ ###
162
+ install:
163
+ @$(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0644, true)' $(srcdir)/rbgtk.h $(sitearchdir)$(target_prefix)
@@ -0,0 +1,10 @@
1
+ install-so:
2
+ $(INSTALL_DATA) $(srcdir)/rbgdk.h $(RUBYARCHDIR)
3
+ $(INSTALL_DATA) $(srcdir)/rbgdkconversions.h $(RUBYARCHDIR)
4
+ $(INSTALL_DATA) $(srcdir)/rbgtk.h $(RUBYARCHDIR)
5
+ $(INSTALL_DATA) $(srcdir)/rbgtkconversions.h $(RUBYARCHDIR)
6
+ $(INSTALL_DATA) $(srcdir)/rbgtkmacros.h $(RUBYARCHDIR)
7
+
8
+ install:
9
+ $(MAKEDIRS) $(libdir)/pkgconfig
10
+ $(INSTALL_DATA) ruby-gtk2.pc $(libdir)/pkgconfig
@@ -0,0 +1,202 @@
1
+ =begin
2
+ extconf.rb for Ruby/GTK extention library
3
+ =end
4
+
5
+ require 'pathname'
6
+
7
+ source_dir = Pathname(__FILE__).dirname
8
+ base_dir = source_dir.parent.parent.expand_path
9
+ top_dir = base_dir.parent.expand_path
10
+ top_build_dir = Pathname(".").parent.parent.parent.expand_path
11
+
12
+ mkmf_gnome2_dir = top_dir + "glib2" + 'lib'
13
+ version_suffix = ""
14
+ unless mkmf_gnome2_dir.exist?
15
+ if /(-\d+\.\d+\.\d+)\z/ =~ base_dir.basename.to_s
16
+ version_suffix = $1
17
+ mkmf_gnome2_dir = top_dir + "glib2#{version_suffix}" + 'lib'
18
+ end
19
+ end
20
+
21
+ $LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
22
+
23
+ module_name = "gtk2"
24
+ package_id = "gtk+-2.0"
25
+
26
+ require 'mkmf-gnome2'
27
+
28
+ setup_win32(module_name, base_dir)
29
+
30
+ PKGConfig.have_package('gthread-2.0')
31
+ PKGConfig.have_package(package_id) or exit 1
32
+
33
+ have_header("st.h")
34
+ have_header("ruby/st.h")
35
+
36
+ STDOUT.print("checking for target... ")
37
+ STDOUT.flush
38
+ target = PKGConfig.variable(package_id, "target")
39
+ $defs << "-DRUBY_GTK2_TARGET=\\\"#{target}\\\""
40
+ STDOUT.print(target, "\n")
41
+
42
+ gdkincl = nil
43
+ tmpincl = $CFLAGS.gsub(/-D\w+/, '').split(/-I/) + ['/usr/include']
44
+ tmpincl.each do |i|
45
+ i.strip!
46
+
47
+ if FileTest.exist?(i + "/gdk/gdkkeysyms.h")
48
+ gdkincl = i + "/gdk"
49
+ break
50
+ end
51
+ end
52
+ raise "can't find gdkkeysyms.h" if gdkincl.nil?
53
+
54
+ gtk_header = "gtk/gtk.h"
55
+ have_func('gtk_plug_get_type', gtk_header)
56
+ have_func('gtk_socket_get_type', gtk_header)
57
+ have_func('pango_render_part_get_type', gtk_header)
58
+ have_header('gtk/gtkfilesystem.h') do |src|
59
+ "#define GTK_FILE_SYSTEM_ENABLE_UNSUPPORTED\n#{src}"
60
+ end
61
+
62
+ xlib_header = "X11/Xlib.h"
63
+ if target == "x11" and have_header('X11/Xlib.h') and have_library("X11")
64
+ have_func("XReadBitmapFileData", xlib_header)
65
+ have_func("XGetErrorText", xlib_header)
66
+ end
67
+
68
+ if target != "win32" and PKGConfig.have_package('gtk+-unix-print-2.0')
69
+ $defs.push("-DHAVE_GTK_UNIX_PRINT")
70
+ end
71
+
72
+ have_func("rb_errinfo")
73
+
74
+ options = {}
75
+ rcairo_source_dir_names = ["rcairo"]
76
+ if /mingw|cygwin|mswin32/ =~ RUBY_PLATFORM
77
+ rcairo_source_dir_names.unshift("rcairo.win32")
78
+ end
79
+ rcairo_source_dir_names.each do |rcairo_source_dir_name|
80
+ rcairo_source_dir = top_dir.parent.expand_path + rcairo_source_dir_name
81
+ if rcairo_source_dir.exist?
82
+ options[:rcairo_source_dir] = rcairo_source_dir.to_s
83
+ break
84
+ end
85
+ end
86
+ check_cairo(options)
87
+
88
+ ["glib2", "pango"].each do |package|
89
+ directory = "#{package}#{version_suffix}"
90
+ build_dir = "#{directory}/tmp/#{RUBY_PLATFORM}/#{package}/#{RUBY_VERSION}"
91
+ add_depend_package(package, "#{directory}/ext/#{package}",
92
+ top_dir.to_s,
93
+ :top_build_dir => top_build_dir.to_s,
94
+ :target_build_dir => build_dir)
95
+ end
96
+
97
+ create_pkg_config_file("Ruby/GTK2", package_id, ruby_gnome2_version)
98
+
99
+ class InitCreator
100
+ def initialize(output)
101
+ @output = output
102
+ @targets = []
103
+ end
104
+
105
+ def <<(target)
106
+ @targets << target
107
+ end
108
+
109
+ def run
110
+ inits = Hash.new
111
+
112
+ except_targets = ["Init_gtk2()", "Init_gtk_gdk()", "Init_gtk_gtk()"]
113
+ @targets.each do |target|
114
+ target.each_line do |line|
115
+ if /^(Init_.*\(\))(.*)/ =~ line
116
+ init = $1
117
+ unless except_targets.include?(init)
118
+ flag = $2
119
+ if flag.size > 0
120
+ if flag =~ /\/\*\s*(\w*)\s*\*\//
121
+ inits[$1] = Array.new unless inits[$1]
122
+ inits[$1] << init
123
+ end
124
+ else
125
+ inits[""] = Array.new unless inits[""]
126
+ inits[""] << init
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
132
+
133
+ print_data(inits, "", nil, true)
134
+ print_data(inits, "GTK_DISABLE_DEPRECATED", "ifndef", true)
135
+ print_data(inits, "GTK_ENABLE_BROKEN", "ifdef", true)
136
+
137
+ print "void Init_gtk_inits()\n"
138
+ print "{\n"
139
+ print_data(inits, "", nil)
140
+ print_data(inits, "GTK_DISABLE_DEPRECATED", "ifndef")
141
+ print_data(inits, "GTK_ENABLE_BROKEN", "ifdef")
142
+ print "}\n"
143
+ end
144
+
145
+ def print_data(array, type, defs, extern = false)
146
+ if array[type]
147
+ dependencies = {
148
+ "Init_gtk_gdk_gc()" => ["Init_gtk_gdk_draw()"],
149
+ }
150
+ extern_def = "extern void" if extern
151
+ print "##{defs} #{type}\n" if defs
152
+ sorted_array = array[type].dup
153
+ dependencies.each do |key, values|
154
+ key_index = sorted_array.index(key)
155
+ values.each do |value|
156
+ value_index = sorted_array.index(value)
157
+ next if value_index.nil?
158
+ sorted_array.delete(value)
159
+ sorted_array[key_index - 1, 0] = value
160
+ key_index = sorted_array.index(key)
161
+ end
162
+ end
163
+ sorted_array.each do |val|
164
+ print "#{extern_def} #{val};\n"
165
+ end
166
+ print "#endif\n" if defs
167
+ end
168
+ end
169
+
170
+ def print(*args)
171
+ @output.print(*args)
172
+ end
173
+ end
174
+
175
+ rbgtkinits_c_path = Pathname("rbgtkinits.c")
176
+ rbgtkinits_c_path.open("w") do |rbgtkinits_c|
177
+ init_creator = InitCreator.new(rbgtkinits_c)
178
+ source_dir.each_entry do |entry|
179
+ next unless entry.extname == ".c"
180
+ init_creator << (source_dir + entry)
181
+ end
182
+ init_creator.run
183
+ end
184
+
185
+ rbgdkkeysyms_h_path = Pathname("rbgdkkeysyms.h")
186
+ rbgdkkeysyms_h_path.open("w") do |rbgdkkeysyms_h|
187
+ gdkkeysyms_h_path = Pathname(gdkincl) + "gdkkeysyms.h"
188
+ gdkkeysyms_h_path.each_line do |line|
189
+ if /^#define\s+(GDK_\w+)\s+\d+/ =~ line
190
+ define_line = "rb_define_const(mGdkKeyval, \"#{$1}\", INT2FIX(#{$1}));"
191
+ rbgdkkeysyms_h.puts(define_line)
192
+ end
193
+ end
194
+ end
195
+
196
+ add_distcleanfile("rbgdkkeysyms.h")
197
+ add_distcleanfile("rbgtkinits.c")
198
+
199
+ ensure_objs
200
+
201
+ $defs << "-DRUBY_GTK2_COMPILATION"
202
+ create_makefile(module_name)