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,191 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002-2004 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 2003,2004 Masao Mutoh
6
+ *
7
+ * This library is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * This library is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with this library; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ * MA 02110-1301 USA
21
+ */
22
+
23
+ #include "rbgtk3private.h"
24
+
25
+ #define RG_TARGET_NAMESPACE cTreePath
26
+ #define _SELF(s) (RVAL2GTKTREEPATH(s))
27
+
28
+ static ID id_equal;
29
+
30
+ static VALUE
31
+ rg_initialize(int argc, VALUE *argv, VALUE self)
32
+ {
33
+ VALUE path;
34
+ GtkTreePath* widget;
35
+
36
+ if (argc == 1) {
37
+ path = argv[0];
38
+ if (TYPE(path) == T_STRING){
39
+ widget = gtk_tree_path_new_from_string(RVAL2CSTR(path));
40
+ } else {
41
+ widget = gtk_tree_path_new();
42
+ gtk_tree_path_append_index(widget, NUM2INT(path));
43
+ }
44
+ if (widget == NULL)
45
+ rb_raise(rb_eArgError, "Invalid path %s was passed.", RVAL2CSTR(path));
46
+ } else {
47
+ int i;
48
+ widget = gtk_tree_path_new();
49
+ for (i = 0; i < argc; i++)
50
+ gtk_tree_path_append_index(widget, NUM2INT(argv[i]));
51
+ }
52
+
53
+ G_INITIALIZE(self, widget);
54
+ return Qnil;
55
+ }
56
+
57
+ static VALUE
58
+ rg_to_str(VALUE self)
59
+ {
60
+ gchar* s = gtk_tree_path_to_string(_SELF(self));
61
+ VALUE result = CSTR2RVAL(s);
62
+ g_free(s);
63
+ return result;
64
+ }
65
+
66
+ /* Do we need this ?
67
+ GtkTreePath* gtk_tree_path_new_first (void);
68
+
69
+ Deprecated
70
+ #define gtk_tree_path_new_root ()
71
+ */
72
+
73
+ static VALUE
74
+ rg_append_index(VALUE self, VALUE index)
75
+ {
76
+ gtk_tree_path_append_index(_SELF(self), NUM2INT(index));
77
+ return self;
78
+ }
79
+
80
+ static VALUE
81
+ rg_prepend_index(VALUE self, VALUE index)
82
+ {
83
+ gtk_tree_path_prepend_index(_SELF(self), NUM2INT(index));
84
+ return self;
85
+ }
86
+
87
+ static VALUE
88
+ rg_depth(VALUE self)
89
+ {
90
+ return INT2NUM(gtk_tree_path_get_depth(_SELF(self)));
91
+ }
92
+
93
+ static VALUE
94
+ rg_indices(VALUE self)
95
+ {
96
+ VALUE ary;
97
+ gint i, length;
98
+ gint* indices;
99
+
100
+ length = gtk_tree_path_get_depth(_SELF(self));
101
+ indices = gtk_tree_path_get_indices(_SELF(self));
102
+
103
+ if (indices != NULL) {
104
+ ary = rb_ary_new2(length);
105
+ for (i = 0; i < length; i++) {
106
+ rb_ary_push(ary, INT2NUM(indices[i]));
107
+ }
108
+
109
+ return ary;
110
+ } else {
111
+ return Qnil;
112
+ }
113
+ }
114
+
115
+ static VALUE
116
+ rg_operator_treepath_compare(VALUE self, VALUE other)
117
+ {
118
+ return INT2NUM(gtk_tree_path_compare(_SELF(self), _SELF(other)));
119
+ }
120
+
121
+ static VALUE
122
+ rg_operator_treepath_equal(VALUE self, VALUE other)
123
+ {
124
+ if (!RVAL2CBOOL(rb_funcall(CLASS_OF(self), id_equal, 1, CLASS_OF(other)))) {
125
+ return Qfalse;
126
+ }
127
+
128
+ return CBOOL2RVAL(gtk_tree_path_compare(_SELF(self), _SELF(other)) == 0);
129
+ }
130
+
131
+ static VALUE
132
+ rg_next_bang(VALUE self)
133
+ {
134
+ gtk_tree_path_next(_SELF(self));
135
+ return self;
136
+ }
137
+
138
+ static VALUE
139
+ rg_prev_bang(VALUE self)
140
+ {
141
+ return CBOOL2RVAL(gtk_tree_path_prev(_SELF(self)));
142
+ }
143
+
144
+ static VALUE
145
+ rg_up_bang(VALUE self)
146
+ {
147
+ return CBOOL2RVAL(gtk_tree_path_up(_SELF(self)));
148
+ }
149
+
150
+ static VALUE
151
+ rg_down_bang(VALUE self)
152
+ {
153
+ gtk_tree_path_down(_SELF(self));
154
+ return Qtrue;
155
+ }
156
+
157
+ static VALUE
158
+ rg_ancestor_p(VALUE self, VALUE descendant)
159
+ {
160
+ return CBOOL2RVAL(gtk_tree_path_is_ancestor(_SELF(self), _SELF(descendant)));
161
+ }
162
+
163
+ static VALUE
164
+ rg_descendant_p(VALUE self, VALUE ancestor)
165
+ {
166
+ return CBOOL2RVAL(gtk_tree_path_is_descendant(_SELF(self), _SELF(ancestor)));
167
+ }
168
+
169
+ void
170
+ Init_gtk_treepath(VALUE mGtk)
171
+ {
172
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_PATH, "TreePath", mGtk);
173
+
174
+ id_equal = rb_intern("==");
175
+
176
+ RG_DEF_METHOD(initialize, -1);
177
+ RG_DEF_METHOD(to_str, 0);
178
+ RG_DEF_ALIAS("to_s", "to_str");
179
+ RG_DEF_METHOD(append_index, 1);
180
+ RG_DEF_METHOD(prepend_index, 1);
181
+ RG_DEF_METHOD(depth, 0);
182
+ RG_DEF_METHOD(indices, 0);
183
+ RG_DEF_METHOD_OPERATOR("<=>", treepath_compare, 1);
184
+ RG_DEF_METHOD_OPERATOR("==", treepath_equal, 1);
185
+ RG_DEF_METHOD_BANG(next, 0);
186
+ RG_DEF_METHOD_BANG(prev, 0);
187
+ RG_DEF_METHOD_BANG(up, 0);
188
+ RG_DEF_METHOD_BANG(down, 0);
189
+ RG_DEF_METHOD_P(ancestor, 1);
190
+ RG_DEF_METHOD_P(descendant, 1);
191
+ }
@@ -0,0 +1,140 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002-2006 Masao Mutoh
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
+ * MA 02110-1301 USA
20
+ */
21
+
22
+ #include "rbgtk3private.h"
23
+
24
+ #define RG_TARGET_NAMESPACE cTreeRowReference
25
+ #define _SELF(s) RVAL2GTKTREEROWREFERENCE(s)
26
+
27
+ static ID id_proxy;
28
+ static ID id_model;
29
+ static ID id_path;
30
+
31
+ static VALUE
32
+ rg_initialize(int argc, VALUE *argv, VALUE self)
33
+ {
34
+ VALUE proxy, model, path;
35
+ GtkTreeRowReference* ref;
36
+
37
+ if (argc == 3){
38
+ rb_scan_args(argc, argv, "3", &proxy, &model, &path);
39
+ G_CHILD_SET(self, id_proxy, proxy);
40
+ ref = gtk_tree_row_reference_new_proxy(RVAL2GOBJ(proxy),
41
+ RVAL2GTKTREEMODEL(model),
42
+ RVAL2GTKTREEPATH(path));
43
+ } else {
44
+ rb_scan_args(argc, argv, "2", &model, &path);
45
+ ref = gtk_tree_row_reference_new(RVAL2GTKTREEMODEL(model),
46
+ RVAL2GTKTREEPATH(path));
47
+ }
48
+ if (ref == NULL)
49
+ rb_raise(rb_eArgError, "Invalid arguments were passed.");
50
+
51
+ G_CHILD_SET(self, id_model, model);
52
+ G_CHILD_SET(self, id_path, path);
53
+
54
+ G_INITIALIZE(self, ref);
55
+ return Qnil;
56
+ }
57
+
58
+ static VALUE
59
+ rg_path(VALUE self)
60
+ {
61
+ VALUE ret = GTKTREEPATH2RVAL(gtk_tree_row_reference_get_path(_SELF(self)));
62
+ G_CHILD_SET(self, id_path, ret);
63
+ return ret;
64
+ }
65
+
66
+ static VALUE
67
+ rg_model(VALUE self)
68
+ {
69
+ VALUE ret = GOBJ2RVAL(gtk_tree_row_reference_get_model(_SELF(self)));
70
+ G_CHILD_SET(self, id_model, ret);
71
+ return ret;
72
+ }
73
+
74
+ static VALUE
75
+ rg_valid_p(VALUE self)
76
+ {
77
+ return CBOOL2RVAL(gtk_tree_row_reference_valid(_SELF(self)));
78
+ }
79
+
80
+ static VALUE
81
+ rg_s_inserted(VALUE self, VALUE proxy, VALUE path)
82
+ {
83
+ gtk_tree_row_reference_inserted(RVAL2GOBJ(proxy), RVAL2GTKTREEPATH(path));
84
+ return self;
85
+ }
86
+
87
+ static VALUE
88
+ rg_s_deleted(VALUE self, VALUE proxy, VALUE path)
89
+ {
90
+ gtk_tree_row_reference_deleted(RVAL2GOBJ(proxy), RVAL2GTKTREEPATH(path));
91
+ return self;
92
+ }
93
+
94
+ static VALUE
95
+ rg_s_reordered(VALUE self, VALUE rbproxy, VALUE rbpath, VALUE rbiter, VALUE rbnew_order)
96
+ {
97
+ GObject *proxy = RVAL2GOBJ(rbproxy);
98
+ GtkTreePath *path = RVAL2GTKTREEPATH(rbpath);
99
+ GtkTreeIter *iter = RVAL2GTKTREEITER(rbiter);
100
+ /* TODO: How do we implement this check?
101
+ gint columns = gtk_tree_model_get_n_columns(proxy);
102
+ */
103
+ long n;
104
+ gint *new_order = RVAL2GINTS(rbnew_order, n);
105
+
106
+ /*
107
+ if (n != columns) {
108
+ g_free(new_order);
109
+
110
+ rb_raise(rb_eArgError,
111
+ "new order array must contain same number of elements as the number of columns in the store: %ld != %d",
112
+ n, columns);
113
+ }
114
+ */
115
+
116
+ gtk_tree_row_reference_reordered(proxy, path, iter, new_order);
117
+
118
+ g_free(new_order);
119
+
120
+ return self;
121
+ }
122
+
123
+ void
124
+ Init_gtk_treerowreference(VALUE mGtk)
125
+ {
126
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_ROW_REFERENCE, "TreeRowReference", mGtk);
127
+
128
+ RG_DEF_METHOD(initialize, -1);
129
+ RG_DEF_METHOD(path, 0);
130
+ RG_DEF_METHOD(model, 0);
131
+ RG_DEF_METHOD_P(valid, 0);
132
+
133
+ RG_DEF_SMETHOD(inserted, 2);
134
+ RG_DEF_SMETHOD(deleted, 2);
135
+ RG_DEF_SMETHOD(reordered, 4);
136
+
137
+ id_proxy = rb_intern("proxy");
138
+ id_model = rb_intern("model");
139
+ id_path = rb_intern("path");
140
+ }
@@ -0,0 +1,190 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002-2006 Masao Mutoh
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
+ * MA 02110-1301 USA
20
+ */
21
+
22
+ #include "rbgtk3private.h"
23
+
24
+ #define RG_TARGET_NAMESPACE cTreeSelection
25
+ #define _SELF(s) (RVAL2GTKTREESELECTION(s))
26
+
27
+ static gboolean
28
+ selection_func(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer func)
29
+ {
30
+ return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 4,
31
+ GOBJ2RVAL(selection),
32
+ GOBJ2RVAL(model),
33
+ GTKTREEPATH2RVAL(path),
34
+ CBOOL2RVAL(path_currently_selected)));
35
+ }
36
+
37
+ static VALUE
38
+ rg_set_select_function(VALUE self)
39
+ {
40
+ volatile VALUE func = rb_block_proc();
41
+ G_RELATIVE(self, func);
42
+ gtk_tree_selection_set_select_function(_SELF(self),
43
+ (GtkTreeSelectionFunc)selection_func,
44
+ (gpointer)func, NULL);
45
+ return self;
46
+ }
47
+
48
+ static VALUE
49
+ rg_tree_view(VALUE self)
50
+ {
51
+ return GOBJ2RVAL(gtk_tree_selection_get_tree_view(_SELF(self)));
52
+ }
53
+
54
+ static VALUE
55
+ rg_selected(VALUE self)
56
+ {
57
+ GtkTreeIter iter;
58
+ GtkTreeModel* model;
59
+ gboolean ret = gtk_tree_selection_get_selected(_SELF(self), &model, &iter);
60
+ iter.user_data3 = model;
61
+ return ret ? GTKTREEITER2RVAL(&iter) : Qnil;
62
+ }
63
+
64
+ static void
65
+ foreach_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
66
+ {
67
+ iter->user_data3 = model;
68
+ rb_funcall((VALUE)data, id_call, 3, GOBJ2RVAL(model),
69
+ GTKTREEPATH2RVAL(path), GTKTREEITER2RVAL(iter));
70
+ }
71
+
72
+ static VALUE
73
+ rg_selected_each(VALUE self)
74
+ {
75
+ volatile VALUE func = rb_block_proc();
76
+ gtk_tree_selection_selected_foreach(_SELF(self),
77
+ (GtkTreeSelectionForeachFunc)foreach_func,
78
+ (gpointer)func);
79
+ return self;
80
+ }
81
+
82
+ static VALUE
83
+ rg_select_path(VALUE self, VALUE path)
84
+ {
85
+ gtk_tree_selection_select_path(_SELF(self), RVAL2GTKTREEPATH(path));
86
+ return self;
87
+ }
88
+
89
+ static VALUE
90
+ rg_unselect_path(VALUE self, VALUE path)
91
+ {
92
+ gtk_tree_selection_unselect_path(_SELF(self), RVAL2GTKTREEPATH(path));
93
+ return self;
94
+ }
95
+
96
+ static VALUE
97
+ rg_path_is_selected_p(VALUE self, VALUE path)
98
+ {
99
+ return CBOOL2RVAL(gtk_tree_selection_path_is_selected(_SELF(self), RVAL2GTKTREEPATH(path)));
100
+ }
101
+
102
+ static VALUE
103
+ rg_select_iter(VALUE self, VALUE iter)
104
+ {
105
+ gtk_tree_selection_select_iter(_SELF(self), RVAL2GTKTREEITER(iter));
106
+ return self;
107
+ }
108
+
109
+ static VALUE
110
+ rg_unselect_iter(VALUE self, VALUE iter)
111
+ {
112
+ gtk_tree_selection_unselect_iter(_SELF(self), RVAL2GTKTREEITER(iter));
113
+ return self;
114
+ }
115
+
116
+ static VALUE
117
+ rg_iter_is_selected_p(VALUE self, VALUE iter)
118
+ {
119
+ return CBOOL2RVAL(gtk_tree_selection_iter_is_selected(_SELF(self), RVAL2GTKTREEITER(iter)));
120
+ }
121
+
122
+ static VALUE
123
+ rg_select_all(VALUE self)
124
+ {
125
+ gtk_tree_selection_select_all(_SELF(self));
126
+ return self;
127
+ }
128
+
129
+ static VALUE
130
+ rg_unselect_all(VALUE self)
131
+ {
132
+ gtk_tree_selection_unselect_all(_SELF(self));
133
+ return self;
134
+ }
135
+
136
+ static VALUE
137
+ rg_select_range(VALUE self, VALUE start_path, VALUE end_path)
138
+ {
139
+ gtk_tree_selection_select_range(_SELF(self), RVAL2GTKTREEPATH(start_path),
140
+ RVAL2GTKTREEPATH(end_path));
141
+ return self;
142
+ }
143
+
144
+ static VALUE
145
+ rg_selected_rows(VALUE self)
146
+ {
147
+ GtkTreeModel* model;
148
+ GList* list = gtk_tree_selection_get_selected_rows(_SELF(self), &model);
149
+ VALUE ret = BOXEDGLIST2RVAL(list, GTK_TYPE_TREE_PATH);
150
+ g_list_foreach(list, (GFunc)gtk_tree_path_free, (gpointer)NULL);
151
+ g_list_free(list);
152
+ return ret;
153
+ }
154
+
155
+ static VALUE
156
+ rg_count_selected_rows(VALUE self)
157
+ {
158
+ return INT2NUM(gtk_tree_selection_count_selected_rows(_SELF(self)));
159
+ }
160
+
161
+ static VALUE
162
+ rg_unselect_range(VALUE self, VALUE start_path, VALUE end_path)
163
+ {
164
+ gtk_tree_selection_unselect_range(_SELF(self), RVAL2GTKTREEPATH(start_path),
165
+ RVAL2GTKTREEPATH(end_path));
166
+ return self;
167
+ }
168
+
169
+ void
170
+ Init_gtk_treeselection(VALUE mGtk)
171
+ {
172
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_SELECTION, "TreeSelection", mGtk);
173
+
174
+ RG_DEF_METHOD(set_select_function, 0);
175
+ RG_DEF_METHOD(tree_view, 0);
176
+ RG_DEF_METHOD(selected, 0);
177
+ RG_DEF_METHOD(selected_each, 0);
178
+ RG_DEF_METHOD(select_path, 1);
179
+ RG_DEF_METHOD(unselect_path, 1);
180
+ RG_DEF_METHOD_P(path_is_selected, 1);
181
+ RG_DEF_METHOD(select_iter, 1);
182
+ RG_DEF_METHOD(unselect_iter, 1);
183
+ RG_DEF_METHOD_P(iter_is_selected, 1);
184
+ RG_DEF_METHOD(select_all, 0);
185
+ RG_DEF_METHOD(unselect_all, 0);
186
+ RG_DEF_METHOD(select_range, 2);
187
+ RG_DEF_METHOD(selected_rows, 0);
188
+ RG_DEF_METHOD(count_selected_rows, 0);
189
+ RG_DEF_METHOD(unselect_range, 2);
190
+ }