gtk3 2.2.5-x64-mingw32 → 3.0.0-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -0
  3. data/ext/gtk3/depend +0 -5
  4. data/ext/gtk3/extconf.rb +43 -53
  5. data/ext/gtk3/rb-gtk3-container.c +159 -0
  6. data/ext/gtk3/{rbgtk3util.h → rb-gtk3-private.h} +9 -9
  7. data/ext/gtk3/rb-gtk3-widget.c +71 -0
  8. data/ext/gtk3/rb-gtk3.c +407 -0
  9. data/ext/gtk3/{rbgtk-orientable.c → rb-gtk3.h} +10 -7
  10. data/extconf.rb +25 -9
  11. data/lib/2.0/gtk3.so +0 -0
  12. data/lib/2.1/gtk3.so +0 -0
  13. data/lib/2.2/gtk3.so +0 -0
  14. data/lib/gtk3.rb +70 -9
  15. data/lib/gtk3/about-dialog.rb +34 -0
  16. data/lib/gtk3/action-group.rb +131 -0
  17. data/lib/gtk3/action.rb +27 -0
  18. data/lib/gtk3/binding-set.rb +31 -0
  19. data/lib/gtk3/border.rb +28 -0
  20. data/lib/gtk3/box.rb +40 -0
  21. data/lib/gtk3/builder.rb +91 -0
  22. data/lib/gtk3/button.rb +53 -0
  23. data/lib/gtk3/calendar.rb +24 -0
  24. data/lib/gtk3/cell-layout.rb +31 -0
  25. data/{test/test_gtk_accel_group_entry.rb → lib/gtk3/clipboard.rb} +8 -7
  26. data/lib/gtk3/color-chooser-dialog.rb +27 -0
  27. data/lib/gtk3/combo-box-text.rb +30 -0
  28. data/lib/gtk3/combo-box.rb +55 -0
  29. data/lib/gtk3/container.rb +51 -0
  30. data/lib/gtk3/css-provider.rb +38 -0
  31. data/lib/gtk3/deprecated.rb +193 -99
  32. data/lib/gtk3/dialog.rb +65 -0
  33. data/lib/gtk3/file-chooser-dialog.rb +36 -0
  34. data/lib/gtk3/font-chooser-dialog.rb +27 -0
  35. data/lib/gtk3/gdk-drag-context.rb +29 -0
  36. data/lib/gtk3/gesture-multi-press.rb +31 -0
  37. data/lib/gtk3/icon-theme.rb +28 -0
  38. data/lib/gtk3/icon-view.rb +45 -0
  39. data/lib/gtk3/image.rb +113 -0
  40. data/lib/gtk3/label.rb +54 -0
  41. data/{test/test_gtk_tree_selection.rb → lib/gtk3/level-bar.rb} +13 -12
  42. data/lib/gtk3/list-store.rb +81 -0
  43. data/lib/gtk3/loader.rb +403 -0
  44. data/lib/gtk3/menu-item.rb +33 -0
  45. data/lib/gtk3/message-dialog.rb +49 -0
  46. data/lib/gtk3/paned.rb +37 -0
  47. data/lib/gtk3/radio-action.rb +28 -0
  48. data/lib/gtk3/radio-button.rb +49 -0
  49. data/lib/gtk3/recent-chooser-dialog.rb +38 -0
  50. data/lib/gtk3/scale-button.rb +35 -0
  51. data/{test/test_gtk_allocation.rb → lib/gtk3/scrolled-window.rb} +7 -7
  52. data/lib/gtk3/search-bar.rb +27 -0
  53. data/lib/gtk3/selection-data.rb +42 -0
  54. data/lib/gtk3/spin-button.rb +34 -0
  55. data/lib/gtk3/stack.rb +54 -0
  56. data/lib/gtk3/stock.rb +70 -0
  57. data/lib/gtk3/style-context.rb +26 -0
  58. data/lib/gtk3/style-properties.rb +29 -0
  59. data/lib/gtk3/target-entry.rb +27 -0
  60. data/lib/gtk3/target-list.rb +31 -0
  61. data/lib/gtk3/text-buffer.rb +165 -0
  62. data/lib/gtk3/text-iter.rb +39 -0
  63. data/lib/gtk3/text-tag-table.rb +31 -0
  64. data/lib/gtk3/toggle-action.rb +27 -0
  65. data/lib/gtk3/toggle-button.rb +35 -0
  66. data/lib/gtk3/tool-button.rb +36 -0
  67. data/lib/gtk3/tree-iter.rb +52 -0
  68. data/lib/gtk3/tree-model-filter.rb +45 -0
  69. data/lib/gtk3/tree-model.rb +51 -0
  70. data/lib/gtk3/tree-path.rb +29 -0
  71. data/lib/gtk3/tree-selection.rb +30 -0
  72. data/lib/gtk3/tree-store.rb +59 -0
  73. data/lib/gtk3/tree-view-column.rb +35 -0
  74. data/lib/gtk3/tree-view.rb +41 -0
  75. data/lib/gtk3/ui-manager.rb +35 -0
  76. data/lib/gtk3/version.rb +28 -0
  77. data/lib/gtk3/widget.rb +127 -0
  78. data/lib/gtk3/window.rb +29 -0
  79. data/sample/gtk-demo/TODO +69 -0
  80. data/sample/gtk-demo/application.ui +107 -0
  81. data/sample/gtk-demo/builder.rb +2 -2
  82. data/sample/gtk-demo/{button_box.rb → button-box.rb} +16 -17
  83. data/sample/gtk-demo/common.rb +1 -1
  84. data/sample/gtk-demo/css_accordion.rb +5 -5
  85. data/sample/gtk-demo/css_basics.css +22 -0
  86. data/sample/gtk-demo/css_basics.rb +103 -0
  87. data/sample/gtk-demo/dialog.rb +3 -3
  88. data/sample/gtk-demo/entry_completion.rb +1 -1
  89. data/sample/gtk-demo/hypertext.rb +1 -1
  90. data/sample/gtk-demo/main.rb +65 -91
  91. data/sample/gtk-demo/menus.rb +4 -4
  92. data/sample/gtk-demo/menus.ui +107 -0
  93. data/sample/gtk-demo/sizegroup.rb +1 -1
  94. data/sample/misc/aboutdialog.rb +10 -18
  95. data/sample/misc/aboutdialog2.rb +4 -16
  96. data/sample/misc/alpha-demo.rb +17 -16
  97. data/sample/misc/application.rb +31 -0
  98. data/sample/misc/assistant.rb +3 -5
  99. data/sample/misc/bindings.rb +64 -50
  100. data/sample/misc/builder-from-resource.rb +53 -0
  101. data/sample/misc/builder.rb +29 -0
  102. data/sample/misc/builder.ui +46 -0
  103. data/sample/misc/button.rb +18 -19
  104. data/sample/misc/button2.rb +5 -5
  105. data/sample/misc/buttonbox.rb +2 -4
  106. data/sample/misc/cairo-cursor.rb +37 -0
  107. data/sample/misc/cairo-pong.rb +17 -17
  108. data/sample/misc/calendar.rb +18 -18
  109. data/sample/misc/checkbutton.rb +3 -4
  110. data/sample/misc/colorselection.rb +10 -9
  111. data/sample/misc/{combo_check.rb → combo-check.rb} +1 -3
  112. data/sample/misc/combobox-from-cellrender.rb +48 -0
  113. data/sample/misc/combobox.rb +10 -10
  114. data/sample/misc/cursor.rb +5 -5
  115. data/sample/misc/dialog.rb +3 -4
  116. data/sample/misc/dialog2.rb +5 -6
  117. data/sample/misc/dnd.rb +27 -23
  118. data/sample/misc/dndtreeview.rb +16 -18
  119. data/sample/misc/drag-move.rb +3 -6
  120. data/sample/misc/drawing.rb +74 -86
  121. data/sample/misc/entry.rb +2 -4
  122. data/sample/misc/entrycompletion.rb +5 -5
  123. data/sample/misc/eventbox.rb +58 -0
  124. data/sample/misc/expander.rb +6 -5
  125. data/sample/misc/filechooser.rb +5 -7
  126. data/sample/misc/flowbox.rb +86 -0
  127. data/sample/misc/frame.rb +10 -12
  128. data/sample/misc/gdkscreen.rb +3 -3
  129. data/sample/misc/gtkglarea1.rb +114 -0
  130. data/sample/misc/gtkglarea2.rb +194 -0
  131. data/sample/misc/helloworld.rb +2 -5
  132. data/sample/misc/iconview.rb +9 -9
  133. data/sample/misc/image.rb +7 -6
  134. data/sample/misc/keyboard-grab.rb +34 -0
  135. data/sample/misc/label.rb +10 -11
  136. data/sample/misc/linkbutton.rb +3 -10
  137. data/sample/misc/list-store-usage.rb +96 -0
  138. data/sample/misc/listview.rb +9 -11
  139. data/sample/misc/menu.rb +45 -25
  140. data/sample/misc/{misc_button.rb → misc-button.rb} +15 -14
  141. data/sample/misc/mouse-gesture.rb +35 -42
  142. data/sample/misc/pango-layout.rb +100 -0
  143. data/sample/misc/pointer-grab.rb +36 -0
  144. data/sample/misc/print.rb +202 -201
  145. data/sample/misc/properties.rb +16 -14
  146. data/sample/misc/radiobutton.rb +18 -20
  147. data/sample/misc/recentchooserdialog.rb +8 -10
  148. data/sample/misc/rgtk+cairo.rb +26 -27
  149. data/sample/misc/scalebutton.rb +19 -7
  150. data/sample/misc/simple_window.gresource.xml +6 -0
  151. data/sample/misc/simple_window.ui +16 -0
  152. data/sample/misc/statusicon.rb +11 -14
  153. data/sample/misc/stock.rb +14 -11
  154. data/sample/misc/style-property.rb +76 -0
  155. data/sample/misc/t-gtkplug.rb +11 -14
  156. data/sample/misc/t-gtksocket.rb +19 -18
  157. data/sample/misc/template-from-resource.rb +59 -0
  158. data/sample/misc/template.gresource.xml +6 -0
  159. data/sample/misc/template.ui +16 -0
  160. data/sample/misc/textbuffer-serialize.rb +133 -0
  161. data/sample/misc/threads.rb +54 -13
  162. data/sample/misc/to-drawable.rb +34 -0
  163. data/sample/misc/togglebutton.rb +6 -8
  164. data/sample/misc/toolbar.rb +39 -30
  165. data/sample/misc/tooltips.rb +95 -104
  166. data/sample/misc/{tree_combo.rb → tree-combo.rb} +21 -27
  167. data/sample/misc/{tree_progress.rb → tree-progress.rb} +12 -17
  168. data/sample/misc/treemodelfilter.rb +13 -10
  169. data/sample/misc/treeview.rb +18 -20
  170. data/sample/misc/window.rb +2 -4
  171. data/sample/misc/xbm-cursor.rb +86 -0
  172. data/sample/tutorial/README.md +338 -0
  173. data/sample/tutorial/builder.ui +66 -0
  174. data/sample/tutorial/example-0.rb +32 -0
  175. data/sample/tutorial/example-1.rb +47 -0
  176. data/sample/tutorial/example-2.rb +68 -0
  177. data/sample/tutorial/example-4.rb +41 -0
  178. data/sample/tutorial/exampleapp.desktop +6 -0
  179. data/sample/tutorial/exampleapp.png +0 -0
  180. data/sample/tutorial/exampleapp1/exampleapp.rb +57 -0
  181. data/sample/tutorial/exampleapp2/exampleapp.gresource.xml +6 -0
  182. data/sample/tutorial/exampleapp2/exampleapp.rb +87 -0
  183. data/sample/tutorial/exampleapp2/window.ui +32 -0
  184. data/sample/tutorial/exampleapp3/exampleapp.gresource.xml +6 -0
  185. data/sample/tutorial/exampleapp3/exampleapp.rb +106 -0
  186. data/sample/tutorial/exampleapp3/window.ui +32 -0
  187. data/sample/tutorial/exampleapp4/app-menu.ui +18 -0
  188. data/sample/tutorial/exampleapp4/exampleapp.gresource.xml +7 -0
  189. data/sample/tutorial/exampleapp4/exampleapp.rb +124 -0
  190. data/sample/tutorial/exampleapp4/window.ui +32 -0
  191. data/sample/tutorial/exampleapp5/app-menu.ui +18 -0
  192. data/sample/tutorial/exampleapp5/exampleapp.gresource.xml +7 -0
  193. data/sample/tutorial/exampleapp5/exampleapp.rb +135 -0
  194. data/sample/tutorial/exampleapp5/org.gtk.exampleapp.gschema.xml +20 -0
  195. data/sample/tutorial/exampleapp5/window.ui +32 -0
  196. data/sample/tutorial/exampleapp6/app-menu.ui +18 -0
  197. data/sample/tutorial/exampleapp6/exampleapp.gresource.xml +8 -0
  198. data/sample/tutorial/exampleapp6/exampleapp.rb +168 -0
  199. data/sample/tutorial/exampleapp6/org.gtk.exampleapp.gschema.xml +20 -0
  200. data/sample/tutorial/exampleapp6/prefs.ui +70 -0
  201. data/sample/tutorial/exampleapp6/window.ui +32 -0
  202. data/sample/tutorial/exampleapp7/app-menu.ui +18 -0
  203. data/sample/tutorial/exampleapp7/exampleapp.gresource.xml +8 -0
  204. data/sample/tutorial/exampleapp7/exampleapp.rb +200 -0
  205. data/sample/tutorial/exampleapp7/org.gtk.exampleapp.gschema.xml +20 -0
  206. data/sample/tutorial/exampleapp7/prefs.ui +70 -0
  207. data/sample/tutorial/exampleapp7/window.ui +63 -0
  208. data/sample/tutorial/exampleapp8/app-menu.ui +18 -0
  209. data/sample/tutorial/exampleapp8/exampleapp.gresource.xml +9 -0
  210. data/sample/tutorial/exampleapp8/exampleapp.rb +247 -0
  211. data/sample/tutorial/exampleapp8/gears-menu.ui +12 -0
  212. data/sample/tutorial/exampleapp8/org.gtk.exampleapp.gschema.xml +25 -0
  213. data/sample/tutorial/exampleapp8/prefs.ui +70 -0
  214. data/sample/tutorial/exampleapp8/window.ui +100 -0
  215. data/test/fixture/Rakefile +32 -0
  216. data/test/fixture/gnome-logo-icon.png +0 -0
  217. data/test/fixture/image.gresource +0 -0
  218. data/test/fixture/image.gresource.xml +6 -0
  219. data/test/fixture/simple_window.gresource.xml +6 -0
  220. data/test/fixture/simple_window.ui +16 -0
  221. data/test/gtk-test-utils.rb +46 -4
  222. data/test/run-test.rb +9 -1
  223. data/test/{test_gc.rb → test-gc.rb} +0 -0
  224. data/test/{test_gtk_css_provider.rb → test-gdk-display.rb} +6 -8
  225. data/test/test-gdk-event.rb +24 -0
  226. data/test/test-gdk-screen.rb +42 -0
  227. data/test/{test_gtk_about_dialog.rb → test-gtk-about-dialog.rb} +0 -0
  228. data/test/test-gtk-accel-group.rb +23 -0
  229. data/test/{test_gtk_accel_key.rb → test-gtk-accel-key.rb} +0 -0
  230. data/test/{test_gtk_accessible.rb → test-gtk-accessible.rb} +0 -0
  231. data/test/{test_gtk_action_group.rb → test-gtk-action-bar.rb} +20 -23
  232. data/test/test-gtk-action-group.rb +48 -0
  233. data/test/test-gtk-action.rb +41 -0
  234. data/test/test-gtk-assistant.rb +44 -0
  235. data/test/{test_gtk_border.rb → test-gtk-border.rb} +0 -0
  236. data/test/test-gtk-box.rb +28 -0
  237. data/test/{test_gtk_buildable.rb → test-gtk-buildable.rb} +6 -6
  238. data/test/{test_gtk_builder.rb → test-gtk-builder.rb} +45 -11
  239. data/test/test-gtk-button.rb +54 -0
  240. data/test/test-gtk-cell-layout.rb +35 -0
  241. data/test/test-gtk-color-chooser-dialog.rb +41 -0
  242. data/test/test-gtk-combo-box-text.rb +34 -0
  243. data/test/test-gtk-combo-box.rb +97 -0
  244. data/test/test-gtk-container.rb +171 -0
  245. data/test/test-gtk-css-provider.rb +101 -0
  246. data/test/test-gtk-dialog.rb +74 -0
  247. data/test/{test_gtk_entry.rb → test-gtk-entry.rb} +0 -0
  248. data/test/test-gtk-event-controller.rb +35 -0
  249. data/test/test-gtk-file-chooser-dialog.rb +52 -0
  250. data/test/test-gtk-flow-box.rb +64 -0
  251. data/test/test-gtk-font-chooser-dialog.rb +41 -0
  252. data/test/test-gtk-gesture-multi-press.rb +31 -0
  253. data/test/test-gtk-gesture-pan.rb +32 -0
  254. data/test/test-gtk-gesture-single.rb +40 -0
  255. data/test/test-gtk-gesture.rb +29 -0
  256. data/test/{test_gtk_header_bar.rb → test-gtk-header-bar.rb} +15 -1
  257. data/test/{test_gtk_icon_theme.rb → test-gtk-icon-theme.rb} +0 -0
  258. data/test/{test_gtk_icon_view.rb → test-gtk-icon-view.rb} +24 -3
  259. data/test/test-gtk-image.rb +52 -0
  260. data/test/test-gtk-label.rb +39 -0
  261. data/test/{test_gtk_level_bar.rb → test-gtk-level-bar.rb} +12 -0
  262. data/test/test-gtk-list-store.rb +204 -0
  263. data/test/{test_gtk_menu_button.rb → test-gtk-menu-button.rb} +0 -0
  264. data/test/{test_gtk_menu_item.rb → test-gtk-menu-item.rb} +0 -0
  265. data/test/test-gtk-message-dialog.rb +62 -0
  266. data/test/test-gtk-paned.rb +109 -0
  267. data/test/test-gtk-places-sidebar.rb +68 -0
  268. data/test/test-gtk-radio-action.rb +45 -0
  269. data/test/test-gtk-radio-button.rb +82 -0
  270. data/test/test-gtk-recent-chooser-dialog.rb +53 -0
  271. data/test/{test_gtk_recent_data.rb → test-gtk-recent-data.rb} +0 -0
  272. data/test/{test_gtk_recent_filter_info.rb → test-gtk-recent-filter-info.rb} +1 -1
  273. data/test/test-gtk-recent-info.rb +37 -0
  274. data/test/{test_gtk_revealer.rb → test-gtk-revealer.rb} +0 -0
  275. data/test/test-gtk-scale-button.rb +56 -0
  276. data/test/{test_gtk_search_bar.rb → test-gtk-search-bar.rb} +1 -1
  277. data/test/{test_gtk_search_entry.rb → test-gtk-search-entry.rb} +0 -0
  278. data/test/test-gtk-spin-button.rb +45 -0
  279. data/test/{test_gtk_stack_switcher.rb → test-gtk-stack-switcher.rb} +0 -0
  280. data/test/{test_gtk_stack.rb → test-gtk-stack.rb} +8 -1
  281. data/test/test-gtk-stock.rb +26 -0
  282. data/test/{test_gtk_style_context.rb → test-gtk-style-context.rb} +0 -0
  283. data/test/{test_gtk_style_properties.rb → test-gtk-style-properties.rb} +0 -0
  284. data/test/test-gtk-style-provider.rb +25 -0
  285. data/test/test-gtk-switch.rb +34 -0
  286. data/test/test-gtk-target-entry.rb +37 -0
  287. data/test/test-gtk-text-buffer.rb +151 -0
  288. data/test/{test_gtk_container.rb → test-gtk-text-tag-table.rb} +13 -11
  289. data/test/test-gtk-toggle-action.rb +41 -0
  290. data/test/test-gtk-toggle-button.rb +39 -0
  291. data/test/test-gtk-tool-button.rb +53 -0
  292. data/test/test-gtk-tree-iter.rb +53 -0
  293. data/test/test-gtk-tree-model-filter.rb +55 -0
  294. data/test/test-gtk-tree-path.rb +42 -0
  295. data/test/test-gtk-tree-selection.rb +61 -0
  296. data/test/test-gtk-tree-view-column.rb +71 -0
  297. data/test/test-gtk-tree-view.rb +105 -0
  298. data/test/test-gtk-version.rb +47 -0
  299. data/test/test-gtk-widget.rb +148 -0
  300. data/test/{test_gtk.rb → test-gtk.rb} +0 -0
  301. metadata +256 -332
  302. data/ext/gtk3/conversions.c +0 -34
  303. data/ext/gtk3/gtk3.def +0 -10
  304. data/ext/gtk3/init.c +0 -34
  305. data/ext/gtk3/rbgtk-about-dialog.c +0 -113
  306. data/ext/gtk3/rbgtk-accel-group-entry.c +0 -94
  307. data/ext/gtk3/rbgtk-accel-group.c +0 -199
  308. data/ext/gtk3/rbgtk-accel-key.c +0 -120
  309. data/ext/gtk3/rbgtk-accel-label.c +0 -55
  310. data/ext/gtk3/rbgtk-accel-map.c +0 -135
  311. data/ext/gtk3/rbgtk-accelerator.c +0 -78
  312. data/ext/gtk3/rbgtk-accessible.c +0 -40
  313. data/ext/gtk3/rbgtk-action-bar.c +0 -73
  314. data/ext/gtk3/rbgtk-action-group.c +0 -467
  315. data/ext/gtk3/rbgtk-action.c +0 -205
  316. data/ext/gtk3/rbgtk-activatable.c +0 -30
  317. data/ext/gtk3/rbgtk-adjustment.c +0 -98
  318. data/ext/gtk3/rbgtk-alignment.c +0 -75
  319. data/ext/gtk3/rbgtk-allocation.c +0 -166
  320. data/ext/gtk3/rbgtk-app-chooser-button.c +0 -70
  321. data/ext/gtk3/rbgtk-app-chooser-dialog.c +0 -68
  322. data/ext/gtk3/rbgtk-app-chooser-widget.c +0 -40
  323. data/ext/gtk3/rbgtk-app-chooser.c +0 -47
  324. data/ext/gtk3/rbgtk-application.c +0 -69
  325. data/ext/gtk3/rbgtk-arrow.c +0 -56
  326. data/ext/gtk3/rbgtk-aspect-frame.c +0 -56
  327. data/ext/gtk3/rbgtk-assistant.c +0 -218
  328. data/ext/gtk3/rbgtk-bin.c +0 -42
  329. data/ext/gtk3/rbgtk-binding-set.c +0 -154
  330. data/ext/gtk3/rbgtk-border.c +0 -119
  331. data/ext/gtk3/rbgtk-box.c +0 -146
  332. data/ext/gtk3/rbgtk-buildable.c +0 -96
  333. data/ext/gtk3/rbgtk-builder.c +0 -166
  334. data/ext/gtk3/rbgtk-button-box.c +0 -87
  335. data/ext/gtk3/rbgtk-button.c +0 -93
  336. data/ext/gtk3/rbgtk-calendar.c +0 -118
  337. data/ext/gtk3/rbgtk-cell-editable.c +0 -57
  338. data/ext/gtk3/rbgtk-cell-layout.c +0 -144
  339. data/ext/gtk3/rbgtk-cell-renderer-accel.c +0 -41
  340. data/ext/gtk3/rbgtk-cell-renderer-combo.c +0 -38
  341. data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +0 -41
  342. data/ext/gtk3/rbgtk-cell-renderer-progress.c +0 -38
  343. data/ext/gtk3/rbgtk-cell-renderer-spin.c +0 -39
  344. data/ext/gtk3/rbgtk-cell-renderer-spinner.c +0 -38
  345. data/ext/gtk3/rbgtk-cell-renderer-text.c +0 -48
  346. data/ext/gtk3/rbgtk-cell-renderer-toggle.c +0 -39
  347. data/ext/gtk3/rbgtk-cell-renderer.c +0 -119
  348. data/ext/gtk3/rbgtk-cell-view.c +0 -95
  349. data/ext/gtk3/rbgtk-check-button.c +0 -64
  350. data/ext/gtk3/rbgtk-check-menu-item.c +0 -64
  351. data/ext/gtk3/rbgtk-clip-board.c +0 -389
  352. data/ext/gtk3/rbgtk-color-button.c +0 -55
  353. data/ext/gtk3/rbgtk-color-selection-dialog.c +0 -56
  354. data/ext/gtk3/rbgtk-color-selection.c +0 -219
  355. data/ext/gtk3/rbgtk-combo-box-text.c +0 -138
  356. data/ext/gtk3/rbgtk-combo-box.c +0 -147
  357. data/ext/gtk3/rbgtk-const.c +0 -79
  358. data/ext/gtk3/rbgtk-container.c +0 -788
  359. data/ext/gtk3/rbgtk-css-provider.c +0 -110
  360. data/ext/gtk3/rbgtk-dialog.c +0 -206
  361. data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +0 -108
  362. data/ext/gtk3/rbgtk-drag.c +0 -93
  363. data/ext/gtk3/rbgtk-drawing-area.c +0 -42
  364. data/ext/gtk3/rbgtk-editable.c +0 -149
  365. data/ext/gtk3/rbgtk-entry-buffer.c +0 -87
  366. data/ext/gtk3/rbgtk-entry-completion.c +0 -122
  367. data/ext/gtk3/rbgtk-entry.c +0 -184
  368. data/ext/gtk3/rbgtk-event-box.c +0 -42
  369. data/ext/gtk3/rbgtk-expander.c +0 -49
  370. data/ext/gtk3/rbgtk-file-chooser-button.c +0 -50
  371. data/ext/gtk3/rbgtk-file-chooser-dialog.c +0 -62
  372. data/ext/gtk3/rbgtk-file-chooser-widget.c +0 -40
  373. data/ext/gtk3/rbgtk-file-chooser.c +0 -381
  374. data/ext/gtk3/rbgtk-file-filter.c +0 -128
  375. data/ext/gtk3/rbgtk-file-system-error.c +0 -48
  376. data/ext/gtk3/rbgtk-fixed.c +0 -61
  377. data/ext/gtk3/rbgtk-font-button.c +0 -49
  378. data/ext/gtk3/rbgtk-font-chooser-dialog.c +0 -56
  379. data/ext/gtk3/rbgtk-font-chooser-widget.c +0 -45
  380. data/ext/gtk3/rbgtk-font-chooser.c +0 -78
  381. data/ext/gtk3/rbgtk-frame.c +0 -69
  382. data/ext/gtk3/rbgtk-gdk-event.c +0 -38
  383. data/ext/gtk3/rbgtk-grid.c +0 -105
  384. data/ext/gtk3/rbgtk-handle-box.c +0 -45
  385. data/ext/gtk3/rbgtk-header-bar.c +0 -58
  386. data/ext/gtk3/rbgtk-hsv.c +0 -102
  387. data/ext/gtk3/rbgtk-icon-factory.c +0 -85
  388. data/ext/gtk3/rbgtk-icon-info.c +0 -115
  389. data/ext/gtk3/rbgtk-icon-set.c +0 -84
  390. data/ext/gtk3/rbgtk-icon-size.c +0 -91
  391. data/ext/gtk3/rbgtk-icon-source.c +0 -184
  392. data/ext/gtk3/rbgtk-icon-theme.c +0 -268
  393. data/ext/gtk3/rbgtk-icon-view.c +0 -295
  394. data/ext/gtk3/rbgtk-im-multicontext.c +0 -48
  395. data/ext/gtk3/rbgtk-image-menu-item.c +0 -67
  396. data/ext/gtk3/rbgtk-image.c +0 -162
  397. data/ext/gtk3/rbgtk-imcon-text-simple.c +0 -69
  398. data/ext/gtk3/rbgtk-imcon-text.c +0 -133
  399. data/ext/gtk3/rbgtk-infobar.c +0 -121
  400. data/ext/gtk3/rbgtk-invisible.c +0 -49
  401. data/ext/gtk3/rbgtk-label.c +0 -139
  402. data/ext/gtk3/rbgtk-layout.c +0 -93
  403. data/ext/gtk3/rbgtk-level-bar.c +0 -88
  404. data/ext/gtk3/rbgtk-link-button.c +0 -49
  405. data/ext/gtk3/rbgtk-list-store.c +0 -399
  406. data/ext/gtk3/rbgtk-lock-button.c +0 -50
  407. data/ext/gtk3/rbgtk-menu-button.c +0 -41
  408. data/ext/gtk3/rbgtk-menu-item.c +0 -95
  409. data/ext/gtk3/rbgtk-menu-shell.c +0 -106
  410. data/ext/gtk3/rbgtk-menu-tool-button.c +0 -81
  411. data/ext/gtk3/rbgtk-menu.c +0 -168
  412. data/ext/gtk3/rbgtk-menubar.c +0 -43
  413. data/ext/gtk3/rbgtk-message-dialog.c +0 -74
  414. data/ext/gtk3/rbgtk-misc.c +0 -70
  415. data/ext/gtk3/rbgtk-notebook.c +0 -383
  416. data/ext/gtk3/rbgtk-numerable-icon.c +0 -50
  417. data/ext/gtk3/rbgtk-overlay.c +0 -53
  418. data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +0 -94
  419. data/ext/gtk3/rbgtk-page-setup.c +0 -195
  420. data/ext/gtk3/rbgtk-paned.c +0 -114
  421. data/ext/gtk3/rbgtk-paper-size.c +0 -179
  422. data/ext/gtk3/rbgtk-plug.c +0 -85
  423. data/ext/gtk3/rbgtk-print-context.c +0 -125
  424. data/ext/gtk3/rbgtk-print-job.c +0 -148
  425. data/ext/gtk3/rbgtk-print-operation-preview.c +0 -59
  426. data/ext/gtk3/rbgtk-print-operation.c +0 -149
  427. data/ext/gtk3/rbgtk-print-settings.c +0 -807
  428. data/ext/gtk3/rbgtk-print-unix-dialog.c +0 -90
  429. data/ext/gtk3/rbgtk-printer.c +0 -155
  430. data/ext/gtk3/rbgtk-progress-bar.c +0 -72
  431. data/ext/gtk3/rbgtk-radio-action.c +0 -122
  432. data/ext/gtk3/rbgtk-radio-button.c +0 -89
  433. data/ext/gtk3/rbgtk-radio-menu-item.c +0 -147
  434. data/ext/gtk3/rbgtk-radio-tool-button.c +0 -131
  435. data/ext/gtk3/rbgtk-range.c +0 -68
  436. data/ext/gtk3/rbgtk-recent-action.c +0 -64
  437. data/ext/gtk3/rbgtk-recent-chooser-dialog.c +0 -66
  438. data/ext/gtk3/rbgtk-recent-chooser-menu.c +0 -50
  439. data/ext/gtk3/rbgtk-recent-chooser-widget.c +0 -48
  440. data/ext/gtk3/rbgtk-recent-chooser.c +0 -198
  441. data/ext/gtk3/rbgtk-recent-data.c +0 -188
  442. data/ext/gtk3/rbgtk-recent-filter-info.c +0 -201
  443. data/ext/gtk3/rbgtk-recent-filter.c +0 -169
  444. data/ext/gtk3/rbgtk-recent-info.c +0 -213
  445. data/ext/gtk3/rbgtk-recent-manager.c +0 -134
  446. data/ext/gtk3/rbgtk-revealer.c +0 -42
  447. data/ext/gtk3/rbgtk-scale-button.c +0 -84
  448. data/ext/gtk3/rbgtk-scale.c +0 -97
  449. data/ext/gtk3/rbgtk-scrollable.c +0 -31
  450. data/ext/gtk3/rbgtk-scrollbar.c +0 -52
  451. data/ext/gtk3/rbgtk-scrolled-window.c +0 -122
  452. data/ext/gtk3/rbgtk-search-bar.c +0 -59
  453. data/ext/gtk3/rbgtk-search-entry.c +0 -42
  454. data/ext/gtk3/rbgtk-selection-data.c +0 -281
  455. data/ext/gtk3/rbgtk-selection.c +0 -168
  456. data/ext/gtk3/rbgtk-separator-menu-item.c +0 -39
  457. data/ext/gtk3/rbgtk-separator-tool-item.c +0 -38
  458. data/ext/gtk3/rbgtk-separator.c +0 -44
  459. data/ext/gtk3/rbgtk-settings.c +0 -229
  460. data/ext/gtk3/rbgtk-size-group.c +0 -66
  461. data/ext/gtk3/rbgtk-socket.c +0 -82
  462. data/ext/gtk3/rbgtk-spin-button.c +0 -132
  463. data/ext/gtk3/rbgtk-spinner.c +0 -55
  464. data/ext/gtk3/rbgtk-stack-switcher.c +0 -41
  465. data/ext/gtk3/rbgtk-stack.c +0 -106
  466. data/ext/gtk3/rbgtk-status-bar.c +0 -77
  467. data/ext/gtk3/rbgtk-status-icon.c +0 -122
  468. data/ext/gtk3/rbgtk-stock.c +0 -213
  469. data/ext/gtk3/rbgtk-style-context-gdk-screen.c +0 -61
  470. data/ext/gtk3/rbgtk-style-context.c +0 -411
  471. data/ext/gtk3/rbgtk-style-properties.c +0 -118
  472. data/ext/gtk3/rbgtk-style-provider.c +0 -67
  473. data/ext/gtk3/rbgtk-switch.c +0 -40
  474. data/ext/gtk3/rbgtk-table.c +0 -190
  475. data/ext/gtk3/rbgtk-target-list.c +0 -125
  476. data/ext/gtk3/rbgtk-tearoff-menu-item.c +0 -41
  477. data/ext/gtk3/rbgtk-text-appearance.c +0 -236
  478. data/ext/gtk3/rbgtk-text-attributes.c +0 -326
  479. data/ext/gtk3/rbgtk-text-buffer.c +0 -899
  480. data/ext/gtk3/rbgtk-text-child-anchor.c +0 -56
  481. data/ext/gtk3/rbgtk-text-iter.c +0 -732
  482. data/ext/gtk3/rbgtk-text-mark.c +0 -71
  483. data/ext/gtk3/rbgtk-text-tag-table.c +0 -96
  484. data/ext/gtk3/rbgtk-text-tag.c +0 -68
  485. data/ext/gtk3/rbgtk-text-view.c +0 -336
  486. data/ext/gtk3/rbgtk-theming-engine.c +0 -257
  487. data/ext/gtk3/rbgtk-toggle-action.c +0 -61
  488. data/ext/gtk3/rbgtk-toggle-button.c +0 -87
  489. data/ext/gtk3/rbgtk-toggle-tool-button.c +0 -61
  490. data/ext/gtk3/rbgtk-tool-button.c +0 -66
  491. data/ext/gtk3/rbgtk-tool-item.c +0 -200
  492. data/ext/gtk3/rbgtk-tool-itemgroup.c +0 -70
  493. data/ext/gtk3/rbgtk-tool-shell.c +0 -96
  494. data/ext/gtk3/rbgtk-toolbar.c +0 -118
  495. data/ext/gtk3/rbgtk-tooltip-gdk-display.c +0 -39
  496. data/ext/gtk3/rbgtk-tooltip.c +0 -100
  497. data/ext/gtk3/rbgtk-tree-dragdest.c +0 -28
  498. data/ext/gtk3/rbgtk-tree-dragsource.c +0 -28
  499. data/ext/gtk3/rbgtk-tree-iter.c +0 -258
  500. data/ext/gtk3/rbgtk-tree-model.c +0 -246
  501. data/ext/gtk3/rbgtk-tree-modelfilter.c +0 -197
  502. data/ext/gtk3/rbgtk-tree-modelsort.c +0 -111
  503. data/ext/gtk3/rbgtk-tree-path.c +0 -191
  504. data/ext/gtk3/rbgtk-tree-rowreference.c +0 -140
  505. data/ext/gtk3/rbgtk-tree-selection.c +0 -190
  506. data/ext/gtk3/rbgtk-tree-sortable.c +0 -122
  507. data/ext/gtk3/rbgtk-tree-store.c +0 -330
  508. data/ext/gtk3/rbgtk-tree-view-column.c +0 -256
  509. data/ext/gtk3/rbgtk-tree-view.c +0 -716
  510. data/ext/gtk3/rbgtk-ui-manager.c +0 -189
  511. data/ext/gtk3/rbgtk-viewport.c +0 -44
  512. data/ext/gtk3/rbgtk-volume-button.c +0 -41
  513. data/ext/gtk3/rbgtk-widget-path.c +0 -229
  514. data/ext/gtk3/rbgtk-widget.c +0 -1554
  515. data/ext/gtk3/rbgtk-window-group.c +0 -80
  516. data/ext/gtk3/rbgtk-window.c +0 -565
  517. data/ext/gtk3/rbgtk.c +0 -783
  518. data/ext/gtk3/rbgtk3.h +0 -90
  519. data/ext/gtk3/rbgtk3conversions.h +0 -439
  520. data/ext/gtk3/rbgtk3private.h +0 -300
  521. data/ext/gtk3/rbgtk3util.c +0 -67
  522. data/lib/gtk3/base.rb +0 -67
  523. data/sample/gtk-demo/appwindow.rb +0 -233
  524. data/sample/misc/composited-windows.rb +0 -113
  525. data/sample/misc/itemfactory.rb +0 -73
  526. data/sample/misc/itemfactory2.rb +0 -74
  527. data/sample/misc/keyboard_grab.rb +0 -29
  528. data/sample/misc/pangorenderer.rb +0 -66
  529. data/sample/misc/pointer_grab.rb +0 -34
  530. data/sample/misc/settings.rb +0 -41
  531. data/sample/misc/style_property.rb +0 -67
  532. data/sample/misc/style_property.rc +0 -19
  533. data/sample/misc/textbuffer_serialize.rb +0 -130
  534. data/sample/misc/to_drawable.rb +0 -42
  535. data/sample/misc/uimanager.rb +0 -148
  536. data/sample/misc/uimanager2.rb +0 -91
  537. data/sample/misc/uimanager2.xml +0 -36
  538. data/sample/misc/xbm_cursor.rb +0 -43
  539. data/sample/testgtk/3DRings.xpm +0 -116
  540. data/sample/testgtk/FilesQueue.xpm +0 -98
  541. data/sample/testgtk/Modeller.xpm +0 -117
  542. data/sample/testgtk/README +0 -14
  543. data/sample/testgtk/button.rb +0 -124
  544. data/sample/testgtk/buttonbox.rb +0 -100
  545. data/sample/testgtk/check-n.xpm +0 -21
  546. data/sample/testgtk/check-y.xpm +0 -21
  547. data/sample/testgtk/checkbutton.rb +0 -67
  548. data/sample/testgtk/circles.xbm +0 -46
  549. data/sample/testgtk/colorselect.rb +0 -33
  550. data/sample/testgtk/dialog.rb +0 -48
  551. data/sample/testgtk/entry.rb +0 -73
  552. data/sample/testgtk/filesel.rb +0 -65
  553. data/sample/testgtk/fontselection.rb +0 -56
  554. data/sample/testgtk/labels.rb +0 -74
  555. data/sample/testgtk/layout.rb +0 -108
  556. data/sample/testgtk/marble.xpm +0 -408
  557. data/sample/testgtk/menu.rb +0 -79
  558. data/sample/testgtk/notebook.rb +0 -280
  559. data/sample/testgtk/pixmap.rb +0 -58
  560. data/sample/testgtk/progressbar.rb +0 -173
  561. data/sample/testgtk/radiobutton.rb +0 -61
  562. data/sample/testgtk/range.rb +0 -65
  563. data/sample/testgtk/reparent.rb +0 -91
  564. data/sample/testgtk/sample.rb +0 -80
  565. data/sample/testgtk/savedposition.rb +0 -87
  566. data/sample/testgtk/scrolledwindow.rb +0 -67
  567. data/sample/testgtk/shapedwindow.rb +0 -99
  568. data/sample/testgtk/spinbutton.rb +0 -181
  569. data/sample/testgtk/statusbar.rb +0 -89
  570. data/sample/testgtk/test.xpm +0 -92
  571. data/sample/testgtk/testgtk.rb +0 -176
  572. data/sample/testgtk/testgtkrc +0 -146
  573. data/sample/testgtk/testgtkrc2 +0 -21
  574. data/sample/testgtk/togglebutton.rb +0 -53
  575. data/sample/testgtk/toolbar.rb +0 -82
  576. data/sample/testgtk/tooltips.rb +0 -41
  577. data/sample/testgtk/wmhints.rb +0 -40
  578. data/test/test_gtk_image.rb +0 -8
  579. data/test/test_gtk_list_store.rb +0 -105
  580. data/test/test_gtk_tree_path.rb +0 -20
  581. data/test/test_gtk_unix_print.rb +0 -14
  582. data/test/test_gtk_widget.rb +0 -24
@@ -1,256 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-2004 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 cTreeViewColumn
25
- #define _SELF(s) (RVAL2GTKTREEVIEWCOLUMN(s))
26
-
27
- static VALUE
28
- rg_initialize(int argc, VALUE *argv, VALUE self)
29
- {
30
- int i;
31
- int col;
32
- GtkTreeViewColumn *tvc;
33
- GtkCellRenderer *renderer;
34
- const gchar *name;
35
- VALUE ary, val;
36
-
37
- tvc = gtk_tree_view_column_new();
38
- if (argc > 0){
39
- gtk_tree_view_column_set_title(tvc, RVAL2CSTR(argv[0]));
40
- if (argc > 1) {
41
- gtk_tree_view_column_pack_start(tvc, RVAL2GTKCELLRENDERER(argv[1]), TRUE);
42
- G_CHILD_ADD(self, argv[1]);
43
- }
44
- }
45
-
46
- RBGTK_INITIALIZE(self, tvc);
47
-
48
- if (argc == 3){
49
- ary = rb_funcall(argv[2], rb_intern("to_a"), 0);
50
- renderer = RVAL2GTKCELLRENDERER(argv[1]);
51
- for (i = 0; i < RARRAY_LEN(ary); i++) {
52
- val = RARRAY_PTR(RARRAY_PTR(ary)[i])[0];
53
- if (SYMBOL_P(val)) {
54
- name = rb_id2name(SYM2ID(val));
55
- } else {
56
- name = RVAL2CSTR(val);
57
- }
58
- col = NUM2INT(RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
59
- gtk_tree_view_column_add_attribute(_SELF(self), renderer, name, col);
60
- }
61
- }
62
-
63
- return Qnil;
64
- }
65
-
66
- static VALUE
67
- rg_pack_start(VALUE self, VALUE cell, VALUE expand)
68
- {
69
- G_CHILD_ADD(self, cell);
70
- gtk_tree_view_column_pack_start(_SELF(self), RVAL2GTKCELLRENDERER(cell), RVAL2CBOOL(expand));
71
- return self;
72
- }
73
-
74
- static VALUE
75
- rg_pack_end(VALUE self, VALUE cell, VALUE expand)
76
- {
77
- G_CHILD_ADD(self, cell);
78
- gtk_tree_view_column_pack_end(_SELF(self), RVAL2GTKCELLRENDERER(cell), RVAL2CBOOL(expand));
79
- return self;
80
- }
81
-
82
- static VALUE
83
- rg_clear(VALUE self)
84
- {
85
- G_CHILD_REMOVE_ALL(self);
86
- gtk_tree_view_column_clear(_SELF(self));
87
- return self;
88
- }
89
-
90
- static VALUE
91
- rg_add_attribute(VALUE self, VALUE cell, VALUE attribute, VALUE column)
92
- {
93
- const gchar *name;
94
- if (SYMBOL_P(attribute)) {
95
- name = rb_id2name(SYM2ID(attribute));
96
- } else {
97
- name = RVAL2CSTR(attribute);
98
- }
99
- gtk_tree_view_column_add_attribute(_SELF(self), RVAL2GTKCELLRENDERER(cell),
100
- name, NUM2INT(column));
101
- return self;
102
- }
103
-
104
- static VALUE
105
- rg_set_attributes(VALUE self, VALUE renderer, VALUE attributes)
106
- {
107
- GtkTreeViewColumn *tvc;
108
- GtkCellRenderer *grenderer;
109
- const gchar *name;
110
- int i, col;
111
- VALUE ary, val;
112
-
113
- Check_Type(attributes, T_HASH);
114
-
115
- tvc = _SELF(self);
116
- grenderer = RVAL2GTKCELLRENDERER(renderer);
117
- gtk_tree_view_column_clear_attributes(tvc, grenderer);
118
-
119
- ary = rb_funcall(attributes, rb_intern("to_a"), 0);
120
- for (i = 0; i < RARRAY_LEN(ary); i++) {
121
- val = RARRAY_PTR(RARRAY_PTR(ary)[i])[0];
122
- if (SYMBOL_P(val)) {
123
- name = rb_id2name(SYM2ID(val));
124
- } else {
125
- name = RVAL2CSTR(val);
126
- }
127
- col = NUM2INT(RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
128
- gtk_tree_view_column_add_attribute(tvc, grenderer, name, col);
129
- }
130
- return self;
131
- }
132
-
133
- static void
134
- cell_data_func(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
135
- {
136
- iter->user_data3 = model;
137
- rb_funcall((VALUE)func, id_call, 4, GOBJ2RVAL(tree_column),
138
- GOBJ2RVAL(cell), GOBJ2RVAL(model),
139
- GTKTREEITER2RVAL(iter));
140
- }
141
-
142
- static VALUE
143
- rg_set_cell_data_func(VALUE self, VALUE renderer)
144
- {
145
- volatile VALUE func = rb_block_proc();
146
- G_RELATIVE(self, func);
147
- G_RELATIVE(renderer, func);
148
- gtk_tree_view_column_set_cell_data_func(_SELF(self), RVAL2GTKCELLRENDERER(renderer),
149
- (GtkTreeCellDataFunc)cell_data_func, (gpointer)func, NULL);
150
- return self;
151
- }
152
-
153
- static VALUE
154
- rg_clear_attributes(VALUE self, VALUE cell)
155
- {
156
- gtk_tree_view_column_clear_attributes(_SELF(self), RVAL2GTKCELLRENDERER(cell));
157
- return self;
158
- }
159
-
160
- static VALUE
161
- rg_clicked(VALUE self)
162
- {
163
- gtk_tree_view_column_clicked(_SELF(self));
164
- return self;
165
- }
166
-
167
- static VALUE
168
- rg_cell_set_cell_data(VALUE self, VALUE model, VALUE iter, VALUE is_expander, VALUE is_expanded)
169
- {
170
- gtk_tree_view_column_cell_set_cell_data(_SELF(self),
171
- RVAL2GTKTREEMODEL(model),
172
- RVAL2GTKTREEITER(iter),
173
- RVAL2CBOOL(is_expander),
174
- RVAL2CBOOL(is_expanded));
175
- return self;
176
- }
177
-
178
- static VALUE
179
- rg_cell_size(VALUE self)
180
- {
181
- GdkRectangle cell_area;
182
- gint x_offset, y_offset, width, height;
183
- VALUE cell;
184
-
185
- /* Is this collect implement for cell_area ? */
186
- cell_area.x = -1;
187
- cell_area.y = -1;
188
- cell_area.width = -1;
189
- cell_area.height = -1;
190
-
191
- gtk_tree_view_column_cell_get_size(_SELF(self), &cell_area,
192
- &x_offset, &y_offset,
193
- &width, &height);
194
- if (cell_area.x == -1 || cell_area.y == -1 ||
195
- cell_area.width == -1 || cell_area.height == -1){
196
- cell = Qnil;
197
- } else {
198
- cell = GDKRECTANGLE2RVAL(&cell_area);
199
- }
200
- return rb_ary_new3(5, cell,
201
- x_offset ? INT2NUM(x_offset) : Qnil,
202
- y_offset ? INT2NUM(y_offset) : Qnil,
203
- width ? INT2NUM(width) : Qnil,
204
- height ? INT2NUM(height) : Qnil);
205
- }
206
-
207
- static VALUE
208
- rg_cell_is_visible_p(VALUE self)
209
- {
210
- return CBOOL2RVAL(gtk_tree_view_column_cell_is_visible(_SELF(self)));
211
- }
212
-
213
- static VALUE
214
- rg_focus_cell(VALUE self, VALUE renderer)
215
- {
216
- gtk_tree_view_column_focus_cell(_SELF(self), RVAL2GTKCELLRENDERER(renderer));
217
-
218
- return self;
219
- }
220
-
221
- static VALUE
222
- rg_queue_resize(VALUE self)
223
- {
224
- gtk_tree_view_column_queue_resize(_SELF(self));
225
- return self;
226
- }
227
-
228
- static VALUE
229
- rg_tree_view(VALUE self)
230
- {
231
- return GOBJ2RVAL(gtk_tree_view_column_get_tree_view(_SELF(self)));
232
- }
233
-
234
- void
235
- Init_gtk_treeviewcolumn(VALUE mGtk)
236
- {
237
- VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_VIEW_COLUMN, "TreeViewColumn", mGtk);
238
-
239
- RG_DEF_METHOD(initialize, -1);
240
- RG_DEF_METHOD(pack_start, 2);
241
- RG_DEF_METHOD(pack_end, 2);
242
- RG_DEF_METHOD(clear, 0);
243
- RG_DEF_METHOD(add_attribute, 3);
244
- RG_DEF_METHOD(set_attributes, 2);
245
- RG_DEF_METHOD(set_cell_data_func, 1);
246
- RG_DEF_METHOD(clear_attributes, 1);
247
- RG_DEF_METHOD(clicked, 0);
248
- RG_DEF_METHOD(cell_set_cell_data, 4);
249
- RG_DEF_METHOD(cell_size, 0);
250
- RG_DEF_METHOD_P(cell_is_visible, 0);
251
- RG_DEF_METHOD(focus_cell, 1);
252
- RG_DEF_METHOD(queue_resize, 0);
253
- RG_DEF_METHOD(tree_view, 0);
254
-
255
- G_DEF_CLASS(GTK_TYPE_TREE_VIEW_COLUMN_SIZING, "Sizing", RG_TARGET_NAMESPACE);
256
- }
@@ -1,716 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-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 cTreeView
25
- #define _SELF(s) (RVAL2GTKTREEVIEW(s))
26
-
27
- static VALUE rb_mGtk;
28
- static ID id_model;
29
- static ID id_selection;
30
-
31
- static VALUE
32
- rg_initialize(int argc, VALUE *argv, VALUE self)
33
- {
34
- VALUE model;
35
- GtkWidget *widget;
36
-
37
- if (rb_scan_args(argc, argv, "01", &model) == 1) {
38
- G_CHILD_SET(self, id_model, model);
39
- widget = gtk_tree_view_new_with_model(RVAL2GTKTREEMODEL(model));
40
- }
41
- else {
42
- widget = gtk_tree_view_new();
43
- }
44
-
45
- RBGTK_INITIALIZE(self, widget);
46
- return Qnil;
47
- }
48
-
49
- static VALUE
50
- rg_selection(VALUE self)
51
- {
52
- VALUE ret = GOBJ2RVAL(gtk_tree_view_get_selection(_SELF(self)));
53
- G_CHILD_SET(self, id_selection, ret);
54
- return ret;
55
- }
56
-
57
- static VALUE
58
- rg_columns_autosize(VALUE self)
59
- {
60
- gtk_tree_view_columns_autosize(_SELF(self));
61
- return self;
62
- }
63
-
64
- static VALUE
65
- rg_append_column(VALUE self, VALUE column)
66
- {
67
- G_CHILD_ADD(self, column);
68
- return INT2NUM(gtk_tree_view_append_column(_SELF(self),
69
- RVAL2GTKTREEVIEWCOLUMN(column)));
70
- }
71
-
72
- static VALUE
73
- rg_remove_column(VALUE self, VALUE column)
74
- {
75
- G_CHILD_REMOVE(self, column);
76
- return INT2NUM(gtk_tree_view_remove_column(_SELF(self),
77
- RVAL2GTKTREEVIEWCOLUMN(column)));
78
- }
79
-
80
- static void
81
- cell_data_func(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
82
- {
83
- iter->user_data3 = model;
84
- rb_funcall((VALUE)func, id_call, 4, GOBJ2RVAL(column),
85
- GOBJ2RVAL(cell), GOBJ2RVAL(model),
86
- GTKTREEITER2RVAL(iter));
87
- }
88
-
89
- static VALUE
90
- rg_insert_column(int argc, VALUE *argv, VALUE self)
91
- {
92
- VALUE args[4];
93
-
94
- rb_scan_args(argc, argv, "22", /* NORMAL ATTRIBUTES DATA_FUNC */
95
- &args[0], /* column position position */
96
- &args[1], /* position title title */
97
- &args[2], /* renderer renderer */
98
- &args[3]); /* attributes */
99
-
100
- if (argc == 2) {
101
- G_CHILD_ADD(self, args[0]);
102
- return INT2NUM(gtk_tree_view_insert_column(_SELF(self),
103
- RVAL2GTKTREEVIEWCOLUMN(args[0]),
104
- NUM2INT(args[1])));
105
- } else if (argc == 3) {
106
- int ret;
107
- VALUE func = rb_block_proc();
108
-
109
- G_RELATIVE(self, argv[2]);
110
- G_RELATIVE(self, func);
111
- ret = gtk_tree_view_insert_column_with_data_func(_SELF(self),
112
- NUM2INT(args[0]),
113
- RVAL2CSTR(args[1]),
114
- RVAL2GTKCELLRENDERER(args[2]),
115
- (GtkTreeCellDataFunc)cell_data_func,
116
- (gpointer)func,
117
- NULL);
118
- return INT2NUM(ret);
119
- } else if (argc == 4) {
120
- int i;
121
- int col;
122
- int ret;
123
- const gchar *name;
124
- VALUE ary;
125
- GtkCellRenderer* renderer = RVAL2GTKCELLRENDERER(args[2]);
126
-
127
- GtkTreeViewColumn* column = gtk_tree_view_column_new();
128
-
129
- Check_Type(args[3], T_HASH);
130
-
131
- /* TODO: Should this really be done before we know that everything
132
- * below worked without error? */
133
- G_CHILD_ADD(self, args[2]);
134
- G_CHILD_ADD(self, args[3]);
135
-
136
- gtk_tree_view_column_set_title(column, RVAL2CSTR(args[1]));
137
- gtk_tree_view_column_pack_start(column, renderer, TRUE);
138
-
139
- ret = gtk_tree_view_insert_column(_SELF(self), column, NUM2INT(args[0]));
140
- ary = rb_funcall(args[3], rb_intern("to_a"), 0);
141
- for (i = 0; i < RARRAY_LEN(ary); i++) {
142
- VALUE val = RARRAY_PTR(RARRAY_PTR(ary)[i])[0];
143
- if (SYMBOL_P(val)) {
144
- name = rb_id2name(SYM2ID(val));
145
- } else {
146
- name = RVAL2CSTR(val);
147
- }
148
- col = NUM2INT(RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
149
- gtk_tree_view_column_add_attribute(column,
150
- renderer,
151
- name, col);
152
- }
153
- return INT2NUM(ret);
154
- } else {
155
- rb_raise(rb_eArgError, "Wrong number of arguments: %d", argc);
156
- }
157
-
158
- return Qnil;
159
- }
160
-
161
- static VALUE
162
- rg_get_column(VALUE self, VALUE num)
163
- {
164
- return GOBJ2RVAL(gtk_tree_view_get_column(_SELF(self), NUM2INT(num)));
165
- }
166
-
167
- static VALUE
168
- rg_columns(VALUE self)
169
- {
170
- return GOBJGLIST2RVAL_FREE(gtk_tree_view_get_columns(_SELF(self)),
171
- g_list_free, NULL);
172
- }
173
-
174
- static VALUE
175
- rg_move_column_after(VALUE self, VALUE column, VALUE base_column)
176
- {
177
- gtk_tree_view_move_column_after(_SELF(self), RVAL2GTKTREEVIEWCOLUMN(column),
178
- NIL_P(base_column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(base_column));
179
- return self;
180
- }
181
-
182
- static gboolean
183
- column_drop_func(GtkTreeView *treeview, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer func)
184
- {
185
- return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 4, GOBJ2RVAL(treeview),
186
- GOBJ2RVAL(column), GOBJ2RVAL(prev_column),
187
- GOBJ2RVAL(next_column)));
188
- }
189
-
190
- static VALUE
191
- rg_set_column_drag_function(VALUE self)
192
- {
193
- VALUE func = rb_block_proc();
194
- G_RELATIVE(self, func);
195
- gtk_tree_view_set_column_drag_function(_SELF(self),
196
- (GtkTreeViewColumnDropFunc)column_drop_func,
197
- (gpointer)func, NULL);
198
- return self;
199
- }
200
-
201
- static VALUE
202
- rg_scroll_to_point(VALUE self, VALUE x, VALUE y)
203
- {
204
- gtk_tree_view_scroll_to_point(_SELF(self), NUM2INT(x), NUM2INT(y));
205
- return self;
206
- }
207
-
208
- static VALUE
209
- rg_scroll_to_cell(VALUE self, VALUE path, VALUE column, VALUE use_align, VALUE row_align, VALUE col_align)
210
- {
211
- gtk_tree_view_scroll_to_cell(_SELF(self),
212
- NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
213
- NIL_P(column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(column),
214
- RVAL2CBOOL(use_align),
215
- NUM2DBL(row_align), NUM2DBL(col_align));
216
- return self;
217
- }
218
-
219
- static VALUE
220
- rg_set_cursor(VALUE self, VALUE path, VALUE focus_column, VALUE start_editing)
221
- {
222
- gtk_tree_view_set_cursor(_SELF(self), RVAL2GTKTREEPATH(path),
223
- NIL_P(focus_column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(focus_column),
224
- RVAL2CBOOL(start_editing));
225
- return self;
226
- }
227
-
228
- static VALUE
229
- rg_cursor(VALUE self)
230
- {
231
- GtkTreePath* path;
232
- GtkTreeViewColumn* focus_column;
233
-
234
- gtk_tree_view_get_cursor(_SELF(self), &path, &focus_column);
235
- return rb_ary_new3(2, path ? GTKTREEPATH2RVAL(path) : Qnil,
236
- GOBJ2RVAL(focus_column));
237
- }
238
-
239
- static VALUE
240
- rg_expand_all(VALUE self)
241
- {
242
- gtk_tree_view_expand_all(_SELF(self));
243
- return self;
244
- }
245
-
246
- static VALUE
247
- rg_collapse_all(VALUE self)
248
- {
249
- gtk_tree_view_collapse_all(_SELF(self));
250
- return self;
251
- }
252
-
253
- static VALUE
254
- rg_expand_row(VALUE self, VALUE path, VALUE open_all)
255
- {
256
- return CBOOL2RVAL(gtk_tree_view_expand_row(_SELF(self),
257
- RVAL2GTKTREEPATH(path),
258
- RVAL2CBOOL(open_all)));
259
- }
260
-
261
- static VALUE
262
- rg_expand_to_path(VALUE self, VALUE path)
263
- {
264
- gtk_tree_view_expand_to_path(_SELF(self), RVAL2GTKTREEPATH(path));
265
- return self;
266
- }
267
-
268
- static VALUE
269
- rg_collapse_row(VALUE self, VALUE path)
270
- {
271
- return CBOOL2RVAL(gtk_tree_view_collapse_row(_SELF(self),
272
- RVAL2GTKTREEPATH(path)));
273
- }
274
-
275
- static void
276
- mapping_func(GtkTreeView *treeview, GtkTreePath *path, gpointer func)
277
- {
278
- rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(treeview),
279
- GTKTREEPATH2RVAL(path));
280
- }
281
-
282
- static VALUE
283
- rg_map_expanded_rows(VALUE self)
284
- {
285
- VALUE func = rb_block_proc();
286
- G_RELATIVE(self, func);
287
- gtk_tree_view_map_expanded_rows(_SELF(self),
288
- (GtkTreeViewMappingFunc)mapping_func,
289
- (gpointer)func);
290
- return self;
291
- }
292
-
293
- static VALUE
294
- rg_row_expanded_p(VALUE self, VALUE path)
295
- {
296
- return CBOOL2RVAL(gtk_tree_view_row_expanded(_SELF(self),
297
- RVAL2GTKTREEPATH(path)));
298
- }
299
-
300
- static VALUE
301
- rg_get_path_at_pos(VALUE self, VALUE x, VALUE y)
302
- {
303
- GtkTreePath* path;
304
- GtkTreeViewColumn* column;
305
- gint cell_x, cell_y;
306
- gboolean ret;
307
-
308
- ret = gtk_tree_view_get_path_at_pos(_SELF(self),
309
- NUM2INT(x), NUM2INT(y),
310
- &path, &column, &cell_x, &cell_y);
311
- return ret ? rb_ary_new3(4,
312
- path ? GTKTREEPATH2RVAL(path) : Qnil,
313
- column ? GOBJ2RVAL(column) : Qnil,
314
- INT2NUM(cell_x), INT2NUM(cell_y)) : Qnil;
315
- }
316
-
317
- static VALUE
318
- rg_get_cell_area(VALUE self, VALUE path, VALUE column)
319
- {
320
- GdkRectangle rect;
321
- gtk_tree_view_get_cell_area(_SELF(self),
322
- NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
323
- NIL_P(column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(column),
324
- &rect);
325
- return GDKRECTANGLE2RVAL(&rect);
326
- }
327
-
328
- static VALUE
329
- rg_get_background_area(VALUE self, VALUE path, VALUE column)
330
- {
331
- GdkRectangle rect;
332
- gtk_tree_view_get_background_area(_SELF(self),
333
- NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
334
- NIL_P(column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(column),
335
- &rect);
336
- return GDKRECTANGLE2RVAL(&rect);
337
- }
338
-
339
- static VALUE
340
- rg_visible_rect(VALUE self)
341
- {
342
- GdkRectangle rect;
343
- gtk_tree_view_get_visible_rect(_SELF(self), &rect);
344
- return GDKRECTANGLE2RVAL(&rect);
345
- }
346
-
347
- static VALUE
348
- rg_visible_range(VALUE self)
349
- {
350
- GtkTreePath* start_path;
351
- GtkTreePath* end_path;
352
-
353
- gboolean valid_paths = gtk_tree_view_get_visible_range(_SELF(self), &start_path, &end_path);
354
-
355
- return valid_paths ? rb_assoc_new(GTKTREEPATH2RVAL(start_path),
356
- GTKTREEPATH2RVAL(end_path)) : Qnil;
357
- }
358
-
359
- static VALUE
360
- rg_bin_window(VALUE self)
361
- {
362
- return GOBJ2RVAL(gtk_tree_view_get_bin_window(_SELF(self)));
363
- }
364
-
365
- static VALUE
366
- rg_convert_bin_window_to_tree_coords(VALUE self, VALUE bx, VALUE by)
367
- {
368
- gint tx, ty;
369
- gtk_tree_view_convert_bin_window_to_tree_coords(_SELF(self),
370
- NUM2INT(bx), NUM2INT(by),
371
- &tx, &ty);
372
- return rb_ary_new3(2, INT2NUM(tx), INT2NUM(ty));
373
- }
374
- static VALUE
375
- rg_convert_bin_window_to_widget_coords(VALUE self, VALUE bx, VALUE by)
376
- {
377
- gint wx, wy;
378
- gtk_tree_view_convert_bin_window_to_widget_coords(_SELF(self),
379
- NUM2INT(bx), NUM2INT(by),
380
- &wx, &wy);
381
- return rb_ary_new3(2, INT2NUM(wx), INT2NUM(wy));
382
- }
383
-
384
- static VALUE
385
- rg_convert_tree_to_bin_window_coords(VALUE self, VALUE tx, VALUE ty)
386
- {
387
- gint bx, by;
388
- gtk_tree_view_convert_tree_to_bin_window_coords(_SELF(self),
389
- NUM2INT(tx), NUM2INT(ty),
390
- &bx, &by);
391
- return rb_ary_new3(2, INT2NUM(bx), INT2NUM(by));
392
- }
393
- static VALUE
394
- rg_convert_tree_to_widget_coords(VALUE self, VALUE tx, VALUE ty)
395
- {
396
- gint wx, wy;
397
- gtk_tree_view_convert_tree_to_widget_coords(_SELF(self),
398
- NUM2INT(tx), NUM2INT(ty),
399
- &wx, &wy);
400
- return rb_ary_new3(2, INT2NUM(wx), INT2NUM(wy));
401
- }
402
-
403
- static VALUE
404
- rg_convert_widget_to_bin_window_coords(VALUE self, VALUE wx, VALUE wy)
405
- {
406
- gint bx, by;
407
- gtk_tree_view_convert_widget_to_bin_window_coords(_SELF(self),
408
- NUM2INT(wx), NUM2INT(wy),
409
- &bx, &by);
410
- return rb_ary_new3(2, INT2NUM(bx), INT2NUM(by));
411
- }
412
- static VALUE
413
- rg_convert_widget_to_tree_coords(VALUE self, VALUE wx, VALUE wy)
414
- {
415
- gint tx, ty;
416
- gtk_tree_view_convert_widget_to_tree_coords(_SELF(self),
417
- NUM2INT(wx), NUM2INT(wy),
418
- &tx, &ty);
419
- return rb_ary_new3(2, INT2NUM(tx), INT2NUM(ty));
420
- }
421
-
422
- static VALUE
423
- rg_enable_model_drag_dest(VALUE self, VALUE rbtargets, VALUE rbactions)
424
- {
425
- GtkTreeView *view = _SELF(self);
426
- GdkDragAction actions = RVAL2GDKDRAGACTION(rbactions);
427
- long n;
428
- GtkTargetEntry *targets = RVAL2GTKTARGETENTRIES(rbtargets, &n);
429
-
430
- gtk_tree_view_enable_model_drag_dest(view, targets, n, actions);
431
-
432
- g_free(targets);
433
-
434
- return self;
435
- }
436
-
437
- static VALUE
438
- rg_enable_model_drag_source(VALUE self, VALUE rbstart_button_mask, VALUE rbtargets, VALUE rbactions)
439
- {
440
- GtkTreeView *view = _SELF(self);
441
- GdkModifierType start_button_mask = RVAL2GDKMODIFIERTYPE(rbstart_button_mask);
442
- GdkDragAction actions = RVAL2GDKDRAGACTION(rbactions);
443
- long n;
444
- GtkTargetEntry *targets = RVAL2GTKTARGETENTRIES_ACCEPT_NIL(rbtargets, &n);
445
-
446
- if (targets == NULL)
447
- return self;
448
-
449
- gtk_tree_view_enable_model_drag_source(view, start_button_mask, targets, n, actions);
450
-
451
- g_free(targets);
452
-
453
- return self;
454
- }
455
-
456
- static VALUE
457
- rg_unset_rows_drag_source(VALUE self)
458
- {
459
- gtk_tree_view_unset_rows_drag_source(_SELF(self));
460
- return self;
461
- }
462
-
463
- static VALUE
464
- rg_unset_rows_drag_dest(VALUE self)
465
- {
466
- gtk_tree_view_unset_rows_drag_dest(_SELF(self));
467
- return self;
468
- }
469
-
470
- static VALUE
471
- rg_set_drag_dest_row(VALUE self, VALUE path, VALUE pos)
472
- {
473
- gtk_tree_view_set_drag_dest_row(_SELF(self),
474
- NIL_P(path)?NULL:RVAL2GTKTREEPATH(path),
475
- RVAL2GTKTREEVIEWDROPPOSITION(pos));
476
- return self;
477
- }
478
-
479
- static VALUE
480
- rg_drag_dest_row(VALUE self)
481
- {
482
- GtkTreePath* path = NULL;
483
- GtkTreeViewDropPosition pos;
484
- gtk_tree_view_get_drag_dest_row(_SELF(self), &path, &pos);
485
- return rb_ary_new3(2, path ? GTKTREEPATH2RVAL(path) : Qnil,
486
- GTKTREEVIEWDROPPOSITION2RVAL(pos));
487
- }
488
-
489
- static VALUE
490
- rg_get_dest_row_at_pos(VALUE self, VALUE drag_x, VALUE drag_y)
491
- {
492
- GtkTreePath* path;
493
- GtkTreeViewDropPosition pos;
494
- gboolean ret;
495
-
496
- ret = gtk_tree_view_get_dest_row_at_pos(_SELF(self),
497
- NUM2INT(drag_x), NUM2INT(drag_y),
498
- &path, &pos);
499
- return ret ? rb_ary_new3(2, path ? GTKTREEPATH2RVAL(path) : Qnil,
500
- GTKTREEVIEWDROPPOSITION2RVAL(pos)) : Qnil;
501
- }
502
-
503
- static VALUE
504
- rg_create_row_drag_icon(VALUE self, VALUE path)
505
- {
506
- return GOBJ2RVAL(gtk_tree_view_create_row_drag_icon(_SELF(self),
507
- RVAL2GTKTREEPATH(path)));
508
- }
509
-
510
- /*
511
- We don't need this.
512
- GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func
513
- (GtkTreeView *tree_view);
514
- */
515
-
516
- static gboolean
517
- search_equal_func(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer func)
518
- {
519
- iter->user_data3 = model;
520
- return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 4,
521
- GOBJ2RVAL(model), INT2NUM(column),
522
- CSTR2RVAL(key), GTKTREEITER2RVAL(iter)));
523
- }
524
-
525
- static VALUE
526
- rg_set_search_equal_func(VALUE self)
527
- {
528
- VALUE func = rb_block_proc();
529
- G_RELATIVE(self, func);
530
- gtk_tree_view_set_search_equal_func(_SELF(self),
531
- (GtkTreeViewSearchEqualFunc)search_equal_func,
532
- (gpointer)func, NULL);
533
- return self;
534
- }
535
-
536
- /*
537
- * Optional Signals
538
- */
539
- static VALUE
540
- treeview_signal_func(G_GNUC_UNUSED guint num, const GValue *values)
541
- {
542
- GtkTreeView* view = g_value_get_object(&values[0]);
543
- GtkTreeIter* iter = g_value_get_boxed(&values[1]);
544
- iter->user_data3 = gtk_tree_view_get_model(view);
545
-
546
- return rb_ary_new3(3, GOBJ2RVAL(view), GTKTREEITER2RVAL(iter), GVAL2RVAL(&values[2]));
547
- }
548
-
549
- static VALUE
550
- rg_set_cursor_on_cell(VALUE self, VALUE path, VALUE focus_column, VALUE focus_cell, VALUE start_editing)
551
- {
552
- gtk_tree_view_set_cursor_on_cell(_SELF(self), RVAL2GTKTREEPATH(path),
553
- NIL_P(focus_column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(focus_column),
554
- NIL_P(focus_cell) ? NULL : RVAL2GTKCELLRENDERER(focus_cell),
555
- RVAL2CBOOL(start_editing));
556
- return self;
557
- }
558
-
559
- /* How can I implement this?
560
- GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func
561
- (GtkTreeView *tree_view);
562
- */
563
-
564
- static gboolean
565
- row_separator_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
566
- {
567
- VALUE ret;
568
- iter->user_data3 = model;
569
- ret = rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(model),
570
- GTKTREEITER2RVAL(iter));
571
- return CBOOL2RVAL(ret);
572
- }
573
-
574
- static VALUE
575
- rg_set_row_separator_func(VALUE self)
576
- {
577
- VALUE func = rb_block_proc();
578
-
579
- G_RELATIVE(self, func);
580
- gtk_tree_view_set_row_separator_func(_SELF(self),
581
- row_separator_func,
582
- (gpointer)func,
583
- (GDestroyNotify)NULL);
584
- return self;
585
- }
586
-
587
- static VALUE
588
- rg_search_entry(VALUE self)
589
- {
590
- return GOBJ2RVAL(gtk_tree_view_get_search_entry(_SELF(self)));
591
- }
592
-
593
- static VALUE
594
- rg_set_search_entry(VALUE self, VALUE entry)
595
- {
596
- gtk_tree_view_set_search_entry(_SELF(self), RVAL2GTKENTRY(entry));
597
- return self;
598
- }
599
-
600
- /* Can't define this.
601
- GtkTreeViewSearchPositionFunc gtk_tree_view_get_search_position_func
602
- (GtkTreeView *tree_view);
603
- */
604
-
605
- struct callback_arg
606
- {
607
- VALUE callback;
608
- VALUE tree_view;
609
- VALUE search_dialog;
610
- };
611
-
612
- static VALUE
613
- invoke_callback(VALUE data)
614
- {
615
- struct callback_arg *arg = (struct callback_arg *)data;
616
- rb_funcall(arg->callback, id_call, 2, arg->tree_view, arg->search_dialog);
617
- return Qnil;
618
- }
619
-
620
- static void
621
- search_position_func(GtkTreeView *tree_view, GtkWidget *search_dialog, gpointer func)
622
- {
623
- struct callback_arg arg;
624
-
625
- arg.callback = (VALUE)func;
626
- arg.tree_view = GOBJ2RVAL(tree_view);
627
- arg.search_dialog = GOBJ2RVAL(search_dialog);
628
- G_PROTECT_CALLBACK(invoke_callback, &arg);
629
- }
630
-
631
- static void
632
- remove_callback_reference(gpointer data)
633
- {
634
- G_CHILD_REMOVE(rb_mGtk, (VALUE)data);
635
- }
636
-
637
- static VALUE
638
- rg_set_search_position_func(VALUE self)
639
- {
640
- VALUE func = rb_block_proc();
641
- G_CHILD_ADD(rb_mGtk, func);
642
- gtk_tree_view_set_search_position_func(_SELF(self),
643
- (GtkTreeViewSearchPositionFunc)search_position_func,
644
- (gpointer)func,
645
- (GDestroyNotify)remove_callback_reference);
646
- return self;
647
- }
648
-
649
- void
650
- Init_gtk_treeview(VALUE mGtk)
651
- {
652
- rb_mGtk = mGtk;
653
- VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_VIEW, "TreeView", mGtk);
654
-
655
- id_selection = rb_intern("selection");
656
- id_model = rb_intern("model");
657
-
658
- RG_DEF_METHOD(initialize, -1);
659
- RG_DEF_METHOD(selection, 0);
660
- RG_DEF_METHOD(columns_autosize, 0);
661
- RG_DEF_METHOD(append_column, 1);
662
- RG_DEF_METHOD(remove_column, 1);
663
- RG_DEF_METHOD(insert_column, -1);
664
- RG_DEF_METHOD(get_column, 1);
665
- RG_DEF_METHOD(columns, 0);
666
- RG_DEF_METHOD(move_column_after, 2);
667
- RG_DEF_METHOD(set_column_drag_function, 0);
668
- RG_DEF_METHOD(scroll_to_point, 2);
669
- RG_DEF_METHOD(scroll_to_cell, 5);
670
- RG_DEF_METHOD(set_cursor, 3);
671
- RG_DEF_METHOD(cursor, 0);
672
- RG_DEF_METHOD(expand_all, 0);
673
- RG_DEF_METHOD(collapse_all, 0);
674
- RG_DEF_METHOD(expand_row, 2);
675
- RG_DEF_METHOD(collapse_row, 1);
676
- RG_DEF_METHOD(expand_to_path, 1);
677
- RG_DEF_METHOD(map_expanded_rows, 0);
678
- RG_DEF_METHOD_P(row_expanded, 1);
679
- RG_DEF_METHOD(get_path_at_pos, 2);
680
- RG_DEF_ALIAS("get_path", "get_path_at_pos");
681
- RG_DEF_METHOD(get_cell_area, 2);
682
- RG_DEF_METHOD(get_background_area, 2);
683
- RG_DEF_METHOD(visible_rect, 0);
684
- RG_DEF_METHOD(visible_range, 0);
685
- RG_DEF_METHOD(bin_window, 0);
686
- RG_DEF_METHOD(convert_bin_window_to_tree_coords, 2);
687
- RG_DEF_METHOD(convert_bin_window_to_widget_coords, 2);
688
- RG_DEF_METHOD(convert_tree_to_bin_window_coords, 2);
689
- RG_DEF_METHOD(convert_tree_to_widget_coords, 2);
690
- RG_DEF_METHOD(convert_widget_to_bin_window_coords, 2);
691
- RG_DEF_METHOD(convert_widget_to_tree_coords, 2);
692
- RG_DEF_METHOD(enable_model_drag_dest, 2);
693
- RG_DEF_METHOD(enable_model_drag_source, 3);
694
- RG_DEF_METHOD(unset_rows_drag_source, 0);
695
- RG_DEF_METHOD(unset_rows_drag_dest, 0);
696
- RG_DEF_METHOD(set_drag_dest_row, 2);
697
- RG_DEF_METHOD(drag_dest_row, 0);
698
- RG_DEF_METHOD(get_dest_row_at_pos, 2);
699
- RG_DEF_ALIAS("get_dest_row", "get_dest_row_at_pos");
700
- RG_DEF_METHOD(create_row_drag_icon, 1);
701
- RG_DEF_METHOD(set_search_equal_func, 0);
702
- RG_DEF_METHOD(set_cursor_on_cell, 4);
703
- RG_DEF_METHOD(set_row_separator_func, 0);
704
- RG_DEF_METHOD(search_entry, 0);
705
- RG_DEF_METHOD(set_search_entry, 1);
706
- RG_DEF_METHOD(set_search_position_func, 0);
707
-
708
- G_DEF_CLASS(GTK_TYPE_TREE_VIEW_DROP_POSITION, "DropPosition", RG_TARGET_NAMESPACE);
709
- G_DEF_CLASS(GTK_TYPE_TREE_VIEW_GRID_LINES, "GridLines", RG_TARGET_NAMESPACE);
710
-
711
- /* Option Signals */
712
- G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row-collapsed", (GValToRValSignalFunc)treeview_signal_func);
713
- G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row-expanded", (GValToRValSignalFunc)treeview_signal_func);
714
- G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "test-collapse-row", (GValToRValSignalFunc)treeview_signal_func);
715
- G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "test-expand-row", (GValToRValSignalFunc)treeview_signal_func);
716
- }