gtk3 2.2.4-x64-mingw32

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 (457) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +20 -0
  3. data/ext/gtk3/conversions.c +34 -0
  4. data/ext/gtk3/depend +11 -0
  5. data/ext/gtk3/extconf.rb +99 -0
  6. data/ext/gtk3/gtk3.def +10 -0
  7. data/ext/gtk3/init.c +34 -0
  8. data/ext/gtk3/rbgtk-about-dialog.c +113 -0
  9. data/ext/gtk3/rbgtk-accel-group-entry.c +94 -0
  10. data/ext/gtk3/rbgtk-accel-group.c +199 -0
  11. data/ext/gtk3/rbgtk-accel-key.c +120 -0
  12. data/ext/gtk3/rbgtk-accel-label.c +55 -0
  13. data/ext/gtk3/rbgtk-accel-map.c +135 -0
  14. data/ext/gtk3/rbgtk-accelerator.c +78 -0
  15. data/ext/gtk3/rbgtk-accessible.c +40 -0
  16. data/ext/gtk3/rbgtk-action-bar.c +73 -0
  17. data/ext/gtk3/rbgtk-action-group.c +467 -0
  18. data/ext/gtk3/rbgtk-action.c +205 -0
  19. data/ext/gtk3/rbgtk-activatable.c +30 -0
  20. data/ext/gtk3/rbgtk-adjustment.c +98 -0
  21. data/ext/gtk3/rbgtk-alignment.c +75 -0
  22. data/ext/gtk3/rbgtk-allocation.c +166 -0
  23. data/ext/gtk3/rbgtk-app-chooser-button.c +70 -0
  24. data/ext/gtk3/rbgtk-app-chooser-dialog.c +68 -0
  25. data/ext/gtk3/rbgtk-app-chooser-widget.c +40 -0
  26. data/ext/gtk3/rbgtk-app-chooser.c +47 -0
  27. data/ext/gtk3/rbgtk-application.c +69 -0
  28. data/ext/gtk3/rbgtk-arrow.c +56 -0
  29. data/ext/gtk3/rbgtk-aspect-frame.c +56 -0
  30. data/ext/gtk3/rbgtk-assistant.c +218 -0
  31. data/ext/gtk3/rbgtk-bin.c +42 -0
  32. data/ext/gtk3/rbgtk-binding-set.c +154 -0
  33. data/ext/gtk3/rbgtk-border.c +119 -0
  34. data/ext/gtk3/rbgtk-box.c +146 -0
  35. data/ext/gtk3/rbgtk-buildable.c +96 -0
  36. data/ext/gtk3/rbgtk-builder.c +166 -0
  37. data/ext/gtk3/rbgtk-button-box.c +87 -0
  38. data/ext/gtk3/rbgtk-button.c +93 -0
  39. data/ext/gtk3/rbgtk-calendar.c +118 -0
  40. data/ext/gtk3/rbgtk-cell-editable.c +57 -0
  41. data/ext/gtk3/rbgtk-cell-layout.c +144 -0
  42. data/ext/gtk3/rbgtk-cell-renderer-accel.c +41 -0
  43. data/ext/gtk3/rbgtk-cell-renderer-combo.c +38 -0
  44. data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +41 -0
  45. data/ext/gtk3/rbgtk-cell-renderer-progress.c +38 -0
  46. data/ext/gtk3/rbgtk-cell-renderer-spin.c +39 -0
  47. data/ext/gtk3/rbgtk-cell-renderer-spinner.c +38 -0
  48. data/ext/gtk3/rbgtk-cell-renderer-text.c +48 -0
  49. data/ext/gtk3/rbgtk-cell-renderer-toggle.c +39 -0
  50. data/ext/gtk3/rbgtk-cell-renderer.c +119 -0
  51. data/ext/gtk3/rbgtk-cell-view.c +95 -0
  52. data/ext/gtk3/rbgtk-check-button.c +64 -0
  53. data/ext/gtk3/rbgtk-check-menu-item.c +64 -0
  54. data/ext/gtk3/rbgtk-clip-board.c +389 -0
  55. data/ext/gtk3/rbgtk-color-button.c +55 -0
  56. data/ext/gtk3/rbgtk-color-selection-dialog.c +56 -0
  57. data/ext/gtk3/rbgtk-color-selection.c +219 -0
  58. data/ext/gtk3/rbgtk-combo-box-text.c +138 -0
  59. data/ext/gtk3/rbgtk-combo-box.c +147 -0
  60. data/ext/gtk3/rbgtk-const.c +79 -0
  61. data/ext/gtk3/rbgtk-container.c +788 -0
  62. data/ext/gtk3/rbgtk-css-provider.c +110 -0
  63. data/ext/gtk3/rbgtk-dialog.c +206 -0
  64. data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +108 -0
  65. data/ext/gtk3/rbgtk-drag.c +93 -0
  66. data/ext/gtk3/rbgtk-drawing-area.c +42 -0
  67. data/ext/gtk3/rbgtk-editable.c +149 -0
  68. data/ext/gtk3/rbgtk-entry-buffer.c +87 -0
  69. data/ext/gtk3/rbgtk-entry-completion.c +122 -0
  70. data/ext/gtk3/rbgtk-entry.c +184 -0
  71. data/ext/gtk3/rbgtk-event-box.c +42 -0
  72. data/ext/gtk3/rbgtk-expander.c +49 -0
  73. data/ext/gtk3/rbgtk-file-chooser-button.c +50 -0
  74. data/ext/gtk3/rbgtk-file-chooser-dialog.c +62 -0
  75. data/ext/gtk3/rbgtk-file-chooser-widget.c +40 -0
  76. data/ext/gtk3/rbgtk-file-chooser.c +381 -0
  77. data/ext/gtk3/rbgtk-file-filter.c +128 -0
  78. data/ext/gtk3/rbgtk-file-system-error.c +48 -0
  79. data/ext/gtk3/rbgtk-fixed.c +61 -0
  80. data/ext/gtk3/rbgtk-font-button.c +49 -0
  81. data/ext/gtk3/rbgtk-font-chooser-dialog.c +56 -0
  82. data/ext/gtk3/rbgtk-font-chooser-widget.c +45 -0
  83. data/ext/gtk3/rbgtk-font-chooser.c +78 -0
  84. data/ext/gtk3/rbgtk-frame.c +69 -0
  85. data/ext/gtk3/rbgtk-gdk-event.c +38 -0
  86. data/ext/gtk3/rbgtk-grid.c +105 -0
  87. data/ext/gtk3/rbgtk-handle-box.c +45 -0
  88. data/ext/gtk3/rbgtk-header-bar.c +58 -0
  89. data/ext/gtk3/rbgtk-hsv.c +102 -0
  90. data/ext/gtk3/rbgtk-icon-factory.c +85 -0
  91. data/ext/gtk3/rbgtk-icon-info.c +115 -0
  92. data/ext/gtk3/rbgtk-icon-set.c +84 -0
  93. data/ext/gtk3/rbgtk-icon-size.c +91 -0
  94. data/ext/gtk3/rbgtk-icon-source.c +184 -0
  95. data/ext/gtk3/rbgtk-icon-theme.c +268 -0
  96. data/ext/gtk3/rbgtk-icon-view.c +295 -0
  97. data/ext/gtk3/rbgtk-im-multicontext.c +48 -0
  98. data/ext/gtk3/rbgtk-image-menu-item.c +67 -0
  99. data/ext/gtk3/rbgtk-image.c +162 -0
  100. data/ext/gtk3/rbgtk-imcon-text-simple.c +69 -0
  101. data/ext/gtk3/rbgtk-imcon-text.c +133 -0
  102. data/ext/gtk3/rbgtk-infobar.c +121 -0
  103. data/ext/gtk3/rbgtk-invisible.c +49 -0
  104. data/ext/gtk3/rbgtk-label.c +139 -0
  105. data/ext/gtk3/rbgtk-layout.c +93 -0
  106. data/ext/gtk3/rbgtk-level-bar.c +88 -0
  107. data/ext/gtk3/rbgtk-link-button.c +49 -0
  108. data/ext/gtk3/rbgtk-list-store.c +399 -0
  109. data/ext/gtk3/rbgtk-lock-button.c +50 -0
  110. data/ext/gtk3/rbgtk-menu-button.c +41 -0
  111. data/ext/gtk3/rbgtk-menu-item.c +95 -0
  112. data/ext/gtk3/rbgtk-menu-shell.c +106 -0
  113. data/ext/gtk3/rbgtk-menu-tool-button.c +81 -0
  114. data/ext/gtk3/rbgtk-menu.c +168 -0
  115. data/ext/gtk3/rbgtk-menubar.c +43 -0
  116. data/ext/gtk3/rbgtk-message-dialog.c +74 -0
  117. data/ext/gtk3/rbgtk-misc.c +70 -0
  118. data/ext/gtk3/rbgtk-notebook.c +383 -0
  119. data/ext/gtk3/rbgtk-numerable-icon.c +50 -0
  120. data/ext/gtk3/rbgtk-orientable.c +27 -0
  121. data/ext/gtk3/rbgtk-overlay.c +53 -0
  122. data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +94 -0
  123. data/ext/gtk3/rbgtk-page-setup.c +195 -0
  124. data/ext/gtk3/rbgtk-paned.c +114 -0
  125. data/ext/gtk3/rbgtk-paper-size.c +179 -0
  126. data/ext/gtk3/rbgtk-plug.c +85 -0
  127. data/ext/gtk3/rbgtk-print-context.c +125 -0
  128. data/ext/gtk3/rbgtk-print-job.c +148 -0
  129. data/ext/gtk3/rbgtk-print-operation-preview.c +59 -0
  130. data/ext/gtk3/rbgtk-print-operation.c +149 -0
  131. data/ext/gtk3/rbgtk-print-settings.c +807 -0
  132. data/ext/gtk3/rbgtk-print-unix-dialog.c +90 -0
  133. data/ext/gtk3/rbgtk-printer.c +155 -0
  134. data/ext/gtk3/rbgtk-progress-bar.c +72 -0
  135. data/ext/gtk3/rbgtk-radio-action.c +122 -0
  136. data/ext/gtk3/rbgtk-radio-button.c +89 -0
  137. data/ext/gtk3/rbgtk-radio-menu-item.c +147 -0
  138. data/ext/gtk3/rbgtk-radio-tool-button.c +131 -0
  139. data/ext/gtk3/rbgtk-range.c +68 -0
  140. data/ext/gtk3/rbgtk-recent-action.c +64 -0
  141. data/ext/gtk3/rbgtk-recent-chooser-dialog.c +66 -0
  142. data/ext/gtk3/rbgtk-recent-chooser-menu.c +50 -0
  143. data/ext/gtk3/rbgtk-recent-chooser-widget.c +48 -0
  144. data/ext/gtk3/rbgtk-recent-chooser.c +198 -0
  145. data/ext/gtk3/rbgtk-recent-data.c +188 -0
  146. data/ext/gtk3/rbgtk-recent-filter-info.c +201 -0
  147. data/ext/gtk3/rbgtk-recent-filter.c +169 -0
  148. data/ext/gtk3/rbgtk-recent-info.c +213 -0
  149. data/ext/gtk3/rbgtk-recent-manager.c +134 -0
  150. data/ext/gtk3/rbgtk-revealer.c +42 -0
  151. data/ext/gtk3/rbgtk-scale-button.c +84 -0
  152. data/ext/gtk3/rbgtk-scale.c +97 -0
  153. data/ext/gtk3/rbgtk-scrollable.c +31 -0
  154. data/ext/gtk3/rbgtk-scrollbar.c +52 -0
  155. data/ext/gtk3/rbgtk-scrolled-window.c +122 -0
  156. data/ext/gtk3/rbgtk-search-bar.c +59 -0
  157. data/ext/gtk3/rbgtk-search-entry.c +42 -0
  158. data/ext/gtk3/rbgtk-selection-data.c +281 -0
  159. data/ext/gtk3/rbgtk-selection.c +168 -0
  160. data/ext/gtk3/rbgtk-separator-menu-item.c +39 -0
  161. data/ext/gtk3/rbgtk-separator-tool-item.c +38 -0
  162. data/ext/gtk3/rbgtk-separator.c +44 -0
  163. data/ext/gtk3/rbgtk-settings.c +229 -0
  164. data/ext/gtk3/rbgtk-size-group.c +66 -0
  165. data/ext/gtk3/rbgtk-socket.c +82 -0
  166. data/ext/gtk3/rbgtk-spin-button.c +132 -0
  167. data/ext/gtk3/rbgtk-spinner.c +55 -0
  168. data/ext/gtk3/rbgtk-stack-switcher.c +41 -0
  169. data/ext/gtk3/rbgtk-stack.c +106 -0
  170. data/ext/gtk3/rbgtk-status-bar.c +77 -0
  171. data/ext/gtk3/rbgtk-status-icon.c +122 -0
  172. data/ext/gtk3/rbgtk-stock.c +213 -0
  173. data/ext/gtk3/rbgtk-style-context-gdk-screen.c +61 -0
  174. data/ext/gtk3/rbgtk-style-context.c +411 -0
  175. data/ext/gtk3/rbgtk-style-properties.c +118 -0
  176. data/ext/gtk3/rbgtk-style-provider.c +67 -0
  177. data/ext/gtk3/rbgtk-switch.c +40 -0
  178. data/ext/gtk3/rbgtk-table.c +190 -0
  179. data/ext/gtk3/rbgtk-target-list.c +125 -0
  180. data/ext/gtk3/rbgtk-tearoff-menu-item.c +41 -0
  181. data/ext/gtk3/rbgtk-text-appearance.c +236 -0
  182. data/ext/gtk3/rbgtk-text-attributes.c +326 -0
  183. data/ext/gtk3/rbgtk-text-buffer.c +899 -0
  184. data/ext/gtk3/rbgtk-text-child-anchor.c +56 -0
  185. data/ext/gtk3/rbgtk-text-iter.c +732 -0
  186. data/ext/gtk3/rbgtk-text-mark.c +71 -0
  187. data/ext/gtk3/rbgtk-text-tag-table.c +96 -0
  188. data/ext/gtk3/rbgtk-text-tag.c +68 -0
  189. data/ext/gtk3/rbgtk-text-view.c +336 -0
  190. data/ext/gtk3/rbgtk-theming-engine.c +257 -0
  191. data/ext/gtk3/rbgtk-toggle-action.c +61 -0
  192. data/ext/gtk3/rbgtk-toggle-button.c +87 -0
  193. data/ext/gtk3/rbgtk-toggle-tool-button.c +61 -0
  194. data/ext/gtk3/rbgtk-tool-button.c +66 -0
  195. data/ext/gtk3/rbgtk-tool-item.c +200 -0
  196. data/ext/gtk3/rbgtk-tool-itemgroup.c +70 -0
  197. data/ext/gtk3/rbgtk-tool-shell.c +96 -0
  198. data/ext/gtk3/rbgtk-toolbar.c +118 -0
  199. data/ext/gtk3/rbgtk-tooltip-gdk-display.c +39 -0
  200. data/ext/gtk3/rbgtk-tooltip.c +100 -0
  201. data/ext/gtk3/rbgtk-tree-dragdest.c +28 -0
  202. data/ext/gtk3/rbgtk-tree-dragsource.c +28 -0
  203. data/ext/gtk3/rbgtk-tree-iter.c +258 -0
  204. data/ext/gtk3/rbgtk-tree-model.c +246 -0
  205. data/ext/gtk3/rbgtk-tree-modelfilter.c +197 -0
  206. data/ext/gtk3/rbgtk-tree-modelsort.c +111 -0
  207. data/ext/gtk3/rbgtk-tree-path.c +191 -0
  208. data/ext/gtk3/rbgtk-tree-rowreference.c +140 -0
  209. data/ext/gtk3/rbgtk-tree-selection.c +190 -0
  210. data/ext/gtk3/rbgtk-tree-sortable.c +122 -0
  211. data/ext/gtk3/rbgtk-tree-store.c +330 -0
  212. data/ext/gtk3/rbgtk-tree-view-column.c +256 -0
  213. data/ext/gtk3/rbgtk-tree-view.c +716 -0
  214. data/ext/gtk3/rbgtk-ui-manager.c +189 -0
  215. data/ext/gtk3/rbgtk-viewport.c +44 -0
  216. data/ext/gtk3/rbgtk-volume-button.c +41 -0
  217. data/ext/gtk3/rbgtk-widget-path.c +229 -0
  218. data/ext/gtk3/rbgtk-widget.c +1554 -0
  219. data/ext/gtk3/rbgtk-window-group.c +80 -0
  220. data/ext/gtk3/rbgtk-window.c +565 -0
  221. data/ext/gtk3/rbgtk.c +783 -0
  222. data/ext/gtk3/rbgtk3.h +90 -0
  223. data/ext/gtk3/rbgtk3conversions.h +439 -0
  224. data/ext/gtk3/rbgtk3private.h +300 -0
  225. data/ext/gtk3/rbgtk3util.c +67 -0
  226. data/ext/gtk3/rbgtk3util.h +32 -0
  227. data/extconf.rb +49 -0
  228. data/lib/2.0/gtk3.so +0 -0
  229. data/lib/2.1/gtk3.so +0 -0
  230. data/lib/2.2/gtk3.so +0 -0
  231. data/lib/gtk3.rb +11 -0
  232. data/lib/gtk3/base.rb +67 -0
  233. data/lib/gtk3/deprecated.rb +1004 -0
  234. data/sample/gtk-demo/README +7 -0
  235. data/sample/gtk-demo/alphatest.png +0 -0
  236. data/sample/gtk-demo/apple-red.png +0 -0
  237. data/sample/gtk-demo/appwindow.rb +233 -0
  238. data/sample/gtk-demo/background.jpg +0 -0
  239. data/sample/gtk-demo/builder.rb +51 -0
  240. data/sample/gtk-demo/button_box.rb +83 -0
  241. data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
  242. data/sample/gtk-demo/cairo-arc.rb +41 -0
  243. data/sample/gtk-demo/cairo-clip-image.rb +51 -0
  244. data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
  245. data/sample/gtk-demo/cairo-clip.rb +35 -0
  246. data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
  247. data/sample/gtk-demo/cairo-curve-to.rb +43 -0
  248. data/sample/gtk-demo/cairo-dash.rb +39 -0
  249. data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
  250. data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
  251. data/sample/gtk-demo/cairo-gradient.rb +35 -0
  252. data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
  253. data/sample/gtk-demo/cairo-image.rb +49 -0
  254. data/sample/gtk-demo/cairo-line-cap.rb +53 -0
  255. data/sample/gtk-demo/cairo-line-join.rb +41 -0
  256. data/sample/gtk-demo/cairo-long-lines.rb +41 -0
  257. data/sample/gtk-demo/cairo-operator.rb +83 -0
  258. data/sample/gtk-demo/cairo-path.rb +28 -0
  259. data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
  260. data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
  261. data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
  262. data/sample/gtk-demo/cairo-text-extents.rb +46 -0
  263. data/sample/gtk-demo/cairo-text.rb +43 -0
  264. data/sample/gtk-demo/changedisplay.rb +407 -0
  265. data/sample/gtk-demo/clipboard.rb +67 -0
  266. data/sample/gtk-demo/colorsel.rb +82 -0
  267. data/sample/gtk-demo/common.rb +87 -0
  268. data/sample/gtk-demo/css_accordion.css +53 -0
  269. data/sample/gtk-demo/css_accordion.rb +75 -0
  270. data/sample/gtk-demo/demo.ui +258 -0
  271. data/sample/gtk-demo/dialog.rb +137 -0
  272. data/sample/gtk-demo/drawingarea.rb +205 -0
  273. data/sample/gtk-demo/editable_cells.rb +173 -0
  274. data/sample/gtk-demo/entry_completion.rb +63 -0
  275. data/sample/gtk-demo/expander.rb +42 -0
  276. data/sample/gtk-demo/floppybuddy.gif +0 -0
  277. data/sample/gtk-demo/gnome-applets.png +0 -0
  278. data/sample/gtk-demo/gnome-calendar.png +0 -0
  279. data/sample/gtk-demo/gnome-foot.png +0 -0
  280. data/sample/gtk-demo/gnome-fs-directory.png +0 -0
  281. data/sample/gtk-demo/gnome-fs-regular.png +0 -0
  282. data/sample/gtk-demo/gnome-gimp.png +0 -0
  283. data/sample/gtk-demo/gnome-gmush.png +0 -0
  284. data/sample/gtk-demo/gnome-gsame.png +0 -0
  285. data/sample/gtk-demo/gnu-keys.png +0 -0
  286. data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
  287. data/sample/gtk-demo/hypertext.rb +211 -0
  288. data/sample/gtk-demo/iconview.rb +110 -0
  289. data/sample/gtk-demo/images.rb +197 -0
  290. data/sample/gtk-demo/infobar.rb +78 -0
  291. data/sample/gtk-demo/item_factory.rb +94 -0
  292. data/sample/gtk-demo/links.rb +53 -0
  293. data/sample/gtk-demo/list_store.rb +138 -0
  294. data/sample/gtk-demo/main.rb +384 -0
  295. data/sample/gtk-demo/menus.rb +172 -0
  296. data/sample/gtk-demo/panes.rb +156 -0
  297. data/sample/gtk-demo/pixbufs.rb +167 -0
  298. data/sample/gtk-demo/printing.rb +128 -0
  299. data/sample/gtk-demo/reset.css +69 -0
  300. data/sample/gtk-demo/rotated_text.rb +72 -0
  301. data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
  302. data/sample/gtk-demo/sizegroup.rb +118 -0
  303. data/sample/gtk-demo/spinner.rb +59 -0
  304. data/sample/gtk-demo/stock_browser.rb +233 -0
  305. data/sample/gtk-demo/textview.rb +436 -0
  306. data/sample/gtk-demo/theming.ui +319 -0
  307. data/sample/gtk-demo/theming_style_classes.rb +48 -0
  308. data/sample/gtk-demo/tree_store.rb +270 -0
  309. data/sample/misc/aboutdialog.rb +42 -0
  310. data/sample/misc/aboutdialog2.rb +42 -0
  311. data/sample/misc/alpha-demo.rb +70 -0
  312. data/sample/misc/assistant.rb +281 -0
  313. data/sample/misc/bindings.rb +97 -0
  314. data/sample/misc/button.rb +72 -0
  315. data/sample/misc/button2.rb +28 -0
  316. data/sample/misc/buttonbox.rb +93 -0
  317. data/sample/misc/cairo-pong.rb +217 -0
  318. data/sample/misc/calendar.rb +66 -0
  319. data/sample/misc/checkbutton.rb +49 -0
  320. data/sample/misc/colorselection.rb +22 -0
  321. data/sample/misc/combo_check.rb +79 -0
  322. data/sample/misc/combobox.rb +85 -0
  323. data/sample/misc/composited-windows.rb +113 -0
  324. data/sample/misc/cursor.rb +34 -0
  325. data/sample/misc/dialog.rb +44 -0
  326. data/sample/misc/dialog2.rb +36 -0
  327. data/sample/misc/dnd.rb +64 -0
  328. data/sample/misc/dndtreeview.rb +56 -0
  329. data/sample/misc/drag-move.rb +139 -0
  330. data/sample/misc/drawing.rb +109 -0
  331. data/sample/misc/entry.rb +34 -0
  332. data/sample/misc/entrycompletion.rb +33 -0
  333. data/sample/misc/expander.rb +27 -0
  334. data/sample/misc/filechooser.rb +41 -0
  335. data/sample/misc/frame.rb +69 -0
  336. data/sample/misc/gdkscreen.rb +32 -0
  337. data/sample/misc/gnome-logo-icon.png +0 -0
  338. data/sample/misc/helloworld.rb +35 -0
  339. data/sample/misc/iconview.rb +38 -0
  340. data/sample/misc/image.rb +42 -0
  341. data/sample/misc/itemfactory.rb +73 -0
  342. data/sample/misc/itemfactory2.rb +74 -0
  343. data/sample/misc/keyboard_grab.rb +29 -0
  344. data/sample/misc/label.rb +33 -0
  345. data/sample/misc/linkbutton.rb +42 -0
  346. data/sample/misc/listview.rb +92 -0
  347. data/sample/misc/menu.rb +81 -0
  348. data/sample/misc/misc_button.rb +49 -0
  349. data/sample/misc/mouse-gesture.rb +465 -0
  350. data/sample/misc/pangorenderer.rb +66 -0
  351. data/sample/misc/pointer_grab.rb +34 -0
  352. data/sample/misc/print.rb +247 -0
  353. data/sample/misc/properties.rb +86 -0
  354. data/sample/misc/radiobutton.rb +47 -0
  355. data/sample/misc/recentchooserdialog.rb +52 -0
  356. data/sample/misc/rgtk+cairo.rb +42 -0
  357. data/sample/misc/scalebutton.rb +19 -0
  358. data/sample/misc/settings.rb +41 -0
  359. data/sample/misc/statusicon.rb +106 -0
  360. data/sample/misc/stock.rb +36 -0
  361. data/sample/misc/style_property.rb +67 -0
  362. data/sample/misc/style_property.rc +19 -0
  363. data/sample/misc/t-gtkplug.rb +58 -0
  364. data/sample/misc/t-gtksocket.rb +65 -0
  365. data/sample/misc/test.xpm +92 -0
  366. data/sample/misc/textbuffer_serialize.rb +130 -0
  367. data/sample/misc/threads.rb +70 -0
  368. data/sample/misc/to_drawable.rb +42 -0
  369. data/sample/misc/togglebutton.rb +34 -0
  370. data/sample/misc/toolbar.rb +55 -0
  371. data/sample/misc/tooltips.rb +204 -0
  372. data/sample/misc/tree_combo.rb +79 -0
  373. data/sample/misc/tree_progress.rb +61 -0
  374. data/sample/misc/treemodelfilter.rb +49 -0
  375. data/sample/misc/treeview.rb +71 -0
  376. data/sample/misc/uimanager.rb +148 -0
  377. data/sample/misc/uimanager2.rb +91 -0
  378. data/sample/misc/uimanager2.xml +36 -0
  379. data/sample/misc/window.rb +24 -0
  380. data/sample/misc/xbm_cursor.rb +43 -0
  381. data/sample/testgtk/3DRings.xpm +116 -0
  382. data/sample/testgtk/FilesQueue.xpm +98 -0
  383. data/sample/testgtk/Modeller.xpm +117 -0
  384. data/sample/testgtk/README +14 -0
  385. data/sample/testgtk/button.rb +124 -0
  386. data/sample/testgtk/buttonbox.rb +100 -0
  387. data/sample/testgtk/check-n.xpm +21 -0
  388. data/sample/testgtk/check-y.xpm +21 -0
  389. data/sample/testgtk/checkbutton.rb +67 -0
  390. data/sample/testgtk/circles.xbm +46 -0
  391. data/sample/testgtk/colorselect.rb +33 -0
  392. data/sample/testgtk/dialog.rb +48 -0
  393. data/sample/testgtk/entry.rb +73 -0
  394. data/sample/testgtk/filesel.rb +65 -0
  395. data/sample/testgtk/fontselection.rb +56 -0
  396. data/sample/testgtk/labels.rb +74 -0
  397. data/sample/testgtk/layout.rb +108 -0
  398. data/sample/testgtk/marble.xpm +408 -0
  399. data/sample/testgtk/menu.rb +79 -0
  400. data/sample/testgtk/notebook.rb +280 -0
  401. data/sample/testgtk/pixmap.rb +58 -0
  402. data/sample/testgtk/progressbar.rb +173 -0
  403. data/sample/testgtk/radiobutton.rb +61 -0
  404. data/sample/testgtk/range.rb +65 -0
  405. data/sample/testgtk/reparent.rb +91 -0
  406. data/sample/testgtk/sample.rb +80 -0
  407. data/sample/testgtk/savedposition.rb +87 -0
  408. data/sample/testgtk/scrolledwindow.rb +67 -0
  409. data/sample/testgtk/shapedwindow.rb +99 -0
  410. data/sample/testgtk/spinbutton.rb +181 -0
  411. data/sample/testgtk/statusbar.rb +89 -0
  412. data/sample/testgtk/test.xpm +92 -0
  413. data/sample/testgtk/testgtk.rb +176 -0
  414. data/sample/testgtk/testgtkrc +146 -0
  415. data/sample/testgtk/testgtkrc2 +21 -0
  416. data/sample/testgtk/togglebutton.rb +53 -0
  417. data/sample/testgtk/toolbar.rb +82 -0
  418. data/sample/testgtk/tooltips.rb +41 -0
  419. data/sample/testgtk/wmhints.rb +40 -0
  420. data/test/gtk-test-utils.rb +15 -0
  421. data/test/run-test.rb +58 -0
  422. data/test/test_gc.rb +22 -0
  423. data/test/test_gtk.rb +23 -0
  424. data/test/test_gtk_about_dialog.rb +13 -0
  425. data/test/test_gtk_accel_group_entry.rb +24 -0
  426. data/test/test_gtk_accel_key.rb +24 -0
  427. data/test/test_gtk_accessible.rb +31 -0
  428. data/test/test_gtk_action_group.rb +46 -0
  429. data/test/test_gtk_allocation.rb +24 -0
  430. data/test/test_gtk_border.rb +24 -0
  431. data/test/test_gtk_buildable.rb +56 -0
  432. data/test/test_gtk_builder.rb +166 -0
  433. data/test/test_gtk_container.rb +32 -0
  434. data/test/test_gtk_css_provider.rb +27 -0
  435. data/test/test_gtk_entry.rb +52 -0
  436. data/test/test_gtk_header_bar.rb +66 -0
  437. data/test/test_gtk_icon_theme.rb +31 -0
  438. data/test/test_gtk_icon_view.rb +41 -0
  439. data/test/test_gtk_image.rb +8 -0
  440. data/test/test_gtk_level_bar.rb +82 -0
  441. data/test/test_gtk_list_store.rb +105 -0
  442. data/test/test_gtk_menu_button.rb +49 -0
  443. data/test/test_gtk_menu_item.rb +13 -0
  444. data/test/test_gtk_recent_data.rb +24 -0
  445. data/test/test_gtk_recent_filter_info.rb +26 -0
  446. data/test/test_gtk_revealer.rb +57 -0
  447. data/test/test_gtk_search_bar.rb +55 -0
  448. data/test/test_gtk_search_entry.rb +34 -0
  449. data/test/test_gtk_stack.rb +115 -0
  450. data/test/test_gtk_stack_switcher.rb +30 -0
  451. data/test/test_gtk_style_context.rb +30 -0
  452. data/test/test_gtk_style_properties.rb +38 -0
  453. data/test/test_gtk_tree_path.rb +20 -0
  454. data/test/test_gtk_tree_selection.rb +31 -0
  455. data/test/test_gtk_unix_print.rb +14 -0
  456. data/test/test_gtk_widget.rb +24 -0
  457. metadata +582 -0
@@ -0,0 +1,79 @@
1
+ =begin header
2
+
3
+ menu.rb - a part of testgtk.c rewritten in Ruby/GTK2
4
+
5
+ Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
6
+
7
+ $Id: menu.rb,v 1.6 2005/07/18 17:13:32 mutoh Exp $
8
+
9
+ =end
10
+
11
+ require 'sample'
12
+
13
+ class MenuSample < SampleWindow
14
+ def initialize
15
+ super("menus")
16
+ signal_connect("delete_event") do true end
17
+
18
+ box = Gtk::VBox.new(false, 10)
19
+ add(box)
20
+
21
+ menubar = Gtk::MenuBar.new
22
+ box.pack_start(menubar, false, true, 0)
23
+
24
+ menu = create_menu(2, true)
25
+
26
+ menuitem = Gtk::MenuItem.new("test\nline2")
27
+ menuitem.set_submenu(menu)
28
+ menubar.append(menuitem)
29
+
30
+ menuitem = Gtk::MenuItem.new("foo")
31
+ menuitem.set_submenu(create_menu(3, true))
32
+ menubar.append(menuitem)
33
+
34
+ menuitem = Gtk::MenuItem.new("bar")
35
+ menuitem.set_submenu(create_menu(4, true))
36
+ menuitem.right_justified = true
37
+ menubar.append(menuitem)
38
+
39
+ optionmenu = Gtk::OptionMenu.new
40
+ optionmenu.set_menu(create_menu(1, false))
41
+ optionmenu.history = 4
42
+ box.add(optionmenu)
43
+
44
+ box.add(Gtk::HSeparator.new)
45
+
46
+ button = Gtk::Button.new("close")
47
+ button.signal_connect("clicked"){destroy}
48
+
49
+ box.add(button)
50
+
51
+ button.set_flags(Gtk::Widget::CAN_DEFAULT)
52
+ button.grab_default
53
+ end
54
+ private
55
+ def create_menu(depth, tearoff)
56
+ return nil if depth < 1
57
+
58
+ menu = Gtk::Menu.new
59
+ group = nil
60
+
61
+ if tearoff then
62
+ menuitem = Gtk::TearoffMenuItem.new
63
+ menu.append(menuitem)
64
+ end
65
+
66
+ for i in 0..4
67
+ j = i + 1
68
+ buf = sprintf("item %2d - %d", depth, j)
69
+ menuitem = Gtk::RadioMenuItem.new(group, buf)
70
+ group = menuitem.group
71
+ menu.append(menuitem)
72
+ menuitem.set_sensitive(false) if i == 3
73
+ submenu = create_menu(depth - 1, true)
74
+ menuitem.set_submenu(submenu) unless submenu.nil?
75
+ end
76
+
77
+ menu
78
+ end
79
+ end
@@ -0,0 +1,280 @@
1
+ =begin header
2
+
3
+ notebook.rb - a part of testgtk.c rewritten in Ruby/GTK2
4
+
5
+ Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
6
+
7
+ $Id: notebook.rb,v 1.11 2005/07/18 17:13:32 mutoh Exp $
8
+
9
+ Rewritten by TAKAHASHI Hitoshi <thitoshi@ne.scphys.kyoto-u.ac.jp>
10
+
11
+ Original Copyright:
12
+
13
+ GTK - The GIMP Toolkit
14
+ Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
15
+
16
+ This library is free software; you can redistribute it and/or
17
+ modify it under the terms of the GNU Library General Public
18
+ License as published by the Free Software Foundation; either
19
+ version 2 of the License, or (at your option) any later version.
20
+
21
+ This library is distributed in the hope that it will be useful,
22
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
23
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
+ Library General Public License for more details.
25
+
26
+ You should have received a copy of the GNU Library General Public
27
+ License along with this library; if not, write to the
28
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
29
+ Boston, MA 02111-1307, USA.
30
+
31
+ =end
32
+
33
+ require 'sample'
34
+
35
+ $book_open_xpm = [
36
+ "16 16 4 1",
37
+ " c None s None",
38
+ ". c black",
39
+ "X c #808080",
40
+ "o c white",
41
+ " ",
42
+ " .. ",
43
+ " .Xo. ... ",
44
+ " .Xoo. ..oo. ",
45
+ " .Xooo.Xooo... ",
46
+ " .Xooo.oooo.X. ",
47
+ " .Xooo.Xooo.X. ",
48
+ " .Xooo.oooo.X. ",
49
+ " .Xooo.Xooo.X. ",
50
+ " .Xooo.oooo.X. ",
51
+ " .Xoo.Xoo..X. ",
52
+ " .Xo.o..ooX. ",
53
+ " .X..XXXXX. ",
54
+ " ..X....... ",
55
+ " .. ",
56
+ " "
57
+ ]
58
+
59
+ $book_closed_xpm = [
60
+ "16 16 6 1",
61
+ " c None s None",
62
+ ". c black",
63
+ "X c red",
64
+ "o c yellow",
65
+ "O c #808080",
66
+ "# c white",
67
+ " ",
68
+ " .. ",
69
+ " ..XX. ",
70
+ " ..XXXXX. ",
71
+ " ..XXXXXXXX. ",
72
+ ".ooXXXXXXXXX. ",
73
+ "..ooXXXXXXXXX. ",
74
+ ".X.ooXXXXXXXXX. ",
75
+ ".XX.ooXXXXXX.. ",
76
+ " .XX.ooXXX..#O ",
77
+ " .XX.oo..##OO. ",
78
+ " .XX..##OO.. ",
79
+ " .X.#OO.. ",
80
+ " ..O.. ",
81
+ " .. ",
82
+ " "
83
+ ]
84
+
85
+ class NotebookSample < SampleWindow
86
+ def initialize
87
+ super("notebook")
88
+
89
+ vbox = Gtk::VBox.new(false, 0)
90
+ add(vbox)
91
+
92
+ @notebook = Gtk::Notebook.new
93
+ @notebook.signal_connect("switch_page") do |widget, page, num_page|
94
+ unless destroyed?
95
+ page_switch(widget, page, num_page)
96
+ end
97
+ end
98
+ @notebook.tab_pos = :top # Gtk::PositionType::TOP
99
+ vbox.add(@notebook)
100
+ @notebook.border_width = 10
101
+
102
+ @notebook.realize
103
+
104
+ @book_open = Gdk::Pixbuf.new($book_open_xpm)
105
+ @book_closed = Gdk::Pixbuf.new($book_closed_xpm)
106
+
107
+ create_pages(1, 5)
108
+
109
+ vbox.add(Gtk::HSeparator.new)
110
+
111
+ cbutton1 = Gtk::CheckButton.new("popup menu")
112
+ vbox.add(cbutton1)
113
+ cbutton1.signal_connect("clicked"){
114
+ @notebook.enable_popup = cbutton1.active?
115
+ }
116
+
117
+ hbox = Gtk::HBox.new(false, 5)
118
+ hbox.border_width = 10
119
+ vbox.pack_start(hbox, false, false, 0)
120
+
121
+ label = Gtk::Label.new("Notebook Style :")
122
+ hbox.add(label)
123
+
124
+ =begin
125
+ omenu = build_option_menu([
126
+ OptionMenuItem.new("Standard", proc { standard_notebook }),
127
+ OptionMenuItem.new("No tabs", proc { notabs_notebook }),
128
+ OptionMenuItem.new("Scrollable", proc { scrollable_notebook }) ], 0)
129
+
130
+ hbox.add(omenu)
131
+ =end
132
+
133
+ button = Gtk::Button.new("Show all Pages")
134
+
135
+ hbox.add(button)
136
+ button.signal_connect('clicked'){
137
+ @notebook.each do |w|
138
+ w.show
139
+ end
140
+ }
141
+
142
+ hbox = Gtk::HBox.new(true, 10)
143
+ hbox.set_border_width(10)
144
+ vbox.pack_start(hbox, false, true, 0)
145
+
146
+ button = Gtk::Button.new("prev")
147
+ button.signal_connect("clicked"){
148
+ @notebook.prev_page
149
+ }
150
+ hbox.pack_start(button, true, true, 0)
151
+
152
+ button = Gtk::Button.new("next")
153
+ button.signal_connect("clicked"){
154
+ @notebook.next_page
155
+ }
156
+ hbox.pack_start(button, true, true, 0)
157
+
158
+ button = Gtk::Button.new("rotate")
159
+ button.signal_connect("clicked"){
160
+ @notebook.tab_pos = (@notebook.tab_pos.to_i + 1) % 4
161
+ }
162
+ hbox.pack_start(button, true, true, 0)
163
+
164
+ vbox.add(Gtk::HSeparator.new)
165
+
166
+ button = Gtk::Button.new("close")
167
+ button.signal_connect("clicked"){destroy}
168
+
169
+ vbox.pack_start(button, false, false, 5)
170
+
171
+ button.can_default = true
172
+ button.grab_default
173
+ end
174
+
175
+ def standard_notebook
176
+ @notebook.set_show_tabs(true)
177
+ @notebook.set_scrollable(false)
178
+ if @notebook.children.size == 15
179
+ 10.times do
180
+ @notebook.remove_page(5)
181
+ end
182
+ end
183
+ end
184
+
185
+ def notabs_notebook
186
+ @notebook.set_show_tabs(false)
187
+ if @notebook.children.size == 15
188
+ 10.times do
189
+ @notebook.remove_page(5)
190
+ end
191
+ end
192
+ end
193
+
194
+ def scrollable_notebook
195
+ @notebook.set_show_tabs(true)
196
+ @notebook.set_scrollable(true)
197
+ if @notebook.children.size == 5
198
+ create_pages(6, 15)
199
+ end
200
+ end
201
+
202
+ def create_pages(start_page, end_page)
203
+ start_page.upto(end_page) do |i|
204
+ buffer = "Page #{i}"
205
+
206
+ child = Gtk::Frame.new(buffer)
207
+ child.border_width = 10
208
+
209
+ vbox = Gtk::VBox.new(true, 0)
210
+ vbox.border_width = 10
211
+ child.add(vbox)
212
+
213
+ hbox = Gtk::HBox.new(true, 0)
214
+ vbox.pack_start(hbox, false, true, 5)
215
+
216
+ button1 = Gtk::CheckButton.new("Fill Tab")
217
+ hbox.pack_start(button1, true, true, 5)
218
+ button1.active = true
219
+ button1.signal_connect('toggled'){
220
+ @notebook.child_set_property(child, :tab_fill, button1.active?)
221
+ }
222
+
223
+ button2 = Gtk::CheckButton.new("Expand Tab")
224
+ hbox.pack_start(button2, true, true, 5)
225
+ button2.signal_connect('toggled'){
226
+ @notebook.child_set_property(child, :tab_expand, button2.active?)
227
+ }
228
+
229
+ =begin
230
+ button3 = Gtk::CheckButton.new("Pack end")
231
+ hbox.pack_start(button3, true, true, 5)
232
+ button3.signal_connect('toggled'){
233
+ expand, fill, pack = @notebook.query_tab_label_packing(child)
234
+ @notebook.set_tab_label_packing(child, expand, fill, button3.active? ? :end : :start)
235
+ }
236
+ =end
237
+
238
+ button = Gtk::Button.new("Hide Page")
239
+ vbox.pack_end(button, false, false, 5)
240
+ button.signal_connect('clicked'){
241
+ child.hide
242
+ }
243
+
244
+ child.show_all
245
+
246
+ label_box = Gtk::HBox.new(false, 0)
247
+ pixwid = Gtk::Image.new(@book_closed, @book_closed_mask)
248
+ label_box.pack_start(pixwid, false, true, 0)
249
+ pixwid.set_padding(3, 1)
250
+ label = Gtk::Label.new(buffer)
251
+ label_box.pack_start(label, false, true, 0)
252
+ label_box.show_all
253
+
254
+ menu_box = Gtk::HBox.new(false, 0)
255
+ pixwid = Gtk::Image.new(@book_closed, @book_closed_mask)
256
+ menu_box.pack_start(pixwid, false, true, 0)
257
+ pixwid.set_padding(3, 1)
258
+ label = Gtk::Label.new(buffer)
259
+ menu_box.pack_start(label, false, true, 0)
260
+ menu_box.show_all
261
+
262
+ @notebook.append_page_menu(child, label_box, menu_box)
263
+ end
264
+ end
265
+
266
+ def set_page_pixmaps(notebook, page_num, pix, mask)
267
+ child = notebook.get_nth_page(page_num)
268
+ label = notebook.get_tab_label(child).children[0].set(pix, mask)
269
+ end
270
+
271
+ def page_switch(notebook, page, page_num)
272
+ old_page_num = notebook.page
273
+ return if (page_num == old_page_num)
274
+ set_page_pixmaps(notebook, page_num, @book_open, @book_open_mask)
275
+ if (old_page_num != -1)
276
+ set_page_pixmaps(notebook, old_page_num, @book_closed, @book_closed_mask)
277
+ end
278
+ end
279
+ end
280
+
@@ -0,0 +1,58 @@
1
+ =begin header
2
+
3
+ pixmap.rb - a part of testgtk.c rewritten in Ruby/GTK2
4
+
5
+ Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
6
+
7
+ Rewritten by Hiroshi IGARASHI <igarashi@ueda.info.waseda.ac.jp>
8
+ $Date: 2005/07/18 17:13:32 $
9
+ $Id: pixmap.rb,v 1.5 2005/07/18 17:13:32 mutoh Exp $
10
+
11
+ Original Copyright:
12
+
13
+ GTK - The GIMP Toolkit
14
+ Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
15
+
16
+ This library is free software; you can redistribute it and/or
17
+ modify it under the terms of the GNU Library General Public
18
+ License as published by the Free Software Foundation; either
19
+ version 2 of the License, or (at your option) any later version.
20
+
21
+ This library is distributed in the hope that it will be useful,
22
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
23
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
+ Library General Public License for more details.
25
+
26
+ You should have received a copy of the GNU Library General Public
27
+ License along with this library; if not, write to the
28
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
29
+ Boston, MA 02111-1307, USA.
30
+
31
+ =end
32
+
33
+ require 'sample'
34
+
35
+ class PixmapSample < SampleWindow
36
+ def initialize
37
+ super("pixmap")
38
+
39
+ vbox = Gtk::VBox.new(false, 0)
40
+ add(vbox)
41
+
42
+ button = Gtk::Button.new
43
+ vbox.pack_start(button, false, false, 10)
44
+
45
+ label = Gtk::Label.new("Pixmap\ntest")
46
+ boxbutton = Gtk::HBox.new(false, 0)
47
+ boxbutton.border_width = 2
48
+ boxbutton.add(Gtk::Image.new("test.xpm"))
49
+ boxbutton.add(label)
50
+ button.add(boxbutton)
51
+
52
+ vbox.add(Gtk::HSeparator.new)
53
+
54
+ button = Gtk::Button.new("close")
55
+ button.signal_connect("clicked"){destroy}
56
+ vbox.pack_start(button, false, false, 10)
57
+ end
58
+ end
@@ -0,0 +1,173 @@
1
+ =begin header
2
+
3
+ progressbar.rb - a part of testgtk.c rewritten in Ruby/GTK2
4
+
5
+ Copyright (C) 2002-2005 Ruby-GNOME2 Project Team
6
+
7
+ $Id: progressbar.rb,v 1.9 2005/07/18 17:13:32 mutoh Exp $
8
+
9
+ Rewritten by Minoru Inachi <inachi@earth.interq.or.jp>
10
+
11
+ Original Copyright:
12
+
13
+ GTK - The GIMP Toolkit
14
+ Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
15
+
16
+ This library is free software; you can redistribute it and/or
17
+ modify it under the terms of the GNU Library General Public
18
+ License as published by the Free Software Foundation; either
19
+ version 2 of the License, or (at your option) any later version.
20
+
21
+ This library is distributed in the hope that it will be useful,
22
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
23
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
+ Library General Public License for more details.
25
+
26
+ You should have received a copy of the GNU Library General Public
27
+ License along with this library; if not, write to the
28
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
29
+ Boston, MA 02111-1307, USA.
30
+
31
+ =end
32
+
33
+ require 'sample'
34
+
35
+ class ProgressBarSample < SampleDialog
36
+
37
+ def initialize
38
+ super("Gtk::ProgressBar")
39
+ set_border_width(10)
40
+
41
+ vbox1 = Gtk::VBox.new(false, 5)
42
+ vbox1.border_width = 10
43
+ child.add(vbox1)
44
+
45
+ frame = Gtk::Frame.new("Progress")
46
+ vbox1.add(frame)
47
+
48
+ vbox2 = Gtk::VBox.new(false, 5)
49
+ frame.add(vbox2)
50
+
51
+ align = Gtk::Alignment.new(0.5, 0.5, 0, 0)
52
+ vbox2.pack_start(align, FALSE, FALSE, 5)
53
+
54
+ @pbar = Gtk::ProgressBar.new
55
+ align.add(@pbar)
56
+ @timer = GLib::Timeout.add(100){progress_timeout}
57
+
58
+ align = Gtk::Alignment.new(0.5, 0.5, 0, 0)
59
+ vbox2.pack_start(align, false, false, 5);
60
+
61
+ hbox = Gtk::HBox.new(false, 5)
62
+ align.add(hbox)
63
+ label = Gtk::Label.new("Label updated by user :")
64
+ hbox.add(label)
65
+ @label = Gtk::Label.new("")
66
+ hbox.add(@label)
67
+
68
+ frame = Gtk::Frame.new("Options")
69
+ vbox1.add(frame)
70
+
71
+ vbox2 = Gtk::VBox.new(false, 5)
72
+ frame.add(vbox2)
73
+
74
+ tab = Gtk::Table.new(3, 2, false)
75
+ vbox2.add(tab)
76
+
77
+ label = Gtk::Label.new("Orientation :");
78
+ tab.attach(label, 0, 1, 0, 1, [:expand, :fill], [:expand, :fill], 5, 5) # Gtk::EXPAND | Gtk::FILL
79
+ label.set_alignment(0, 0.5)
80
+
81
+ =begin
82
+ @omenu1 = build_option_menu(
83
+ [ OptionMenuItem.new("Left-Right", proc { |w| toggle_orientation(w) }),
84
+ OptionMenuItem.new("Right-Left", proc { |w| toggle_orientation(w) }),
85
+ OptionMenuItem.new("Bottom-Top", proc { |w| toggle_orientation(w) }),
86
+ OptionMenuItem.new("Top-Bottom", proc { |w| toggle_orientation(w) })
87
+ ], 0)
88
+ hbox = Gtk::HBox.new(false, 0)
89
+ tab.attach(hbox, 1, 2, 0, 1,
90
+ Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
91
+ 5, 5);
92
+ hbox.add(@omenu1)
93
+ =end
94
+
95
+ check = Gtk::CheckButton.new("Show text")
96
+ check.signal_connect("clicked") do |w| toggle_show_text(w) end
97
+ tab.attach(check, 0, 1, 1, 2, [:expand, :fill], [:expand, :fill], 5, 5)
98
+
99
+ hbox = Gtk::HBox.new(false, 0)
100
+ tab.attach(hbox, 1, 2, 1, 2, [:expand, :fill], [:expand, :fill], 5, 5)
101
+
102
+ label = Gtk::Label.new("Text align :")
103
+ tab.attach(label, 0, 1, 2, 3, [:expand, :fill], [:expand, :fill], 5, 5)
104
+ label.set_alignment(0, 0.5)
105
+
106
+ hbox = Gtk::HBox.new(false, 0)
107
+ tab.attach(hbox, 1, 2, 2, 3, [:expand, :fill], [:expand, :fill], 5, 5)
108
+
109
+ label = Gtk::Label.new("x :")
110
+ hbox.pack_start(label, false, true, 5)
111
+
112
+ adj = Gtk::Adjustment.new(0.5, 0, 1, 0.1, 0.1, 0)
113
+ @x_align_spin = Gtk::SpinButton.new(adj, 0, 1)
114
+ adj.signal_connect("value_changed"){adjust_align}
115
+ hbox.pack_start(@x_align_spin, false, true, 0)
116
+ @x_align_spin.sensitive = false
117
+
118
+ label = Gtk::Label.new("y :")
119
+ hbox.pack_start(label, false, true, 5)
120
+
121
+ adj = Gtk::Adjustment.new(0.5, 0, 1, 0.1, 0.1, 0)
122
+ @y_align_spin = Gtk::SpinButton.new(adj, 0, 1)
123
+ adj.signal_connect("value_changed"){adjust_align}
124
+ hbox.pack_start(@y_align_spin, false, true, 0)
125
+ @y_align_spin.sensitive = false
126
+
127
+ button = Gtk::Button.new("close")
128
+ button.signal_connect("clicked"){
129
+ GLib::Source.remove(@timer)
130
+ destroy
131
+ }
132
+ button.can_default = true
133
+ self.action_area.add(button)
134
+ button.grab_default
135
+ end
136
+
137
+ private
138
+ def toggle_orientation(rmitem)
139
+ return unless rmitem.mapped?
140
+
141
+ i = 3
142
+ group = rmitem.group
143
+ group.each do |g|
144
+ break if g.active?
145
+ i -= 1
146
+ end
147
+
148
+ @pbar.orientation = i
149
+ end
150
+
151
+ private
152
+ def progress_timeout
153
+ new_val = @pbar.fraction + 0.05
154
+ new_val = 0.0 if new_val > 1.0
155
+ @pbar.fraction = new_val
156
+ @label.text = "#{(new_val * 100).to_i}"
157
+ true
158
+ end
159
+
160
+ private
161
+ def toggle_show_text(cbutton)
162
+ @pbar.show_text = cbutton.active?
163
+ @x_align_spin.sensitive = cbutton.active?
164
+ @y_align_spin.sensitive = cbutton.active?
165
+ end
166
+
167
+ private
168
+ def adjust_align
169
+ @pbar.text_xalign = @x_align_spin.value
170
+ @pbar.text_yalign = @y_align_spin.value
171
+ end
172
+
173
+ end