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,246 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011-2013 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 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 mTreeModel
25
+ #define _SELF(s) (RVAL2GTKTREEMODEL(s))
26
+
27
+ static VALUE
28
+ rg_flags(VALUE self)
29
+ {
30
+ return GTKTREEMODELFLAGS2RVAL(gtk_tree_model_get_flags(_SELF(self)));
31
+ }
32
+
33
+ static VALUE
34
+ rg_n_columns(VALUE self)
35
+ {
36
+ return INT2NUM(gtk_tree_model_get_n_columns(_SELF(self)));
37
+ }
38
+
39
+ static VALUE
40
+ rg_get_column_type(VALUE self, VALUE index)
41
+ {
42
+ return GTYPE2CLASS(gtk_tree_model_get_column_type(_SELF(self),
43
+ NUM2INT(index)));
44
+ }
45
+
46
+ static VALUE
47
+ rg_iter_first(VALUE self)
48
+ {
49
+ VALUE val = Qnil;
50
+ GtkTreeIter iter;
51
+ GtkTreeModel* model = _SELF(self);
52
+ gboolean ret = (gtk_tree_model_get_iter_first(model, &iter));
53
+ iter.user_data3 = model;
54
+
55
+ if (ret) {
56
+ val = GTKTREEITER2RVAL(&iter);
57
+ }
58
+
59
+ return val;
60
+ }
61
+
62
+ static VALUE
63
+ rg_get_iter(VALUE self, VALUE path)
64
+ {
65
+ VALUE val = Qnil;
66
+ GtkTreeIter iter;
67
+ gboolean ret;
68
+ GtkTreeModel* model = _SELF(self);
69
+
70
+ if (TYPE(path) == T_STRING){
71
+ ret = gtk_tree_model_get_iter_from_string(model, &iter,
72
+ RVAL2CSTR(path));
73
+ } else {
74
+ ret = gtk_tree_model_get_iter(model, &iter,
75
+ RVAL2GTKTREEPATH(path));
76
+ }
77
+ iter.user_data3 = model;
78
+
79
+ if (ret) {
80
+ val = GTKTREEITER2RVAL(&iter);
81
+ }
82
+
83
+ return val;
84
+ }
85
+
86
+ static VALUE
87
+ rg_get_path(VALUE self, VALUE iter)
88
+ {
89
+ GtkTreePath *path;
90
+ VALUE rb_path;
91
+ path = gtk_tree_model_get_path(_SELF(self), RVAL2GTKTREEITER(iter));
92
+ rb_path = GTKTREEPATH2RVAL(path);
93
+ gtk_tree_path_free(path);
94
+ return rb_path;
95
+ }
96
+
97
+ static VALUE
98
+ rg_get_value(VALUE self, VALUE iter, VALUE column)
99
+ {
100
+ GValue value = G_VALUE_INIT;
101
+ VALUE ret = Qnil;
102
+ gtk_tree_model_get_value(_SELF(self), RVAL2GTKTREEITER(iter), NUM2INT(column), &value);
103
+ if (G_VALUE_TYPE(&value) != G_TYPE_INVALID){
104
+ ret = GVAL2RVAL(&value);
105
+ g_value_unset(&value);
106
+ }
107
+ return ret;
108
+ }
109
+
110
+ static gboolean
111
+ treemodel_foreach_func(GtkTreeModel *model,
112
+ GtkTreePath *path,
113
+ GtkTreeIter *iter,
114
+ G_GNUC_UNUSED gpointer func)
115
+ {
116
+ iter->user_data3 = model;
117
+ rb_yield(rb_ary_new3(3, GOBJ2RVAL(model), GTKTREEPATH2RVAL(path), GTKTREEITER2RVAL(iter)));
118
+ return FALSE;
119
+ }
120
+
121
+ static VALUE
122
+ rg_each(VALUE self)
123
+ {
124
+ gtk_tree_model_foreach(_SELF(self),
125
+ (GtkTreeModelForeachFunc)treemodel_foreach_func,
126
+ (gpointer)NULL);
127
+ return self;
128
+ }
129
+
130
+ static VALUE
131
+ rg_row_changed(VALUE self, VALUE path, VALUE iter)
132
+ {
133
+ gtk_tree_model_row_changed(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter));
134
+ return self;
135
+ }
136
+
137
+ static VALUE
138
+ rg_row_inserted(VALUE self, VALUE path, VALUE iter)
139
+ {
140
+ gtk_tree_model_row_inserted(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter));
141
+ return self;
142
+ }
143
+
144
+ static VALUE
145
+ rg_row_has_child_toggled(VALUE self, VALUE path, VALUE iter)
146
+ {
147
+ gtk_tree_model_row_has_child_toggled(_SELF(self), RVAL2GTKTREEPATH(path), RVAL2GTKTREEITER(iter));
148
+ return self;
149
+ }
150
+
151
+ static VALUE
152
+ rg_row_deleted(VALUE self, VALUE path)
153
+ {
154
+ gtk_tree_model_row_deleted(_SELF(self), RVAL2GTKTREEPATH(path));
155
+ return self;
156
+ }
157
+
158
+ static VALUE
159
+ rg_rows_reordered(VALUE self, VALUE rbpath, VALUE rbiter, VALUE rbnew_order)
160
+ {
161
+ GtkTreeModel *proxy = _SELF(self);
162
+ GtkTreePath *path = RVAL2GTKTREEPATH(rbpath);
163
+ GtkTreeIter *iter = RVAL2GTKTREEITER(rbiter);
164
+ gint columns = gtk_tree_model_get_n_columns(proxy);
165
+ long n;
166
+ gint *new_order = RVAL2GINTS(rbnew_order, n);
167
+
168
+ if (n != columns) {
169
+ g_free(new_order);
170
+
171
+ rb_raise(rb_eArgError,
172
+ "new order array must contain same number of elements as the number of columns in the store: %ld != %d",
173
+ n, columns);
174
+ }
175
+
176
+ gtk_tree_model_rows_reordered(proxy, path, iter, new_order);
177
+
178
+ g_free(new_order);
179
+
180
+ return self;
181
+ }
182
+
183
+ static VALUE
184
+ rg_iter_is_valid_p(G_GNUC_UNUSED VALUE self, G_GNUC_UNUSED VALUE iter)
185
+ {
186
+ return Qtrue;
187
+ }
188
+
189
+ static VALUE
190
+ signal_func(G_GNUC_UNUSED guint num, const GValue *values)
191
+ {
192
+ GtkTreeModel* model = g_value_get_object(&values[0]);
193
+ GtkTreePath* path = g_value_get_boxed(&values[1]);
194
+ GtkTreeIter* iter = g_value_get_boxed(&values[2]);
195
+ iter->user_data3 = model;
196
+
197
+ return rb_ary_new3(3, GOBJ2RVAL(model), GTKTREEPATH2RVAL(path), GTKTREEITER2RVAL(iter));
198
+ }
199
+
200
+ static VALUE
201
+ signal_rows_reordered_func(G_GNUC_UNUSED guint num, const GValue *values)
202
+ {
203
+ GtkTreeModel* model = g_value_get_object(&values[0]);
204
+ GtkTreePath* path = g_value_get_boxed(&values[1]);
205
+ GtkTreeIter* iter = g_value_get_boxed(&values[2]);
206
+ gint* new_orders = (gint*)g_value_get_pointer(&values[3]);
207
+ gint len = gtk_tree_model_iter_n_children(model, iter);
208
+ VALUE orders = Qnil;
209
+ int i;
210
+
211
+ iter->user_data3 = model;
212
+
213
+ orders = rb_ary_new2(len);
214
+ for (i = 0; i < len; i++, new_orders++) {
215
+ rb_ary_push(orders, INT2NUM(*new_orders));
216
+ }
217
+ return rb_ary_new3(4, GOBJ2RVAL(model), GTKTREEPATH2RVAL(path), GTKTREEITER2RVAL(iter), orders);
218
+ }
219
+
220
+ void
221
+ Init_gtk_treemodel(VALUE mGtk)
222
+ {
223
+ VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(GTK_TYPE_TREE_MODEL, "TreeModel", mGtk);
224
+
225
+ RG_DEF_METHOD(flags, 0);
226
+ RG_DEF_METHOD(n_columns, 0);
227
+ RG_DEF_METHOD(get_column_type, 1);
228
+ RG_DEF_METHOD(iter_first, 0);
229
+ RG_DEF_METHOD(get_iter, 1);
230
+ RG_DEF_METHOD(get_path, 1);
231
+ RG_DEF_METHOD(get_value, 2);
232
+ RG_DEF_METHOD(each, 0);
233
+ RG_DEF_METHOD(row_changed, 2);
234
+ RG_DEF_METHOD(row_inserted, 2);
235
+ RG_DEF_METHOD(row_has_child_toggled, 2);
236
+ RG_DEF_METHOD(row_deleted, 1);
237
+ RG_DEF_METHOD(rows_reordered, 3);
238
+ RG_DEF_METHOD_P(iter_is_valid, 1);
239
+
240
+ G_DEF_CLASS(GTK_TYPE_TREE_MODEL_FLAGS, "Flags", RG_TARGET_NAMESPACE);
241
+
242
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row_changed", (GValToRValSignalFunc)signal_func);
243
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row_inserted", (GValToRValSignalFunc)signal_func);
244
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row_has_child_toggled", (GValToRValSignalFunc)signal_func);
245
+ G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "rows_reordered", (GValToRValSignalFunc)signal_rows_reordered_func);
246
+ }
@@ -0,0 +1,197 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2004,2005 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 cTreeModelFilter
25
+ #define _SELF(s) (RVAL2GTKTREEMODELFILTER(s))
26
+
27
+ static ID id_child_model;
28
+ static ID id_root;
29
+
30
+ static VALUE
31
+ rg_initialize(int argc, VALUE *argv, VALUE self)
32
+ {
33
+ VALUE child_model, root;
34
+ GtkTreeModel* widget;
35
+
36
+ rb_scan_args(argc, argv, "11", &child_model, &root);
37
+
38
+ G_CHILD_SET(self, id_child_model, child_model);
39
+ if (NIL_P(root)){
40
+ widget = gtk_tree_model_filter_new(RVAL2GTKTREEMODEL(child_model),
41
+ (GtkTreePath*)NULL);
42
+ } else {
43
+ G_CHILD_SET(self, id_root, root);
44
+ widget = gtk_tree_model_filter_new(RVAL2GTKTREEMODEL(child_model),
45
+ (GtkTreePath*)RVAL2GTKTREEPATH(root));
46
+ }
47
+
48
+ G_INITIALIZE(self, widget);
49
+ return Qnil;
50
+ }
51
+
52
+ static gboolean
53
+ visible_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
54
+ {
55
+ VALUE ret;
56
+
57
+ iter->user_data3 = model;
58
+ ret = rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(model), GTKTREEITER2RVAL(iter));
59
+ return RVAL2CBOOL(ret);
60
+ }
61
+
62
+ static VALUE
63
+ rg_set_visible_func(VALUE self)
64
+ {
65
+ VALUE func = rb_block_proc();
66
+ G_RELATIVE(self, func);
67
+ gtk_tree_model_filter_set_visible_func(_SELF(self),
68
+ (GtkTreeModelFilterVisibleFunc)visible_func,
69
+ (gpointer)func, NULL);
70
+ return self;
71
+ }
72
+
73
+ static void
74
+ modify_func(GtkTreeModel *model, GtkTreeIter *iter, GValue *value, gint column, gpointer func)
75
+ {
76
+ VALUE ret;
77
+ iter->user_data3 = model;
78
+ ret = rb_funcall((VALUE)func, id_call, 3, GOBJ2RVAL(model), GTKTREEITER2RVAL(iter),
79
+ INT2NUM(column));
80
+ rbgobj_rvalue_to_gvalue(ret, value);
81
+ }
82
+
83
+ /*
84
+ * Should return value
85
+ *
86
+ * e.g.
87
+ * filter.set_modify_func(String) do |model, iter, column|
88
+ * "foo"
89
+ * end
90
+ */
91
+ static VALUE
92
+ rg_set_modify_func(int argc, VALUE *argv, VALUE self)
93
+ {
94
+ VALUE func = rb_block_proc();
95
+ gint i;
96
+ GType* types;
97
+
98
+ if (argc == 0) rb_raise(rb_eArgError, "need more than 1 class type.");
99
+
100
+ types = ALLOCA_N(GType, argc);
101
+
102
+ G_RELATIVE(self, func);
103
+
104
+ for (i = 0; i < argc; i++){
105
+ types[i] = CLASS2GTYPE(argv[i]);
106
+ }
107
+ gtk_tree_model_filter_set_modify_func(_SELF(self),
108
+ argc, types,
109
+ (GtkTreeModelFilterModifyFunc)modify_func,
110
+ (gpointer)func, NULL);
111
+ return self;
112
+ }
113
+
114
+ static VALUE
115
+ rg_set_visible_column(VALUE self, VALUE column)
116
+ {
117
+ gtk_tree_model_filter_set_visible_column(_SELF(self), NUM2INT(column));
118
+ return self;
119
+ }
120
+
121
+ static VALUE
122
+ rg_model(VALUE self)
123
+ {
124
+ return GOBJ2RVAL(gtk_tree_model_filter_get_model(_SELF(self)));
125
+ }
126
+
127
+ static VALUE
128
+ rg_convert_child_iter_to_iter(VALUE self, VALUE child_iter)
129
+ {
130
+ GtkTreeIter filter_iter;
131
+ GtkTreeModelFilter* modelfilter = _SELF(self);
132
+ gtk_tree_model_filter_convert_child_iter_to_iter(modelfilter, &filter_iter,
133
+ RVAL2GTKTREEITER(child_iter));
134
+ filter_iter.user_data3 = gtk_tree_model_filter_get_model(modelfilter);
135
+ return GTKTREEITER2RVAL(&filter_iter);
136
+ }
137
+
138
+ static VALUE
139
+ rg_convert_iter_to_child_iter(VALUE self, VALUE filtered_iter)
140
+ {
141
+ GtkTreeIter child_iter;
142
+ GtkTreeModelFilter* modelfilter = _SELF(self);
143
+ gtk_tree_model_filter_convert_iter_to_child_iter(modelfilter, &child_iter,
144
+ RVAL2GTKTREEITER(filtered_iter));
145
+ child_iter.user_data3 = gtk_tree_model_filter_get_model(modelfilter);
146
+ return GTKTREEITER2RVAL(&child_iter);
147
+ }
148
+
149
+ static VALUE
150
+ rg_convert_child_path_to_path(VALUE self, VALUE child_path)
151
+ {
152
+ return GTKTREEPATH2RVAL(gtk_tree_model_filter_convert_child_path_to_path(
153
+ _SELF(self),
154
+ RVAL2GTKTREEPATH(child_path)));
155
+ }
156
+ static VALUE
157
+ rg_convert_path_to_child_path(VALUE self, VALUE filter_path)
158
+ {
159
+ return GTKTREEPATH2RVAL(gtk_tree_model_filter_convert_path_to_child_path(
160
+ _SELF(self),
161
+ RVAL2GTKTREEPATH(filter_path)));
162
+ }
163
+
164
+ static VALUE
165
+ rg_refilter(VALUE self)
166
+ {
167
+ gtk_tree_model_filter_refilter(_SELF(self));
168
+ return self;
169
+ }
170
+
171
+ static VALUE
172
+ rg_clear_cache(VALUE self)
173
+ {
174
+ gtk_tree_model_filter_clear_cache(_SELF(self));
175
+ return self;
176
+ }
177
+
178
+ void
179
+ Init_gtk_treemodelfilter(VALUE mGtk)
180
+ {
181
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_MODEL_FILTER, "TreeModelFilter", mGtk);
182
+
183
+ id_child_model = rb_intern("child_model");
184
+ id_root = rb_intern("root");
185
+
186
+ RG_DEF_METHOD(initialize, -1);
187
+ RG_DEF_METHOD(set_visible_func, 0);
188
+ RG_DEF_METHOD(set_modify_func, -1);
189
+ RG_DEF_METHOD(set_visible_column, 1);
190
+ RG_DEF_METHOD(model, 0);
191
+ RG_DEF_METHOD(convert_child_iter_to_iter, 1);
192
+ RG_DEF_METHOD(convert_iter_to_child_iter, 1);
193
+ RG_DEF_METHOD(convert_child_path_to_path, 1);
194
+ RG_DEF_METHOD(convert_path_to_child_path, 1);
195
+ RG_DEF_METHOD(refilter, 0);
196
+ RG_DEF_METHOD(clear_cache, 0);
197
+ }
@@ -0,0 +1,111 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2003-2005 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 cTreeModelSort
25
+ #define _SELF(s) (RVAL2GTKTREEMODELSORT(s))
26
+
27
+ static ID id_model;
28
+
29
+ static VALUE
30
+ rg_initialize(VALUE self, VALUE model)
31
+ {
32
+ G_CHILD_SET(self, id_model, model);
33
+ G_INITIALIZE(self,
34
+ gtk_tree_model_sort_new_with_model(RVAL2GTKTREEMODEL(model)));
35
+ return Qnil;
36
+ }
37
+
38
+ static VALUE
39
+ rg_convert_child_path_to_path(VALUE self, VALUE child_path)
40
+ {
41
+ return GTKTREEPATH2RVAL(gtk_tree_model_sort_convert_child_path_to_path(
42
+ _SELF(self),
43
+ RVAL2GTKTREEPATH(child_path)));
44
+ }
45
+
46
+ static VALUE
47
+ rg_convert_child_iter_to_iter(VALUE self, VALUE child_iter)
48
+ {
49
+ GtkTreeIter sort_iter;
50
+ GtkTreeModelSort* modelsort = _SELF(self);
51
+ gtk_tree_model_sort_convert_child_iter_to_iter(modelsort, &sort_iter,
52
+ RVAL2GTKTREEITER(child_iter));
53
+ sort_iter.user_data3 = gtk_tree_model_sort_get_model(modelsort);
54
+ return GTKTREEITER2RVAL(&sort_iter);
55
+ }
56
+
57
+ static VALUE
58
+ rg_convert_path_to_child_path(VALUE self, VALUE sorted_path)
59
+ {
60
+ return GTKTREEPATH2RVAL(gtk_tree_model_sort_convert_path_to_child_path(
61
+ _SELF(self),
62
+ RVAL2GTKTREEPATH(sorted_path)));
63
+ }
64
+
65
+ static VALUE
66
+ rg_convert_iter_to_child_iter(VALUE self, VALUE sorted_iter)
67
+ {
68
+ GtkTreeIter child_iter;
69
+ GtkTreeModelSort* modelsort = _SELF(self);
70
+ gtk_tree_model_sort_convert_iter_to_child_iter(modelsort, &child_iter,
71
+ RVAL2GTKTREEITER(sorted_iter));
72
+ child_iter.user_data3 = gtk_tree_model_sort_get_model(modelsort);
73
+ return GTKTREEITER2RVAL(&child_iter);
74
+ }
75
+
76
+ static VALUE
77
+ rg_reset_default_sort_func(VALUE self)
78
+ {
79
+ gtk_tree_model_sort_reset_default_sort_func(_SELF(self));
80
+ return self;
81
+ }
82
+
83
+ static VALUE
84
+ rg_clear_cache(VALUE self)
85
+ {
86
+ gtk_tree_model_sort_clear_cache(_SELF(self));
87
+ return self;
88
+ }
89
+
90
+ static VALUE
91
+ rg_iter_is_valid_p(VALUE self, VALUE iter)
92
+ {
93
+ return CBOOL2RVAL(gtk_tree_model_sort_iter_is_valid(_SELF(self), RVAL2GTKTREEITER(iter)));
94
+ }
95
+
96
+ void
97
+ Init_gtk_tmodelsort(VALUE mGtk)
98
+ {
99
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_MODEL_SORT, "TreeModelSort", mGtk);
100
+
101
+ id_model = rb_intern("model");
102
+
103
+ RG_DEF_METHOD(initialize, 1);
104
+ RG_DEF_METHOD(convert_child_path_to_path, 1);
105
+ RG_DEF_METHOD(convert_child_iter_to_iter, 1);
106
+ RG_DEF_METHOD(convert_path_to_child_path, 1);
107
+ RG_DEF_METHOD(convert_iter_to_child_iter, 1);
108
+ RG_DEF_METHOD(reset_default_sort_func, 0);
109
+ RG_DEF_METHOD(clear_cache, 0);
110
+ RG_DEF_METHOD_P(iter_is_valid, 1);
111
+ }