gtk2 0.20.1 → 0.90.2

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 (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
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ recentchooserdialog.rb - Ruby/GTK2 sample script.
4
+
5
+ Copyright (c) 2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: recentchooserdialog.rb,v 1.2 2006/11/15 23:46:13 mutoh Exp $
9
+ =end
10
+
11
+ require 'gtk2'
12
+
13
+ if str = Gtk.check_version(2, 10, 0)
14
+ puts "This sample requires GTK+ 2.10.0 or later"
15
+ puts str
16
+ exit
17
+ end
18
+
19
+ dialog = Gtk::RecentChooserDialog.new("Recent Chooser Dialog Sample",
20
+ nil,
21
+ [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
22
+ [Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT])
23
+
24
+ dialog.signal_connect("response") do |widget, response|
25
+ case response
26
+ when Gtk::Dialog::RESPONSE_ACCEPT
27
+ info = dialog.current_item
28
+ if info
29
+ puts "----"
30
+ puts info.uri
31
+ puts info.display_name
32
+ puts info.description
33
+ puts info.mime_type
34
+ puts info.added
35
+ puts info.modified
36
+ puts info.visited
37
+ puts info.private_hint?
38
+ p info.application_info("gedit")
39
+ p info.applications
40
+ puts info.last_application
41
+ p info.groups
42
+ puts info.has_group?("web")
43
+ puts info.has_application?("gedit")
44
+ puts info.get_icon(64)
45
+ puts info.short_name
46
+ puts info.uri_display
47
+ puts info.age
48
+ puts info.local?
49
+ puts info.exist?
50
+ end
51
+ else
52
+ p "Close"
53
+ dialog.destroy
54
+ Gtk.main_quit
55
+ end
56
+ end
57
+ dialog.show_all
58
+
59
+ Gtk.main
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ rgtk+cairo.rb - Ruby/GTK2 using Ruby/Cairo sample script.
4
+
5
+ Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ Heavily inspired from png.rb example of rcairo.
9
+
10
+ $Id: rgtk+cairo.rb,v 1.3 2006/06/17 13:18:12 mutoh Exp $
11
+ =end
12
+
13
+ require 'gtk2'
14
+ require 'cairo'
15
+
16
+ w = Gtk::Window.new.add(vb = Gtk::VBox.new)
17
+ vb.add(da = Gtk::DrawingArea.new)
18
+ da.set_size_request(200, 200)
19
+
20
+ da.signal_connect('expose-event') { |widget, event|
21
+ cr = widget.window.create_cairo_context
22
+
23
+ # fill background with white
24
+ cr.set_source_rgba(1.0, 1.0, 1.0)
25
+ cr.paint
26
+
27
+ # create shape
28
+ cr.move_to(50, 50)
29
+ cr.curve_to(100, 25, 100, 75, 150, 50)
30
+ cr.line_to(150, 150)
31
+ cr.line_to(50, 150)
32
+ cr.close_path
33
+
34
+ cr.set_source_rgb(0.0, 0.0, 0.0)
35
+ cr.fill_preserve
36
+ cr.set_source_rgb(1.0, 0.0, 0.0)
37
+ cr.set_line_join(Cairo::LINE_JOIN_MITER)
38
+ cr.set_line_width(4)
39
+ cr.stroke
40
+ }
41
+
42
+ w.signal_connect("destroy"){Gtk.main_quit}
43
+ w.show_all
44
+ Gtk.main
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ scalebutton.rb - Very simple Gtk::ScaleButton example.
4
+
5
+ Copyright (c) 2007 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: scalebutton.rb,v 1.1 2007/07/12 14:04:54 ggc Exp $
9
+ =end
10
+
11
+ require 'gtk2'
12
+
13
+ if str = Gtk.check_version(2, 12, 0)
14
+ puts "This sample requires GTK+ 2.12.0 or later"
15
+ puts str
16
+ exit
17
+ end
18
+
19
+ window = Gtk::Window.new
20
+ window.add(scale = Gtk::ScaleButton.new(Gtk::IconSize::BUTTON))
21
+ scale.set_icons(['gtk-goto-bottom', 'gtk-goto-top', 'gtk-execute'])
22
+ scale.signal_connect('value-changed') { |widget, value| puts "value changed: #{value}" }
23
+ window.show_all
24
+
25
+ Gtk.main
@@ -0,0 +1,41 @@
1
+ =begin
2
+ setting.rb - Gtk::Settings sample script.
3
+
4
+ Copyright (C) 2004-2006 Masao Mutoh
5
+ This program is licenced under the same licence as Ruby-GNOME2.
6
+
7
+ $Id: settings.rb,v 1.3 2006/06/17 13:18:12 mutoh Exp $
8
+ =end
9
+
10
+ require 'gtk2'
11
+
12
+ spec = GLib::Param::Int.new("integer", # name
13
+ "Integer", # nick
14
+ "Integer integer", # blurb
15
+ 0, # min
16
+ 10000, # max
17
+ 0, # default
18
+ GLib::Param::READABLE|
19
+ GLib::Param::WRITABLE)
20
+
21
+ enum = GLib::Param::Enum.new("enum", # name
22
+ "Enum", # nick
23
+ "Enum enum", # blurb
24
+ GLib::Type["GdkCursorType"], #type
25
+ Gdk::Cursor::ARROW, #default
26
+ GLib::Param::READABLE|
27
+ GLib::Param::WRITABLE)
28
+
29
+ flags = GLib::Param::Flags.new("flags", # name
30
+ "Flags", # nick
31
+ "Flags flags", # blurb
32
+ GLib::Type["GdkEventMask"], #type
33
+ Gdk::Event::LEAVE_NOTIFY_MASK, #default
34
+ GLib::Param::READABLE|
35
+ GLib::Param::WRITABLE)
36
+
37
+ p Gtk::Settings.rc_property_parse_color(spec, "{2222,44444,65535}").to_a
38
+ p Gtk::Settings.rc_property_parse_enum(enum, "watch")
39
+ p Gtk::Settings.rc_property_parse_flags(flags, "(scroll-mask|structure-mask)")
40
+ p Gtk::Settings.rc_property_parse_requisition(spec, "{100, 200}")
41
+ p Gtk::Settings.rc_property_parse_border(spec, "{100, 200, 300, 400}").to_a
@@ -0,0 +1,123 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ status_icon.rb - Gtk::StatusIcon sample.
4
+
5
+ This sample refers gtk/tests/teststatusicon.c of GTK+-2.10.x.
6
+
7
+ Copyright (c) 2006 Ruby-GNOME2 Project Team
8
+ This program is licenced under the same licence as Ruby-GNOME2.
9
+
10
+ $Id: statusicon.rb,v 1.1 2006/11/17 18:12:41 mutoh Exp $
11
+ =end
12
+
13
+ require 'gtk2'
14
+
15
+ if str = Gtk.check_version(2, 10, 0)
16
+ puts "This sample requires GTK+ 2.10.0 or later"
17
+ puts str
18
+ exit
19
+ end
20
+
21
+ class StatusIconSample < Gtk::StatusIcon
22
+ STATUS_INFO = 0
23
+ STATUS_QUESTION = 1
24
+
25
+ def initialize
26
+ super
27
+ @status = STATUS_INFO
28
+ update_icon
29
+
30
+ set_blinking(true)
31
+ signal_connect("activate"){
32
+ icon_activated
33
+ }
34
+ signal_connect("popup-menu"){|w, button, activate_time|
35
+ menu = Gtk::Menu.new
36
+ checkmenuitem = Gtk::CheckMenuItem.new("Blink")
37
+ checkmenuitem.active = blinking?
38
+ checkmenuitem.signal_connect("activate"){|w|
39
+ set_blinking(w.active?)
40
+ }
41
+ menu.append(checkmenuitem)
42
+
43
+ menuitem = Gtk::MenuItem.new("Quit")
44
+ menuitem.signal_connect("activate"){
45
+ set_visible(false)
46
+ Gtk.main_quit
47
+ }
48
+ menu.append(menuitem)
49
+ menu.show_all
50
+ menu.popup(nil, nil, button, activate_time)
51
+ }
52
+
53
+ timeout_func
54
+ end
55
+
56
+ def update_icon
57
+ if @status == STATUS_INFO
58
+ set_icon_name(Gtk::Stock::DIALOG_INFO)
59
+ set_tooltip("Some Information ...")
60
+ else
61
+ set_icon_name(Gtk::Stock::DIALOG_QUESTION)
62
+ set_tooltip("Some Question ...")
63
+ end
64
+ end
65
+
66
+ def timeout_func
67
+ GLib::Timeout.add(2000) {
68
+ if @status == STATUS_INFO
69
+ @status = STATUS_QUESTION
70
+ else
71
+ @status = STATUS_INFO
72
+ end
73
+ update_icon
74
+ true
75
+ }
76
+ end
77
+
78
+ def icon_activated
79
+ unless @dialog
80
+ @dialog = Gtk::MessageDialog.new(nil, 0,
81
+ Gtk::MessageDialog::QUESTION,
82
+ Gtk::MessageDialog::BUTTONS_CLOSE,
83
+ "You wanna test the status icon?")
84
+ @dialog.window_position = Gtk::Window::POS_CENTER
85
+
86
+ @dialog.signal_connect("response"){ @dialog.hide }
87
+ @dialog.signal_connect("delete_event"){ @dialog.hide_on_delete }
88
+
89
+ toggle = Gtk::ToggleButton.new("_Show the icon")
90
+ @dialog.vbox.pack_end(toggle, true, true, 6)
91
+ toggle.active = visible?
92
+ toggle.signal_connect("toggled"){|w|
93
+ set_visible(w.active?)
94
+ }
95
+
96
+ toggle = Gtk::ToggleButton.new("_Blink the icon")
97
+ @dialog.vbox.pack_end(toggle, true, true, 6)
98
+ toggle.active = blinking?
99
+ toggle.signal_connect("toggled"){|w|
100
+ set_blinking(w.active?)
101
+ }
102
+
103
+ toggle = Gtk::ToggleButton.new("_Change the icon")
104
+ @dialog.vbox.pack_end(toggle, true, true, 6)
105
+ toggle.active = (@timeout != 0)
106
+ toggle.signal_connect("toggled"){
107
+ if @timeout and @timeout > 0
108
+ GLib::Source.remove(@timeout)
109
+ @timeout = 0
110
+ else
111
+ @timeout = timeout_func
112
+ end
113
+ }
114
+ end
115
+ @dialog.show_all
116
+ @dialog.present
117
+ end
118
+
119
+ end
120
+
121
+ StatusIconSample.new
122
+
123
+ Gtk.main
@@ -0,0 +1,36 @@
1
+ =begin
2
+ stock.rb - Gtk::Stock sample script.
3
+
4
+ Copyright (C) 2001-2006 Masao Mutoh
5
+ This program is licenced under the same licence as Ruby-GNOME2.
6
+
7
+ $Id: stock.rb,v 1.7 2006/06/17 13:18:12 mutoh Exp $
8
+ =end
9
+
10
+ require 'gtk2'
11
+
12
+ window = Gtk::Window.new("Gtk::Stock sample")
13
+ window.signal_connect("destroy"){Gtk.main_quit}
14
+
15
+ stocks = Gtk::Stock.constants.sort
16
+
17
+ image = Gtk::Image.new
18
+ label = Gtk::Label.new
19
+ button = Gtk::Button.new("Click!")
20
+ cnt = 0
21
+ button.signal_connect("clicked") do
22
+ stock_name = "Gtk::Stock::#{stocks[cnt]}"
23
+ label.set_text(stock_name)
24
+ image.set(eval(stock_name), Gtk::IconSize::DIALOG)
25
+ if cnt < stocks.size - 1
26
+ cnt += 1
27
+ else
28
+ cnt = 0
29
+ end
30
+ end
31
+
32
+ box = Gtk::VBox.new.add(image).add(label).add(button)
33
+ window.add(box).set_default_size(200,200).show_all
34
+
35
+ Gtk.main
36
+
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ style_property.rb - Ruby/GTK2 sample script.
4
+
5
+ Copyright (c) 2004,2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: style_property.rb,v 1.4 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require 'gtk2'
12
+
13
+ class MyButton < Gtk::Button
14
+ type_register
15
+
16
+ def initialize(label = nil)
17
+ # When type_register() is used.
18
+ # super is equivalent to GLib::Object#initialize.
19
+ super("label" => label)
20
+ end
21
+
22
+ install_style_property(GLib::Param::Int.new("foo", # name
23
+ "Foo", # nick
24
+ "FOO", # blurb
25
+ 0, #min
26
+ 100, #max
27
+ 5, #default
28
+ GLib::Param::READABLE |
29
+ GLib::Param::WRITABLE)) do |pspec, str|
30
+ p pspec, str
31
+ str.to_i + 10 #return the converted value.
32
+ end
33
+
34
+ install_style_property(GLib::Param::Enum.new("bar", # name
35
+ "Bar", # nick
36
+ "BAR", # blurb
37
+ GLib::Type["GdkCursorType"], #Enum type
38
+ Gdk::Cursor::ARROW, #default
39
+ GLib::Param::READABLE |
40
+ GLib::Param::WRITABLE)) do |pspec, str|
41
+ p pspec, str
42
+ if str.strip! == "boat"
43
+ Gdk::Cursor::BOAT
44
+ else
45
+ pspec.default
46
+ end
47
+ end
48
+ end
49
+
50
+ Gtk::RC.parse("./style_property.rc")
51
+
52
+ win = Gtk::Window.new("Gtk::RC sample")
53
+ b = MyButton.new("Hello")
54
+ b.signal_connect("clicked"){ Gtk.main_quit }
55
+
56
+ p MyButton.style_properties
57
+
58
+ win.set_default_size(100, 100)
59
+ win.add(b).show_all
60
+ win.signal_connect("destroy"){ Gtk.main_quit }
61
+
62
+ # You need to call them after "Gtk::Widget#show"
63
+ # (Or in expose event).
64
+ p b.style_get_property("foo")
65
+ p cursor = b.style_get_property("bar")
66
+
67
+ Gtk.main
@@ -0,0 +1,19 @@
1
+ /*
2
+ style_property.rc - Ruby/GTK sample rc file for style_property.rb.
3
+
4
+ Copyright (c) 2004 Ruby-GNOME2 Project Team
5
+ This program is licenced under the same licence as Ruby-GNOME2.
6
+
7
+ $Id: style_property.rc,v 1.1 2004/01/25 15:52:38 mutoh Exp $
8
+ */
9
+ style "test-default"
10
+ {
11
+ bg[NORMAL] = { 0.80, 0.80, 0.40 }
12
+ MyButton::focus-line-width = 3
13
+ MyButton::focus-line-pattern = "\10\2"
14
+ MyButton::foo = 30
15
+ MyButton::bar = boat
16
+ }
17
+
18
+ class "MyButton" style "test-default"
19
+
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+ Sample script using Gtk::Socket and Gtk::Plug.
5
+
6
+ $ ruby t-gtksocket.rb
7
+
8
+ Written by Alex Boussinet <mailto:dbug@wanadoo.fr> for testing purpose only.
9
+
10
+ Copyright (c) 2003-2006 Ruby-GNOME2 Project Team
11
+ This program is licenced under the same licence as Ruby-GNOME2.
12
+
13
+ $Id: t-gtkplug.rb,v 1.5 2006/06/17 13:18:12 mutoh Exp $
14
+ =end
15
+
16
+ require 'gtk2'
17
+
18
+ class MyGtkPlug
19
+ def initialize(xid, plug)
20
+ plug = "Button" if plug.nil?
21
+ if xid.nil?
22
+ @window = Gtk::Window.new("Gtk::Plug Test")
23
+ @window.set_default_size(250, 50)
24
+ else
25
+ @window = Gtk::Plug.new(xid.to_i)
26
+ end
27
+ @window.window_position = Gtk::Window::POS_CENTER
28
+ @window.signal_connect("delete_event"){Gtk.main_quit}
29
+ @vbox = Gtk::VBox.new(true, 5)
30
+ @window.add(@vbox)
31
+ @button1 = Gtk::Button.new(plug)
32
+ @button1.signal_connect("clicked"){ $stderr.puts plug}
33
+ @button2 = Gtk::Button.new("Exit")
34
+ @button2.signal_connect("clicked"){Gtk.main_quit}
35
+ # Exit button to test an unexpected end of child process by Gtk::Socket
36
+ @vbox.add(@button1)
37
+ @vbox.add(@button2)
38
+ @window.show_all
39
+ end
40
+ end
41
+
42
+ xid = nil
43
+ ARGV.each_index { |i|
44
+ arg = ARGV.at(i)
45
+ if arg == "-x"
46
+ if arg.length > 2
47
+ xid = arg[2..-1]
48
+ else
49
+ xid = ARGV.at(i + 1)
50
+ ARGV.delete_at(i + 1)
51
+ end
52
+ xid = nil if xid.to_i <= 0
53
+ ARGV.delete_at(i)
54
+ end
55
+ }
56
+
57
+ MyGtkPlug.new(xid, ARGV.shift)
58
+ Gtk.main