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

Sign up to get free protection for your applications and to get access to all the features.
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
- }