gtk3 2.2.5-x64-mingw32 → 3.0.0-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 (582) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -0
  3. data/ext/gtk3/depend +0 -5
  4. data/ext/gtk3/extconf.rb +43 -53
  5. data/ext/gtk3/rb-gtk3-container.c +159 -0
  6. data/ext/gtk3/{rbgtk3util.h → rb-gtk3-private.h} +9 -9
  7. data/ext/gtk3/rb-gtk3-widget.c +71 -0
  8. data/ext/gtk3/rb-gtk3.c +407 -0
  9. data/ext/gtk3/{rbgtk-orientable.c → rb-gtk3.h} +10 -7
  10. data/extconf.rb +25 -9
  11. data/lib/2.0/gtk3.so +0 -0
  12. data/lib/2.1/gtk3.so +0 -0
  13. data/lib/2.2/gtk3.so +0 -0
  14. data/lib/gtk3.rb +70 -9
  15. data/lib/gtk3/about-dialog.rb +34 -0
  16. data/lib/gtk3/action-group.rb +131 -0
  17. data/lib/gtk3/action.rb +27 -0
  18. data/lib/gtk3/binding-set.rb +31 -0
  19. data/lib/gtk3/border.rb +28 -0
  20. data/lib/gtk3/box.rb +40 -0
  21. data/lib/gtk3/builder.rb +91 -0
  22. data/lib/gtk3/button.rb +53 -0
  23. data/lib/gtk3/calendar.rb +24 -0
  24. data/lib/gtk3/cell-layout.rb +31 -0
  25. data/{test/test_gtk_accel_group_entry.rb → lib/gtk3/clipboard.rb} +8 -7
  26. data/lib/gtk3/color-chooser-dialog.rb +27 -0
  27. data/lib/gtk3/combo-box-text.rb +30 -0
  28. data/lib/gtk3/combo-box.rb +55 -0
  29. data/lib/gtk3/container.rb +51 -0
  30. data/lib/gtk3/css-provider.rb +38 -0
  31. data/lib/gtk3/deprecated.rb +193 -99
  32. data/lib/gtk3/dialog.rb +65 -0
  33. data/lib/gtk3/file-chooser-dialog.rb +36 -0
  34. data/lib/gtk3/font-chooser-dialog.rb +27 -0
  35. data/lib/gtk3/gdk-drag-context.rb +29 -0
  36. data/lib/gtk3/gesture-multi-press.rb +31 -0
  37. data/lib/gtk3/icon-theme.rb +28 -0
  38. data/lib/gtk3/icon-view.rb +45 -0
  39. data/lib/gtk3/image.rb +113 -0
  40. data/lib/gtk3/label.rb +54 -0
  41. data/{test/test_gtk_tree_selection.rb → lib/gtk3/level-bar.rb} +13 -12
  42. data/lib/gtk3/list-store.rb +81 -0
  43. data/lib/gtk3/loader.rb +403 -0
  44. data/lib/gtk3/menu-item.rb +33 -0
  45. data/lib/gtk3/message-dialog.rb +49 -0
  46. data/lib/gtk3/paned.rb +37 -0
  47. data/lib/gtk3/radio-action.rb +28 -0
  48. data/lib/gtk3/radio-button.rb +49 -0
  49. data/lib/gtk3/recent-chooser-dialog.rb +38 -0
  50. data/lib/gtk3/scale-button.rb +35 -0
  51. data/{test/test_gtk_allocation.rb → lib/gtk3/scrolled-window.rb} +7 -7
  52. data/lib/gtk3/search-bar.rb +27 -0
  53. data/lib/gtk3/selection-data.rb +42 -0
  54. data/lib/gtk3/spin-button.rb +34 -0
  55. data/lib/gtk3/stack.rb +54 -0
  56. data/lib/gtk3/stock.rb +70 -0
  57. data/lib/gtk3/style-context.rb +26 -0
  58. data/lib/gtk3/style-properties.rb +29 -0
  59. data/lib/gtk3/target-entry.rb +27 -0
  60. data/lib/gtk3/target-list.rb +31 -0
  61. data/lib/gtk3/text-buffer.rb +165 -0
  62. data/lib/gtk3/text-iter.rb +39 -0
  63. data/lib/gtk3/text-tag-table.rb +31 -0
  64. data/lib/gtk3/toggle-action.rb +27 -0
  65. data/lib/gtk3/toggle-button.rb +35 -0
  66. data/lib/gtk3/tool-button.rb +36 -0
  67. data/lib/gtk3/tree-iter.rb +52 -0
  68. data/lib/gtk3/tree-model-filter.rb +45 -0
  69. data/lib/gtk3/tree-model.rb +51 -0
  70. data/lib/gtk3/tree-path.rb +29 -0
  71. data/lib/gtk3/tree-selection.rb +30 -0
  72. data/lib/gtk3/tree-store.rb +59 -0
  73. data/lib/gtk3/tree-view-column.rb +35 -0
  74. data/lib/gtk3/tree-view.rb +41 -0
  75. data/lib/gtk3/ui-manager.rb +35 -0
  76. data/lib/gtk3/version.rb +28 -0
  77. data/lib/gtk3/widget.rb +127 -0
  78. data/lib/gtk3/window.rb +29 -0
  79. data/sample/gtk-demo/TODO +69 -0
  80. data/sample/gtk-demo/application.ui +107 -0
  81. data/sample/gtk-demo/builder.rb +2 -2
  82. data/sample/gtk-demo/{button_box.rb → button-box.rb} +16 -17
  83. data/sample/gtk-demo/common.rb +1 -1
  84. data/sample/gtk-demo/css_accordion.rb +5 -5
  85. data/sample/gtk-demo/css_basics.css +22 -0
  86. data/sample/gtk-demo/css_basics.rb +103 -0
  87. data/sample/gtk-demo/dialog.rb +3 -3
  88. data/sample/gtk-demo/entry_completion.rb +1 -1
  89. data/sample/gtk-demo/hypertext.rb +1 -1
  90. data/sample/gtk-demo/main.rb +65 -91
  91. data/sample/gtk-demo/menus.rb +4 -4
  92. data/sample/gtk-demo/menus.ui +107 -0
  93. data/sample/gtk-demo/sizegroup.rb +1 -1
  94. data/sample/misc/aboutdialog.rb +10 -18
  95. data/sample/misc/aboutdialog2.rb +4 -16
  96. data/sample/misc/alpha-demo.rb +17 -16
  97. data/sample/misc/application.rb +31 -0
  98. data/sample/misc/assistant.rb +3 -5
  99. data/sample/misc/bindings.rb +64 -50
  100. data/sample/misc/builder-from-resource.rb +53 -0
  101. data/sample/misc/builder.rb +29 -0
  102. data/sample/misc/builder.ui +46 -0
  103. data/sample/misc/button.rb +18 -19
  104. data/sample/misc/button2.rb +5 -5
  105. data/sample/misc/buttonbox.rb +2 -4
  106. data/sample/misc/cairo-cursor.rb +37 -0
  107. data/sample/misc/cairo-pong.rb +17 -17
  108. data/sample/misc/calendar.rb +18 -18
  109. data/sample/misc/checkbutton.rb +3 -4
  110. data/sample/misc/colorselection.rb +10 -9
  111. data/sample/misc/{combo_check.rb → combo-check.rb} +1 -3
  112. data/sample/misc/combobox-from-cellrender.rb +48 -0
  113. data/sample/misc/combobox.rb +10 -10
  114. data/sample/misc/cursor.rb +5 -5
  115. data/sample/misc/dialog.rb +3 -4
  116. data/sample/misc/dialog2.rb +5 -6
  117. data/sample/misc/dnd.rb +27 -23
  118. data/sample/misc/dndtreeview.rb +16 -18
  119. data/sample/misc/drag-move.rb +3 -6
  120. data/sample/misc/drawing.rb +74 -86
  121. data/sample/misc/entry.rb +2 -4
  122. data/sample/misc/entrycompletion.rb +5 -5
  123. data/sample/misc/eventbox.rb +58 -0
  124. data/sample/misc/expander.rb +6 -5
  125. data/sample/misc/filechooser.rb +5 -7
  126. data/sample/misc/flowbox.rb +86 -0
  127. data/sample/misc/frame.rb +10 -12
  128. data/sample/misc/gdkscreen.rb +3 -3
  129. data/sample/misc/gtkglarea1.rb +114 -0
  130. data/sample/misc/gtkglarea2.rb +194 -0
  131. data/sample/misc/helloworld.rb +2 -5
  132. data/sample/misc/iconview.rb +9 -9
  133. data/sample/misc/image.rb +7 -6
  134. data/sample/misc/keyboard-grab.rb +34 -0
  135. data/sample/misc/label.rb +10 -11
  136. data/sample/misc/linkbutton.rb +3 -10
  137. data/sample/misc/list-store-usage.rb +96 -0
  138. data/sample/misc/listview.rb +9 -11
  139. data/sample/misc/menu.rb +45 -25
  140. data/sample/misc/{misc_button.rb → misc-button.rb} +15 -14
  141. data/sample/misc/mouse-gesture.rb +35 -42
  142. data/sample/misc/pango-layout.rb +100 -0
  143. data/sample/misc/pointer-grab.rb +36 -0
  144. data/sample/misc/print.rb +202 -201
  145. data/sample/misc/properties.rb +16 -14
  146. data/sample/misc/radiobutton.rb +18 -20
  147. data/sample/misc/recentchooserdialog.rb +8 -10
  148. data/sample/misc/rgtk+cairo.rb +26 -27
  149. data/sample/misc/scalebutton.rb +19 -7
  150. data/sample/misc/simple_window.gresource.xml +6 -0
  151. data/sample/misc/simple_window.ui +16 -0
  152. data/sample/misc/statusicon.rb +11 -14
  153. data/sample/misc/stock.rb +14 -11
  154. data/sample/misc/style-property.rb +76 -0
  155. data/sample/misc/t-gtkplug.rb +11 -14
  156. data/sample/misc/t-gtksocket.rb +19 -18
  157. data/sample/misc/template-from-resource.rb +59 -0
  158. data/sample/misc/template.gresource.xml +6 -0
  159. data/sample/misc/template.ui +16 -0
  160. data/sample/misc/textbuffer-serialize.rb +133 -0
  161. data/sample/misc/threads.rb +54 -13
  162. data/sample/misc/to-drawable.rb +34 -0
  163. data/sample/misc/togglebutton.rb +6 -8
  164. data/sample/misc/toolbar.rb +39 -30
  165. data/sample/misc/tooltips.rb +95 -104
  166. data/sample/misc/{tree_combo.rb → tree-combo.rb} +21 -27
  167. data/sample/misc/{tree_progress.rb → tree-progress.rb} +12 -17
  168. data/sample/misc/treemodelfilter.rb +13 -10
  169. data/sample/misc/treeview.rb +18 -20
  170. data/sample/misc/window.rb +2 -4
  171. data/sample/misc/xbm-cursor.rb +86 -0
  172. data/sample/tutorial/README.md +338 -0
  173. data/sample/tutorial/builder.ui +66 -0
  174. data/sample/tutorial/example-0.rb +32 -0
  175. data/sample/tutorial/example-1.rb +47 -0
  176. data/sample/tutorial/example-2.rb +68 -0
  177. data/sample/tutorial/example-4.rb +41 -0
  178. data/sample/tutorial/exampleapp.desktop +6 -0
  179. data/sample/tutorial/exampleapp.png +0 -0
  180. data/sample/tutorial/exampleapp1/exampleapp.rb +57 -0
  181. data/sample/tutorial/exampleapp2/exampleapp.gresource.xml +6 -0
  182. data/sample/tutorial/exampleapp2/exampleapp.rb +87 -0
  183. data/sample/tutorial/exampleapp2/window.ui +32 -0
  184. data/sample/tutorial/exampleapp3/exampleapp.gresource.xml +6 -0
  185. data/sample/tutorial/exampleapp3/exampleapp.rb +106 -0
  186. data/sample/tutorial/exampleapp3/window.ui +32 -0
  187. data/sample/tutorial/exampleapp4/app-menu.ui +18 -0
  188. data/sample/tutorial/exampleapp4/exampleapp.gresource.xml +7 -0
  189. data/sample/tutorial/exampleapp4/exampleapp.rb +124 -0
  190. data/sample/tutorial/exampleapp4/window.ui +32 -0
  191. data/sample/tutorial/exampleapp5/app-menu.ui +18 -0
  192. data/sample/tutorial/exampleapp5/exampleapp.gresource.xml +7 -0
  193. data/sample/tutorial/exampleapp5/exampleapp.rb +135 -0
  194. data/sample/tutorial/exampleapp5/org.gtk.exampleapp.gschema.xml +20 -0
  195. data/sample/tutorial/exampleapp5/window.ui +32 -0
  196. data/sample/tutorial/exampleapp6/app-menu.ui +18 -0
  197. data/sample/tutorial/exampleapp6/exampleapp.gresource.xml +8 -0
  198. data/sample/tutorial/exampleapp6/exampleapp.rb +168 -0
  199. data/sample/tutorial/exampleapp6/org.gtk.exampleapp.gschema.xml +20 -0
  200. data/sample/tutorial/exampleapp6/prefs.ui +70 -0
  201. data/sample/tutorial/exampleapp6/window.ui +32 -0
  202. data/sample/tutorial/exampleapp7/app-menu.ui +18 -0
  203. data/sample/tutorial/exampleapp7/exampleapp.gresource.xml +8 -0
  204. data/sample/tutorial/exampleapp7/exampleapp.rb +200 -0
  205. data/sample/tutorial/exampleapp7/org.gtk.exampleapp.gschema.xml +20 -0
  206. data/sample/tutorial/exampleapp7/prefs.ui +70 -0
  207. data/sample/tutorial/exampleapp7/window.ui +63 -0
  208. data/sample/tutorial/exampleapp8/app-menu.ui +18 -0
  209. data/sample/tutorial/exampleapp8/exampleapp.gresource.xml +9 -0
  210. data/sample/tutorial/exampleapp8/exampleapp.rb +247 -0
  211. data/sample/tutorial/exampleapp8/gears-menu.ui +12 -0
  212. data/sample/tutorial/exampleapp8/org.gtk.exampleapp.gschema.xml +25 -0
  213. data/sample/tutorial/exampleapp8/prefs.ui +70 -0
  214. data/sample/tutorial/exampleapp8/window.ui +100 -0
  215. data/test/fixture/Rakefile +32 -0
  216. data/test/fixture/gnome-logo-icon.png +0 -0
  217. data/test/fixture/image.gresource +0 -0
  218. data/test/fixture/image.gresource.xml +6 -0
  219. data/test/fixture/simple_window.gresource.xml +6 -0
  220. data/test/fixture/simple_window.ui +16 -0
  221. data/test/gtk-test-utils.rb +46 -4
  222. data/test/run-test.rb +9 -1
  223. data/test/{test_gc.rb → test-gc.rb} +0 -0
  224. data/test/{test_gtk_css_provider.rb → test-gdk-display.rb} +6 -8
  225. data/test/test-gdk-event.rb +24 -0
  226. data/test/test-gdk-screen.rb +42 -0
  227. data/test/{test_gtk_about_dialog.rb → test-gtk-about-dialog.rb} +0 -0
  228. data/test/test-gtk-accel-group.rb +23 -0
  229. data/test/{test_gtk_accel_key.rb → test-gtk-accel-key.rb} +0 -0
  230. data/test/{test_gtk_accessible.rb → test-gtk-accessible.rb} +0 -0
  231. data/test/{test_gtk_action_group.rb → test-gtk-action-bar.rb} +20 -23
  232. data/test/test-gtk-action-group.rb +48 -0
  233. data/test/test-gtk-action.rb +41 -0
  234. data/test/test-gtk-assistant.rb +44 -0
  235. data/test/{test_gtk_border.rb → test-gtk-border.rb} +0 -0
  236. data/test/test-gtk-box.rb +28 -0
  237. data/test/{test_gtk_buildable.rb → test-gtk-buildable.rb} +6 -6
  238. data/test/{test_gtk_builder.rb → test-gtk-builder.rb} +45 -11
  239. data/test/test-gtk-button.rb +54 -0
  240. data/test/test-gtk-cell-layout.rb +35 -0
  241. data/test/test-gtk-color-chooser-dialog.rb +41 -0
  242. data/test/test-gtk-combo-box-text.rb +34 -0
  243. data/test/test-gtk-combo-box.rb +97 -0
  244. data/test/test-gtk-container.rb +171 -0
  245. data/test/test-gtk-css-provider.rb +101 -0
  246. data/test/test-gtk-dialog.rb +74 -0
  247. data/test/{test_gtk_entry.rb → test-gtk-entry.rb} +0 -0
  248. data/test/test-gtk-event-controller.rb +35 -0
  249. data/test/test-gtk-file-chooser-dialog.rb +52 -0
  250. data/test/test-gtk-flow-box.rb +64 -0
  251. data/test/test-gtk-font-chooser-dialog.rb +41 -0
  252. data/test/test-gtk-gesture-multi-press.rb +31 -0
  253. data/test/test-gtk-gesture-pan.rb +32 -0
  254. data/test/test-gtk-gesture-single.rb +40 -0
  255. data/test/test-gtk-gesture.rb +29 -0
  256. data/test/{test_gtk_header_bar.rb → test-gtk-header-bar.rb} +15 -1
  257. data/test/{test_gtk_icon_theme.rb → test-gtk-icon-theme.rb} +0 -0
  258. data/test/{test_gtk_icon_view.rb → test-gtk-icon-view.rb} +24 -3
  259. data/test/test-gtk-image.rb +52 -0
  260. data/test/test-gtk-label.rb +39 -0
  261. data/test/{test_gtk_level_bar.rb → test-gtk-level-bar.rb} +12 -0
  262. data/test/test-gtk-list-store.rb +204 -0
  263. data/test/{test_gtk_menu_button.rb → test-gtk-menu-button.rb} +0 -0
  264. data/test/{test_gtk_menu_item.rb → test-gtk-menu-item.rb} +0 -0
  265. data/test/test-gtk-message-dialog.rb +62 -0
  266. data/test/test-gtk-paned.rb +109 -0
  267. data/test/test-gtk-places-sidebar.rb +68 -0
  268. data/test/test-gtk-radio-action.rb +45 -0
  269. data/test/test-gtk-radio-button.rb +82 -0
  270. data/test/test-gtk-recent-chooser-dialog.rb +53 -0
  271. data/test/{test_gtk_recent_data.rb → test-gtk-recent-data.rb} +0 -0
  272. data/test/{test_gtk_recent_filter_info.rb → test-gtk-recent-filter-info.rb} +1 -1
  273. data/test/test-gtk-recent-info.rb +37 -0
  274. data/test/{test_gtk_revealer.rb → test-gtk-revealer.rb} +0 -0
  275. data/test/test-gtk-scale-button.rb +56 -0
  276. data/test/{test_gtk_search_bar.rb → test-gtk-search-bar.rb} +1 -1
  277. data/test/{test_gtk_search_entry.rb → test-gtk-search-entry.rb} +0 -0
  278. data/test/test-gtk-spin-button.rb +45 -0
  279. data/test/{test_gtk_stack_switcher.rb → test-gtk-stack-switcher.rb} +0 -0
  280. data/test/{test_gtk_stack.rb → test-gtk-stack.rb} +8 -1
  281. data/test/test-gtk-stock.rb +26 -0
  282. data/test/{test_gtk_style_context.rb → test-gtk-style-context.rb} +0 -0
  283. data/test/{test_gtk_style_properties.rb → test-gtk-style-properties.rb} +0 -0
  284. data/test/test-gtk-style-provider.rb +25 -0
  285. data/test/test-gtk-switch.rb +34 -0
  286. data/test/test-gtk-target-entry.rb +37 -0
  287. data/test/test-gtk-text-buffer.rb +151 -0
  288. data/test/{test_gtk_container.rb → test-gtk-text-tag-table.rb} +13 -11
  289. data/test/test-gtk-toggle-action.rb +41 -0
  290. data/test/test-gtk-toggle-button.rb +39 -0
  291. data/test/test-gtk-tool-button.rb +53 -0
  292. data/test/test-gtk-tree-iter.rb +53 -0
  293. data/test/test-gtk-tree-model-filter.rb +55 -0
  294. data/test/test-gtk-tree-path.rb +42 -0
  295. data/test/test-gtk-tree-selection.rb +61 -0
  296. data/test/test-gtk-tree-view-column.rb +71 -0
  297. data/test/test-gtk-tree-view.rb +105 -0
  298. data/test/test-gtk-version.rb +47 -0
  299. data/test/test-gtk-widget.rb +148 -0
  300. data/test/{test_gtk.rb → test-gtk.rb} +0 -0
  301. metadata +256 -332
  302. data/ext/gtk3/conversions.c +0 -34
  303. data/ext/gtk3/gtk3.def +0 -10
  304. data/ext/gtk3/init.c +0 -34
  305. data/ext/gtk3/rbgtk-about-dialog.c +0 -113
  306. data/ext/gtk3/rbgtk-accel-group-entry.c +0 -94
  307. data/ext/gtk3/rbgtk-accel-group.c +0 -199
  308. data/ext/gtk3/rbgtk-accel-key.c +0 -120
  309. data/ext/gtk3/rbgtk-accel-label.c +0 -55
  310. data/ext/gtk3/rbgtk-accel-map.c +0 -135
  311. data/ext/gtk3/rbgtk-accelerator.c +0 -78
  312. data/ext/gtk3/rbgtk-accessible.c +0 -40
  313. data/ext/gtk3/rbgtk-action-bar.c +0 -73
  314. data/ext/gtk3/rbgtk-action-group.c +0 -467
  315. data/ext/gtk3/rbgtk-action.c +0 -205
  316. data/ext/gtk3/rbgtk-activatable.c +0 -30
  317. data/ext/gtk3/rbgtk-adjustment.c +0 -98
  318. data/ext/gtk3/rbgtk-alignment.c +0 -75
  319. data/ext/gtk3/rbgtk-allocation.c +0 -166
  320. data/ext/gtk3/rbgtk-app-chooser-button.c +0 -70
  321. data/ext/gtk3/rbgtk-app-chooser-dialog.c +0 -68
  322. data/ext/gtk3/rbgtk-app-chooser-widget.c +0 -40
  323. data/ext/gtk3/rbgtk-app-chooser.c +0 -47
  324. data/ext/gtk3/rbgtk-application.c +0 -69
  325. data/ext/gtk3/rbgtk-arrow.c +0 -56
  326. data/ext/gtk3/rbgtk-aspect-frame.c +0 -56
  327. data/ext/gtk3/rbgtk-assistant.c +0 -218
  328. data/ext/gtk3/rbgtk-bin.c +0 -42
  329. data/ext/gtk3/rbgtk-binding-set.c +0 -154
  330. data/ext/gtk3/rbgtk-border.c +0 -119
  331. data/ext/gtk3/rbgtk-box.c +0 -146
  332. data/ext/gtk3/rbgtk-buildable.c +0 -96
  333. data/ext/gtk3/rbgtk-builder.c +0 -166
  334. data/ext/gtk3/rbgtk-button-box.c +0 -87
  335. data/ext/gtk3/rbgtk-button.c +0 -93
  336. data/ext/gtk3/rbgtk-calendar.c +0 -118
  337. data/ext/gtk3/rbgtk-cell-editable.c +0 -57
  338. data/ext/gtk3/rbgtk-cell-layout.c +0 -144
  339. data/ext/gtk3/rbgtk-cell-renderer-accel.c +0 -41
  340. data/ext/gtk3/rbgtk-cell-renderer-combo.c +0 -38
  341. data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +0 -41
  342. data/ext/gtk3/rbgtk-cell-renderer-progress.c +0 -38
  343. data/ext/gtk3/rbgtk-cell-renderer-spin.c +0 -39
  344. data/ext/gtk3/rbgtk-cell-renderer-spinner.c +0 -38
  345. data/ext/gtk3/rbgtk-cell-renderer-text.c +0 -48
  346. data/ext/gtk3/rbgtk-cell-renderer-toggle.c +0 -39
  347. data/ext/gtk3/rbgtk-cell-renderer.c +0 -119
  348. data/ext/gtk3/rbgtk-cell-view.c +0 -95
  349. data/ext/gtk3/rbgtk-check-button.c +0 -64
  350. data/ext/gtk3/rbgtk-check-menu-item.c +0 -64
  351. data/ext/gtk3/rbgtk-clip-board.c +0 -389
  352. data/ext/gtk3/rbgtk-color-button.c +0 -55
  353. data/ext/gtk3/rbgtk-color-selection-dialog.c +0 -56
  354. data/ext/gtk3/rbgtk-color-selection.c +0 -219
  355. data/ext/gtk3/rbgtk-combo-box-text.c +0 -138
  356. data/ext/gtk3/rbgtk-combo-box.c +0 -147
  357. data/ext/gtk3/rbgtk-const.c +0 -79
  358. data/ext/gtk3/rbgtk-container.c +0 -788
  359. data/ext/gtk3/rbgtk-css-provider.c +0 -110
  360. data/ext/gtk3/rbgtk-dialog.c +0 -206
  361. data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +0 -108
  362. data/ext/gtk3/rbgtk-drag.c +0 -93
  363. data/ext/gtk3/rbgtk-drawing-area.c +0 -42
  364. data/ext/gtk3/rbgtk-editable.c +0 -149
  365. data/ext/gtk3/rbgtk-entry-buffer.c +0 -87
  366. data/ext/gtk3/rbgtk-entry-completion.c +0 -122
  367. data/ext/gtk3/rbgtk-entry.c +0 -184
  368. data/ext/gtk3/rbgtk-event-box.c +0 -42
  369. data/ext/gtk3/rbgtk-expander.c +0 -49
  370. data/ext/gtk3/rbgtk-file-chooser-button.c +0 -50
  371. data/ext/gtk3/rbgtk-file-chooser-dialog.c +0 -62
  372. data/ext/gtk3/rbgtk-file-chooser-widget.c +0 -40
  373. data/ext/gtk3/rbgtk-file-chooser.c +0 -381
  374. data/ext/gtk3/rbgtk-file-filter.c +0 -128
  375. data/ext/gtk3/rbgtk-file-system-error.c +0 -48
  376. data/ext/gtk3/rbgtk-fixed.c +0 -61
  377. data/ext/gtk3/rbgtk-font-button.c +0 -49
  378. data/ext/gtk3/rbgtk-font-chooser-dialog.c +0 -56
  379. data/ext/gtk3/rbgtk-font-chooser-widget.c +0 -45
  380. data/ext/gtk3/rbgtk-font-chooser.c +0 -78
  381. data/ext/gtk3/rbgtk-frame.c +0 -69
  382. data/ext/gtk3/rbgtk-gdk-event.c +0 -38
  383. data/ext/gtk3/rbgtk-grid.c +0 -105
  384. data/ext/gtk3/rbgtk-handle-box.c +0 -45
  385. data/ext/gtk3/rbgtk-header-bar.c +0 -58
  386. data/ext/gtk3/rbgtk-hsv.c +0 -102
  387. data/ext/gtk3/rbgtk-icon-factory.c +0 -85
  388. data/ext/gtk3/rbgtk-icon-info.c +0 -115
  389. data/ext/gtk3/rbgtk-icon-set.c +0 -84
  390. data/ext/gtk3/rbgtk-icon-size.c +0 -91
  391. data/ext/gtk3/rbgtk-icon-source.c +0 -184
  392. data/ext/gtk3/rbgtk-icon-theme.c +0 -268
  393. data/ext/gtk3/rbgtk-icon-view.c +0 -295
  394. data/ext/gtk3/rbgtk-im-multicontext.c +0 -48
  395. data/ext/gtk3/rbgtk-image-menu-item.c +0 -67
  396. data/ext/gtk3/rbgtk-image.c +0 -162
  397. data/ext/gtk3/rbgtk-imcon-text-simple.c +0 -69
  398. data/ext/gtk3/rbgtk-imcon-text.c +0 -133
  399. data/ext/gtk3/rbgtk-infobar.c +0 -121
  400. data/ext/gtk3/rbgtk-invisible.c +0 -49
  401. data/ext/gtk3/rbgtk-label.c +0 -139
  402. data/ext/gtk3/rbgtk-layout.c +0 -93
  403. data/ext/gtk3/rbgtk-level-bar.c +0 -88
  404. data/ext/gtk3/rbgtk-link-button.c +0 -49
  405. data/ext/gtk3/rbgtk-list-store.c +0 -399
  406. data/ext/gtk3/rbgtk-lock-button.c +0 -50
  407. data/ext/gtk3/rbgtk-menu-button.c +0 -41
  408. data/ext/gtk3/rbgtk-menu-item.c +0 -95
  409. data/ext/gtk3/rbgtk-menu-shell.c +0 -106
  410. data/ext/gtk3/rbgtk-menu-tool-button.c +0 -81
  411. data/ext/gtk3/rbgtk-menu.c +0 -168
  412. data/ext/gtk3/rbgtk-menubar.c +0 -43
  413. data/ext/gtk3/rbgtk-message-dialog.c +0 -74
  414. data/ext/gtk3/rbgtk-misc.c +0 -70
  415. data/ext/gtk3/rbgtk-notebook.c +0 -383
  416. data/ext/gtk3/rbgtk-numerable-icon.c +0 -50
  417. data/ext/gtk3/rbgtk-overlay.c +0 -53
  418. data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +0 -94
  419. data/ext/gtk3/rbgtk-page-setup.c +0 -195
  420. data/ext/gtk3/rbgtk-paned.c +0 -114
  421. data/ext/gtk3/rbgtk-paper-size.c +0 -179
  422. data/ext/gtk3/rbgtk-plug.c +0 -85
  423. data/ext/gtk3/rbgtk-print-context.c +0 -125
  424. data/ext/gtk3/rbgtk-print-job.c +0 -148
  425. data/ext/gtk3/rbgtk-print-operation-preview.c +0 -59
  426. data/ext/gtk3/rbgtk-print-operation.c +0 -149
  427. data/ext/gtk3/rbgtk-print-settings.c +0 -807
  428. data/ext/gtk3/rbgtk-print-unix-dialog.c +0 -90
  429. data/ext/gtk3/rbgtk-printer.c +0 -155
  430. data/ext/gtk3/rbgtk-progress-bar.c +0 -72
  431. data/ext/gtk3/rbgtk-radio-action.c +0 -122
  432. data/ext/gtk3/rbgtk-radio-button.c +0 -89
  433. data/ext/gtk3/rbgtk-radio-menu-item.c +0 -147
  434. data/ext/gtk3/rbgtk-radio-tool-button.c +0 -131
  435. data/ext/gtk3/rbgtk-range.c +0 -68
  436. data/ext/gtk3/rbgtk-recent-action.c +0 -64
  437. data/ext/gtk3/rbgtk-recent-chooser-dialog.c +0 -66
  438. data/ext/gtk3/rbgtk-recent-chooser-menu.c +0 -50
  439. data/ext/gtk3/rbgtk-recent-chooser-widget.c +0 -48
  440. data/ext/gtk3/rbgtk-recent-chooser.c +0 -198
  441. data/ext/gtk3/rbgtk-recent-data.c +0 -188
  442. data/ext/gtk3/rbgtk-recent-filter-info.c +0 -201
  443. data/ext/gtk3/rbgtk-recent-filter.c +0 -169
  444. data/ext/gtk3/rbgtk-recent-info.c +0 -213
  445. data/ext/gtk3/rbgtk-recent-manager.c +0 -134
  446. data/ext/gtk3/rbgtk-revealer.c +0 -42
  447. data/ext/gtk3/rbgtk-scale-button.c +0 -84
  448. data/ext/gtk3/rbgtk-scale.c +0 -97
  449. data/ext/gtk3/rbgtk-scrollable.c +0 -31
  450. data/ext/gtk3/rbgtk-scrollbar.c +0 -52
  451. data/ext/gtk3/rbgtk-scrolled-window.c +0 -122
  452. data/ext/gtk3/rbgtk-search-bar.c +0 -59
  453. data/ext/gtk3/rbgtk-search-entry.c +0 -42
  454. data/ext/gtk3/rbgtk-selection-data.c +0 -281
  455. data/ext/gtk3/rbgtk-selection.c +0 -168
  456. data/ext/gtk3/rbgtk-separator-menu-item.c +0 -39
  457. data/ext/gtk3/rbgtk-separator-tool-item.c +0 -38
  458. data/ext/gtk3/rbgtk-separator.c +0 -44
  459. data/ext/gtk3/rbgtk-settings.c +0 -229
  460. data/ext/gtk3/rbgtk-size-group.c +0 -66
  461. data/ext/gtk3/rbgtk-socket.c +0 -82
  462. data/ext/gtk3/rbgtk-spin-button.c +0 -132
  463. data/ext/gtk3/rbgtk-spinner.c +0 -55
  464. data/ext/gtk3/rbgtk-stack-switcher.c +0 -41
  465. data/ext/gtk3/rbgtk-stack.c +0 -106
  466. data/ext/gtk3/rbgtk-status-bar.c +0 -77
  467. data/ext/gtk3/rbgtk-status-icon.c +0 -122
  468. data/ext/gtk3/rbgtk-stock.c +0 -213
  469. data/ext/gtk3/rbgtk-style-context-gdk-screen.c +0 -61
  470. data/ext/gtk3/rbgtk-style-context.c +0 -411
  471. data/ext/gtk3/rbgtk-style-properties.c +0 -118
  472. data/ext/gtk3/rbgtk-style-provider.c +0 -67
  473. data/ext/gtk3/rbgtk-switch.c +0 -40
  474. data/ext/gtk3/rbgtk-table.c +0 -190
  475. data/ext/gtk3/rbgtk-target-list.c +0 -125
  476. data/ext/gtk3/rbgtk-tearoff-menu-item.c +0 -41
  477. data/ext/gtk3/rbgtk-text-appearance.c +0 -236
  478. data/ext/gtk3/rbgtk-text-attributes.c +0 -326
  479. data/ext/gtk3/rbgtk-text-buffer.c +0 -899
  480. data/ext/gtk3/rbgtk-text-child-anchor.c +0 -56
  481. data/ext/gtk3/rbgtk-text-iter.c +0 -732
  482. data/ext/gtk3/rbgtk-text-mark.c +0 -71
  483. data/ext/gtk3/rbgtk-text-tag-table.c +0 -96
  484. data/ext/gtk3/rbgtk-text-tag.c +0 -68
  485. data/ext/gtk3/rbgtk-text-view.c +0 -336
  486. data/ext/gtk3/rbgtk-theming-engine.c +0 -257
  487. data/ext/gtk3/rbgtk-toggle-action.c +0 -61
  488. data/ext/gtk3/rbgtk-toggle-button.c +0 -87
  489. data/ext/gtk3/rbgtk-toggle-tool-button.c +0 -61
  490. data/ext/gtk3/rbgtk-tool-button.c +0 -66
  491. data/ext/gtk3/rbgtk-tool-item.c +0 -200
  492. data/ext/gtk3/rbgtk-tool-itemgroup.c +0 -70
  493. data/ext/gtk3/rbgtk-tool-shell.c +0 -96
  494. data/ext/gtk3/rbgtk-toolbar.c +0 -118
  495. data/ext/gtk3/rbgtk-tooltip-gdk-display.c +0 -39
  496. data/ext/gtk3/rbgtk-tooltip.c +0 -100
  497. data/ext/gtk3/rbgtk-tree-dragdest.c +0 -28
  498. data/ext/gtk3/rbgtk-tree-dragsource.c +0 -28
  499. data/ext/gtk3/rbgtk-tree-iter.c +0 -258
  500. data/ext/gtk3/rbgtk-tree-model.c +0 -246
  501. data/ext/gtk3/rbgtk-tree-modelfilter.c +0 -197
  502. data/ext/gtk3/rbgtk-tree-modelsort.c +0 -111
  503. data/ext/gtk3/rbgtk-tree-path.c +0 -191
  504. data/ext/gtk3/rbgtk-tree-rowreference.c +0 -140
  505. data/ext/gtk3/rbgtk-tree-selection.c +0 -190
  506. data/ext/gtk3/rbgtk-tree-sortable.c +0 -122
  507. data/ext/gtk3/rbgtk-tree-store.c +0 -330
  508. data/ext/gtk3/rbgtk-tree-view-column.c +0 -256
  509. data/ext/gtk3/rbgtk-tree-view.c +0 -716
  510. data/ext/gtk3/rbgtk-ui-manager.c +0 -189
  511. data/ext/gtk3/rbgtk-viewport.c +0 -44
  512. data/ext/gtk3/rbgtk-volume-button.c +0 -41
  513. data/ext/gtk3/rbgtk-widget-path.c +0 -229
  514. data/ext/gtk3/rbgtk-widget.c +0 -1554
  515. data/ext/gtk3/rbgtk-window-group.c +0 -80
  516. data/ext/gtk3/rbgtk-window.c +0 -565
  517. data/ext/gtk3/rbgtk.c +0 -783
  518. data/ext/gtk3/rbgtk3.h +0 -90
  519. data/ext/gtk3/rbgtk3conversions.h +0 -439
  520. data/ext/gtk3/rbgtk3private.h +0 -300
  521. data/ext/gtk3/rbgtk3util.c +0 -67
  522. data/lib/gtk3/base.rb +0 -67
  523. data/sample/gtk-demo/appwindow.rb +0 -233
  524. data/sample/misc/composited-windows.rb +0 -113
  525. data/sample/misc/itemfactory.rb +0 -73
  526. data/sample/misc/itemfactory2.rb +0 -74
  527. data/sample/misc/keyboard_grab.rb +0 -29
  528. data/sample/misc/pangorenderer.rb +0 -66
  529. data/sample/misc/pointer_grab.rb +0 -34
  530. data/sample/misc/settings.rb +0 -41
  531. data/sample/misc/style_property.rb +0 -67
  532. data/sample/misc/style_property.rc +0 -19
  533. data/sample/misc/textbuffer_serialize.rb +0 -130
  534. data/sample/misc/to_drawable.rb +0 -42
  535. data/sample/misc/uimanager.rb +0 -148
  536. data/sample/misc/uimanager2.rb +0 -91
  537. data/sample/misc/uimanager2.xml +0 -36
  538. data/sample/misc/xbm_cursor.rb +0 -43
  539. data/sample/testgtk/3DRings.xpm +0 -116
  540. data/sample/testgtk/FilesQueue.xpm +0 -98
  541. data/sample/testgtk/Modeller.xpm +0 -117
  542. data/sample/testgtk/README +0 -14
  543. data/sample/testgtk/button.rb +0 -124
  544. data/sample/testgtk/buttonbox.rb +0 -100
  545. data/sample/testgtk/check-n.xpm +0 -21
  546. data/sample/testgtk/check-y.xpm +0 -21
  547. data/sample/testgtk/checkbutton.rb +0 -67
  548. data/sample/testgtk/circles.xbm +0 -46
  549. data/sample/testgtk/colorselect.rb +0 -33
  550. data/sample/testgtk/dialog.rb +0 -48
  551. data/sample/testgtk/entry.rb +0 -73
  552. data/sample/testgtk/filesel.rb +0 -65
  553. data/sample/testgtk/fontselection.rb +0 -56
  554. data/sample/testgtk/labels.rb +0 -74
  555. data/sample/testgtk/layout.rb +0 -108
  556. data/sample/testgtk/marble.xpm +0 -408
  557. data/sample/testgtk/menu.rb +0 -79
  558. data/sample/testgtk/notebook.rb +0 -280
  559. data/sample/testgtk/pixmap.rb +0 -58
  560. data/sample/testgtk/progressbar.rb +0 -173
  561. data/sample/testgtk/radiobutton.rb +0 -61
  562. data/sample/testgtk/range.rb +0 -65
  563. data/sample/testgtk/reparent.rb +0 -91
  564. data/sample/testgtk/sample.rb +0 -80
  565. data/sample/testgtk/savedposition.rb +0 -87
  566. data/sample/testgtk/scrolledwindow.rb +0 -67
  567. data/sample/testgtk/shapedwindow.rb +0 -99
  568. data/sample/testgtk/spinbutton.rb +0 -181
  569. data/sample/testgtk/statusbar.rb +0 -89
  570. data/sample/testgtk/test.xpm +0 -92
  571. data/sample/testgtk/testgtk.rb +0 -176
  572. data/sample/testgtk/testgtkrc +0 -146
  573. data/sample/testgtk/testgtkrc2 +0 -21
  574. data/sample/testgtk/togglebutton.rb +0 -53
  575. data/sample/testgtk/toolbar.rb +0 -82
  576. data/sample/testgtk/tooltips.rb +0 -41
  577. data/sample/testgtk/wmhints.rb +0 -40
  578. data/test/test_gtk_image.rb +0 -8
  579. data/test/test_gtk_list_store.rb +0 -105
  580. data/test/test_gtk_tree_path.rb +0 -20
  581. data/test/test_gtk_unix_print.rb +0 -14
  582. data/test/test_gtk_widget.rb +0 -24
@@ -0,0 +1,194 @@
1
+ =begin
2
+ gtkglarea2.rb draw a triangle using shaders on a grey background
3
+ this script need the opengl-bindings gem from :
4
+ https://github.com/vaiorabbit/ruby-opengl
5
+
6
+ gem install opengl-bindings
7
+
8
+ sources:
9
+ http://antongerdelan.net/opengl/hellotriangle.html
10
+ opengl-bindings/sample/RedBook/varray
11
+ opengl-bindings/sample/GLES/gles.rb
12
+ http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/
13
+ https://developer.gnome.org/gtk3/stable/GtkGLArea.html
14
+ https://www.bassi.io/articles/2015/02/17/using-opengl-with-gtk/
15
+ http://stackoverflow.com/questions/30337845/gldrawarrays-not-working-using-gtkglarea-in-gtk3
16
+ =end
17
+
18
+ require "gtk3"
19
+ require "opengl"
20
+
21
+ unless Gtk::Version.or_later?(3, 16, 0)
22
+ puts "This sample requires GTK+ 3.16.0 or later: #{Gtk::Version::STRING}"
23
+ exit
24
+ end
25
+
26
+ OpenGL.load_lib
27
+
28
+ include OpenGL
29
+
30
+ window = Gtk::Window.new("OpenGL widget shaders test")
31
+
32
+ window.set_size_request(400, 400)
33
+ glarea = Gtk::GLArea.new
34
+
35
+ window.add(glarea)
36
+
37
+ vertex_shader = <<EOF
38
+ #version 400
39
+ in vec3 vp;
40
+ void main () {
41
+ gl_Position = vec4 (vp, 1.0);
42
+ };
43
+ EOF
44
+
45
+ fragment_shader = <<EOF
46
+ #version 400
47
+ out vec4 frag_colour;
48
+ void main () {
49
+ frag_colour = vec4 (0.5, 0.0, 0.5, 1.0);
50
+ };
51
+ EOF
52
+
53
+ def display_compile_shader_log(shader_handle)
54
+ info_log = " " * 1024
55
+ glGetShaderInfoLog(shader_handle, 1023, nil, info_log)
56
+ puts "Shader InfoLog:\n#{info_log}\n"
57
+ end
58
+
59
+ def compile_shader(shader_handle)
60
+ # Compile the vertex shader
61
+ glCompileShader(shader_handle)
62
+ # Check the vertex shader compilation
63
+ compiled_buf = " "
64
+ glGetShaderiv(shader_handle, GL_COMPILE_STATUS, compiled_buf)
65
+ compiled = compiled_buf.unpack("L")[0]
66
+ compiled
67
+ end
68
+
69
+ def setup_shaders(vertex, fragment)
70
+ # Load the shaders sources
71
+ vs_handle = glCreateShader(GL_VERTEX_SHADER)
72
+ fs_handle = glCreateShader(GL_FRAGMENT_SHADER)
73
+
74
+ glShaderSource(vs_handle,
75
+ 1,
76
+ [vertex].pack("p"),
77
+ [vertex.bytesize].pack("I")
78
+ )
79
+
80
+ glShaderSource(fs_handle,
81
+ 1,
82
+ [fragment].pack("p"),
83
+ [fragment.bytesize].pack("I")
84
+ )
85
+
86
+ vert_compiled = compile_shader(vs_handle)
87
+ display_compile_shader_log(vs_handle) if vert_compiled == 0
88
+
89
+ frag_compiled = compile_shader(fs_handle)
90
+ display_compile_shader_log(fs_handle) if frag_compiled == 0
91
+
92
+ return false if vert_compiled == 0 || frag_compiled == 0
93
+
94
+ # Load those 2 shaders (vertex and fragment) into a GPU shader program
95
+ prog_handle = glCreateProgram
96
+ glAttachShader(prog_handle, vs_handle)
97
+ glAttachShader(prog_handle, fs_handle)
98
+
99
+ glLinkProgram(prog_handle)
100
+
101
+ # Check if the program is valid
102
+ linked_buf = " "
103
+ glGetProgramiv(prog_handle, GL_LINK_STATUS, linked_buf)
104
+ linked = linked_buf.unpack("L")[0]
105
+ if linked == 0
106
+ info_log = " " * 1024
107
+ glGetProgramInfoLog(prog_handle, 1023, nil, info_log)
108
+ puts "Program InfoLog:\n#{info_log}\n"
109
+ end
110
+ return false if linked == 0
111
+
112
+ return true, prog_handle
113
+ end
114
+
115
+ shader_program = nil
116
+ gl_vao = nil
117
+
118
+ glarea.signal_connect("realize") do |widget|
119
+ widget.make_current
120
+
121
+ # Check can only be done when we have an OpenGL context
122
+ # https://www.opengl.org/wiki/FAQ#What_is_an_OpenGL_context_and_why_do_you_need_a_window_to_do_GL_rendering.3F
123
+ # https://www.opengl.org/wiki/FAQ#How_do_I_tell_what_version_of_OpenGL_I.27m_using.3F
124
+
125
+ version = glGetString(GL_VERSION).to_s.split(" ").first.split(".").collect(&:to_i)
126
+ unless version[0] >= 3 && version[1] >= 2
127
+ puts "Gtk::GLArea widget require an OpenGL version >= 3.2, your version is #{version[0]}.#{version[1]}"
128
+ exit 1
129
+ end
130
+
131
+ puts "realize"
132
+ # Define a triangle in a vertex buffer ( Vertex Buffer Object)
133
+
134
+ points = [
135
+ 0.0, 0.5, 0.0, # x1, y1, z1
136
+ 0.5, -0.5, 0.0, # x2, y2, z2
137
+ -0.5, -0.5, 0.0 # x3, y3, z3
138
+ ]
139
+ vao_buf = " "
140
+ glGenVertexArrays(1, vao_buf)
141
+ gl_vao = vao_buf.unpack("L")[0]
142
+ glBindVertexArray(gl_vao)
143
+ # We copy those points onto the graphics card in a unit called vertex buffer object (vbo).
144
+ # Create an empty buffer
145
+ vbo_buf = " "
146
+ glGenBuffers(1, vbo_buf)
147
+ g_vbo = vbo_buf.unpack("L")[0]
148
+ # Set the empty buffer as the current OpenGL's state machine by "binding"
149
+ glBindBuffer(GL_ARRAY_BUFFER, g_vbo)
150
+ # Copy the points in the currently bound buffer
151
+ glBufferData(GL_ARRAY_BUFFER,
152
+ 3 * 4 * Fiddle::SIZEOF_FLOAT,
153
+ points.pack("F*"),
154
+ GL_STATIC_DRAW
155
+ )
156
+
157
+ # First attribute buffer : vertices
158
+ glEnableVertexAttribArray(0)
159
+ glVertexAttribPointer(0, # No particular reason for 0
160
+ 3, # size
161
+ GL_FLOAT, # type
162
+ GL_FALSE, # normalized?
163
+ 0, # stride
164
+ 0 # array buffer offset
165
+ )
166
+
167
+ glBindVertexArray(0)
168
+ # Load the shaders:
169
+ _ok, shader_program = setup_shaders(vertex_shader, fragment_shader)
170
+ end
171
+
172
+ glarea.signal_connect("render") do |_widget, _context|
173
+ puts "render"
174
+ glClearColor(0.3, 0.3, 0.3, 1)
175
+ glClear(GL_COLOR_BUFFER_BIT)
176
+ # Set the created shader program as current
177
+ glUseProgram(shader_program)
178
+ glBindVertexArray(gl_vao)
179
+ glDrawArrays(GL_TRIANGLES, 0, 3)
180
+ true
181
+ end
182
+
183
+ glarea.signal_connect("unrealize") do |widget|
184
+ puts "unrealize"
185
+ widget.make_current
186
+ glDeleteVertexArrays(1, [gl_vao].pack("L"))
187
+ glDeleteProgram(shader_program)
188
+ end
189
+
190
+ window.signal_connect("destroy") { Gtk.main_quit }
191
+
192
+ window.show_all
193
+
194
+ Gtk.main
@@ -2,13 +2,11 @@
2
2
  =begin
3
3
  helloworld.rb - Ruby/GTK2 first sample script.
4
4
 
5
- Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
5
+ Copyright (c) 2002-2015 Ruby-GNOME2 Project Team
6
6
  This program is licenced under the same licence as Ruby-GNOME2.
7
-
8
- $Id: helloworld.rb,v 1.7 2006/06/17 13:18:12 mutoh Exp $
9
7
  =end
10
8
 
11
- require 'gtk3'
9
+ require "gtk3"
12
10
 
13
11
  button = Gtk::Button.new(:label => "Hello World")
14
12
  button.signal_connect("clicked") {
@@ -18,7 +16,6 @@ button.signal_connect("clicked") {
18
16
  window = Gtk::Window.new("Hello World sample")
19
17
  window.signal_connect("delete_event") {
20
18
  puts "delete event occurred"
21
- #true
22
19
  false
23
20
  }
24
21
 
@@ -1,26 +1,24 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- iconview.rb - Ruby/GTK2 sample script.
3
+ iconview.rb - Ruby/GTK3 sample script.
4
4
 
5
- Copyright (c) 2005,2006 Ruby-GNOME2 Project Team
5
+ Copyright (c) 2005-2015 Ruby-GNOME2 Project Team
6
6
  This program is licenced under the same licence as Ruby-GNOME2.
7
-
8
- $Id: iconview.rb,v 1.2 2006/06/17 13:18:12 mutoh Exp $
9
7
  =end
10
8
 
11
- require 'gtk3'
9
+ require "gtk3"
12
10
 
13
11
  TEXT_COLUMN = 0
14
12
  PIXBUF_COLUMN = 1
15
13
 
16
14
  model = Gtk::ListStore.new(String, Gdk::Pixbuf)
17
15
 
18
- iv = Gtk::IconView.new(model)
19
-
16
+ iv = Gtk::IconView.new
17
+ iv.set_model(model)
20
18
  iv.text_column = TEXT_COLUMN
21
19
  iv.pixbuf_column = PIXBUF_COLUMN
22
20
 
23
- Dir.glob("../gtk-demo/gnome*.png").each do |f|
21
+ Dir.glob("#{File.expand_path(File.dirname(__FILE__))}/../gtk-demo/gnome*.png").each do |f|
24
22
  iter = model.append
25
23
  iter[TEXT_COLUMN] = File.basename(f)
26
24
  iter[PIXBUF_COLUMN] = Gdk::Pixbuf.new(f)
@@ -33,6 +31,8 @@ end
33
31
 
34
32
  win = Gtk::Window.new("Gtk::IconView sample")
35
33
  win.signal_connect("destroy"){Gtk.main_quit}
36
- win.add(iv).set_default_size(300,300).show_all
34
+ win.add(iv)
35
+ win.set_default_size(300,300)
36
+ win.show_all
37
37
 
38
38
  Gtk.main
data/sample/misc/image.rb CHANGED
@@ -2,13 +2,11 @@
2
2
  =begin
3
3
  image.rb - Ruby/GTK sample script.
4
4
 
5
- Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
5
+ Copyright (c) 2002-2015 Ruby-GNOME2 Project Team
6
6
  This program is licenced under the same licence as Ruby-GNOME2.
7
-
8
- $Id: image.rb,v 1.9 2006/06/17 13:18:12 mutoh Exp $
9
7
  =end
10
8
 
11
- require 'gtk3'
9
+ require "gtk3"
12
10
 
13
11
  window = Gtk::Window.new("Image")
14
12
  window.signal_connect("destroy") do
@@ -25,7 +23,9 @@ box1.add(button)
25
23
  label = Gtk::Label.new("Gtk::Image\ntest")
26
24
  image = Gtk::Image.new(:file => "test.xpm")
27
25
 
28
- box2 = Gtk::Box.new(:horizontal, 5).add(image).add(label)
26
+ box2 = Gtk::Box.new(:horizontal, 5)
27
+ box2.add(image)
28
+ box2.add(label)
29
29
 
30
30
  button.add(box2)
31
31
 
@@ -37,6 +37,7 @@ button.signal_connect("clicked") do
37
37
  end
38
38
  box1.add(button)
39
39
 
40
- window.add(box1).show_all
40
+ window.add(box1)
41
+ window.show_all
41
42
 
42
43
  Gtk.main
@@ -0,0 +1,34 @@
1
+ =begin
2
+ keyboard_grab.rb - Gdk::Window#keyboard_grab/ungrab sample script.
3
+
4
+ Copyright (C) 2001-2006 Masao Mutoh
5
+ This program is licenced under the same licence as Ruby-GNOME.
6
+
7
+ $Date: 2006/06/17 13:18:12 $
8
+ $Id: keyboard_grab.rb,v 1.5 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require "gtk3"
12
+
13
+ window = Gtk::Window.new("Keyboard Grab/Ungrab sample")
14
+
15
+ button1 = Gtk::Button.new(:label => "Grab Keyboard!")
16
+ button2 = Gtk::Button.new(:label => "Ungrab Keyboard!")
17
+
18
+ button1.signal_connect("clicked") do
19
+ Gdk.keyboard_grab(window.window, true, Gdk::CURRENT_TIME)
20
+ end
21
+
22
+ button2.signal_connect("clicked") do
23
+ Gdk.keyboard_ungrab(Gdk::CURRENT_TIME)
24
+ end
25
+
26
+ vbox = Gtk::Box.new(:vertical, 0)
27
+ vbox.add(button1)
28
+ vbox.add(button2)
29
+ window.add(vbox)
30
+ window.set_default_size(200, 100)
31
+ window.show_all
32
+ window.signal_connect("destroy") { Gtk.main_quit }
33
+
34
+ Gtk.main
data/sample/misc/label.rb CHANGED
@@ -1,23 +1,21 @@
1
1
  #!/usr/bin/env ruby
2
2
  =begin
3
- label.rb - Ruby/GTK2 sample script.
3
+ label.rb - Ruby/GTK3 sample script.
4
4
 
5
- Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
5
+ Copyright (c) 2002-2015 Ruby-GNOME2 Project Team
6
6
  This program is licenced under the same licence as Ruby-GNOME2.
7
-
8
- $Id: label.rb,v 1.8 2006/06/17 13:18:12 mutoh Exp $
9
7
  =end
10
8
 
11
- require 'gtk3'
9
+ require "gtk3"
12
10
 
13
11
  win = Gtk::Window.new("Gtk::Label sample")
14
12
  win.signal_connect("destroy"){Gtk.main_quit}
15
- label1 = Gtk::Label.new("_Not Use Mnemonic")
13
+ label1 = Gtk::Label.new("_Not Use Mnemonic", :use_underline => false)
16
14
  label1.selectable = true
17
- label2 = Gtk::Label.new("_Use Mnemonic", true)
18
- label3 = Gtk::Label.new.set_markup(%Q[<markup><span size="xx-large" weight="bold" foreground="blue"><u>Ruby-GNOME2</u></span> is <span foreground="red" size="x-large"><i>cool</i></span>!</markup>], true)
19
- label4 = Gtk::Label.new.set_markup(%Q[<span foreground="#999900">_Not Use Mnemonic</span>])
20
- label5 = Gtk::Label.new.set_markup(%Q[<span foreground="#009999">_Use Mnemonic</span>], true)
15
+ label2 = Gtk::Label.new("_Use Mnemonic", :use_underline => true)
16
+ label3 = Gtk::Label.new.set_markup(%Q[<markup><span size="xx-large" weight="bold" foreground="blue"><u>Ruby-GNOME2</u></span> is <span foreground="red" size="x-large"><i>cool</i></span>!</markup>])
17
+ label4 = Gtk::Label.new.set_markup(%Q[<span foreground="#999900">_Not Use Mnemonic</span>], :use_underline => false)
18
+ label5 = Gtk::Label.new.set_markup(%Q[<span foreground="#009999">_Use Mnemonic</span>], :use_underline => true)
21
19
 
22
20
  box = Gtk::Box.new(:vertical)
23
21
  box.add(label1)
@@ -25,7 +23,8 @@ box.add(label2)
25
23
  box.add(label3)
26
24
  box.add(label4)
27
25
  box.add(label5)
28
- win.add(box).show_all
26
+ win.add(box)
27
+ win.show_all
29
28
 
30
29
  # This can be called after realized only.
31
30
  label1.select_region(3, 8)
@@ -2,18 +2,16 @@
2
2
  =begin
3
3
  linkbutton.rb - Gtk::LinkButton sample.
4
4
 
5
- Copyright (c) 2006 Ruby-GNOME2 Project Team
5
+ Copyright (c) 2006-2015 Ruby-GNOME2 Project Team
6
6
  This program is licenced under the same licence as Ruby-GNOME2.
7
-
8
- $Id: linkbutton.rb,v 1.1 2006/10/21 16:58:00 mutoh Exp $
9
7
  =end
10
8
 
11
- require 'gtk3'
9
+ require "gtk3"
12
10
 
13
11
  window = Gtk::Window.new("Gtk::LinkButton sample")
14
12
  window.signal_connect("destroy"){Gtk.main_quit}
15
13
 
16
- vbox = Gtk::VBox.new
14
+ vbox = Gtk::Box.new(:vertical)
17
15
 
18
16
  # URI only
19
17
  button1 = Gtk::LinkButton.new("http://ruby-gnome2.sourceforge.jp/")
@@ -29,11 +27,6 @@ button2.signal_connect("clicked") do
29
27
  puts button2.uri
30
28
  end
31
29
 
32
- # Global setting instead of using clicked signals.
33
- Gtk::LinkButton.set_uri_hook {|button, link|
34
- puts "set_uri_hook: " + link
35
- }
36
-
37
30
  vbox.pack_start(button2)
38
31
 
39
32
  window.add(vbox)
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ list_store_usage.rb - Ruby/GTK script
4
+ http://ruby-gnome2.osdn.jp/hiki.cgi?Gtk%3A%3AListStore
5
+ https://developer.gnome.org/gtk3/stable/GtkListStore.html
6
+
7
+ Copyright (c) 2015 Ruby-GNOME2 Project Team
8
+ This program is licenced under the same licence as Ruby-GNOME2.
9
+ =end
10
+ require "gtk3"
11
+
12
+ def print_list(list)
13
+ puts ""
14
+ print "\t"
15
+ list.each do |_model, _path, iter|
16
+ print iter[1] + " "
17
+ end
18
+ print "\n"
19
+ puts ""
20
+ end
21
+
22
+ def load_list
23
+ model = Gtk::ListStore.new(TrueClass, String)
24
+
25
+ 4.times do |i|
26
+ model.append.set_values([false, "index#{i}"])
27
+ end
28
+ model
29
+ end
30
+ NOTCH = "-[|]-"
31
+
32
+ # Insert data
33
+ puts "Initial state of the model build with append method"
34
+ model = load_list
35
+ print_list(model)
36
+
37
+ puts "Prepend #{NOTCH}"
38
+ model = load_list
39
+ model.prepend.set_values([true, NOTCH])
40
+ print_list(model)
41
+
42
+ puts "Insert #{NOTCH} at position 3"
43
+ model = load_list
44
+ model.insert(3).set_values([true, NOTCH])
45
+ print_list(model)
46
+
47
+ puts "Insert #{NOTCH} before item at index 2"
48
+ model = load_list
49
+ model.insert_before(model.get_iter("2")).set_values([true, NOTCH])
50
+ print_list(model)
51
+
52
+ puts "Insert #{NOTCH} after item at index 2"
53
+ model = load_list
54
+ model.insert_after(model.get_iter("2")).set_values([true, NOTCH])
55
+ print_list(model)
56
+
57
+ puts "Move iter before position 2 and set #{NOTCH}"
58
+ model = load_list
59
+ iter = model.iter_first
60
+ iter2 = model.get_iter("2")
61
+ model.move_before(iter, iter2)
62
+ iter.set_values([true, NOTCH])
63
+ print_list(model)
64
+
65
+ puts "Move iter after position 2 and set #{NOTCH}"
66
+ model = load_list
67
+ iter = model.iter_first
68
+ iter2 = model.get_iter("2")
69
+ model.move_after(iter, iter2)
70
+ iter.set_values([true, NOTCH])
71
+ print_list(model)
72
+
73
+ # Move data
74
+ puts "Reorder the list"
75
+ model = load_list
76
+ model.reorder([3, 2, 1, 0])
77
+ print_list(model)
78
+
79
+ puts "Swap item at index 1 with item at index 3"
80
+ model = load_list
81
+ model.swap(model.get_iter("1"), model.get_iter("3"))
82
+ print_list(model)
83
+
84
+ # Remove data
85
+
86
+ puts "Remove data at index 2"
87
+ model = load_list
88
+ iter = model.get_iter("2")
89
+ model.remove(iter)
90
+ print_list(model)
91
+
92
+ puts "Clear and add #{NOTCH}"
93
+ model = load_list
94
+ model.clear
95
+ model.append.set_values([true, NOTCH])
96
+ print_list(model)