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,43 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-text.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Text
7
+
8
+ This demo shows how to use GDK and cairo to show text.
9
+ From http://cairographics.org/samples/text.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoText < CairoWindow
15
+ def initialize
16
+ super('cairo text')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.select_font_face("Sans",
21
+ Cairo::FONT_SLANT_NORMAL,
22
+ Cairo::FONT_WEIGHT_BOLD)
23
+ cr.set_font_size(0.35)
24
+
25
+ cr.move_to(0.04, 0.53)
26
+ cr.show_text("Hello")
27
+
28
+ cr.move_to(0.27, 0.65)
29
+ cr.text_path("void")
30
+ cr.set_source_rgba(0.5, 0.5, 1)
31
+ cr.fill_preserve
32
+ cr.set_source_rgba(0, 0, 0)
33
+ cr.set_line_width(0.01)
34
+ cr.stroke
35
+
36
+ # draw helping lines
37
+ cr.set_source_rgba(1,0.2,0.2, 0.6)
38
+ cr.arc(0.04, 0.53, 0.02, 0, 2 * Math::PI)
39
+ cr.arc(0.27, 0.65, 0.02, 0, 2 * Math::PI)
40
+ cr.fill
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,407 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright (c) 2003-2005 Ruby-GNOME2 Project Team
4
+ # This program is licenced under the same licence as Ruby-GNOME2.
5
+ #
6
+ # $Id: changedisplay.rb,v 1.6 2005/07/30 11:22:15 mutoh Exp $
7
+ =begin
8
+ = Change Display
9
+
10
+ Demonstrates migrating a window between different displays and
11
+ screens. A display is a mouse and keyboard with some number of
12
+ associated monitors. A screen is a set of monitors grouped
13
+ into a single physical work area. The neat thing about having
14
+ multiple displays is that they can be on a completely separate
15
+ computers, as long as there is a network connection to the
16
+ computer where the application is running.
17
+
18
+ Only some of the windowing systems where GTK+ runs have the
19
+ concept of multiple displays and screens. (The X Window System
20
+ is the main example.) Other windowing systems can only
21
+ handle one keyboard and mouse, and combine all monitors into
22
+ a single screen.
23
+
24
+ This is a moderately complex example, and demonstrates:
25
+
26
+ - Tracking the currently open displays and screens
27
+
28
+ - Changing the screen for a window
29
+
30
+ - Letting the user choose a window by clicking on it
31
+
32
+ - Using Gtk::ListStore and Gtk::TreeView
33
+
34
+ - Using Gtk::Dialog
35
+ =end
36
+
37
+ require 'common'
38
+
39
+ module Demo
40
+ class ChangeDisplay < Gtk::Dialog
41
+ # These enumerations provide symbolic names for the columns
42
+ # in the two GtkListStore models.
43
+ DISPLAY_COLUMN_NAME, DISPLAY_COLUMN_DISPLAY = 0, 1
44
+ SCREEN_COLUMN_NUMBER, SCREEN_COLUMN_SCREEN = 0, 1
45
+
46
+ # Main entry point. If the dialog for this demo doesn't yet exist, creates
47
+ # it. Otherwise, destroys it.
48
+ def initialize
49
+ @size_group = nil
50
+
51
+ @display_model = nil
52
+ @screen_model = nil
53
+
54
+ @screen_selection = nil
55
+
56
+ @current_display = nil
57
+ @current_screen = nil
58
+
59
+ super(
60
+ :title => 'Change Screen or display',
61
+ :buttons => [
62
+ [:close, :close],
63
+ ['Change', :ok]
64
+ ]
65
+ )
66
+
67
+ set_default_size(300, 400)
68
+ signal_connect('response') do |dialog, response_id|
69
+ if response_id == Gtk::ResponseType::OK
70
+ query_change_display
71
+ else
72
+ destroy
73
+ end
74
+ end
75
+
76
+ vbox = Gtk::Box.new(:vertical, 5)
77
+ vbox.set_border_width(8)
78
+
79
+ self.child.pack_start(vbox, :expand => true, :fill => true)
80
+
81
+ @size_group = Gtk::SizeGroup.new(:horizontal)
82
+
83
+ frame = create_display_frame
84
+ vbox.pack_start(frame, :expand => true, :fill => true)
85
+
86
+ frame = create_screen_frame
87
+ vbox.pack_start(frame, :expand => true, :fill => true)
88
+
89
+ initialize_displays
90
+ end
91
+
92
+ # Adds all currently open displays to our list of displays,
93
+ # and set up a signal connection so that we'll be notified
94
+ # when displays are opened in the future as well.
95
+ def initialize_displays
96
+ manager = Gdk::DisplayManager.get
97
+
98
+ manager.displays.each do |display|
99
+ add_display(display)
100
+ end
101
+
102
+ handler_id = manager.signal_connect('display_opened') do |display|
103
+ add_display(display)
104
+ end
105
+ signal_connect('destroy') do
106
+ manager.signal_handler_disconnect(handler_id)
107
+ end
108
+ end
109
+
110
+ # Fills in the screen list based on the current display
111
+ def fill_screens
112
+ @screen_model.clear
113
+
114
+ if @current_display
115
+ n_screens = @current_display.n_screens
116
+
117
+ n_screens.times do |i|
118
+ iter = @screen_model.append
119
+ iter.set_value(SCREEN_COLUMN_NUMBER, i)
120
+ iter.set_value(SCREEN_COLUMN_SCREEN, @current_display.get_screen(i))
121
+
122
+ if i == 0
123
+ @screen_selection.select_iter(iter)
124
+ end
125
+ end
126
+ end
127
+ end
128
+
129
+ # Creates the 'Display' frame in the main window.
130
+ def create_display_frame
131
+ frame, tree_view, button_vbox = create_frame('Display')
132
+
133
+ button = left_align_button_new('_Open…')
134
+ button.signal_connect('clicked') do
135
+ open_display_cb
136
+ end
137
+ button_vbox.pack_start(button, :expand => false, :fill => false, :padding => 0)
138
+
139
+ button = left_align_button_new('_Close')
140
+ button.signal_connect('clicked') do
141
+ if @current_display
142
+ @current_display.close
143
+ end
144
+ end
145
+ button_vbox.pack_start(button, :expand => false, :fill => false, :padding => 0)
146
+
147
+ @display_model = Gtk::ListStore.new(String, Gdk::Display)
148
+ tree_view.model = @display_model
149
+
150
+ column = Gtk::TreeViewColumn.new('Name',
151
+ Gtk::CellRendererText.new,
152
+ {'text' => DISPLAY_COLUMN_NAME})
153
+ tree_view.append_column(column)
154
+
155
+ selection = tree_view.selection
156
+ selection.signal_connect('changed') do
157
+ display_changed_cb(selection)
158
+ end
159
+
160
+ return frame
161
+ end
162
+
163
+ # Creates the 'Screen' frame in the main window.
164
+ def create_screen_frame
165
+ frame, tree_view, button_vbox = create_frame('Screen')
166
+
167
+ @screen_model = Gtk::ListStore.new(Integer, Gdk::Screen)
168
+ tree_view.model = @screen_model
169
+
170
+ column = Gtk::TreeViewColumn.new('Number',
171
+ Gtk::CellRendererText.new,
172
+ {'text' => SCREEN_COLUMN_NUMBER})
173
+ tree_view.append_column(column)
174
+
175
+ @screen_selection = tree_view.selection
176
+ @screen_selection.signal_connect('changed') do |selection|
177
+ @current_screen = if iter = selection.selected
178
+ iter.get_value(SCREEN_COLUMN_SCREEN)
179
+ else
180
+ nil
181
+ end
182
+ end
183
+
184
+ return frame
185
+ end
186
+
187
+ # This function is used both for creating the 'Display' and
188
+ # 'Screen' frames, since they have a similar structure. The
189
+ # caller hooks up the right context for the value returned
190
+ # in tree_view, and packs any relevant buttons into button_vbox.
191
+ def create_frame(title)
192
+ frame = Gtk::Frame.new(title)
193
+
194
+ hbox = Gtk::Box.new(:horizontal, 8)
195
+ hbox.set_border_width(8)
196
+ frame.add(hbox)
197
+
198
+ scrollwin = Gtk::ScrolledWindow.new
199
+ scrollwin.set_policy(:never, :automatic)
200
+ scrollwin.shadow_type = :in
201
+ hbox.pack_start(scrollwin, :expand => true, :fill => true)
202
+
203
+ tree_view = Gtk::TreeView.new
204
+ tree_view.headers_visible = false
205
+ scrollwin.add(tree_view)
206
+
207
+ selection = tree_view.selection
208
+ selection.mode = :browse
209
+
210
+ button_vbox = Gtk::Box.new(:vertical, 5)
211
+ hbox.pack_start(button_vbox, :expand => false, :fill => false)
212
+
213
+ @size_group.add_widget(button_vbox)
214
+
215
+ return frame, tree_view, button_vbox
216
+ end
217
+
218
+ # If we have a stack of buttons, it often looks better if their contents
219
+ # are left-aligned, rather than centered. This function creates a button
220
+ # and left-aligns it contents.
221
+ def left_align_button_new(label)
222
+ button = Gtk::Button.new(:mnemonic => label)
223
+ button.child.set_alignment(0.0, 0.5)
224
+
225
+ return button
226
+ end
227
+
228
+
229
+ # Prompts the user for a toplevel window to move, and then moves
230
+ # that window to the currently selected display
231
+ def query_change_display
232
+ screen = self.screen
233
+
234
+ toplevel = query_for_toplevel(screen,
235
+ "Please select the toplevel\n"+
236
+ "to move to the new screen")
237
+
238
+ if toplevel
239
+ toplevel.screen = @current_screen
240
+ else
241
+ screen.display.beep
242
+ end
243
+ end
244
+
245
+ # Asks the user to click on a window, then waits for them click
246
+ # the mouse. When the mouse is released, returns the toplevel
247
+ # window under the pointer, or nil, if there is none.
248
+ def query_for_toplevel(screen, prompt)
249
+ toplevel = nil
250
+
251
+ display = screen.display
252
+
253
+ popup = Gtk::Window.new(:popup)
254
+ popup.screen = screen
255
+ popup.modal = true
256
+ popup.window_position = :center
257
+
258
+ frame = Gtk::Frame.new
259
+ frame.set_shadow_type(:out)
260
+ popup.add(frame)
261
+
262
+ label = Gtk::Label.new(prompt)
263
+ label.set_padding(10, 10)
264
+ frame.add(label)
265
+
266
+ popup.show_all
267
+
268
+ # TODO: Gdk::Cursor.new(screen.display, Gdk::Cursor::CROSSHAIR)
269
+ cursor = Gdk::Cursor.new(:crosshair)
270
+
271
+ if Gdk::pointer_grab(
272
+ popup.window,
273
+ false,
274
+ :button_release_mask,
275
+ nil,
276
+ cursor,
277
+ Gdk::Event::CURRENT_TIME
278
+ ) == Gdk::GRAB_SUCCESS
279
+ clicked = false
280
+
281
+ popup.signal_connect('button-release-event') do
282
+ clicked = true
283
+ end
284
+
285
+ # Process events until clicked is set by button_release_event_cb.
286
+ # We pass in may_block = true since we want to wait if there
287
+ # are no events currently.
288
+ until clicked
289
+ Gtk.main_iteration # TODO: GLib::main_context_iteration(nil, true)
290
+
291
+ toplevel = find_toplevel_at_pointer(screen.display)
292
+ if toplevel == popup
293
+ toplevel = nil
294
+ end
295
+ end
296
+
297
+ popup.destroy
298
+ Gdk.flush # Really release the grab
299
+
300
+ return toplevel
301
+ end
302
+ end
303
+
304
+ # Finds the toplevel window under the mouse pointer, if any.
305
+ def find_toplevel_at_pointer(display)
306
+ pointer_window, x, y = display.window_at_pointer
307
+
308
+ # The user data field of a GdkWindow is used to store a pointer
309
+ # to the widget that created it.
310
+ if pointer_window
311
+ widget = pointer_window.user_data
312
+ end
313
+
314
+ return (if widget
315
+ widget.toplevel
316
+ else
317
+ nil
318
+ end)
319
+ end
320
+
321
+ # Called when the user clicks on 'Open...' in the display
322
+ # frame. Prompts for a new display, and then opens a connection
323
+ # to that display.
324
+ def open_display_cb
325
+ dialog = Gtk::Dialog.new(
326
+ :title => 'Open Display',
327
+ :parent => self,
328
+ :flags => :modal,
329
+ :buttons => [
330
+ [:cancel, :cancel],
331
+ [:ok, :ok]
332
+ ]
333
+ )
334
+
335
+ dialog.default_response = Gtk::ResponseType::OK
336
+ display_entry = Gtk::Entry.new
337
+ display_entry.activates_default = true
338
+ dialog_label =
339
+ Gtk::Label.new("Please enter the name of\nthe new display\n")
340
+
341
+ dialog.child.add(dialog_label)
342
+ dialog.child.add(display_entry)
343
+
344
+ display_entry.grab_focus
345
+ dialog.child.show_all
346
+
347
+ result = nil
348
+ until result
349
+ response_id = dialog.run
350
+ break if response_id != Gtk::ResponseType::OK
351
+
352
+ new_screen_name = display_entry.text
353
+
354
+ unless new_screen_name.empty?
355
+ begin
356
+ result = Gdk::Dispaly.open(new_screen_name)
357
+ rescue
358
+ dialog_label.text = "Can't open display :\n\t%s\nplease try another one\n" % [new_screen_name]
359
+ end
360
+ end
361
+ end
362
+ dialog.destroy
363
+ end
364
+
365
+ # Called when the selected row in the display list changes.
366
+ # Updates info.current_display, then refills the list of
367
+ # screens.
368
+ def display_changed_cb(selection)
369
+ @current_display =
370
+ if iter = selection.selected
371
+ iter.get_value(DISPLAY_COLUMN_DISPLAY)
372
+ else
373
+ nil
374
+ end
375
+ fill_screens
376
+ end
377
+
378
+ # Adds a new display to our list of displays, and connects
379
+ # to the 'closed' signal so that we can remove it from the
380
+ # list of displays again.
381
+ def add_display(display)
382
+ iter = @display_model.append
383
+ iter.set_value(DISPLAY_COLUMN_NAME, display.name)
384
+ iter.set_value(DISPLAY_COLUMN_DISPLAY, display)
385
+
386
+ handler_id = display.signal_connect('closed') do
387
+ display_closed_cb(display)
388
+ end
389
+
390
+ signal_connect('destroy') do
391
+ display.signal_handler_disconnect(handler_id)
392
+ end
393
+ end
394
+
395
+ # Called when one of the currently open displays is closed.
396
+ # Remove it from our list of displays.
397
+ def display_closed_cb(display)
398
+ @display_model.each do |model, path, iter|
399
+ tmp_display = iter.get_value( DISPLAY_COLUMN_DISPLAY)
400
+ if tmp_display == display
401
+ @display_model.remove(iter)
402
+ break
403
+ end
404
+ end
405
+ end
406
+ end
407
+ end