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,22 @@
1
+ =begin
2
+ colorselection.rb - Gtk::ColorSelection sample script.
3
+
4
+ Copyright (C) 2005,2006 Masao Mutoh
5
+ This program is licenced under the same licence as Ruby-GNOME2.
6
+
7
+ $Id: colorselection.rb,v 1.3 2006/06/17 13:18:12 mutoh Exp $
8
+ =end
9
+
10
+ require "gtk3"
11
+
12
+ a = Gtk::ColorSelection.new
13
+ a.has_palette = true
14
+ a.signal_connect("color_changed") do |w|
15
+ unless w.adjusting?
16
+ p w.current_rgba.to_s
17
+ end
18
+ end
19
+
20
+ Gtk::Window.new.add(a).show_all.signal_connect("destroy") {Gtk.main_quit}
21
+
22
+ Gtk.main
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ combo_check.rb - Ruby/GTK sample script.
4
+
5
+ Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: combo_check.rb,v 1.9 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require "gtk3"
12
+
13
+ window = Gtk::Window.new("entry")
14
+ window.border_width = 0
15
+ window.signal_connect("destroy") do
16
+ Gtk.main_quit
17
+ end
18
+
19
+ box1 = Gtk::Box.new(:vertical)
20
+ window.add(box1)
21
+
22
+ box2 = Gtk::Box.new(:vertical, 10)
23
+ box2.border_width = 10
24
+ box1.pack_start(box2)
25
+
26
+ entry = Gtk::Entry.new
27
+ entry.text = "hello world"
28
+ entry.set_editable(false)
29
+ entry.select_region(0, -1)
30
+ box2.pack_start(entry)
31
+
32
+ ## Gtk::ComboBoxText is simpler than Gtk::ComboBox, but has less functions.
33
+ ## Gtk::Combo has been deprecated.
34
+ cb = Gtk::ComboBoxText.new(:entry => true)
35
+ cb.append_text("item0")
36
+ cb.append_text("item1 item1")
37
+ cb.append_text("item2 item2 item2")
38
+ cb.append_text("item3 item3 item3 item3")
39
+ cb.append_text("item4 item4 item4 item4 item4")
40
+ cb.append_text("item5 item5 item5 item5 item5 item5")
41
+ cb.append_text("item6 item6 item6 item6 item6")
42
+ cb.append_text("item7 item7 item7 item7")
43
+ cb.append_text("item8 item8 item8")
44
+ cb.append_text("item9 item9")
45
+ cb.child.text = "hello world"
46
+ cb.child.select_region(0, -1)
47
+ cb.child.set_editable(false)
48
+ box2.pack_start(cb, :expand => true, :fill => true, :padding => 0)
49
+
50
+ check = Gtk::CheckButton.new("Editable")
51
+ box2.pack_start(check, :expand => false, :fill => true, :padding => 0)
52
+ check.signal_connect("toggled") do
53
+ cb.child.set_editable(check.active?)
54
+ entry.set_editable(check.active?)
55
+ end
56
+ check.set_state_flags(Gtk::StateFlags::NORMAL, true)
57
+ ## Run this code to see all of GtkStateFlags ##
58
+ # Gtk::StateFlags.constants.each do |i|
59
+ # p i
60
+ # end
61
+
62
+ box1.pack_start(Gtk::Separator.new(:horizontal))
63
+
64
+ box2 = Gtk::Box.new(:vertical, 10)
65
+ box2.border_width = 10
66
+ box1.pack_start(box2)
67
+
68
+ button = Gtk::Button.new(:label => "close")
69
+ button.signal_connect("clicked") do
70
+ Gtk.main_quit
71
+ end
72
+ box2.pack_start(button)
73
+
74
+ button.can_default = true
75
+ button.grab_default
76
+
77
+ window.show_all
78
+
79
+ Gtk.main
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ combobox.rb - Ruby/GTK sample script.
4
+
5
+ Copyright (c) 2004-2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: combobox.rb,v 1.3 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require "gtk3"
12
+
13
+ if str = Gtk.check_version(3, 10, 7)
14
+ puts "This sample requires GTK+ 3.10.7 or later"
15
+ puts str
16
+ exit
17
+ end
18
+
19
+ window = Gtk::Window.new("Gtk::ComboBox sample")
20
+ window.signal_connect("destroy") {Gtk.main_quit}
21
+
22
+ #
23
+ # Text only
24
+ #
25
+ combo1 = Gtk::ComboBoxText.new
26
+ ["foo", "bar", "fuga", "hoge"].each do |val|
27
+ combo1.append_text(val)
28
+ end
29
+ combo1.active = 1
30
+
31
+ combo1.signal_connect("changed") do
32
+ p "combo1: #{combo1.active}, #{combo1.active_iter[0]}"
33
+ end
34
+
35
+ #
36
+ # Icon and text
37
+ #
38
+ model = Gtk::ListStore.new(Gdk::Pixbuf, String)
39
+ [[Gtk::Stock::QUIT, "quit"],
40
+ [Gtk::Stock::CANCEL, "cancel"],
41
+ [Gtk::Stock::OK, "ok"]].each do |stock, name|
42
+ iter = model.append
43
+ iter[0] = window.render_icon_pixbuf(stock, Gtk::IconSize::IconSize::MENU)
44
+ iter[1] = name
45
+ end
46
+
47
+ combo2 = Gtk::ComboBox.new(:model => model)
48
+
49
+ # column 1
50
+ renderer = Gtk::CellRendererPixbuf.new
51
+ combo2.pack_start(renderer, false)
52
+ combo2.set_attributes(renderer, :pixbuf => 0)
53
+
54
+ # column 2
55
+ renderer = Gtk::CellRendererText.new
56
+ combo2.pack_start(renderer, true)
57
+ combo2.set_attributes(renderer, :text => 1)
58
+
59
+ combo2.active = 2
60
+
61
+ combo2.signal_connect("changed") do
62
+ p "combo2: #{combo2.active}, #{combo2.active_iter[1]}"
63
+ end
64
+
65
+ #
66
+ # Gtk::ComboBoxEntry
67
+ #
68
+ combo3 = Gtk::ComboBoxText.new(:entry => true)
69
+ ["foo", "bar", "fuga", "hoge"].each do |val|
70
+ combo3.append_text(val)
71
+ end
72
+ combo3.active = 1
73
+
74
+ combo3.signal_connect("changed") do
75
+ if combo3.active_iter
76
+ p "combo3: #{combo3.active}, #{combo3.active_iter[0]}"
77
+ end
78
+ end
79
+
80
+ # Show main window
81
+ vbox = Gtk::Box.new(:vertical)
82
+ vbox.add(combo1).add(combo2).add(combo3)
83
+ window.add(vbox).show_all
84
+
85
+ Gtk.main
@@ -0,0 +1,113 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ composited-windows.rb - Sample script translated from http://library.gnome.org/devel/gdk/unstable/gdk-Windows.html#composited-window-example
4
+
5
+ Copyright (c) 2008 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+ =end
8
+
9
+ require 'gtk3'
10
+
11
+ if str = Gtk.check_version(2, 12, 0)
12
+ puts "This sample requires GTK+ 2.12.0 or later."
13
+ puts str
14
+ exit
15
+ end
16
+
17
+ unless Gdk.cairo_available?
18
+ puts "This sample requires Cairo support."
19
+ exit
20
+ end
21
+
22
+
23
+ Gtk.init
24
+
25
+ # Make the widgets
26
+ button = Gtk::Button.new("A Button")
27
+ event = Gtk::EventBox.new
28
+ window = Gtk::Window.new(Gtk::Window::TOPLEVEL)
29
+
30
+ # Put a red background on the window
31
+ window.modify_bg(Gtk::STATE_NORMAL, Gdk::Color.parse("red"))
32
+
33
+ # Set the colourmap for the event box. Must be done before the event box is realised.
34
+ event.colormap = event.screen.rgba_colormap
35
+
36
+ # Set our event box to have a fully-transparent background
37
+ # drawn on it. Currently there is no way to simply tell GTK+
38
+ # that "transparency" is the background colour for a widget.
39
+ event.app_paintable = true
40
+
41
+ event.signal_connect('draw') do |widget, event|
42
+ # This function simply draws a transparency onto a widget on the area
43
+ # for which it receives expose events. This is intended to give the
44
+ # event box a "transparent" background.
45
+ #
46
+ # In order for this to work properly, the widget must have an RGBA
47
+ # colourmap. The widget should also be set as app-paintable since it
48
+ # doesn't make sense for GTK+ to draw a background if we are drawing it
49
+ # (and because GTK+ might actually replace our transparency with its
50
+ # default background colour).
51
+ #
52
+ cr = widget.window.create_cairo_context
53
+ cr.operator = Cairo::OPERATOR_CLEAR
54
+ cr.gdk_region(event.region)
55
+ cr.fill
56
+ false
57
+ end
58
+
59
+ # Put them inside one another
60
+ window.border_width = 10
61
+ window.add(event)
62
+ event.add(button)
63
+
64
+ # Realize and show everything
65
+ window.show_all
66
+
67
+ # Set the event box GdkWindow to be composited.
68
+ # Obviously must be performed after event box is realised.
69
+ event.window.composited = true
70
+
71
+ # Set up the compositing handler.
72
+ # Note that we do _after_ so that the normal (red) background is drawn
73
+ # by gtk before our compositing occurs.
74
+ #
75
+ window.signal_connect_after('draw') do |widget, event|
76
+ # This function performs the actual compositing of the event box onto
77
+ # the already-existing background of the window at 50% normal opacity.
78
+ #
79
+ # In this case we do not want app-paintable to be set on the widget
80
+ # since we want it to draw its own (red) background. Because of this,
81
+ # however, we must ensure that we use #signal_connect_after so that
82
+ # this handler is called after the red has been drawn. If it was
83
+ # called before then GTK would just blindly paint over our work.
84
+ #
85
+ # Note: if the child window has children, then you need a cairo 1.16
86
+ # feature to make this work correctly.
87
+ #
88
+
89
+ # get our child (in this case, the event box)
90
+ child = widget.child
91
+
92
+ # create a cairo context to draw to the window
93
+ cr = widget.window.create_cairo_context
94
+
95
+ # the source data is the (composited) event box
96
+ # NOTICE: next line generates a GTK warning, it is maybe a GTK problem, it is tracked
97
+ # at http://bugzilla.gnome.org/show_bug.cgi?id=526965
98
+ cr.set_source_pixmap(child.window, child.allocation.x, child.allocation.y)
99
+
100
+ # draw no more than our expose event intersects our child
101
+ region = Gdk::Region.new(Gdk::Rectangle.new(child.allocation.x, child.allocation.y, child.allocation.width, child.allocation.height))
102
+ region.intersect(event.region)
103
+ cr.gdk_region(region)
104
+ cr.clip
105
+
106
+ # composite, with a 50% opacity
107
+ cr.operator = Cairo::OPERATOR_OVER
108
+ cr.paint(0.5)
109
+
110
+ false
111
+ end
112
+
113
+ Gtk.main
@@ -0,0 +1,34 @@
1
+ =begin
2
+ cursor.rb - Gdk::Cursor sample script.
3
+
4
+ Copyright (C) 2001-2006 Masao Mutoh
5
+ This program is licenced under the same licence as Ruby-GNOME2.
6
+
7
+ $Id: cursor.rb,v 1.7 2006/06/17 13:18:12 mutoh Exp $
8
+ =end
9
+
10
+ require "gtk3"
11
+
12
+ window = Gtk::Window.new("Gdk::Cursor sample")
13
+ window.signal_connect('destroy') {Gtk.main_quit}
14
+ window.realize
15
+
16
+ button = Gtk::Button.new(:label => "Click!")
17
+ button.use_underline = false
18
+
19
+ cursors = Gdk::Cursor::Type.values - [Gdk::Cursor::Type::CURSOR_IS_PIXMAP]
20
+ cursors -= [Gdk::Cursor::Type::LAST_CURSOR]
21
+
22
+ cnt = 0
23
+ button.signal_connect('clicked') do
24
+ cursor = cursors[cnt]
25
+ p cursor.inspect
26
+ button.set_label(cursor.inspect)
27
+ window.window.set_cursor(Gdk::Cursor.new(cursor))
28
+ cnt += 1
29
+ cnt = 0 if cnt == cursors.size
30
+ end
31
+ window.add(button)
32
+ window.set_default_size(400,100).show_all
33
+
34
+ Gtk.main
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ dialog.rb - Ruby/GTK2 sample script.
4
+
5
+ Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: dialog.rb,v 1.6 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require "gtk3"
12
+
13
+ window = Gtk::Window.new("Gtk::Dialog sample")
14
+ button = Gtk::Button.new(:label => "Create Dialog")
15
+ button.signal_connect("clicked") do
16
+ dialog = Gtk::Dialog.new
17
+ dialog.title = "Gtk::Dialog Sample"
18
+ dialog.transient_for = window
19
+ dialog.set_default_size(300, 300)
20
+ dialog.child.add(Gtk::Label.new("Gtk::Dialog Sample"))
21
+
22
+
23
+ dialog.add_button("OK", Gtk::ResponseType::OK)
24
+ dialog.add_button(Gtk::Stock::CANCEL, Gtk::ResponseType::CANCEL)
25
+ dialog.add_button(Gtk::Stock::CLOSE, Gtk::ResponseType::CLOSE)
26
+ dialog.set_default_response(Gtk::ResponseType::CANCEL)
27
+
28
+ dialog.signal_connect("response") do |widget, response|
29
+ case response
30
+ when Gtk::ResponseType::OK
31
+ p "OK"
32
+ when Gtk::ResponseType::CANCEL
33
+ p "Cancel"
34
+ when Gtk::ResponseType::CLOSE
35
+ p "Close"
36
+ dialog.destroy
37
+ end
38
+ end
39
+ dialog.show_all
40
+ end
41
+
42
+ window.add(button).show_all.signal_connect("destroy") {Gtk.main_quit}
43
+
44
+ Gtk.main
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ dialog2.rb - Ruby/GTK2 sample script.
4
+
5
+ Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: dialog2.rb,v 1.7 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require "gtk3"
12
+
13
+ window = Gtk::Window.new("Gtk::Dialog sample2")
14
+ button = Gtk::Button.new(:label => "Create Dialog")
15
+ button.signal_connect("clicked") do
16
+ dialog = Gtk::Dialog.new(:title =>"Gtk::Dialog Sample 2",
17
+ :parent => window,
18
+ :flags => Gtk::Dialog::Flags::MODAL,
19
+ :buttons => [[Gtk::Stock::OK, Gtk::ResponseType::OK],
20
+ [Gtk::Stock::CANCEL, Gtk::ResponseType::CANCEL]])
21
+ dialog.child.add(Gtk::Label.new("Gtk::Dialog Sample 2"))
22
+ dialog.set_default_size(300, 300)
23
+ dialog.child.show_all
24
+ result = dialog.run
25
+ case result
26
+ when Gtk::ResponseType::OK
27
+ p "OK"
28
+ when Gtk::ResponseType::CANCEL
29
+ p "Cancel"
30
+ end
31
+ dialog.destroy
32
+ end
33
+
34
+ window.add(button).show_all.signal_connect("destroy") {Gtk.main_quit}
35
+
36
+ Gtk.main
@@ -0,0 +1,64 @@
1
+ =begin
2
+ dnd.rb - Drag and Drop sample script.
3
+
4
+ Copyright (C) 2002-2006 Masao Mutoh
5
+ This program is licenced under the same licence as Ruby-GNOME2.
6
+
7
+ $Date: 2006/06/17 13:18:12 $
8
+ $Id: dnd.rb,v 1.9 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+
11
+ require "gtk3"
12
+
13
+ class SrcWindow < Gtk::Window
14
+ def initialize
15
+ super("Source Window")
16
+ @label = Gtk::Label.new("Drag here!")
17
+ add(@label)
18
+ set_default_size(100, 100)
19
+ drag_source_set(Gdk::Window::ModifierType::BUTTON1_MASK |
20
+ Gdk::Window::ModifierType::BUTTON2_MASK,
21
+ [["test", Gtk::Drag::TargetFlags::SAME_APP, 12345]],
22
+ Gdk::DragContext::Action::COPY |
23
+ Gdk::DragContext::Action::MOVE)
24
+ signal_connect("drag-data-get") do |widget, context, selection_data, info, time|
25
+ # selection_data.set("text/uri-list", 8, "hoge.txt")
26
+ selection_data.set(Gdk::Selection::TYPE_STRING, "hoge.txt")
27
+ end
28
+ end
29
+ end
30
+
31
+ class DestWindow < Gtk::Window
32
+ def initialize
33
+ super("Dest Window")
34
+
35
+ @label = Gtk::Label.new("Drop here!")
36
+ add(@label)
37
+ set_default_size(100, 100)
38
+ drag_dest_set(Gtk::Drag::DestDefaults::MOTION |
39
+ Gtk::Drag::DestDefaults::HIGHLIGHT,
40
+ [["test", :same_app, 12345]],
41
+ Gdk::DragContext::Action::COPY |
42
+ Gdk::DragContext::Action::MOVE)
43
+
44
+ signal_connect("drag-data-received") do |widget, context, x, y, selection_data, info, time|
45
+ context.targets.each do |target|
46
+ if target.name == "test" ||
47
+ selection_data.type == Gdk::Selection::TYPE_STRING
48
+ puts selection_data.data
49
+ end
50
+ end
51
+ end
52
+ signal_connect("drag-drop") do |widget, context, x, y, time|
53
+ widget.drag_get_data(context, context.targets[0], time)
54
+ end
55
+ end
56
+ end
57
+
58
+ win1 = SrcWindow.new
59
+ win2 = DestWindow.new
60
+
61
+ win1.show_all.signal_connect("destroy") {Gtk.main_quit}
62
+ win2.show_all.signal_connect("destroy") {Gtk.main_quit}
63
+
64
+ Gtk.main