gtk3 0.0.1 → 1.2.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 (425) hide show
  1. data/Rakefile +32 -0
  2. data/ext/gtk3/conversions.c +34 -0
  3. data/ext/gtk3/depend +11 -0
  4. data/ext/gtk3/extconf.rb +108 -0
  5. data/ext/gtk3/gtk3.def +10 -0
  6. data/ext/gtk3/init.c +38 -0
  7. data/ext/gtk3/rbgdkdisplay.c +39 -0
  8. data/ext/gtk3/rbgdkdragcontext.c +108 -0
  9. data/ext/gtk3/rbgdkevent.c +38 -0
  10. data/ext/gtk3/rbgdkscreen.c +61 -0
  11. data/ext/gtk3/rbgtk.c +625 -0
  12. data/ext/gtk3/rbgtk3.h +57 -0
  13. data/ext/gtk3/rbgtk3conversions.h +347 -0
  14. data/ext/gtk3/rbgtk3private.h +282 -0
  15. data/ext/gtk3/rbgtk3util.c +67 -0
  16. data/ext/gtk3/rbgtk3util.h +32 -0
  17. data/ext/gtk3/rbgtkaboutdialog.c +117 -0
  18. data/ext/gtk3/rbgtkaccelerator.c +78 -0
  19. data/ext/gtk3/rbgtkaccelgroup.c +199 -0
  20. data/ext/gtk3/rbgtkaccelgroupentry.c +93 -0
  21. data/ext/gtk3/rbgtkaccelkey.c +119 -0
  22. data/ext/gtk3/rbgtkaccellabel.c +55 -0
  23. data/ext/gtk3/rbgtkaccelmap.c +135 -0
  24. data/ext/gtk3/rbgtkaccessible.c +56 -0
  25. data/ext/gtk3/rbgtkaction.c +205 -0
  26. data/ext/gtk3/rbgtkactiongroup.c +466 -0
  27. data/ext/gtk3/rbgtkactivatable.c +30 -0
  28. data/ext/gtk3/rbgtkadjustment.c +98 -0
  29. data/ext/gtk3/rbgtkalignment.c +75 -0
  30. data/ext/gtk3/rbgtkallocation.c +166 -0
  31. data/ext/gtk3/rbgtkappchooser.c +47 -0
  32. data/ext/gtk3/rbgtkappchooserbutton.c +70 -0
  33. data/ext/gtk3/rbgtkappchooserdialog.c +68 -0
  34. data/ext/gtk3/rbgtkappchooserwidget.c +40 -0
  35. data/ext/gtk3/rbgtkapplication.c +69 -0
  36. data/ext/gtk3/rbgtkarrow.c +56 -0
  37. data/ext/gtk3/rbgtkaspectframe.c +56 -0
  38. data/ext/gtk3/rbgtkassistant.c +218 -0
  39. data/ext/gtk3/rbgtkbin.c +42 -0
  40. data/ext/gtk3/rbgtkbindingset.c +164 -0
  41. data/ext/gtk3/rbgtkborder.c +119 -0
  42. data/ext/gtk3/rbgtkbox.c +146 -0
  43. data/ext/gtk3/rbgtkbuildable.c +96 -0
  44. data/ext/gtk3/rbgtkbuilder.c +166 -0
  45. data/ext/gtk3/rbgtkbutton.c +93 -0
  46. data/ext/gtk3/rbgtkbuttonbox.c +87 -0
  47. data/ext/gtk3/rbgtkcalendar.c +118 -0
  48. data/ext/gtk3/rbgtkcelleditable.c +57 -0
  49. data/ext/gtk3/rbgtkcelllayout.c +144 -0
  50. data/ext/gtk3/rbgtkcellrenderer.c +116 -0
  51. data/ext/gtk3/rbgtkcellrendereraccel.c +41 -0
  52. data/ext/gtk3/rbgtkcellrenderercombo.c +38 -0
  53. data/ext/gtk3/rbgtkcellrendererpixbuf.c +41 -0
  54. data/ext/gtk3/rbgtkcellrendererprogress.c +38 -0
  55. data/ext/gtk3/rbgtkcellrendererspin.c +39 -0
  56. data/ext/gtk3/rbgtkcellrendererspinner.c +38 -0
  57. data/ext/gtk3/rbgtkcellrenderertext.c +48 -0
  58. data/ext/gtk3/rbgtkcellrenderertoggle.c +39 -0
  59. data/ext/gtk3/rbgtkcellview.c +109 -0
  60. data/ext/gtk3/rbgtkcheckbutton.c +64 -0
  61. data/ext/gtk3/rbgtkcheckmenuitem.c +64 -0
  62. data/ext/gtk3/rbgtkclipboard.c +389 -0
  63. data/ext/gtk3/rbgtkcolorbutton.c +49 -0
  64. data/ext/gtk3/rbgtkcolorselection.c +219 -0
  65. data/ext/gtk3/rbgtkcolorselectiondialog.c +56 -0
  66. data/ext/gtk3/rbgtkcombobox.c +147 -0
  67. data/ext/gtk3/rbgtkcomboboxtext.c +138 -0
  68. data/ext/gtk3/rbgtkconst.c +79 -0
  69. data/ext/gtk3/rbgtkcontainer.c +784 -0
  70. data/ext/gtk3/rbgtkcssprovider.c +110 -0
  71. data/ext/gtk3/rbgtkdialog.c +186 -0
  72. data/ext/gtk3/rbgtkdrag.c +93 -0
  73. data/ext/gtk3/rbgtkdrawingarea.c +42 -0
  74. data/ext/gtk3/rbgtkeditable.c +149 -0
  75. data/ext/gtk3/rbgtkentry.c +198 -0
  76. data/ext/gtk3/rbgtkentrybuffer.c +87 -0
  77. data/ext/gtk3/rbgtkentrycompletion.c +122 -0
  78. data/ext/gtk3/rbgtkeventbox.c +42 -0
  79. data/ext/gtk3/rbgtkexpander.c +49 -0
  80. data/ext/gtk3/rbgtkfilechooser.c +384 -0
  81. data/ext/gtk3/rbgtkfilechooserbutton.c +50 -0
  82. data/ext/gtk3/rbgtkfilechooserdialog.c +62 -0
  83. data/ext/gtk3/rbgtkfilechooserwidget.c +40 -0
  84. data/ext/gtk3/rbgtkfilefilter.c +128 -0
  85. data/ext/gtk3/rbgtkfilesystemerror.c +48 -0
  86. data/ext/gtk3/rbgtkfixed.c +61 -0
  87. data/ext/gtk3/rbgtkfontbutton.c +49 -0
  88. data/ext/gtk3/rbgtkfontchooser.c +78 -0
  89. data/ext/gtk3/rbgtkfontchooserdialog.c +56 -0
  90. data/ext/gtk3/rbgtkfontchooserwidget.c +45 -0
  91. data/ext/gtk3/rbgtkframe.c +69 -0
  92. data/ext/gtk3/rbgtkgrid.c +105 -0
  93. data/ext/gtk3/rbgtkhandlebox.c +45 -0
  94. data/ext/gtk3/rbgtkhsv.c +102 -0
  95. data/ext/gtk3/rbgtkiconfactory.c +85 -0
  96. data/ext/gtk3/rbgtkiconinfo.c +115 -0
  97. data/ext/gtk3/rbgtkiconset.c +84 -0
  98. data/ext/gtk3/rbgtkiconsize.c +91 -0
  99. data/ext/gtk3/rbgtkiconsource.c +184 -0
  100. data/ext/gtk3/rbgtkicontheme.c +268 -0
  101. data/ext/gtk3/rbgtkiconview.c +270 -0
  102. data/ext/gtk3/rbgtkimage.c +96 -0
  103. data/ext/gtk3/rbgtkimagemenuitem.c +67 -0
  104. data/ext/gtk3/rbgtkimcontext.c +133 -0
  105. data/ext/gtk3/rbgtkimcontextsimple.c +69 -0
  106. data/ext/gtk3/rbgtkimmulticontext.c +48 -0
  107. data/ext/gtk3/rbgtkinfobar.c +121 -0
  108. data/ext/gtk3/rbgtkinvisible.c +49 -0
  109. data/ext/gtk3/rbgtklabel.c +139 -0
  110. data/ext/gtk3/rbgtklayout.c +93 -0
  111. data/ext/gtk3/rbgtklinkbutton.c +55 -0
  112. data/ext/gtk3/rbgtkliststore.c +408 -0
  113. data/ext/gtk3/rbgtklockbutton.c +50 -0
  114. data/ext/gtk3/rbgtkmenu.c +168 -0
  115. data/ext/gtk3/rbgtkmenubar.c +43 -0
  116. data/ext/gtk3/rbgtkmenuitem.c +95 -0
  117. data/ext/gtk3/rbgtkmenushell.c +106 -0
  118. data/ext/gtk3/rbgtkmenutoolbutton.c +81 -0
  119. data/ext/gtk3/rbgtkmessagedialog.c +74 -0
  120. data/ext/gtk3/rbgtkmisc.c +70 -0
  121. data/ext/gtk3/rbgtknotebook.c +383 -0
  122. data/ext/gtk3/rbgtknumerableicon.c +50 -0
  123. data/ext/gtk3/rbgtkorientable.c +27 -0
  124. data/ext/gtk3/rbgtkoverlay.c +53 -0
  125. data/ext/gtk3/rbgtkpagesetup.c +195 -0
  126. data/ext/gtk3/rbgtkpagesetupunixdialog.c +94 -0
  127. data/ext/gtk3/rbgtkpaned.c +114 -0
  128. data/ext/gtk3/rbgtkpapersize.c +179 -0
  129. data/ext/gtk3/rbgtkplug.c +85 -0
  130. data/ext/gtk3/rbgtkprintcontext.c +125 -0
  131. data/ext/gtk3/rbgtkprinter.c +155 -0
  132. data/ext/gtk3/rbgtkprintjob.c +148 -0
  133. data/ext/gtk3/rbgtkprintoperation.c +149 -0
  134. data/ext/gtk3/rbgtkprintoperationpreview.c +59 -0
  135. data/ext/gtk3/rbgtkprintsettings.c +807 -0
  136. data/ext/gtk3/rbgtkprintunixdialog.c +90 -0
  137. data/ext/gtk3/rbgtkprogressbar.c +72 -0
  138. data/ext/gtk3/rbgtkradioaction.c +122 -0
  139. data/ext/gtk3/rbgtkradiobutton.c +89 -0
  140. data/ext/gtk3/rbgtkradiomenuitem.c +147 -0
  141. data/ext/gtk3/rbgtkradiotoolbutton.c +131 -0
  142. data/ext/gtk3/rbgtkrange.c +68 -0
  143. data/ext/gtk3/rbgtkrecentaction.c +64 -0
  144. data/ext/gtk3/rbgtkrecentchooser.c +198 -0
  145. data/ext/gtk3/rbgtkrecentchooserdialog.c +66 -0
  146. data/ext/gtk3/rbgtkrecentchoosermenu.c +50 -0
  147. data/ext/gtk3/rbgtkrecentchooserwidget.c +48 -0
  148. data/ext/gtk3/rbgtkrecentdata.c +187 -0
  149. data/ext/gtk3/rbgtkrecentfilter.c +169 -0
  150. data/ext/gtk3/rbgtkrecentfilterinfo.c +200 -0
  151. data/ext/gtk3/rbgtkrecentinfo.c +213 -0
  152. data/ext/gtk3/rbgtkrecentmanager.c +134 -0
  153. data/ext/gtk3/rbgtkscale.c +97 -0
  154. data/ext/gtk3/rbgtkscalebutton.c +84 -0
  155. data/ext/gtk3/rbgtkscrollable.c +31 -0
  156. data/ext/gtk3/rbgtkscrollbar.c +52 -0
  157. data/ext/gtk3/rbgtkscrolledwindow.c +122 -0
  158. data/ext/gtk3/rbgtkselection.c +168 -0
  159. data/ext/gtk3/rbgtkselectiondata.c +282 -0
  160. data/ext/gtk3/rbgtkseparator.c +44 -0
  161. data/ext/gtk3/rbgtkseparatormenuitem.c +39 -0
  162. data/ext/gtk3/rbgtkseparatortoolitem.c +38 -0
  163. data/ext/gtk3/rbgtksettings.c +229 -0
  164. data/ext/gtk3/rbgtksizegroup.c +66 -0
  165. data/ext/gtk3/rbgtksocket.c +82 -0
  166. data/ext/gtk3/rbgtkspinbutton.c +132 -0
  167. data/ext/gtk3/rbgtkspinner.c +55 -0
  168. data/ext/gtk3/rbgtkstatusbar.c +77 -0
  169. data/ext/gtk3/rbgtkstatusicon.c +122 -0
  170. data/ext/gtk3/rbgtkstock.c +213 -0
  171. data/ext/gtk3/rbgtkstylecontext.c +411 -0
  172. data/ext/gtk3/rbgtkstyleproperties.c +119 -0
  173. data/ext/gtk3/rbgtkstyleprovider.c +68 -0
  174. data/ext/gtk3/rbgtkswitch.c +40 -0
  175. data/ext/gtk3/rbgtktable.c +190 -0
  176. data/ext/gtk3/rbgtktargetlist.c +125 -0
  177. data/ext/gtk3/rbgtktearoffmenuitem.c +41 -0
  178. data/ext/gtk3/rbgtktextappearance.c +236 -0
  179. data/ext/gtk3/rbgtktextattributes.c +326 -0
  180. data/ext/gtk3/rbgtktextbuffer.c +899 -0
  181. data/ext/gtk3/rbgtktextchildanchor.c +56 -0
  182. data/ext/gtk3/rbgtktextiter.c +732 -0
  183. data/ext/gtk3/rbgtktextmark.c +71 -0
  184. data/ext/gtk3/rbgtktexttag.c +68 -0
  185. data/ext/gtk3/rbgtktexttagtable.c +96 -0
  186. data/ext/gtk3/rbgtktextview.c +336 -0
  187. data/ext/gtk3/rbgtkthemingengine.c +257 -0
  188. data/ext/gtk3/rbgtktoggleaction.c +61 -0
  189. data/ext/gtk3/rbgtktogglebutton.c +87 -0
  190. data/ext/gtk3/rbgtktoggletoolbutton.c +61 -0
  191. data/ext/gtk3/rbgtktoolbar.c +118 -0
  192. data/ext/gtk3/rbgtktoolbutton.c +66 -0
  193. data/ext/gtk3/rbgtktoolitem.c +200 -0
  194. data/ext/gtk3/rbgtktoolitemgroup.c +70 -0
  195. data/ext/gtk3/rbgtktoolshell.c +96 -0
  196. data/ext/gtk3/rbgtktooltip.c +100 -0
  197. data/ext/gtk3/rbgtktreedragdest.c +28 -0
  198. data/ext/gtk3/rbgtktreedragsource.c +28 -0
  199. data/ext/gtk3/rbgtktreeiter.c +258 -0
  200. data/ext/gtk3/rbgtktreemodel.c +236 -0
  201. data/ext/gtk3/rbgtktreemodelfilter.c +197 -0
  202. data/ext/gtk3/rbgtktreemodelsort.c +111 -0
  203. data/ext/gtk3/rbgtktreepath.c +191 -0
  204. data/ext/gtk3/rbgtktreerowreference.c +140 -0
  205. data/ext/gtk3/rbgtktreeselection.c +205 -0
  206. data/ext/gtk3/rbgtktreesortable.c +122 -0
  207. data/ext/gtk3/rbgtktreestore.c +330 -0
  208. data/ext/gtk3/rbgtktreeview.c +715 -0
  209. data/ext/gtk3/rbgtktreeviewcolumn.c +256 -0
  210. data/ext/gtk3/rbgtkuimanager.c +189 -0
  211. data/ext/gtk3/rbgtkviewport.c +44 -0
  212. data/ext/gtk3/rbgtkvolumebutton.c +41 -0
  213. data/ext/gtk3/rbgtkwidget.c +1564 -0
  214. data/ext/gtk3/rbgtkwidgetpath.c +229 -0
  215. data/ext/gtk3/rbgtkwindow.c +557 -0
  216. data/ext/gtk3/rbgtkwindowgroup.c +80 -0
  217. data/extconf.rb +49 -0
  218. data/lib/gtk3.rb +10 -0
  219. data/lib/gtk3/base.rb +67 -0
  220. data/lib/gtk3/deprecated.rb +1001 -0
  221. data/sample/gtk-demo/README +7 -0
  222. data/sample/gtk-demo/alphatest.png +0 -0
  223. data/sample/gtk-demo/apple-red.png +0 -0
  224. data/sample/gtk-demo/appwindow.rb +233 -0
  225. data/sample/gtk-demo/background.jpg +0 -0
  226. data/sample/gtk-demo/builder.rb +51 -0
  227. data/sample/gtk-demo/button_box.rb +84 -0
  228. data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
  229. data/sample/gtk-demo/cairo-arc.rb +41 -0
  230. data/sample/gtk-demo/cairo-clip-image.rb +51 -0
  231. data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
  232. data/sample/gtk-demo/cairo-clip.rb +35 -0
  233. data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
  234. data/sample/gtk-demo/cairo-curve-to.rb +43 -0
  235. data/sample/gtk-demo/cairo-dash.rb +39 -0
  236. data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
  237. data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
  238. data/sample/gtk-demo/cairo-gradient.rb +35 -0
  239. data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
  240. data/sample/gtk-demo/cairo-image.rb +49 -0
  241. data/sample/gtk-demo/cairo-line-cap.rb +53 -0
  242. data/sample/gtk-demo/cairo-line-join.rb +41 -0
  243. data/sample/gtk-demo/cairo-long-lines.rb +41 -0
  244. data/sample/gtk-demo/cairo-operator.rb +83 -0
  245. data/sample/gtk-demo/cairo-path.rb +28 -0
  246. data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
  247. data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
  248. data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
  249. data/sample/gtk-demo/cairo-text-extents.rb +46 -0
  250. data/sample/gtk-demo/cairo-text.rb +43 -0
  251. data/sample/gtk-demo/changedisplay.rb +408 -0
  252. data/sample/gtk-demo/clipboard.rb +72 -0
  253. data/sample/gtk-demo/colorsel.rb +84 -0
  254. data/sample/gtk-demo/common.rb +88 -0
  255. data/sample/gtk-demo/demo.ui +258 -0
  256. data/sample/gtk-demo/dialog.rb +137 -0
  257. data/sample/gtk-demo/drawingarea.rb +226 -0
  258. data/sample/gtk-demo/editable_cells.rb +172 -0
  259. data/sample/gtk-demo/entry_completion.rb +63 -0
  260. data/sample/gtk-demo/expander.rb +40 -0
  261. data/sample/gtk-demo/floppybuddy.gif +0 -0
  262. data/sample/gtk-demo/gnome-applets.png +0 -0
  263. data/sample/gtk-demo/gnome-calendar.png +0 -0
  264. data/sample/gtk-demo/gnome-foot.png +0 -0
  265. data/sample/gtk-demo/gnome-fs-directory.png +0 -0
  266. data/sample/gtk-demo/gnome-fs-regular.png +0 -0
  267. data/sample/gtk-demo/gnome-gimp.png +0 -0
  268. data/sample/gtk-demo/gnome-gmush.png +0 -0
  269. data/sample/gtk-demo/gnome-gsame.png +0 -0
  270. data/sample/gtk-demo/gnu-keys.png +0 -0
  271. data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
  272. data/sample/gtk-demo/hypertext.rb +211 -0
  273. data/sample/gtk-demo/iconview.rb +109 -0
  274. data/sample/gtk-demo/images.rb +197 -0
  275. data/sample/gtk-demo/item_factory.rb +94 -0
  276. data/sample/gtk-demo/list_store.rb +138 -0
  277. data/sample/gtk-demo/main.rb +382 -0
  278. data/sample/gtk-demo/menus.rb +172 -0
  279. data/sample/gtk-demo/panes.rb +156 -0
  280. data/sample/gtk-demo/pixbufs.rb +176 -0
  281. data/sample/gtk-demo/printing.rb +128 -0
  282. data/sample/gtk-demo/rotated_text.rb +84 -0
  283. data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
  284. data/sample/gtk-demo/sizegroup.rb +118 -0
  285. data/sample/gtk-demo/stock_browser.rb +235 -0
  286. data/sample/gtk-demo/textview.rb +436 -0
  287. data/sample/gtk-demo/tree_store.rb +270 -0
  288. data/sample/misc/aboutdialog.rb +42 -0
  289. data/sample/misc/aboutdialog2.rb +42 -0
  290. data/sample/misc/alpha-demo.rb +70 -0
  291. data/sample/misc/assistant.rb +347 -0
  292. data/sample/misc/bindings.rb +107 -0
  293. data/sample/misc/button.rb +69 -0
  294. data/sample/misc/button2.rb +28 -0
  295. data/sample/misc/buttonbox.rb +93 -0
  296. data/sample/misc/cairo-pong.rb +215 -0
  297. data/sample/misc/calendar.rb +66 -0
  298. data/sample/misc/checkbutton.rb +46 -0
  299. data/sample/misc/colorselection.rb +25 -0
  300. data/sample/misc/combo_check.rb +71 -0
  301. data/sample/misc/combobox.rb +86 -0
  302. data/sample/misc/composited-windows.rb +113 -0
  303. data/sample/misc/cursor.rb +32 -0
  304. data/sample/misc/dialog.rb +44 -0
  305. data/sample/misc/dialog2.rb +39 -0
  306. data/sample/misc/dnd.rb +64 -0
  307. data/sample/misc/dndtreeview.rb +56 -0
  308. data/sample/misc/drag-move.rb +131 -0
  309. data/sample/misc/drawing.rb +90 -0
  310. data/sample/misc/entry.rb +34 -0
  311. data/sample/misc/entrycompletion.rb +33 -0
  312. data/sample/misc/expander.rb +27 -0
  313. data/sample/misc/filechooser.rb +41 -0
  314. data/sample/misc/frame.rb +69 -0
  315. data/sample/misc/gdkscreen.rb +32 -0
  316. data/sample/misc/gnome-logo-icon.png +0 -0
  317. data/sample/misc/helloworld.rb +35 -0
  318. data/sample/misc/iconview.rb +38 -0
  319. data/sample/misc/image.rb +42 -0
  320. data/sample/misc/itemfactory.rb +73 -0
  321. data/sample/misc/itemfactory2.rb +74 -0
  322. data/sample/misc/keyboard_grab.rb +29 -0
  323. data/sample/misc/label.rb +33 -0
  324. data/sample/misc/linkbutton.rb +42 -0
  325. data/sample/misc/listview.rb +92 -0
  326. data/sample/misc/menu.rb +81 -0
  327. data/sample/misc/misc_button.rb +49 -0
  328. data/sample/misc/mouse-gesture.rb +465 -0
  329. data/sample/misc/pangorenderer.rb +66 -0
  330. data/sample/misc/pointer_grab.rb +34 -0
  331. data/sample/misc/print.rb +247 -0
  332. data/sample/misc/properties.rb +85 -0
  333. data/sample/misc/radiobutton.rb +47 -0
  334. data/sample/misc/recentchooserdialog.rb +52 -0
  335. data/sample/misc/rgtk+cairo.rb +42 -0
  336. data/sample/misc/scalebutton.rb +19 -0
  337. data/sample/misc/settings.rb +41 -0
  338. data/sample/misc/statusicon.rb +123 -0
  339. data/sample/misc/stock.rb +36 -0
  340. data/sample/misc/style_property.rb +67 -0
  341. data/sample/misc/style_property.rc +19 -0
  342. data/sample/misc/t-gtkplug.rb +58 -0
  343. data/sample/misc/t-gtksocket.rb +65 -0
  344. data/sample/misc/test.xpm +92 -0
  345. data/sample/misc/textbuffer_serialize.rb +130 -0
  346. data/sample/misc/threads.rb +72 -0
  347. data/sample/misc/to_drawable.rb +42 -0
  348. data/sample/misc/togglebutton.rb +34 -0
  349. data/sample/misc/toolbar.rb +55 -0
  350. data/sample/misc/tooltips.rb +204 -0
  351. data/sample/misc/tree_combo.rb +79 -0
  352. data/sample/misc/tree_progress.rb +63 -0
  353. data/sample/misc/treemodelfilter.rb +49 -0
  354. data/sample/misc/treeview.rb +71 -0
  355. data/sample/misc/uimanager.rb +148 -0
  356. data/sample/misc/uimanager2.rb +91 -0
  357. data/sample/misc/uimanager2.xml +36 -0
  358. data/sample/misc/window.rb +24 -0
  359. data/sample/misc/xbm_cursor.rb +43 -0
  360. data/sample/testgtk/3DRings.xpm +116 -0
  361. data/sample/testgtk/FilesQueue.xpm +98 -0
  362. data/sample/testgtk/Modeller.xpm +117 -0
  363. data/sample/testgtk/README +14 -0
  364. data/sample/testgtk/button.rb +124 -0
  365. data/sample/testgtk/buttonbox.rb +100 -0
  366. data/sample/testgtk/check-n.xpm +21 -0
  367. data/sample/testgtk/check-y.xpm +21 -0
  368. data/sample/testgtk/checkbutton.rb +67 -0
  369. data/sample/testgtk/circles.xbm +46 -0
  370. data/sample/testgtk/colorselect.rb +33 -0
  371. data/sample/testgtk/dialog.rb +48 -0
  372. data/sample/testgtk/entry.rb +73 -0
  373. data/sample/testgtk/filesel.rb +65 -0
  374. data/sample/testgtk/fontselection.rb +56 -0
  375. data/sample/testgtk/labels.rb +74 -0
  376. data/sample/testgtk/layout.rb +108 -0
  377. data/sample/testgtk/marble.xpm +408 -0
  378. data/sample/testgtk/menu.rb +79 -0
  379. data/sample/testgtk/notebook.rb +280 -0
  380. data/sample/testgtk/pixmap.rb +58 -0
  381. data/sample/testgtk/progressbar.rb +173 -0
  382. data/sample/testgtk/radiobutton.rb +61 -0
  383. data/sample/testgtk/range.rb +65 -0
  384. data/sample/testgtk/reparent.rb +91 -0
  385. data/sample/testgtk/sample.rb +80 -0
  386. data/sample/testgtk/savedposition.rb +87 -0
  387. data/sample/testgtk/scrolledwindow.rb +67 -0
  388. data/sample/testgtk/shapedwindow.rb +99 -0
  389. data/sample/testgtk/spinbutton.rb +181 -0
  390. data/sample/testgtk/statusbar.rb +89 -0
  391. data/sample/testgtk/test.xpm +92 -0
  392. data/sample/testgtk/testgtk.rb +176 -0
  393. data/sample/testgtk/testgtkrc +146 -0
  394. data/sample/testgtk/testgtkrc2 +21 -0
  395. data/sample/testgtk/togglebutton.rb +53 -0
  396. data/sample/testgtk/toolbar.rb +82 -0
  397. data/sample/testgtk/tooltips.rb +41 -0
  398. data/sample/testgtk/wmhints.rb +40 -0
  399. data/test/gtk-test-utils.rb +15 -0
  400. data/test/run-test.rb +32 -0
  401. data/test/test_gc.rb +25 -0
  402. data/test/test_gdk.rb +18 -0
  403. data/test/test_gdk_color.rb +10 -0
  404. data/test/test_gdk_display.rb +37 -0
  405. data/test/test_gdk_event.rb +11 -0
  406. data/test/test_gdk_gc.rb +7 -0
  407. data/test/test_gdk_keymap.rb +8 -0
  408. data/test/test_gdk_pango.rb +9 -0
  409. data/test/test_gdk_selection_data.rb +17 -0
  410. data/test/test_gdk_window.rb +29 -0
  411. data/test/test_gdk_window_attribute.rb +9 -0
  412. data/test/test_gtk_about_dialog.rb +14 -0
  413. data/test/test_gtk_buildable.rb +66 -0
  414. data/test/test_gtk_builder.rb +188 -0
  415. data/test/test_gtk_entry.rb +18 -0
  416. data/test/test_gtk_icon_theme.rb +30 -0
  417. data/test/test_gtk_image.rb +8 -0
  418. data/test/test_gtk_list_store.rb +65 -0
  419. data/test/test_gtk_menu_item.rb +13 -0
  420. data/test/test_gtk_rc_style.rb +14 -0
  421. data/test/test_gtk_tree_path.rb +20 -0
  422. data/test/test_gtk_unix_print.rb +14 -0
  423. data/test/test_gtk_widget.rb +32 -0
  424. metadata +553 -94
  425. data/LICENSE +0 -19
@@ -0,0 +1,41 @@
1
+ =begin
2
+
3
+ tooltips.rb - a part of testgtk.c rewritten in Ruby/GTK2
4
+
5
+ Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
6
+
7
+ $Id: tooltips.rb,v 1.6 2005/07/21 17:47:19 mutoh Exp $
8
+
9
+ =end
10
+
11
+ require 'sample'
12
+
13
+ class TooltipsSample < SampleWindow
14
+ def initialize
15
+ super("Tooltips")
16
+ set_default_size(200, -1)
17
+ set_border_width(5)
18
+
19
+ tooltips = Gtk::Tooltips.new
20
+
21
+ button = Gtk::ToggleButton.new("button1")
22
+ tooltips.set_tip(button,"This is button 1", "ContextHelp/buttons/1")
23
+
24
+ button2 = Gtk::ToggleButton.new("button2")
25
+ tooltips.set_tip(button2,
26
+ "This is button 2. This is also a really long tooltip which probably won't fit on a single line and will therefore need to be wrapped. Hopefully the wrapping will work correctly.",
27
+ "ContextHelp/buttons/2_long")
28
+ vbox = Gtk::VBox.new(false, 10)
29
+ vbox.add(button)
30
+ vbox.add(button2)
31
+ vbox.add(Gtk::HSeparator.new)
32
+
33
+ button4 = Gtk::Button.new("close")
34
+ button4.signal_connect("clicked"){destroy}
35
+ vbox.pack_start(button4)
36
+
37
+ tooltips.set_tip(button4, "Push this button to close window", "ContextHelp/buttons/Close")
38
+
39
+ add(vbox)
40
+ end
41
+ end
@@ -0,0 +1,40 @@
1
+ =begin header
2
+
3
+ wmhints.rb - a part of testgtk.c rewritten in Ruby/GTK2
4
+
5
+ Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
6
+
7
+ $Id: wmhints.rb,v 1.8 2005/07/21 17:47:19 mutoh Exp $
8
+ =end
9
+
10
+ require 'sample'
11
+
12
+ class WMHintsSample < SampleWindow
13
+ def initialize
14
+ super("WM Hints")
15
+
16
+ realize
17
+
18
+ circles = Gdk::Pixmap.create_from_xbm(window, "circles.xbm")
19
+ window.set_icon(nil, circles, circles)
20
+ window.icon_name = "WMHints Test Icon"
21
+ window.decorations = Gdk::Window::DECOR_ALL | Gdk::Window::DECOR_MENU
22
+ window.functions = Gdk::Window::FUNC_ALL | Gdk::Window::FUNC_RESIZE
23
+
24
+ vbox = Gtk::VBox.new(false, 10)
25
+ add(vbox)
26
+
27
+ label = Gtk::Label.new("Try iconizing me!")
28
+ label.set_size_request(150, 50)
29
+ vbox.pack_start(label, true, true, 0)
30
+
31
+ vbox.pack_start(Gtk::HSeparator.new, false, true, 0)
32
+
33
+ button = Gtk::Button.new("close")
34
+ button.signal_connect("clicked"){destroy}
35
+
36
+ vbox.pack_start(button, true, true, 0)
37
+ button.can_default = true
38
+ button.grab_default
39
+ end
40
+ end
@@ -0,0 +1,15 @@
1
+ require 'tempfile'
2
+
3
+ module GtkTestUtils
4
+ private
5
+ def only_gtk_version(major, minor, micro=nil)
6
+ micro ||= 0
7
+ unless Gtk.check_version?(major, minor, micro)
8
+ omit("Require GTK+ >= #{major}.#{minor}.#{micro}")
9
+ end
10
+ end
11
+
12
+ def only_x11
13
+ omit("Only for X11 backend") unless Gdk.windowing_x11?
14
+ end
15
+ end
data/test/run-test.rb ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
4
+ ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
5
+
6
+ glib_base = File.join(ruby_gnome2_base, "glib2")
7
+ atk_base = File.join(ruby_gnome2_base, "atk")
8
+ pango_base = File.join(ruby_gnome2_base, "pango")
9
+ gdk_pixbuf_base = File.join(ruby_gnome2_base, "gdk_pixbuf2")
10
+ gtk_base = File.join(ruby_gnome2_base, "gtk2")
11
+
12
+ [[glib_base, "glib2"],
13
+ [atk_base, "atk"],
14
+ [pango_base, "pango"],
15
+ [gdk_pixbuf_base, "gdk_pixbuf2"],
16
+ [gtk_base, "gtk2"]].each do |target, module_name|
17
+ if system("which make > /dev/null")
18
+ `make -C #{target.dump} > /dev/null` or exit(false)
19
+ end
20
+ $LOAD_PATH.unshift(File.join(target, "ext", module_name))
21
+ $LOAD_PATH.unshift(File.join(target, "lib"))
22
+ end
23
+
24
+ $LOAD_PATH.unshift(File.join(glib_base, "test"))
25
+ require 'glib-test-init'
26
+
27
+ $LOAD_PATH.unshift(File.join(gtk_base, "test"))
28
+ require 'gtk-test-utils'
29
+
30
+ require 'gtk2'
31
+
32
+ exit Test::Unit::AutoRunner.run(true)
data/test/test_gc.rb ADDED
@@ -0,0 +1,25 @@
1
+ require 'test/unit'
2
+ require 'gtk2'
3
+
4
+ class TestGC < Test::Unit::TestCase
5
+ priority :must
6
+ def test_closure
7
+ 10.times do
8
+ invisible = Gtk::Invisible.new
9
+ invisible.signal_connect("destroy") {}
10
+ GC.start
11
+ end
12
+ end
13
+
14
+ def test_inheritance_and_gc
15
+ button = Class.new(Gtk::Button)
16
+ box = Gtk::HBox.new
17
+ n = 10
18
+ n.times do
19
+ box.add(button.new)
20
+ end
21
+ GC.start
22
+ assert_equal([button] * 10,
23
+ box.children.collect {|item| item.class})
24
+ end
25
+ end
data/test/test_gdk.rb ADDED
@@ -0,0 +1,18 @@
1
+ class TestGdk < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_notify_startup_complete
5
+ assert_nothing_raised do
6
+ Gdk.notify_startup_complete
7
+ end
8
+
9
+ notify_with_id = Proc.new do
10
+ Gdk.notify_startup_complete("startup-id")
11
+ end
12
+ if Gtk.check_version?(2, 12, 0)
13
+ assert_nothing_raised(&notify_with_id)
14
+ else
15
+ assert_raise(NotImplementedError, &notify_with_id)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,10 @@
1
+ class TestGdkColor < Test::Unit::TestCase
2
+ def test_to_s
3
+ color = Gdk::Color.new(0xffff, 0x1234, 0xabcd)
4
+ if Gtk.check_version?(2, 12, 0)
5
+ assert_equal("#ffff1234abcd", color.to_s)
6
+ else
7
+ assert_match(/\A#<Gdk::Color:.*>\z/, color.to_s)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,37 @@
1
+ class TestGdkDisplay < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_supports_predicates
5
+ display = Gdk::Display.default
6
+
7
+ assert_boolean(display.supports_shapes?)
8
+ assert_boolean(display.supports_input_shapes?)
9
+ only_gtk_version(2, 12, 0)
10
+ assert_boolean(display.supports_composite?)
11
+ end
12
+
13
+ def test_startup_notification_id
14
+ only_gtk_version(2, 12, 0)
15
+ only_x11
16
+
17
+ display = Gdk::Display.default
18
+ assert_nil(display.startup_notification_id)
19
+ end
20
+
21
+ def test_broadcast_startup_message
22
+ omit("Not yet implemented (GNOME bug #528020)")
23
+ only_gtk_version(2, 16, 0)
24
+ only_x11
25
+
26
+ id = "#{$$}_TIME_#{Time.now.to_i}"
27
+ screen = Gdk::Screen.default.number.to_s
28
+ assert_nothing_raised do
29
+ Gdk::Display.default.broadcast_startup_message("new",
30
+ "ID" => id,
31
+ "NAME" => "Hello World",
32
+ "SCREEN" => screen)
33
+ Gdk::Display.default.broadcast_startup_message("remove",
34
+ "ID" => id)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,11 @@
1
+ class TestGdkEvent < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_motion_request
5
+ only_gtk_version(2, 12, 0)
6
+ motion = Gdk::EventMotion.new
7
+ assert_nothing_raised do
8
+ motion.request
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ class TestGdkGC < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_constant
5
+ assert_const_defined(Gdk, :GC)
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ class TestGdkKeymap < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_have_bidi_layouts?
5
+ only_gtk_version(2, 12, 0)
6
+ assert_boolean(Gdk::Keymap.default.have_bidi_layouts?)
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class TestGdkPango < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_emboss_color_attribute
5
+ only_gtk_version(2, 12, 0)
6
+ color = Gdk::PangoAttrEmbossColor.new(Gdk::Color.parse("red"))
7
+ assert_equal([65535, 0, 0], color.value.to_a)
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ class TestSelectionData < Test::Unit::TestCase
2
+ def setup
3
+ @window = Gtk::Invisible.new.window
4
+ end
5
+
6
+ def test_type_integer
7
+ name = "ID"
8
+ value = 10
9
+ Gdk::Property.change(@window, name,
10
+ Gdk::Selection::TYPE_INTEGER,
11
+ :replace, value)
12
+ assert_equal([Gdk::Selection::TYPE_INTEGER, [value]],
13
+ Gdk::Property.get(@window, name,
14
+ Gdk::Selection::TYPE_INTEGER,
15
+ false)[0, 2])
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ class TestGdkWindow < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def setup
5
+ @window = Gtk::Invisible.new.window
6
+ end
7
+
8
+ def test_set_composited
9
+ only_gtk_version(2, 12, 0)
10
+ assert_nothing_raised do
11
+ @window.composited = false
12
+ end
13
+ end
14
+
15
+ def test_set_opacity
16
+ only_gtk_version(2, 12, 0)
17
+ assert_nothing_raised do
18
+ @window.opacity = 0.5
19
+ end
20
+ end
21
+
22
+ def test_set_startup_id
23
+ only_gtk_version(2, 12, 0)
24
+ assert_nothing_raised do
25
+ @window.startup_id = "startup-id"
26
+ @window.startup_id = nil
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,9 @@
1
+ class TestGtkWindowAttribute < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_initialize
5
+ attrs = Gdk::WindowAttr.new(100, 100, :only, :temp)
6
+ assert_equal([100, 100, Gdk::Window::INPUT_ONLY, Gdk::Window::TEMP],
7
+ [attrs.width, attrs.height, attrs.wclass, attrs.window_type])
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ class TestGtkAboutDialog < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def setup
5
+ @dialog = Gtk::AboutDialog.new
6
+ end
7
+
8
+ def test_program_name
9
+ only_gtk_version(2, 12, 0)
10
+ assert_equal(File.basename($0), @dialog.program_name)
11
+ @dialog.program_name = "my-program"
12
+ assert_equal("my-program", @dialog.program_name)
13
+ end
14
+ end
@@ -0,0 +1,66 @@
1
+ class TestGtkBuildable < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def setup
5
+ @buildable = Gtk::HBox.new
6
+ end
7
+
8
+ def test_name
9
+ only_gtk_version(2, 12, 0)
10
+
11
+ assert_equal("", @buildable.name)
12
+ @buildable.name = "YYY"
13
+ assert_equal("YYY", @buildable.name)
14
+
15
+ @buildable.name = nil
16
+ assert_equal("", @buildable.name)
17
+ end
18
+
19
+ def test_add_child
20
+ only_gtk_version(2, 12, 0)
21
+
22
+ assert_equal([], @buildable.children)
23
+
24
+ builder = Gtk::Builder.new
25
+ entry = Gtk::Entry.new
26
+ @buildable.add_child(builder, entry)
27
+ assert_equal([entry], @buildable.children)
28
+ end
29
+
30
+ def test_set_buildable_property
31
+ only_gtk_version(2, 12, 0)
32
+
33
+ assert_nil(@buildable.parent)
34
+
35
+ builder = Gtk::Builder.new
36
+ parent = Gtk::HBox.new
37
+ @buildable.set_buildable_property(builder, "parent", parent)
38
+ assert_equal(parent, @buildable.parent)
39
+ end
40
+
41
+ def test_construct_child
42
+ only_gtk_version(2, 12, 0)
43
+
44
+ assert_nil(@buildable.parent)
45
+
46
+ @buildable = Gtk::UIManager.new
47
+ @buildable.add_ui(<<-EOU)
48
+ <ui>
49
+ <toolbar name='Toolbar'>
50
+ </toolbar>
51
+ </ui>
52
+ EOU
53
+ builder = Gtk::Builder.new
54
+ assert_kind_of(Gtk::Toolbar, @buildable.construct_child(builder, "Toolbar"))
55
+ end
56
+
57
+ def test_get_internal_child
58
+ only_gtk_version(2, 12, 0)
59
+
60
+ assert_nil(@buildable.parent)
61
+
62
+ @buildable = Gtk::Dialog.new
63
+ builder = Gtk::Builder.new
64
+ assert_kind_of(Gtk::VBox, @buildable.get_internal_child(builder, "vbox"))
65
+ end
66
+ end
@@ -0,0 +1,188 @@
1
+ class TestGtkBuilder < Test::Unit::TestCase
2
+ include GtkTestUtils
3
+
4
+ def test_constants
5
+ only_gtk_version(2, 12, 0)
6
+ assert_kind_of(Gtk::BuilderError, Gtk::BuilderError::INVALID_TAG)
7
+ end
8
+
9
+ def test_new
10
+ only_gtk_version(2, 12, 0)
11
+ assert_nothing_raised do
12
+ Gtk::Builder.new
13
+ end
14
+ end
15
+
16
+ def test_add_from_file
17
+ only_gtk_version(2, 12, 0)
18
+
19
+ builder = Gtk::Builder.new
20
+ assert_nothing_raised do
21
+ builder.add_from_file(ui_definition_file.path)
22
+ end
23
+ assert_kind_of(Gtk::Dialog, builder["dialog1"])
24
+ end
25
+
26
+ def test_add_from_string
27
+ only_gtk_version(2, 12, 0)
28
+
29
+ builder = Gtk::Builder.new
30
+ assert_nothing_raised do
31
+ builder.add_from_string(ui_definition)
32
+ end
33
+ assert_kind_of(Gtk::VBox, builder["vbox1"])
34
+ end
35
+
36
+ def test_add_with_file
37
+ only_gtk_version(2, 12, 0)
38
+
39
+ builder = Gtk::Builder.new
40
+ assert_nothing_raised do
41
+ builder.add(ui_definition_file.path)
42
+ end
43
+ assert_kind_of(Gtk::HButtonBox, builder["hbuttonbox1"])
44
+ end
45
+
46
+ def test_add_with_string
47
+ only_gtk_version(2, 12, 0)
48
+
49
+ builder = Gtk::Builder.new
50
+ assert_nothing_raised do
51
+ builder.add(ui_definition)
52
+ end
53
+ assert_kind_of(Gtk::Button, builder["ok_button"])
54
+ end
55
+
56
+ def test_add_chain
57
+ only_gtk_version(2, 12, 0)
58
+
59
+ builder = Gtk::Builder.new
60
+ assert_nothing_raised do
61
+ builder << ui_definition_file.path << ui_definition_simple
62
+ end
63
+ assert_kind_of(Gtk::Dialog, builder["dialog1"])
64
+ assert_kind_of(Gtk::Window, builder["main-window"])
65
+ end
66
+
67
+ def test_objects
68
+ only_gtk_version(2, 12, 0)
69
+
70
+ builder = Gtk::Builder.new
71
+ assert_nothing_raised do
72
+ builder << ui_definition_file.path << ui_definition_simple
73
+ end
74
+ assert_equal(["dialog1", "vbox1", "hbuttonbox1", "ok_button",
75
+ "main-window"].sort,
76
+ builder.objects.collect {|object| object.builder_name}.sort)
77
+ end
78
+
79
+ def test_translation_domain
80
+ only_gtk_version(2, 12, 0)
81
+
82
+ builder = Gtk::Builder.new
83
+ assert_nil(builder.translation_domain)
84
+ builder.translation_domain = "ruby-gnome2"
85
+ assert_equal("ruby-gnome2", builder.translation_domain)
86
+ end
87
+
88
+ def test_connect_signals
89
+ only_gtk_version(2, 12, 0)
90
+
91
+ handler_names = []
92
+
93
+ builder = Gtk::Builder.new
94
+ builder.connect_signals do |name|
95
+ handler_names << name
96
+ Proc.new {}
97
+ end
98
+ assert_equal([].sort, handler_names.sort)
99
+
100
+ builder << ui_definition
101
+ ok_button = builder["ok_button"]
102
+ builder.connect_signals do |name|
103
+ handler_names << name
104
+ Proc.new {}
105
+ end
106
+ assert_equal(["ok_button_clicked"].sort, handler_names.sort)
107
+ end
108
+
109
+ def test_connect_signals_with_no_signal_ui_definition
110
+ only_gtk_version(2, 12, 0)
111
+
112
+ handler_names = []
113
+
114
+ builder = Gtk::Builder.new
115
+ builder.connect_signals do |name|
116
+ handler_names << name
117
+ Proc.new {}
118
+ end
119
+ assert_equal([].sort, handler_names.sort)
120
+
121
+ builder << ui_definition_simple
122
+ builder.connect_signals do |name|
123
+ handler_names << name
124
+ Proc.new {}
125
+ end
126
+ assert_equal([].sort, handler_names.sort)
127
+ end
128
+
129
+ def test_get_type_from_name
130
+ only_gtk_version(2, 12, 0)
131
+
132
+ builder = Gtk::Builder.new
133
+ assert_nil(builder.get_type("XXX"))
134
+ assert_equal(Gtk::VBox, builder.get_type("GtkVBox"))
135
+ end
136
+
137
+ private
138
+ def ui_definition
139
+ <<-EOX
140
+ <interface>
141
+ <object class="GtkDialog" id="dialog1">
142
+ <child internal-child="vbox">
143
+ <object class="GtkVBox" id="vbox1">
144
+ <property name="border-width">10</property>
145
+ <child internal-child="action_area">
146
+ <object class="GtkHButtonBox" id="hbuttonbox1">
147
+ <property name="border-width">20</property>
148
+ <child>
149
+ <object class="GtkButton" id="ok_button">
150
+ <property name="label">gtk-ok</property>
151
+ <property name="use-stock">TRUE</property>
152
+ <signal name="clicked" handler="ok_button_clicked"/>
153
+ </object>
154
+ </child>
155
+ </object>
156
+ </child>
157
+ </object>
158
+ </child>
159
+ </object>
160
+ </interface>
161
+ EOX
162
+ end
163
+
164
+ def ui_definition_simple
165
+ <<-EOX
166
+ <interface>
167
+ <object class="GtkWindow" id="main-window">
168
+ </object>
169
+ </interface>
170
+ EOX
171
+ end
172
+
173
+ def ui_definition_with_signal
174
+ <<-EOX
175
+ <interface>
176
+ <object class="GtkWindow" id="main-window">
177
+ </object>
178
+ </interface>
179
+ EOX
180
+ end
181
+
182
+ def ui_definition_file
183
+ xml = Tempfile.new("Gtk::Builder")
184
+ xml.print(ui_definition)
185
+ xml.close
186
+ xml
187
+ end
188
+ end