gtk3 2.2.4-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +20 -0
  3. data/ext/gtk3/conversions.c +34 -0
  4. data/ext/gtk3/depend +11 -0
  5. data/ext/gtk3/extconf.rb +99 -0
  6. data/ext/gtk3/gtk3.def +10 -0
  7. data/ext/gtk3/init.c +34 -0
  8. data/ext/gtk3/rbgtk-about-dialog.c +113 -0
  9. data/ext/gtk3/rbgtk-accel-group-entry.c +94 -0
  10. data/ext/gtk3/rbgtk-accel-group.c +199 -0
  11. data/ext/gtk3/rbgtk-accel-key.c +120 -0
  12. data/ext/gtk3/rbgtk-accel-label.c +55 -0
  13. data/ext/gtk3/rbgtk-accel-map.c +135 -0
  14. data/ext/gtk3/rbgtk-accelerator.c +78 -0
  15. data/ext/gtk3/rbgtk-accessible.c +40 -0
  16. data/ext/gtk3/rbgtk-action-bar.c +73 -0
  17. data/ext/gtk3/rbgtk-action-group.c +467 -0
  18. data/ext/gtk3/rbgtk-action.c +205 -0
  19. data/ext/gtk3/rbgtk-activatable.c +30 -0
  20. data/ext/gtk3/rbgtk-adjustment.c +98 -0
  21. data/ext/gtk3/rbgtk-alignment.c +75 -0
  22. data/ext/gtk3/rbgtk-allocation.c +166 -0
  23. data/ext/gtk3/rbgtk-app-chooser-button.c +70 -0
  24. data/ext/gtk3/rbgtk-app-chooser-dialog.c +68 -0
  25. data/ext/gtk3/rbgtk-app-chooser-widget.c +40 -0
  26. data/ext/gtk3/rbgtk-app-chooser.c +47 -0
  27. data/ext/gtk3/rbgtk-application.c +69 -0
  28. data/ext/gtk3/rbgtk-arrow.c +56 -0
  29. data/ext/gtk3/rbgtk-aspect-frame.c +56 -0
  30. data/ext/gtk3/rbgtk-assistant.c +218 -0
  31. data/ext/gtk3/rbgtk-bin.c +42 -0
  32. data/ext/gtk3/rbgtk-binding-set.c +154 -0
  33. data/ext/gtk3/rbgtk-border.c +119 -0
  34. data/ext/gtk3/rbgtk-box.c +146 -0
  35. data/ext/gtk3/rbgtk-buildable.c +96 -0
  36. data/ext/gtk3/rbgtk-builder.c +166 -0
  37. data/ext/gtk3/rbgtk-button-box.c +87 -0
  38. data/ext/gtk3/rbgtk-button.c +93 -0
  39. data/ext/gtk3/rbgtk-calendar.c +118 -0
  40. data/ext/gtk3/rbgtk-cell-editable.c +57 -0
  41. data/ext/gtk3/rbgtk-cell-layout.c +144 -0
  42. data/ext/gtk3/rbgtk-cell-renderer-accel.c +41 -0
  43. data/ext/gtk3/rbgtk-cell-renderer-combo.c +38 -0
  44. data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +41 -0
  45. data/ext/gtk3/rbgtk-cell-renderer-progress.c +38 -0
  46. data/ext/gtk3/rbgtk-cell-renderer-spin.c +39 -0
  47. data/ext/gtk3/rbgtk-cell-renderer-spinner.c +38 -0
  48. data/ext/gtk3/rbgtk-cell-renderer-text.c +48 -0
  49. data/ext/gtk3/rbgtk-cell-renderer-toggle.c +39 -0
  50. data/ext/gtk3/rbgtk-cell-renderer.c +119 -0
  51. data/ext/gtk3/rbgtk-cell-view.c +95 -0
  52. data/ext/gtk3/rbgtk-check-button.c +64 -0
  53. data/ext/gtk3/rbgtk-check-menu-item.c +64 -0
  54. data/ext/gtk3/rbgtk-clip-board.c +389 -0
  55. data/ext/gtk3/rbgtk-color-button.c +55 -0
  56. data/ext/gtk3/rbgtk-color-selection-dialog.c +56 -0
  57. data/ext/gtk3/rbgtk-color-selection.c +219 -0
  58. data/ext/gtk3/rbgtk-combo-box-text.c +138 -0
  59. data/ext/gtk3/rbgtk-combo-box.c +147 -0
  60. data/ext/gtk3/rbgtk-const.c +79 -0
  61. data/ext/gtk3/rbgtk-container.c +788 -0
  62. data/ext/gtk3/rbgtk-css-provider.c +110 -0
  63. data/ext/gtk3/rbgtk-dialog.c +206 -0
  64. data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +108 -0
  65. data/ext/gtk3/rbgtk-drag.c +93 -0
  66. data/ext/gtk3/rbgtk-drawing-area.c +42 -0
  67. data/ext/gtk3/rbgtk-editable.c +149 -0
  68. data/ext/gtk3/rbgtk-entry-buffer.c +87 -0
  69. data/ext/gtk3/rbgtk-entry-completion.c +122 -0
  70. data/ext/gtk3/rbgtk-entry.c +184 -0
  71. data/ext/gtk3/rbgtk-event-box.c +42 -0
  72. data/ext/gtk3/rbgtk-expander.c +49 -0
  73. data/ext/gtk3/rbgtk-file-chooser-button.c +50 -0
  74. data/ext/gtk3/rbgtk-file-chooser-dialog.c +62 -0
  75. data/ext/gtk3/rbgtk-file-chooser-widget.c +40 -0
  76. data/ext/gtk3/rbgtk-file-chooser.c +381 -0
  77. data/ext/gtk3/rbgtk-file-filter.c +128 -0
  78. data/ext/gtk3/rbgtk-file-system-error.c +48 -0
  79. data/ext/gtk3/rbgtk-fixed.c +61 -0
  80. data/ext/gtk3/rbgtk-font-button.c +49 -0
  81. data/ext/gtk3/rbgtk-font-chooser-dialog.c +56 -0
  82. data/ext/gtk3/rbgtk-font-chooser-widget.c +45 -0
  83. data/ext/gtk3/rbgtk-font-chooser.c +78 -0
  84. data/ext/gtk3/rbgtk-frame.c +69 -0
  85. data/ext/gtk3/rbgtk-gdk-event.c +38 -0
  86. data/ext/gtk3/rbgtk-grid.c +105 -0
  87. data/ext/gtk3/rbgtk-handle-box.c +45 -0
  88. data/ext/gtk3/rbgtk-header-bar.c +58 -0
  89. data/ext/gtk3/rbgtk-hsv.c +102 -0
  90. data/ext/gtk3/rbgtk-icon-factory.c +85 -0
  91. data/ext/gtk3/rbgtk-icon-info.c +115 -0
  92. data/ext/gtk3/rbgtk-icon-set.c +84 -0
  93. data/ext/gtk3/rbgtk-icon-size.c +91 -0
  94. data/ext/gtk3/rbgtk-icon-source.c +184 -0
  95. data/ext/gtk3/rbgtk-icon-theme.c +268 -0
  96. data/ext/gtk3/rbgtk-icon-view.c +295 -0
  97. data/ext/gtk3/rbgtk-im-multicontext.c +48 -0
  98. data/ext/gtk3/rbgtk-image-menu-item.c +67 -0
  99. data/ext/gtk3/rbgtk-image.c +162 -0
  100. data/ext/gtk3/rbgtk-imcon-text-simple.c +69 -0
  101. data/ext/gtk3/rbgtk-imcon-text.c +133 -0
  102. data/ext/gtk3/rbgtk-infobar.c +121 -0
  103. data/ext/gtk3/rbgtk-invisible.c +49 -0
  104. data/ext/gtk3/rbgtk-label.c +139 -0
  105. data/ext/gtk3/rbgtk-layout.c +93 -0
  106. data/ext/gtk3/rbgtk-level-bar.c +88 -0
  107. data/ext/gtk3/rbgtk-link-button.c +49 -0
  108. data/ext/gtk3/rbgtk-list-store.c +399 -0
  109. data/ext/gtk3/rbgtk-lock-button.c +50 -0
  110. data/ext/gtk3/rbgtk-menu-button.c +41 -0
  111. data/ext/gtk3/rbgtk-menu-item.c +95 -0
  112. data/ext/gtk3/rbgtk-menu-shell.c +106 -0
  113. data/ext/gtk3/rbgtk-menu-tool-button.c +81 -0
  114. data/ext/gtk3/rbgtk-menu.c +168 -0
  115. data/ext/gtk3/rbgtk-menubar.c +43 -0
  116. data/ext/gtk3/rbgtk-message-dialog.c +74 -0
  117. data/ext/gtk3/rbgtk-misc.c +70 -0
  118. data/ext/gtk3/rbgtk-notebook.c +383 -0
  119. data/ext/gtk3/rbgtk-numerable-icon.c +50 -0
  120. data/ext/gtk3/rbgtk-orientable.c +27 -0
  121. data/ext/gtk3/rbgtk-overlay.c +53 -0
  122. data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +94 -0
  123. data/ext/gtk3/rbgtk-page-setup.c +195 -0
  124. data/ext/gtk3/rbgtk-paned.c +114 -0
  125. data/ext/gtk3/rbgtk-paper-size.c +179 -0
  126. data/ext/gtk3/rbgtk-plug.c +85 -0
  127. data/ext/gtk3/rbgtk-print-context.c +125 -0
  128. data/ext/gtk3/rbgtk-print-job.c +148 -0
  129. data/ext/gtk3/rbgtk-print-operation-preview.c +59 -0
  130. data/ext/gtk3/rbgtk-print-operation.c +149 -0
  131. data/ext/gtk3/rbgtk-print-settings.c +807 -0
  132. data/ext/gtk3/rbgtk-print-unix-dialog.c +90 -0
  133. data/ext/gtk3/rbgtk-printer.c +155 -0
  134. data/ext/gtk3/rbgtk-progress-bar.c +72 -0
  135. data/ext/gtk3/rbgtk-radio-action.c +122 -0
  136. data/ext/gtk3/rbgtk-radio-button.c +89 -0
  137. data/ext/gtk3/rbgtk-radio-menu-item.c +147 -0
  138. data/ext/gtk3/rbgtk-radio-tool-button.c +131 -0
  139. data/ext/gtk3/rbgtk-range.c +68 -0
  140. data/ext/gtk3/rbgtk-recent-action.c +64 -0
  141. data/ext/gtk3/rbgtk-recent-chooser-dialog.c +66 -0
  142. data/ext/gtk3/rbgtk-recent-chooser-menu.c +50 -0
  143. data/ext/gtk3/rbgtk-recent-chooser-widget.c +48 -0
  144. data/ext/gtk3/rbgtk-recent-chooser.c +198 -0
  145. data/ext/gtk3/rbgtk-recent-data.c +188 -0
  146. data/ext/gtk3/rbgtk-recent-filter-info.c +201 -0
  147. data/ext/gtk3/rbgtk-recent-filter.c +169 -0
  148. data/ext/gtk3/rbgtk-recent-info.c +213 -0
  149. data/ext/gtk3/rbgtk-recent-manager.c +134 -0
  150. data/ext/gtk3/rbgtk-revealer.c +42 -0
  151. data/ext/gtk3/rbgtk-scale-button.c +84 -0
  152. data/ext/gtk3/rbgtk-scale.c +97 -0
  153. data/ext/gtk3/rbgtk-scrollable.c +31 -0
  154. data/ext/gtk3/rbgtk-scrollbar.c +52 -0
  155. data/ext/gtk3/rbgtk-scrolled-window.c +122 -0
  156. data/ext/gtk3/rbgtk-search-bar.c +59 -0
  157. data/ext/gtk3/rbgtk-search-entry.c +42 -0
  158. data/ext/gtk3/rbgtk-selection-data.c +281 -0
  159. data/ext/gtk3/rbgtk-selection.c +168 -0
  160. data/ext/gtk3/rbgtk-separator-menu-item.c +39 -0
  161. data/ext/gtk3/rbgtk-separator-tool-item.c +38 -0
  162. data/ext/gtk3/rbgtk-separator.c +44 -0
  163. data/ext/gtk3/rbgtk-settings.c +229 -0
  164. data/ext/gtk3/rbgtk-size-group.c +66 -0
  165. data/ext/gtk3/rbgtk-socket.c +82 -0
  166. data/ext/gtk3/rbgtk-spin-button.c +132 -0
  167. data/ext/gtk3/rbgtk-spinner.c +55 -0
  168. data/ext/gtk3/rbgtk-stack-switcher.c +41 -0
  169. data/ext/gtk3/rbgtk-stack.c +106 -0
  170. data/ext/gtk3/rbgtk-status-bar.c +77 -0
  171. data/ext/gtk3/rbgtk-status-icon.c +122 -0
  172. data/ext/gtk3/rbgtk-stock.c +213 -0
  173. data/ext/gtk3/rbgtk-style-context-gdk-screen.c +61 -0
  174. data/ext/gtk3/rbgtk-style-context.c +411 -0
  175. data/ext/gtk3/rbgtk-style-properties.c +118 -0
  176. data/ext/gtk3/rbgtk-style-provider.c +67 -0
  177. data/ext/gtk3/rbgtk-switch.c +40 -0
  178. data/ext/gtk3/rbgtk-table.c +190 -0
  179. data/ext/gtk3/rbgtk-target-list.c +125 -0
  180. data/ext/gtk3/rbgtk-tearoff-menu-item.c +41 -0
  181. data/ext/gtk3/rbgtk-text-appearance.c +236 -0
  182. data/ext/gtk3/rbgtk-text-attributes.c +326 -0
  183. data/ext/gtk3/rbgtk-text-buffer.c +899 -0
  184. data/ext/gtk3/rbgtk-text-child-anchor.c +56 -0
  185. data/ext/gtk3/rbgtk-text-iter.c +732 -0
  186. data/ext/gtk3/rbgtk-text-mark.c +71 -0
  187. data/ext/gtk3/rbgtk-text-tag-table.c +96 -0
  188. data/ext/gtk3/rbgtk-text-tag.c +68 -0
  189. data/ext/gtk3/rbgtk-text-view.c +336 -0
  190. data/ext/gtk3/rbgtk-theming-engine.c +257 -0
  191. data/ext/gtk3/rbgtk-toggle-action.c +61 -0
  192. data/ext/gtk3/rbgtk-toggle-button.c +87 -0
  193. data/ext/gtk3/rbgtk-toggle-tool-button.c +61 -0
  194. data/ext/gtk3/rbgtk-tool-button.c +66 -0
  195. data/ext/gtk3/rbgtk-tool-item.c +200 -0
  196. data/ext/gtk3/rbgtk-tool-itemgroup.c +70 -0
  197. data/ext/gtk3/rbgtk-tool-shell.c +96 -0
  198. data/ext/gtk3/rbgtk-toolbar.c +118 -0
  199. data/ext/gtk3/rbgtk-tooltip-gdk-display.c +39 -0
  200. data/ext/gtk3/rbgtk-tooltip.c +100 -0
  201. data/ext/gtk3/rbgtk-tree-dragdest.c +28 -0
  202. data/ext/gtk3/rbgtk-tree-dragsource.c +28 -0
  203. data/ext/gtk3/rbgtk-tree-iter.c +258 -0
  204. data/ext/gtk3/rbgtk-tree-model.c +246 -0
  205. data/ext/gtk3/rbgtk-tree-modelfilter.c +197 -0
  206. data/ext/gtk3/rbgtk-tree-modelsort.c +111 -0
  207. data/ext/gtk3/rbgtk-tree-path.c +191 -0
  208. data/ext/gtk3/rbgtk-tree-rowreference.c +140 -0
  209. data/ext/gtk3/rbgtk-tree-selection.c +190 -0
  210. data/ext/gtk3/rbgtk-tree-sortable.c +122 -0
  211. data/ext/gtk3/rbgtk-tree-store.c +330 -0
  212. data/ext/gtk3/rbgtk-tree-view-column.c +256 -0
  213. data/ext/gtk3/rbgtk-tree-view.c +716 -0
  214. data/ext/gtk3/rbgtk-ui-manager.c +189 -0
  215. data/ext/gtk3/rbgtk-viewport.c +44 -0
  216. data/ext/gtk3/rbgtk-volume-button.c +41 -0
  217. data/ext/gtk3/rbgtk-widget-path.c +229 -0
  218. data/ext/gtk3/rbgtk-widget.c +1554 -0
  219. data/ext/gtk3/rbgtk-window-group.c +80 -0
  220. data/ext/gtk3/rbgtk-window.c +565 -0
  221. data/ext/gtk3/rbgtk.c +783 -0
  222. data/ext/gtk3/rbgtk3.h +90 -0
  223. data/ext/gtk3/rbgtk3conversions.h +439 -0
  224. data/ext/gtk3/rbgtk3private.h +300 -0
  225. data/ext/gtk3/rbgtk3util.c +67 -0
  226. data/ext/gtk3/rbgtk3util.h +32 -0
  227. data/extconf.rb +49 -0
  228. data/lib/2.0/gtk3.so +0 -0
  229. data/lib/2.1/gtk3.so +0 -0
  230. data/lib/2.2/gtk3.so +0 -0
  231. data/lib/gtk3.rb +11 -0
  232. data/lib/gtk3/base.rb +67 -0
  233. data/lib/gtk3/deprecated.rb +1004 -0
  234. data/sample/gtk-demo/README +7 -0
  235. data/sample/gtk-demo/alphatest.png +0 -0
  236. data/sample/gtk-demo/apple-red.png +0 -0
  237. data/sample/gtk-demo/appwindow.rb +233 -0
  238. data/sample/gtk-demo/background.jpg +0 -0
  239. data/sample/gtk-demo/builder.rb +51 -0
  240. data/sample/gtk-demo/button_box.rb +83 -0
  241. data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
  242. data/sample/gtk-demo/cairo-arc.rb +41 -0
  243. data/sample/gtk-demo/cairo-clip-image.rb +51 -0
  244. data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
  245. data/sample/gtk-demo/cairo-clip.rb +35 -0
  246. data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
  247. data/sample/gtk-demo/cairo-curve-to.rb +43 -0
  248. data/sample/gtk-demo/cairo-dash.rb +39 -0
  249. data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
  250. data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
  251. data/sample/gtk-demo/cairo-gradient.rb +35 -0
  252. data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
  253. data/sample/gtk-demo/cairo-image.rb +49 -0
  254. data/sample/gtk-demo/cairo-line-cap.rb +53 -0
  255. data/sample/gtk-demo/cairo-line-join.rb +41 -0
  256. data/sample/gtk-demo/cairo-long-lines.rb +41 -0
  257. data/sample/gtk-demo/cairo-operator.rb +83 -0
  258. data/sample/gtk-demo/cairo-path.rb +28 -0
  259. data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
  260. data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
  261. data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
  262. data/sample/gtk-demo/cairo-text-extents.rb +46 -0
  263. data/sample/gtk-demo/cairo-text.rb +43 -0
  264. data/sample/gtk-demo/changedisplay.rb +407 -0
  265. data/sample/gtk-demo/clipboard.rb +67 -0
  266. data/sample/gtk-demo/colorsel.rb +82 -0
  267. data/sample/gtk-demo/common.rb +87 -0
  268. data/sample/gtk-demo/css_accordion.css +53 -0
  269. data/sample/gtk-demo/css_accordion.rb +75 -0
  270. data/sample/gtk-demo/demo.ui +258 -0
  271. data/sample/gtk-demo/dialog.rb +137 -0
  272. data/sample/gtk-demo/drawingarea.rb +205 -0
  273. data/sample/gtk-demo/editable_cells.rb +173 -0
  274. data/sample/gtk-demo/entry_completion.rb +63 -0
  275. data/sample/gtk-demo/expander.rb +42 -0
  276. data/sample/gtk-demo/floppybuddy.gif +0 -0
  277. data/sample/gtk-demo/gnome-applets.png +0 -0
  278. data/sample/gtk-demo/gnome-calendar.png +0 -0
  279. data/sample/gtk-demo/gnome-foot.png +0 -0
  280. data/sample/gtk-demo/gnome-fs-directory.png +0 -0
  281. data/sample/gtk-demo/gnome-fs-regular.png +0 -0
  282. data/sample/gtk-demo/gnome-gimp.png +0 -0
  283. data/sample/gtk-demo/gnome-gmush.png +0 -0
  284. data/sample/gtk-demo/gnome-gsame.png +0 -0
  285. data/sample/gtk-demo/gnu-keys.png +0 -0
  286. data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
  287. data/sample/gtk-demo/hypertext.rb +211 -0
  288. data/sample/gtk-demo/iconview.rb +110 -0
  289. data/sample/gtk-demo/images.rb +197 -0
  290. data/sample/gtk-demo/infobar.rb +78 -0
  291. data/sample/gtk-demo/item_factory.rb +94 -0
  292. data/sample/gtk-demo/links.rb +53 -0
  293. data/sample/gtk-demo/list_store.rb +138 -0
  294. data/sample/gtk-demo/main.rb +384 -0
  295. data/sample/gtk-demo/menus.rb +172 -0
  296. data/sample/gtk-demo/panes.rb +156 -0
  297. data/sample/gtk-demo/pixbufs.rb +167 -0
  298. data/sample/gtk-demo/printing.rb +128 -0
  299. data/sample/gtk-demo/reset.css +69 -0
  300. data/sample/gtk-demo/rotated_text.rb +72 -0
  301. data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
  302. data/sample/gtk-demo/sizegroup.rb +118 -0
  303. data/sample/gtk-demo/spinner.rb +59 -0
  304. data/sample/gtk-demo/stock_browser.rb +233 -0
  305. data/sample/gtk-demo/textview.rb +436 -0
  306. data/sample/gtk-demo/theming.ui +319 -0
  307. data/sample/gtk-demo/theming_style_classes.rb +48 -0
  308. data/sample/gtk-demo/tree_store.rb +270 -0
  309. data/sample/misc/aboutdialog.rb +42 -0
  310. data/sample/misc/aboutdialog2.rb +42 -0
  311. data/sample/misc/alpha-demo.rb +70 -0
  312. data/sample/misc/assistant.rb +281 -0
  313. data/sample/misc/bindings.rb +97 -0
  314. data/sample/misc/button.rb +72 -0
  315. data/sample/misc/button2.rb +28 -0
  316. data/sample/misc/buttonbox.rb +93 -0
  317. data/sample/misc/cairo-pong.rb +217 -0
  318. data/sample/misc/calendar.rb +66 -0
  319. data/sample/misc/checkbutton.rb +49 -0
  320. data/sample/misc/colorselection.rb +22 -0
  321. data/sample/misc/combo_check.rb +79 -0
  322. data/sample/misc/combobox.rb +85 -0
  323. data/sample/misc/composited-windows.rb +113 -0
  324. data/sample/misc/cursor.rb +34 -0
  325. data/sample/misc/dialog.rb +44 -0
  326. data/sample/misc/dialog2.rb +36 -0
  327. data/sample/misc/dnd.rb +64 -0
  328. data/sample/misc/dndtreeview.rb +56 -0
  329. data/sample/misc/drag-move.rb +139 -0
  330. data/sample/misc/drawing.rb +109 -0
  331. data/sample/misc/entry.rb +34 -0
  332. data/sample/misc/entrycompletion.rb +33 -0
  333. data/sample/misc/expander.rb +27 -0
  334. data/sample/misc/filechooser.rb +41 -0
  335. data/sample/misc/frame.rb +69 -0
  336. data/sample/misc/gdkscreen.rb +32 -0
  337. data/sample/misc/gnome-logo-icon.png +0 -0
  338. data/sample/misc/helloworld.rb +35 -0
  339. data/sample/misc/iconview.rb +38 -0
  340. data/sample/misc/image.rb +42 -0
  341. data/sample/misc/itemfactory.rb +73 -0
  342. data/sample/misc/itemfactory2.rb +74 -0
  343. data/sample/misc/keyboard_grab.rb +29 -0
  344. data/sample/misc/label.rb +33 -0
  345. data/sample/misc/linkbutton.rb +42 -0
  346. data/sample/misc/listview.rb +92 -0
  347. data/sample/misc/menu.rb +81 -0
  348. data/sample/misc/misc_button.rb +49 -0
  349. data/sample/misc/mouse-gesture.rb +465 -0
  350. data/sample/misc/pangorenderer.rb +66 -0
  351. data/sample/misc/pointer_grab.rb +34 -0
  352. data/sample/misc/print.rb +247 -0
  353. data/sample/misc/properties.rb +86 -0
  354. data/sample/misc/radiobutton.rb +47 -0
  355. data/sample/misc/recentchooserdialog.rb +52 -0
  356. data/sample/misc/rgtk+cairo.rb +42 -0
  357. data/sample/misc/scalebutton.rb +19 -0
  358. data/sample/misc/settings.rb +41 -0
  359. data/sample/misc/statusicon.rb +106 -0
  360. data/sample/misc/stock.rb +36 -0
  361. data/sample/misc/style_property.rb +67 -0
  362. data/sample/misc/style_property.rc +19 -0
  363. data/sample/misc/t-gtkplug.rb +58 -0
  364. data/sample/misc/t-gtksocket.rb +65 -0
  365. data/sample/misc/test.xpm +92 -0
  366. data/sample/misc/textbuffer_serialize.rb +130 -0
  367. data/sample/misc/threads.rb +70 -0
  368. data/sample/misc/to_drawable.rb +42 -0
  369. data/sample/misc/togglebutton.rb +34 -0
  370. data/sample/misc/toolbar.rb +55 -0
  371. data/sample/misc/tooltips.rb +204 -0
  372. data/sample/misc/tree_combo.rb +79 -0
  373. data/sample/misc/tree_progress.rb +61 -0
  374. data/sample/misc/treemodelfilter.rb +49 -0
  375. data/sample/misc/treeview.rb +71 -0
  376. data/sample/misc/uimanager.rb +148 -0
  377. data/sample/misc/uimanager2.rb +91 -0
  378. data/sample/misc/uimanager2.xml +36 -0
  379. data/sample/misc/window.rb +24 -0
  380. data/sample/misc/xbm_cursor.rb +43 -0
  381. data/sample/testgtk/3DRings.xpm +116 -0
  382. data/sample/testgtk/FilesQueue.xpm +98 -0
  383. data/sample/testgtk/Modeller.xpm +117 -0
  384. data/sample/testgtk/README +14 -0
  385. data/sample/testgtk/button.rb +124 -0
  386. data/sample/testgtk/buttonbox.rb +100 -0
  387. data/sample/testgtk/check-n.xpm +21 -0
  388. data/sample/testgtk/check-y.xpm +21 -0
  389. data/sample/testgtk/checkbutton.rb +67 -0
  390. data/sample/testgtk/circles.xbm +46 -0
  391. data/sample/testgtk/colorselect.rb +33 -0
  392. data/sample/testgtk/dialog.rb +48 -0
  393. data/sample/testgtk/entry.rb +73 -0
  394. data/sample/testgtk/filesel.rb +65 -0
  395. data/sample/testgtk/fontselection.rb +56 -0
  396. data/sample/testgtk/labels.rb +74 -0
  397. data/sample/testgtk/layout.rb +108 -0
  398. data/sample/testgtk/marble.xpm +408 -0
  399. data/sample/testgtk/menu.rb +79 -0
  400. data/sample/testgtk/notebook.rb +280 -0
  401. data/sample/testgtk/pixmap.rb +58 -0
  402. data/sample/testgtk/progressbar.rb +173 -0
  403. data/sample/testgtk/radiobutton.rb +61 -0
  404. data/sample/testgtk/range.rb +65 -0
  405. data/sample/testgtk/reparent.rb +91 -0
  406. data/sample/testgtk/sample.rb +80 -0
  407. data/sample/testgtk/savedposition.rb +87 -0
  408. data/sample/testgtk/scrolledwindow.rb +67 -0
  409. data/sample/testgtk/shapedwindow.rb +99 -0
  410. data/sample/testgtk/spinbutton.rb +181 -0
  411. data/sample/testgtk/statusbar.rb +89 -0
  412. data/sample/testgtk/test.xpm +92 -0
  413. data/sample/testgtk/testgtk.rb +176 -0
  414. data/sample/testgtk/testgtkrc +146 -0
  415. data/sample/testgtk/testgtkrc2 +21 -0
  416. data/sample/testgtk/togglebutton.rb +53 -0
  417. data/sample/testgtk/toolbar.rb +82 -0
  418. data/sample/testgtk/tooltips.rb +41 -0
  419. data/sample/testgtk/wmhints.rb +40 -0
  420. data/test/gtk-test-utils.rb +15 -0
  421. data/test/run-test.rb +58 -0
  422. data/test/test_gc.rb +22 -0
  423. data/test/test_gtk.rb +23 -0
  424. data/test/test_gtk_about_dialog.rb +13 -0
  425. data/test/test_gtk_accel_group_entry.rb +24 -0
  426. data/test/test_gtk_accel_key.rb +24 -0
  427. data/test/test_gtk_accessible.rb +31 -0
  428. data/test/test_gtk_action_group.rb +46 -0
  429. data/test/test_gtk_allocation.rb +24 -0
  430. data/test/test_gtk_border.rb +24 -0
  431. data/test/test_gtk_buildable.rb +56 -0
  432. data/test/test_gtk_builder.rb +166 -0
  433. data/test/test_gtk_container.rb +32 -0
  434. data/test/test_gtk_css_provider.rb +27 -0
  435. data/test/test_gtk_entry.rb +52 -0
  436. data/test/test_gtk_header_bar.rb +66 -0
  437. data/test/test_gtk_icon_theme.rb +31 -0
  438. data/test/test_gtk_icon_view.rb +41 -0
  439. data/test/test_gtk_image.rb +8 -0
  440. data/test/test_gtk_level_bar.rb +82 -0
  441. data/test/test_gtk_list_store.rb +105 -0
  442. data/test/test_gtk_menu_button.rb +49 -0
  443. data/test/test_gtk_menu_item.rb +13 -0
  444. data/test/test_gtk_recent_data.rb +24 -0
  445. data/test/test_gtk_recent_filter_info.rb +26 -0
  446. data/test/test_gtk_revealer.rb +57 -0
  447. data/test/test_gtk_search_bar.rb +55 -0
  448. data/test/test_gtk_search_entry.rb +34 -0
  449. data/test/test_gtk_stack.rb +115 -0
  450. data/test/test_gtk_stack_switcher.rb +30 -0
  451. data/test/test_gtk_style_context.rb +30 -0
  452. data/test/test_gtk_style_properties.rb +38 -0
  453. data/test/test_gtk_tree_path.rb +20 -0
  454. data/test/test_gtk_tree_selection.rb +31 -0
  455. data/test/test_gtk_unix_print.rb +14 -0
  456. data/test/test_gtk_widget.rb +24 -0
  457. metadata +582 -0
@@ -0,0 +1,71 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 Masahiro Sakai
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 cTextMark
25
+ #define _SELF(s) (RVAL2GTKTEXTMARK(s))
26
+
27
+ static VALUE
28
+ rg_initialize(VALUE self, VALUE name, VALUE left_gravity)
29
+ {
30
+ if (NIL_P(name))
31
+ G_INITIALIZE(self, gtk_text_mark_new(NULL, RVAL2CBOOL(left_gravity)));
32
+ else
33
+ G_INITIALIZE(self, gtk_text_mark_new(RVAL2CSTR(name), RVAL2CBOOL(left_gravity)));
34
+ return Qnil;
35
+ }
36
+
37
+ static VALUE
38
+ rg_set_visible(VALUE self, VALUE setting)
39
+ {
40
+ gtk_text_mark_set_visible(_SELF(self), RVAL2CBOOL(setting));
41
+ return setting;
42
+ }
43
+
44
+ static VALUE
45
+ rg_visible_p(VALUE self)
46
+ {
47
+ return CBOOL2RVAL(gtk_text_mark_get_visible(_SELF(self)));
48
+ }
49
+
50
+ static VALUE
51
+ rg_deleted_p(VALUE self)
52
+ {
53
+ return CBOOL2RVAL(gtk_text_mark_get_deleted(_SELF(self)));
54
+ }
55
+
56
+ static VALUE
57
+ rg_buffer(VALUE self)
58
+ {
59
+ return GOBJ2RVAL(gtk_text_mark_get_buffer(_SELF(self)));
60
+ }
61
+
62
+ void
63
+ Init_gtk_textmark(VALUE mGtk)
64
+ {
65
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TEXT_MARK, "TextMark", mGtk);
66
+ RG_DEF_METHOD(initialize, 2);
67
+ RG_DEF_METHOD(set_visible, 1);
68
+ RG_DEF_METHOD_P(visible, 0);
69
+ RG_DEF_METHOD_P(deleted, 0);
70
+ RG_DEF_METHOD(buffer, 0);
71
+ }
@@ -0,0 +1,96 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 OGASAWARA, Takeshi
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 cTextTagTable
25
+ #define _SELF(self) (RVAL2GTKTEXTTAGTABLE(self))
26
+
27
+ static VALUE
28
+ rg_initialize(VALUE self)
29
+ {
30
+ G_INITIALIZE(self, gtk_text_tag_table_new());
31
+ return Qnil;
32
+ }
33
+
34
+ static VALUE
35
+ rg_add(VALUE self, VALUE tag)
36
+ {
37
+ G_CHILD_ADD(self, tag);
38
+ gtk_text_tag_table_add(_SELF(self), RVAL2GTKTEXTTAG(tag));
39
+ return self;
40
+ }
41
+
42
+ static VALUE
43
+ rg_remove(VALUE self, VALUE tag)
44
+ {
45
+ G_CHILD_REMOVE(self, tag);
46
+ gtk_text_tag_table_remove(_SELF(self), RVAL2GTKTEXTTAG(tag));
47
+ return self;
48
+ }
49
+
50
+ static VALUE
51
+ rg_lookup(VALUE self, VALUE name)
52
+ {
53
+ VALUE ret = Qnil;
54
+ GtkTextTag* tag = gtk_text_tag_table_lookup(_SELF(self), RVAL2CSTR(name));
55
+ if (tag){
56
+ ret = GOBJ2RVAL(tag);
57
+ G_CHILD_ADD(self, ret);
58
+ }
59
+ return ret;
60
+ }
61
+
62
+ static gboolean
63
+ txt_tt_foreach_func(GtkTextTag *tag, gpointer func)
64
+ {
65
+ return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 1, GOBJ2RVAL(tag)));
66
+ }
67
+
68
+ static VALUE
69
+ rg_each(VALUE self)
70
+ {
71
+ volatile VALUE func = rb_block_proc();
72
+ gtk_text_tag_table_foreach(_SELF(self),
73
+ (GtkTextTagTableForeach)txt_tt_foreach_func,
74
+ (gpointer)func);
75
+ return self;
76
+ }
77
+
78
+ static VALUE
79
+ rg_size(VALUE self)
80
+ {
81
+ return INT2NUM(gtk_text_tag_table_get_size(_SELF(self)));
82
+ }
83
+
84
+ void
85
+ Init_gtk_text_tag_table(VALUE mGtk)
86
+ {
87
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TEXT_TAG_TABLE, "TextTagTable", mGtk);
88
+
89
+ RG_DEF_METHOD(initialize, 0);
90
+ RG_DEF_METHOD(add, 1);
91
+ RG_DEF_METHOD(remove, 1);
92
+ RG_DEF_METHOD(lookup, 1);
93
+ RG_DEF_ALIAS("[]", "lookup");
94
+ RG_DEF_METHOD(each, 0);
95
+ RG_DEF_METHOD(size, 0);
96
+ }
@@ -0,0 +1,68 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 Masahiro Sakai
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 cTextTag
25
+
26
+ static VALUE
27
+ rg_initialize(int argc, VALUE *argv, VALUE self)
28
+ {
29
+ VALUE name;
30
+ rb_scan_args(argc, argv, "01", &name);
31
+ G_INITIALIZE(self, gtk_text_tag_new(RVAL2CSTR_ACCEPT_NIL(name)));
32
+ return Qnil;
33
+ }
34
+
35
+ static VALUE
36
+ rg_priority(VALUE self)
37
+ {
38
+ return INT2NUM(gtk_text_tag_get_priority(RVAL2GTKTEXTTAG(self)));
39
+ }
40
+
41
+ static VALUE
42
+ rg_set_priority(VALUE self, VALUE priority)
43
+ {
44
+ gtk_text_tag_set_priority(RVAL2GTKTEXTTAG(self), NUM2INT(priority));
45
+ return priority;
46
+ }
47
+
48
+ static VALUE
49
+ rg_event(VALUE self, VALUE event_object, VALUE event, VALUE iter)
50
+ {
51
+ gboolean ret = gtk_text_tag_event(RVAL2GTKTEXTTAG(self),
52
+ RVAL2GOBJ(event_object),
53
+ RVAL2GEV(event),
54
+ RVAL2GTKTEXTITER(iter));
55
+ return CBOOL2RVAL(ret);
56
+ }
57
+
58
+ void
59
+ Init_gtk_texttag(VALUE mGtk)
60
+ {
61
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TEXT_TAG, "TextTag", mGtk);
62
+ RG_DEF_METHOD(initialize, -1);
63
+ RG_DEF_METHOD(priority, 0);
64
+ RG_DEF_METHOD(set_priority, 1);
65
+ RG_DEF_METHOD(event, 3);
66
+
67
+ G_DEF_CLASS(GTK_TYPE_WRAP_MODE, "WrapMode", RG_TARGET_NAMESPACE);
68
+ }
@@ -0,0 +1,336 @@
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 cTextView
25
+ #define _SELF(self) (RVAL2GTKTEXTVIEW(self))
26
+
27
+ #define RVAL2ITER(self, position) rval2iter(self, position)
28
+
29
+ static GtkTextIter *
30
+ rval2iter(VALUE self, VALUE position)
31
+ {
32
+ if (!g_type_is_a(RVAL2GTYPE(position), GTK_TYPE_TEXT_ITER))
33
+ position = rb_funcall(rb_funcall(self, rb_intern("buffer"), 0), rb_intern("get_iter_at"), 1, position);
34
+ return RVAL2GTKTEXTITER(position);
35
+ }
36
+
37
+ static VALUE
38
+ rg_initialize(int argc, VALUE *argv, VALUE self)
39
+ {
40
+ VALUE buffer;
41
+ GtkWidget* widget;
42
+ rb_scan_args(argc, argv, "01", &buffer);
43
+
44
+ if (NIL_P(buffer))
45
+ widget = gtk_text_view_new();
46
+ else {
47
+ G_CHILD_SET(self, rb_intern("buffer"), buffer);
48
+ widget = gtk_text_view_new_with_buffer(RVAL2GTKTEXTBUFFER(buffer));
49
+ }
50
+
51
+ RBGTK_INITIALIZE(self, widget);
52
+ return self;
53
+ }
54
+
55
+ static VALUE
56
+ rg_scroll_to_mark(VALUE self, VALUE mark, VALUE within_margin, VALUE use_align, VALUE xalign, VALUE yalign)
57
+ {
58
+ gtk_text_view_scroll_to_mark(_SELF(self), RVAL2GTKTEXTMARK(mark),
59
+ NUM2DBL(within_margin), RVAL2CBOOL(use_align),
60
+ NUM2DBL(xalign), NUM2DBL(yalign));
61
+ return self;
62
+ }
63
+
64
+ static VALUE
65
+ rg_scroll_to_iter(VALUE self, VALUE iter, VALUE within_margin, VALUE use_align, VALUE xalign, VALUE yalign)
66
+ {
67
+ return CBOOL2RVAL(gtk_text_view_scroll_to_iter(_SELF(self), RVAL2ITER(self, iter),
68
+ NUM2DBL(within_margin), RVAL2CBOOL(use_align),
69
+ NUM2DBL(xalign), NUM2DBL(yalign)));
70
+ }
71
+
72
+ static VALUE
73
+ rg_scroll_mark_onscreen(VALUE self, VALUE mark)
74
+ {
75
+ gtk_text_view_scroll_mark_onscreen(_SELF(self), RVAL2GTKTEXTMARK(mark));
76
+ return self;
77
+ }
78
+
79
+ static VALUE
80
+ rg_move_mark_onscreen(VALUE self, VALUE mark)
81
+ {
82
+ return CBOOL2RVAL(gtk_text_view_move_mark_onscreen(_SELF(self), RVAL2GTKTEXTMARK(mark)));
83
+ }
84
+
85
+ static VALUE
86
+ rg_place_cursor_onscreen(VALUE self)
87
+ {
88
+ return CBOOL2RVAL(gtk_text_view_place_cursor_onscreen(_SELF(self)));
89
+ }
90
+
91
+ static VALUE
92
+ rg_visible_rect(VALUE self)
93
+ {
94
+ GdkRectangle rect;
95
+ gtk_text_view_get_visible_rect(_SELF(self), &rect);
96
+ return GDKRECTANGLE2RVAL(&rect);
97
+ }
98
+
99
+ static VALUE
100
+ rg_get_iter_location(VALUE self, VALUE iter)
101
+ {
102
+ GdkRectangle rect;
103
+ gtk_text_view_get_iter_location(_SELF(self), RVAL2ITER(self, iter), &rect);
104
+ return GDKRECTANGLE2RVAL(&rect);
105
+ }
106
+
107
+ static VALUE
108
+ rg_get_line_at_y(VALUE self, VALUE y)
109
+ {
110
+ GtkTextIter target_iter;
111
+ gint line_top;
112
+ gtk_text_view_get_line_at_y(_SELF(self), &target_iter, NUM2INT(y), &line_top);
113
+ return rb_ary_new3(2, GTKTEXTITER2RVAL(&target_iter), INT2NUM(line_top));
114
+ }
115
+
116
+ static VALUE
117
+ rg_get_line_yrange(VALUE self, VALUE iter)
118
+ {
119
+ int y, height;
120
+ gtk_text_view_get_line_yrange(_SELF(self), RVAL2ITER(self, iter), &y, &height);
121
+
122
+ return rb_ary_new3(2, INT2NUM(y), INT2NUM(height));
123
+ }
124
+
125
+ static VALUE
126
+ rg_get_iter_at_location(VALUE self, VALUE x, VALUE y)
127
+ {
128
+ GtkTextIter iter;
129
+ gtk_text_view_get_iter_at_location(_SELF(self), &iter, NUM2INT(x), NUM2INT(y));
130
+ return GTKTEXTITER2RVAL(&iter);
131
+ }
132
+
133
+ static VALUE
134
+ rg_get_iter_at_position(VALUE self, VALUE x, VALUE y)
135
+ {
136
+ GtkTextIter iter;
137
+ gint trailing;
138
+ gtk_text_view_get_iter_at_position(_SELF(self), &iter, &trailing, NUM2INT(x), NUM2INT(y));
139
+ return rb_assoc_new(GTKTEXTITER2RVAL(&iter), INT2NUM(trailing));
140
+ }
141
+
142
+ static VALUE
143
+ rg_buffer_to_window_coords(VALUE self, VALUE wintype, VALUE buffer_x, VALUE buffer_y)
144
+ {
145
+ int window_x, window_y;
146
+ gtk_text_view_buffer_to_window_coords(_SELF(self),
147
+ RVAL2GTKTEXTWINDOWTYPE(wintype),
148
+ NUM2INT(buffer_x), NUM2INT(buffer_y),
149
+ &window_x, &window_y);
150
+ return rb_ary_new3(2, INT2NUM(window_x), INT2NUM(window_y));
151
+ }
152
+
153
+ static VALUE
154
+ rg_window_to_buffer_coords(VALUE self, VALUE wintype, VALUE window_x, VALUE window_y)
155
+ {
156
+ int buffer_x, buffer_y;
157
+ gtk_text_view_window_to_buffer_coords(_SELF(self),
158
+ RVAL2GTKTEXTWINDOWTYPE(wintype),
159
+ NUM2INT(window_x), NUM2INT(window_y),
160
+ &buffer_x, &buffer_y);
161
+ return rb_ary_new3(2, INT2NUM(buffer_x), INT2NUM(buffer_y));
162
+ }
163
+
164
+ static VALUE
165
+ rg_get_window(VALUE self, VALUE wintype)
166
+ {
167
+ GdkWindow* win = NULL;
168
+ win = gtk_text_view_get_window(_SELF(self),
169
+ RVAL2GTKTEXTWINDOWTYPE(wintype));
170
+ return win ? GOBJ2RVAL(win): Qnil;
171
+ }
172
+
173
+ static VALUE
174
+ rg_get_window_type(VALUE self, VALUE gdkwin)
175
+ {
176
+ return GTKTEXTWINDOWTYPE2RVAL(gtk_text_view_get_window_type(_SELF(self),
177
+ RVAL2GDKWINDOW(gdkwin)));
178
+ }
179
+
180
+ static VALUE
181
+ rg_set_border_window_size(VALUE self, VALUE wintype, VALUE size)
182
+ {
183
+ gtk_text_view_set_border_window_size(_SELF(self),
184
+ RVAL2GTKTEXTWINDOWTYPE(wintype),
185
+ NUM2INT(size));
186
+ return self;
187
+ }
188
+
189
+ static VALUE
190
+ rg_get_border_window_size(VALUE self, VALUE wintype)
191
+ {
192
+ return INT2NUM(gtk_text_view_get_border_window_size(
193
+ _SELF(self),
194
+ RVAL2GTKTEXTWINDOWTYPE(wintype)));
195
+ }
196
+
197
+ static VALUE
198
+ rg_forward_display_line(VALUE self, VALUE iter)
199
+ {
200
+ return CBOOL2RVAL(gtk_text_view_forward_display_line(_SELF(self), RVAL2ITER(self, iter)));
201
+ }
202
+
203
+ static VALUE
204
+ rg_backward_display_line(VALUE self, VALUE iter)
205
+ {
206
+ return CBOOL2RVAL(gtk_text_view_backward_display_line(_SELF(self), RVAL2ITER(self, iter)));
207
+ }
208
+
209
+ static VALUE
210
+ rg_forward_display_line_end(VALUE self, VALUE iter)
211
+ {
212
+ return CBOOL2RVAL(gtk_text_view_forward_display_line_end(_SELF(self), RVAL2ITER(self, iter)));
213
+ }
214
+
215
+ static VALUE
216
+ rg_backward_display_line_start(VALUE self, VALUE iter)
217
+ {
218
+ return CBOOL2RVAL(gtk_text_view_backward_display_line_start(_SELF(self), RVAL2ITER(self, iter)));
219
+ }
220
+
221
+ static VALUE
222
+ rg_starts_display_line(VALUE self, VALUE iter)
223
+ {
224
+ return CBOOL2RVAL(gtk_text_view_starts_display_line(_SELF(self), RVAL2ITER(self, iter)));
225
+ }
226
+
227
+ static VALUE
228
+ rg_move_visually(VALUE self, VALUE iter, VALUE count)
229
+ {
230
+ return CBOOL2RVAL(gtk_text_view_move_visually(_SELF(self), RVAL2ITER(self, iter), NUM2INT(count)));
231
+ }
232
+
233
+ static VALUE
234
+ rg_add_child_at_anchor(VALUE self, VALUE child, VALUE anchor)
235
+ {
236
+ G_CHILD_ADD(self, child);
237
+ gtk_text_view_add_child_at_anchor(_SELF(self), RVAL2GTKWIDGET(child),
238
+ RVAL2GTKTEXTCHILDANCHOR(anchor));
239
+ return self;
240
+ }
241
+
242
+ static VALUE
243
+ rg_add_child_in_window(VALUE self, VALUE child, VALUE which_window, VALUE xpos, VALUE ypos)
244
+ {
245
+ G_CHILD_ADD(self, child);
246
+ gtk_text_view_add_child_in_window(_SELF(self), RVAL2GTKWIDGET(child),
247
+ RVAL2GTKTEXTWINDOWTYPE(which_window),
248
+ NUM2INT(xpos), NUM2INT(ypos));
249
+ return self;
250
+ }
251
+
252
+ static VALUE
253
+ rg_move_child(VALUE self, VALUE child, VALUE xpos, VALUE ypos)
254
+ {
255
+ G_CHILD_ADD(self, child);
256
+ gtk_text_view_move_child(_SELF(self), RVAL2GTKWIDGET(child),
257
+ NUM2INT(xpos), NUM2INT(ypos));
258
+ return self;
259
+ }
260
+
261
+ static VALUE
262
+ rg_default_attributes(VALUE self)
263
+ {
264
+ return GTKTEXTATTRIBUTES2RVAL(gtk_text_view_get_default_attributes(_SELF(self)));
265
+ }
266
+
267
+ static VALUE
268
+ rg_get_cursor_locations(int argc, VALUE *argv, VALUE self)
269
+ {
270
+ VALUE iter;
271
+ GdkRectangle strong, weak;
272
+
273
+ rb_scan_args(argc, argv, "01", &iter);
274
+ gtk_text_view_get_cursor_locations(_SELF(self),
275
+ NIL_P(iter) ? NULL : RVAL2ITER(self, iter),
276
+ &strong, &weak);
277
+
278
+ return rb_ary_new3(2, GDKRECTANGLE2RVAL(&strong), GDKRECTANGLE2RVAL(&weak));
279
+ }
280
+
281
+ static VALUE
282
+ rg_im_context_filter_keypress(VALUE self, VALUE event)
283
+ {
284
+ return CBOOL2RVAL(gtk_text_view_im_context_filter_keypress(_SELF(self),
285
+ RVAL2GDKEVENTKEY(event)));
286
+ }
287
+
288
+ static VALUE
289
+ rg_reset_im_context(VALUE self)
290
+ {
291
+ gtk_text_view_reset_im_context(_SELF(self));
292
+
293
+ return self;
294
+ }
295
+
296
+ void
297
+ Init_gtk_textview(VALUE mGtk)
298
+ {
299
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TEXT_VIEW, "TextView", mGtk);
300
+
301
+ RG_DEF_METHOD(initialize, -1);
302
+ RG_DEF_METHOD(scroll_to_mark, 5);
303
+ RG_DEF_METHOD(scroll_to_iter, 5);
304
+ RG_DEF_METHOD(scroll_mark_onscreen, 1);
305
+ RG_DEF_METHOD(move_mark_onscreen, 1);
306
+ RG_DEF_METHOD(place_cursor_onscreen, 0);
307
+ RG_DEF_METHOD(visible_rect, 0);
308
+ RG_DEF_METHOD(get_iter_location, 1);
309
+ RG_DEF_METHOD(get_line_at_y, 1);
310
+ RG_DEF_METHOD(get_line_yrange, 1);
311
+ RG_DEF_METHOD(get_iter_at_location, 2);
312
+ RG_DEF_METHOD(get_iter_at_position, 2);
313
+ RG_DEF_METHOD(buffer_to_window_coords, 3);
314
+ RG_DEF_METHOD(window_to_buffer_coords, 3);
315
+ RG_DEF_METHOD(get_window, 1);
316
+ RG_DEF_METHOD(get_window_type, 1);
317
+ RG_DEF_METHOD(set_border_window_size, 2);
318
+ RG_DEF_METHOD(get_border_window_size, 1);
319
+ RG_DEF_METHOD(forward_display_line, 1);
320
+ RG_DEF_METHOD(backward_display_line, 1);
321
+ RG_DEF_METHOD(forward_display_line_end, 1);
322
+ RG_DEF_METHOD(backward_display_line_start, 1);
323
+ RG_DEF_METHOD(starts_display_line, 1);
324
+ RG_DEF_METHOD(move_visually, 2);
325
+ RG_DEF_METHOD(add_child_at_anchor, 2);
326
+ RG_DEF_METHOD(add_child_in_window, 4);
327
+ RG_DEF_METHOD(move_child, 3);
328
+ RG_DEF_METHOD(default_attributes, 0);
329
+ RG_DEF_METHOD(get_cursor_locations, -1);
330
+ RG_DEF_METHOD(im_context_filter_keypress, 1);
331
+ RG_DEF_METHOD(reset_im_context, 0);
332
+
333
+ G_DEF_CLASS(GTK_TYPE_TEXT_WINDOW_TYPE, "WindowType", RG_TARGET_NAMESPACE);
334
+
335
+ rb_define_const(RG_TARGET_NAMESPACE, "PRIORITY_VALIDATE", INT2FIX(GTK_TEXT_VIEW_PRIORITY_VALIDATE));
336
+ }