@gtkx/ffi 0.1.47 → 0.1.49

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 (618) hide show
  1. package/README.md +8 -0
  2. package/dist/codegen/ffi-generator.js +17 -16
  3. package/dist/generated/gdk/cairo-context.d.ts +3 -0
  4. package/dist/generated/gdk/cairo-context.js +18 -0
  5. package/dist/generated/gdk/color-state.js +30 -5
  6. package/dist/generated/gdk/content-formats-builder.js +36 -6
  7. package/dist/generated/gdk/content-formats.js +102 -17
  8. package/dist/generated/gdk/content-provider.d.ts +1 -1
  9. package/dist/generated/gdk/dmabuf-formats.js +36 -6
  10. package/dist/generated/gdk/dmabuf-texture.d.ts +3 -0
  11. package/dist/generated/gdk/dmabuf-texture.js +19 -0
  12. package/dist/generated/gdk/file-list.js +6 -1
  13. package/dist/generated/gdk/frame-timings.js +48 -8
  14. package/dist/generated/gdk/functions.d.ts +1 -1
  15. package/dist/generated/gdk/glcontext.d.ts +3 -0
  16. package/dist/generated/gdk/glcontext.js +18 -0
  17. package/dist/generated/gdk/gltexture.d.ts +3 -0
  18. package/dist/generated/gdk/gltexture.js +19 -0
  19. package/dist/generated/gdk/memory-texture.d.ts +3 -0
  20. package/dist/generated/gdk/memory-texture.js +19 -0
  21. package/dist/generated/gdk/monitor.d.ts +1 -2
  22. package/dist/generated/gdk/popup-layout.js +96 -16
  23. package/dist/generated/gdk/rectangle.d.ts +2 -2
  24. package/dist/generated/gdk/rectangle.js +24 -4
  25. package/dist/generated/gdk/rgba.js +48 -8
  26. package/dist/generated/gdk/texture-downloader.js +66 -11
  27. package/dist/generated/gdk/toplevel-layout.js +66 -11
  28. package/dist/generated/gdkpixbuf/pixbuf-format.js +72 -12
  29. package/dist/generated/gdkpixbuf/pixbuf-non-anim.d.ts +3 -0
  30. package/dist/generated/gdkpixbuf/pixbuf-non-anim.js +19 -0
  31. package/dist/generated/gdkpixbuf/pixbuf-simple-anim-iter.d.ts +3 -0
  32. package/dist/generated/gdkpixbuf/pixbuf-simple-anim-iter.js +19 -0
  33. package/dist/generated/gdkpixbuf/pixbuf-simple-anim.d.ts +3 -0
  34. package/dist/generated/gdkpixbuf/pixbuf-simple-anim.js +19 -0
  35. package/dist/generated/gio/action-group.d.ts +1 -1
  36. package/dist/generated/gio/application.d.ts +1 -1
  37. package/dist/generated/gio/buffered-input-stream.d.ts +3 -0
  38. package/dist/generated/gio/buffered-input-stream.js +18 -0
  39. package/dist/generated/gio/buffered-output-stream.d.ts +3 -0
  40. package/dist/generated/gio/buffered-output-stream.js +18 -0
  41. package/dist/generated/gio/converter-input-stream.d.ts +3 -0
  42. package/dist/generated/gio/converter-input-stream.js +18 -0
  43. package/dist/generated/gio/converter-output-stream.d.ts +3 -0
  44. package/dist/generated/gio/converter-output-stream.js +18 -0
  45. package/dist/generated/gio/data-input-stream.d.ts +3 -0
  46. package/dist/generated/gio/data-input-stream.js +19 -1
  47. package/dist/generated/gio/data-output-stream.d.ts +3 -0
  48. package/dist/generated/gio/data-output-stream.js +19 -1
  49. package/dist/generated/gio/dbus-action-group.d.ts +1 -1
  50. package/dist/generated/gio/dbus-annotation-info.js +12 -2
  51. package/dist/generated/gio/dbus-arg-info.js +12 -2
  52. package/dist/generated/gio/dbus-connection.d.ts +2 -2
  53. package/dist/generated/gio/dbus-interface-info.js +48 -8
  54. package/dist/generated/gio/dbus-menu-model.d.ts +1 -5
  55. package/dist/generated/gio/dbus-menu-model.js +25 -3
  56. package/dist/generated/gio/dbus-method-info.js +12 -2
  57. package/dist/generated/gio/dbus-node-info.js +24 -4
  58. package/dist/generated/gio/dbus-property-info.js +12 -2
  59. package/dist/generated/gio/dbus-proxy.d.ts +2 -2
  60. package/dist/generated/gio/dbus-signal-info.js +12 -2
  61. package/dist/generated/gio/dtls-connection.d.ts +1 -2
  62. package/dist/generated/gio/file-attribute-info-list.js +30 -5
  63. package/dist/generated/gio/file-attribute-matcher.js +48 -8
  64. package/dist/generated/gio/file-enumerator.d.ts +1 -1
  65. package/dist/generated/gio/file-input-stream.d.ts +3 -0
  66. package/dist/generated/gio/file-input-stream.js +18 -0
  67. package/dist/generated/gio/file-iostream.d.ts +3 -0
  68. package/dist/generated/gio/file-iostream.js +18 -0
  69. package/dist/generated/gio/file-output-stream.d.ts +3 -0
  70. package/dist/generated/gio/file-output-stream.js +18 -0
  71. package/dist/generated/gio/file.d.ts +1 -1
  72. package/dist/generated/gio/filter-input-stream.d.ts +3 -0
  73. package/dist/generated/gio/filter-input-stream.js +18 -0
  74. package/dist/generated/gio/filter-output-stream.d.ts +3 -0
  75. package/dist/generated/gio/filter-output-stream.js +18 -0
  76. package/dist/generated/gio/functions.d.ts +4 -5
  77. package/dist/generated/gio/inet-socket-address.d.ts +3 -0
  78. package/dist/generated/gio/inet-socket-address.js +18 -0
  79. package/dist/generated/gio/list-store.d.ts +2 -2
  80. package/dist/generated/gio/list-store.js +18 -14
  81. package/dist/generated/gio/memory-input-stream.d.ts +3 -0
  82. package/dist/generated/gio/memory-input-stream.js +18 -0
  83. package/dist/generated/gio/memory-output-stream.d.ts +3 -0
  84. package/dist/generated/gio/memory-output-stream.js +18 -0
  85. package/dist/generated/gio/menu-attribute-iter.d.ts +1 -1
  86. package/dist/generated/gio/menu-link-iter.d.ts +1 -1
  87. package/dist/generated/gio/menu.d.ts +1 -10
  88. package/dist/generated/gio/menu.js +25 -3
  89. package/dist/generated/gio/native-socket-address.d.ts +3 -0
  90. package/dist/generated/gio/native-socket-address.js +19 -0
  91. package/dist/generated/gio/native-volume-monitor.d.ts +15 -0
  92. package/dist/generated/gio/native-volume-monitor.js +65 -3
  93. package/dist/generated/gio/proxy-address-enumerator.d.ts +3 -0
  94. package/dist/generated/gio/proxy-address-enumerator.js +19 -0
  95. package/dist/generated/gio/proxy-address.d.ts +3 -0
  96. package/dist/generated/gio/proxy-address.js +19 -0
  97. package/dist/generated/gio/resource.js +54 -9
  98. package/dist/generated/gio/settings-schema-key.js +54 -9
  99. package/dist/generated/gio/settings-schema-source.js +24 -4
  100. package/dist/generated/gio/settings-schema.js +48 -8
  101. package/dist/generated/gio/simple-action-group.d.ts +1 -1
  102. package/dist/generated/gio/simple-iostream.d.ts +3 -0
  103. package/dist/generated/gio/simple-iostream.js +19 -0
  104. package/dist/generated/gio/simple-permission.d.ts +3 -0
  105. package/dist/generated/gio/simple-permission.js +19 -0
  106. package/dist/generated/gio/socket-connection.d.ts +3 -0
  107. package/dist/generated/gio/socket-connection.js +18 -0
  108. package/dist/generated/gio/socket-listener.d.ts +5 -5
  109. package/dist/generated/gio/socket-service.d.ts +3 -0
  110. package/dist/generated/gio/socket-service.js +8 -0
  111. package/dist/generated/gio/socket.d.ts +3 -3
  112. package/dist/generated/gio/srv-target.js +36 -6
  113. package/dist/generated/gio/subprocess.d.ts +2 -2
  114. package/dist/generated/gio/task.d.ts +1 -1
  115. package/dist/generated/gio/tcp-connection.d.ts +3 -0
  116. package/dist/generated/gio/tcp-connection.js +19 -0
  117. package/dist/generated/gio/tcp-wrapper-connection.d.ts +3 -0
  118. package/dist/generated/gio/tcp-wrapper-connection.js +18 -0
  119. package/dist/generated/gio/threaded-resolver.d.ts +1 -4
  120. package/dist/generated/gio/threaded-resolver.js +18 -3
  121. package/dist/generated/gio/threaded-socket-service.d.ts +3 -0
  122. package/dist/generated/gio/threaded-socket-service.js +8 -0
  123. package/dist/generated/gio/tls-connection.d.ts +1 -2
  124. package/dist/generated/gio/unix-connection.d.ts +3 -0
  125. package/dist/generated/gio/unix-connection.js +18 -0
  126. package/dist/generated/gio/unix-credentials-message.d.ts +3 -0
  127. package/dist/generated/gio/unix-credentials-message.js +18 -0
  128. package/dist/generated/gio/unix-socket-address.d.ts +3 -0
  129. package/dist/generated/gio/unix-socket-address.js +18 -0
  130. package/dist/generated/glib/bookmark-file.d.ts +1 -1
  131. package/dist/generated/glib/bookmark-file.js +282 -47
  132. package/dist/generated/glib/byte-array.d.ts +1 -1
  133. package/dist/generated/glib/byte-array.js +9 -7
  134. package/dist/generated/glib/bytes.js +66 -11
  135. package/dist/generated/glib/checksum.js +30 -5
  136. package/dist/generated/glib/date-time.js +240 -40
  137. package/dist/generated/glib/date.js +216 -36
  138. package/dist/generated/glib/dir.js +30 -5
  139. package/dist/generated/glib/error.js +18 -3
  140. package/dist/generated/glib/functions.d.ts +6 -6
  141. package/dist/generated/glib/functions.js +27 -21
  142. package/dist/generated/glib/hmac.js +36 -6
  143. package/dist/generated/glib/iochannel.js +186 -31
  144. package/dist/generated/glib/key-file.js +270 -45
  145. package/dist/generated/glib/main-context.js +132 -22
  146. package/dist/generated/glib/main-loop.js +36 -6
  147. package/dist/generated/glib/mapped-file.js +36 -6
  148. package/dist/generated/glib/markup-parse-context.js +66 -11
  149. package/dist/generated/glib/match-info.js +90 -15
  150. package/dist/generated/glib/option-group.js +36 -6
  151. package/dist/generated/glib/pattern-spec.js +30 -5
  152. package/dist/generated/glib/rand.js +48 -8
  153. package/dist/generated/glib/regex.d.ts +4 -5
  154. package/dist/generated/glib/regex.js +114 -19
  155. package/dist/generated/glib/source.js +180 -30
  156. package/dist/generated/glib/string.js +180 -30
  157. package/dist/generated/glib/strv-builder.js +42 -7
  158. package/dist/generated/glib/thread.js +24 -4
  159. package/dist/generated/glib/time-zone.js +48 -8
  160. package/dist/generated/glib/tree.d.ts +1 -1
  161. package/dist/generated/glib/tree.js +153 -35
  162. package/dist/generated/glib/uri.js +84 -14
  163. package/dist/generated/glib/variant-builder.js +36 -6
  164. package/dist/generated/glib/variant-dict.js +48 -8
  165. package/dist/generated/glib/variant-type.js +126 -21
  166. package/dist/generated/glib/variant.js +282 -47
  167. package/dist/generated/gobject/closure.d.ts +1 -1
  168. package/dist/generated/gobject/closure.js +30 -5
  169. package/dist/generated/gobject/functions.d.ts +1 -1
  170. package/dist/generated/gobject/value-array.d.ts +1 -1
  171. package/dist/generated/gobject/value-array.js +57 -15
  172. package/dist/generated/gobject/value.js +379 -64
  173. package/dist/generated/graphene/box.d.ts +10 -11
  174. package/dist/generated/graphene/box.js +138 -23
  175. package/dist/generated/graphene/euler.d.ts +4 -4
  176. package/dist/generated/graphene/euler.js +120 -20
  177. package/dist/generated/graphene/frustum.js +54 -9
  178. package/dist/generated/graphene/matrix.d.ts +23 -24
  179. package/dist/generated/graphene/matrix.js +396 -66
  180. package/dist/generated/graphene/plane.d.ts +4 -4
  181. package/dist/generated/graphene/plane.js +78 -13
  182. package/dist/generated/graphene/point.d.ts +2 -2
  183. package/dist/generated/graphene/point.js +54 -9
  184. package/dist/generated/graphene/point3d.d.ts +7 -7
  185. package/dist/generated/graphene/point3d.js +90 -15
  186. package/dist/generated/graphene/quad.d.ts +1 -1
  187. package/dist/generated/graphene/quad.js +42 -7
  188. package/dist/generated/graphene/quaternion.d.ts +9 -9
  189. package/dist/generated/graphene/quaternion.js +138 -23
  190. package/dist/generated/graphene/ray.d.ts +4 -4
  191. package/dist/generated/graphene/ray.js +102 -17
  192. package/dist/generated/graphene/rect.d.ts +15 -15
  193. package/dist/generated/graphene/rect.js +186 -31
  194. package/dist/generated/graphene/size.d.ts +2 -2
  195. package/dist/generated/graphene/size.js +36 -6
  196. package/dist/generated/graphene/sphere.d.ts +3 -4
  197. package/dist/generated/graphene/sphere.js +72 -12
  198. package/dist/generated/graphene/triangle.d.ts +8 -10
  199. package/dist/generated/graphene/triangle.js +90 -15
  200. package/dist/generated/graphene/vec2.d.ts +10 -10
  201. package/dist/generated/graphene/vec2.js +126 -21
  202. package/dist/generated/graphene/vec3.d.ts +16 -18
  203. package/dist/generated/graphene/vec3.js +168 -28
  204. package/dist/generated/graphene/vec4.d.ts +12 -12
  205. package/dist/generated/graphene/vec4.js +162 -27
  206. package/dist/generated/gsk/broadway-renderer.d.ts +3 -0
  207. package/dist/generated/gsk/broadway-renderer.js +19 -0
  208. package/dist/generated/gsk/cairo-renderer.d.ts +3 -0
  209. package/dist/generated/gsk/cairo-renderer.js +19 -0
  210. package/dist/generated/gsk/component-transfer.js +12 -2
  211. package/dist/generated/gsk/functions.d.ts +1 -2
  212. package/dist/generated/gsk/glrenderer.d.ts +3 -0
  213. package/dist/generated/gsk/glrenderer.js +19 -0
  214. package/dist/generated/gsk/ngl-renderer.d.ts +3 -0
  215. package/dist/generated/gsk/ngl-renderer.js +19 -0
  216. package/dist/generated/gsk/path-builder.js +174 -29
  217. package/dist/generated/gsk/path-measure.d.ts +1 -2
  218. package/dist/generated/gsk/path-measure.js +36 -6
  219. package/dist/generated/gsk/path-point.d.ts +3 -4
  220. package/dist/generated/gsk/path-point.js +54 -9
  221. package/dist/generated/gsk/path.d.ts +5 -6
  222. package/dist/generated/gsk/path.js +90 -15
  223. package/dist/generated/gsk/render-node.d.ts +2 -3
  224. package/dist/generated/gsk/shader-args-builder.js +60 -10
  225. package/dist/generated/gsk/stroke.js +90 -15
  226. package/dist/generated/gsk/transform.d.ts +4 -4
  227. package/dist/generated/gsk/transform.js +150 -25
  228. package/dist/generated/gsk/vulkan-renderer.d.ts +3 -0
  229. package/dist/generated/gsk/vulkan-renderer.js +19 -0
  230. package/dist/generated/gtk/about-dialog.d.ts +15 -1
  231. package/dist/generated/gtk/about-dialog.js +37 -0
  232. package/dist/generated/gtk/accessible-list.js +6 -1
  233. package/dist/generated/gtk/action-bar.d.ts +15 -40
  234. package/dist/generated/gtk/action-bar.js +54 -3
  235. package/dist/generated/gtk/activate-action.d.ts +3 -0
  236. package/dist/generated/gtk/activate-action.js +18 -0
  237. package/dist/generated/gtk/alternative-trigger.d.ts +3 -0
  238. package/dist/generated/gtk/alternative-trigger.js +18 -0
  239. package/dist/generated/gtk/any-filter.d.ts +2 -5
  240. package/dist/generated/gtk/any-filter.js +21 -3
  241. package/dist/generated/gtk/app-chooser-button.d.ts +15 -0
  242. package/dist/generated/gtk/app-chooser-button.js +37 -0
  243. package/dist/generated/gtk/app-chooser-dialog.d.ts +15 -1
  244. package/dist/generated/gtk/app-chooser-dialog.js +37 -0
  245. package/dist/generated/gtk/app-chooser-widget.d.ts +15 -0
  246. package/dist/generated/gtk/app-chooser-widget.js +37 -0
  247. package/dist/generated/gtk/application-window.d.ts +15 -0
  248. package/dist/generated/gtk/application-window.js +37 -0
  249. package/dist/generated/gtk/aspect-frame.d.ts +15 -16
  250. package/dist/generated/gtk/aspect-frame.js +54 -3
  251. package/dist/generated/gtk/assistant.d.ts +15 -1
  252. package/dist/generated/gtk/assistant.js +37 -0
  253. package/dist/generated/gtk/bin-layout.d.ts +3 -0
  254. package/dist/generated/gtk/bin-layout.js +19 -0
  255. package/dist/generated/gtk/bitset-iter.d.ts +3 -3
  256. package/dist/generated/gtk/bitset-iter.js +25 -5
  257. package/dist/generated/gtk/bitset.js +162 -27
  258. package/dist/generated/gtk/bool-filter.d.ts +2 -1
  259. package/dist/generated/gtk/bool-filter.js +21 -3
  260. package/dist/generated/gtk/border.js +12 -2
  261. package/dist/generated/gtk/box-layout.d.ts +3 -0
  262. package/dist/generated/gtk/box-layout.js +19 -0
  263. package/dist/generated/gtk/box.d.ts +15 -37
  264. package/dist/generated/gtk/box.js +54 -3
  265. package/dist/generated/gtk/builder-list-item-factory.d.ts +3 -0
  266. package/dist/generated/gtk/builder-list-item-factory.js +18 -0
  267. package/dist/generated/gtk/builder.d.ts +2 -2
  268. package/dist/generated/gtk/button.d.ts +15 -0
  269. package/dist/generated/gtk/button.js +37 -0
  270. package/dist/generated/gtk/calendar.d.ts +15 -0
  271. package/dist/generated/gtk/calendar.js +37 -0
  272. package/dist/generated/gtk/callback-action.d.ts +3 -0
  273. package/dist/generated/gtk/callback-action.js +19 -0
  274. package/dist/generated/gtk/cell-area-box.d.ts +9 -21
  275. package/dist/generated/gtk/cell-area-box.js +50 -3
  276. package/dist/generated/gtk/cell-area.d.ts +3 -3
  277. package/dist/generated/gtk/cell-renderer-accel.d.ts +3 -0
  278. package/dist/generated/gtk/cell-renderer-accel.js +8 -0
  279. package/dist/generated/gtk/cell-renderer-combo.d.ts +3 -0
  280. package/dist/generated/gtk/cell-renderer-combo.js +8 -0
  281. package/dist/generated/gtk/cell-renderer-pixbuf.d.ts +3 -16
  282. package/dist/generated/gtk/cell-renderer-pixbuf.js +25 -3
  283. package/dist/generated/gtk/cell-renderer-progress.d.ts +3 -6
  284. package/dist/generated/gtk/cell-renderer-progress.js +25 -3
  285. package/dist/generated/gtk/cell-renderer-spin.d.ts +3 -0
  286. package/dist/generated/gtk/cell-renderer-spin.js +8 -0
  287. package/dist/generated/gtk/cell-renderer-spinner.d.ts +3 -14
  288. package/dist/generated/gtk/cell-renderer-spinner.js +25 -3
  289. package/dist/generated/gtk/cell-renderer-text.d.ts +3 -0
  290. package/dist/generated/gtk/cell-renderer-text.js +8 -0
  291. package/dist/generated/gtk/cell-renderer-toggle.d.ts +3 -0
  292. package/dist/generated/gtk/cell-renderer-toggle.js +8 -0
  293. package/dist/generated/gtk/cell-renderer.d.ts +2 -3
  294. package/dist/generated/gtk/cell-view.d.ts +15 -22
  295. package/dist/generated/gtk/cell-view.js +54 -3
  296. package/dist/generated/gtk/center-box.d.ts +15 -38
  297. package/dist/generated/gtk/center-box.js +54 -3
  298. package/dist/generated/gtk/center-layout.d.ts +3 -0
  299. package/dist/generated/gtk/center-layout.js +18 -0
  300. package/dist/generated/gtk/check-button.d.ts +15 -0
  301. package/dist/generated/gtk/check-button.js +37 -0
  302. package/dist/generated/gtk/color-button.d.ts +16 -2
  303. package/dist/generated/gtk/color-button.js +37 -0
  304. package/dist/generated/gtk/color-chooser-dialog.d.ts +16 -2
  305. package/dist/generated/gtk/color-chooser-dialog.js +37 -0
  306. package/dist/generated/gtk/color-chooser-widget.d.ts +16 -36
  307. package/dist/generated/gtk/color-chooser-widget.js +54 -3
  308. package/dist/generated/gtk/color-chooser.d.ts +1 -1
  309. package/dist/generated/gtk/color-dialog-button.d.ts +15 -0
  310. package/dist/generated/gtk/color-dialog-button.js +37 -0
  311. package/dist/generated/gtk/column-view-cell.d.ts +3 -0
  312. package/dist/generated/gtk/column-view-cell.js +19 -0
  313. package/dist/generated/gtk/column-view-sorter.d.ts +2 -34
  314. package/dist/generated/gtk/column-view-sorter.js +21 -3
  315. package/dist/generated/gtk/column-view.d.ts +16 -3
  316. package/dist/generated/gtk/column-view.js +37 -0
  317. package/dist/generated/gtk/combo-box-text.d.ts +15 -1
  318. package/dist/generated/gtk/combo-box-text.js +37 -0
  319. package/dist/generated/gtk/combo-box.d.ts +16 -2
  320. package/dist/generated/gtk/combo-box.js +37 -0
  321. package/dist/generated/gtk/constraint-layout-child.d.ts +3 -0
  322. package/dist/generated/gtk/constraint-layout-child.js +19 -0
  323. package/dist/generated/gtk/constraint-layout.d.ts +3 -0
  324. package/dist/generated/gtk/constraint-layout.js +18 -0
  325. package/dist/generated/gtk/css-section.js +54 -9
  326. package/dist/generated/gtk/custom-filter.d.ts +2 -1
  327. package/dist/generated/gtk/custom-filter.js +21 -3
  328. package/dist/generated/gtk/custom-layout.d.ts +3 -0
  329. package/dist/generated/gtk/custom-layout.js +19 -0
  330. package/dist/generated/gtk/custom-sorter.d.ts +4 -3
  331. package/dist/generated/gtk/custom-sorter.js +39 -26
  332. package/dist/generated/gtk/dialog.d.ts +15 -0
  333. package/dist/generated/gtk/dialog.js +37 -0
  334. package/dist/generated/gtk/drag-icon.d.ts +15 -13
  335. package/dist/generated/gtk/drag-icon.js +54 -3
  336. package/dist/generated/gtk/drawing-area.d.ts +15 -0
  337. package/dist/generated/gtk/drawing-area.js +37 -0
  338. package/dist/generated/gtk/drop-down.d.ts +15 -1
  339. package/dist/generated/gtk/drop-down.js +37 -0
  340. package/dist/generated/gtk/editable-label.d.ts +15 -44
  341. package/dist/generated/gtk/editable-label.js +54 -3
  342. package/dist/generated/gtk/emoji-chooser.d.ts +15 -0
  343. package/dist/generated/gtk/emoji-chooser.js +37 -0
  344. package/dist/generated/gtk/entry.d.ts +16 -2
  345. package/dist/generated/gtk/entry.js +37 -0
  346. package/dist/generated/gtk/every-filter.d.ts +2 -5
  347. package/dist/generated/gtk/every-filter.js +21 -3
  348. package/dist/generated/gtk/expander.d.ts +15 -0
  349. package/dist/generated/gtk/expander.js +37 -0
  350. package/dist/generated/gtk/expression-watch.js +24 -4
  351. package/dist/generated/gtk/file-chooser-dialog.d.ts +15 -1
  352. package/dist/generated/gtk/file-chooser-dialog.js +37 -0
  353. package/dist/generated/gtk/file-chooser-native.d.ts +1 -148
  354. package/dist/generated/gtk/file-chooser-native.js +21 -3
  355. package/dist/generated/gtk/file-chooser-widget.d.ts +15 -1
  356. package/dist/generated/gtk/file-chooser-widget.js +37 -0
  357. package/dist/generated/gtk/file-filter.d.ts +2 -48
  358. package/dist/generated/gtk/file-filter.js +21 -3
  359. package/dist/generated/gtk/fixed-layout-child.d.ts +3 -0
  360. package/dist/generated/gtk/fixed-layout-child.js +18 -0
  361. package/dist/generated/gtk/fixed-layout.d.ts +3 -0
  362. package/dist/generated/gtk/fixed-layout.js +19 -0
  363. package/dist/generated/gtk/fixed.d.ts +15 -39
  364. package/dist/generated/gtk/fixed.js +54 -3
  365. package/dist/generated/gtk/flow-box-child.d.ts +15 -0
  366. package/dist/generated/gtk/flow-box-child.js +37 -0
  367. package/dist/generated/gtk/flow-box.d.ts +15 -1
  368. package/dist/generated/gtk/flow-box.js +37 -0
  369. package/dist/generated/gtk/font-button.d.ts +15 -1
  370. package/dist/generated/gtk/font-button.js +37 -0
  371. package/dist/generated/gtk/font-chooser-dialog.d.ts +15 -1
  372. package/dist/generated/gtk/font-chooser-dialog.js +37 -0
  373. package/dist/generated/gtk/font-chooser-widget.d.ts +15 -20
  374. package/dist/generated/gtk/font-chooser-widget.js +54 -3
  375. package/dist/generated/gtk/font-dialog-button.d.ts +15 -1
  376. package/dist/generated/gtk/font-dialog-button.js +37 -0
  377. package/dist/generated/gtk/font-dialog.d.ts +2 -2
  378. package/dist/generated/gtk/frame.d.ts +15 -43
  379. package/dist/generated/gtk/frame.js +54 -3
  380. package/dist/generated/gtk/functions.d.ts +4 -5
  381. package/dist/generated/gtk/gesture.d.ts +1 -1
  382. package/dist/generated/gtk/glarea.d.ts +15 -0
  383. package/dist/generated/gtk/glarea.js +37 -0
  384. package/dist/generated/gtk/graphics-offload.d.ts +15 -38
  385. package/dist/generated/gtk/graphics-offload.js +54 -3
  386. package/dist/generated/gtk/grid-layout-child.d.ts +3 -0
  387. package/dist/generated/gtk/grid-layout-child.js +19 -0
  388. package/dist/generated/gtk/grid-layout.d.ts +3 -0
  389. package/dist/generated/gtk/grid-layout.js +19 -0
  390. package/dist/generated/gtk/grid-view.d.ts +15 -1
  391. package/dist/generated/gtk/grid-view.js +37 -0
  392. package/dist/generated/gtk/grid.d.ts +15 -86
  393. package/dist/generated/gtk/grid.js +54 -3
  394. package/dist/generated/gtk/header-bar.d.ts +15 -73
  395. package/dist/generated/gtk/header-bar.js +54 -3
  396. package/dist/generated/gtk/icon-view.d.ts +22 -11
  397. package/dist/generated/gtk/icon-view.js +37 -0
  398. package/dist/generated/gtk/image.d.ts +15 -42
  399. package/dist/generated/gtk/image.js +54 -3
  400. package/dist/generated/gtk/imcontext-simple.d.ts +6 -40
  401. package/dist/generated/gtk/imcontext-simple.js +32 -3
  402. package/dist/generated/gtk/imcontext.d.ts +1 -2
  403. package/dist/generated/gtk/immulticontext.d.ts +6 -7
  404. package/dist/generated/gtk/immulticontext.js +32 -3
  405. package/dist/generated/gtk/info-bar.d.ts +15 -1
  406. package/dist/generated/gtk/info-bar.js +37 -0
  407. package/dist/generated/gtk/inscription.d.ts +15 -19
  408. package/dist/generated/gtk/inscription.js +54 -3
  409. package/dist/generated/gtk/keyval-trigger.d.ts +3 -0
  410. package/dist/generated/gtk/keyval-trigger.js +19 -0
  411. package/dist/generated/gtk/label.d.ts +15 -1
  412. package/dist/generated/gtk/label.js +37 -0
  413. package/dist/generated/gtk/level-bar.d.ts +15 -1
  414. package/dist/generated/gtk/level-bar.js +37 -0
  415. package/dist/generated/gtk/link-button.d.ts +15 -0
  416. package/dist/generated/gtk/link-button.js +37 -0
  417. package/dist/generated/gtk/list-base.d.ts +16 -49
  418. package/dist/generated/gtk/list-base.js +54 -3
  419. package/dist/generated/gtk/list-box-row.d.ts +15 -0
  420. package/dist/generated/gtk/list-box-row.js +37 -0
  421. package/dist/generated/gtk/list-box.d.ts +15 -1
  422. package/dist/generated/gtk/list-box.js +37 -0
  423. package/dist/generated/gtk/list-store.d.ts +13 -13
  424. package/dist/generated/gtk/list-view.d.ts +15 -1
  425. package/dist/generated/gtk/list-view.js +37 -0
  426. package/dist/generated/gtk/lock-button.d.ts +15 -0
  427. package/dist/generated/gtk/lock-button.js +37 -0
  428. package/dist/generated/gtk/media-controls.d.ts +15 -7
  429. package/dist/generated/gtk/media-controls.js +54 -3
  430. package/dist/generated/gtk/media-file.d.ts +3 -0
  431. package/dist/generated/gtk/media-file.js +18 -0
  432. package/dist/generated/gtk/menu-button.d.ts +15 -0
  433. package/dist/generated/gtk/menu-button.js +37 -0
  434. package/dist/generated/gtk/message-dialog.d.ts +15 -0
  435. package/dist/generated/gtk/message-dialog.js +37 -0
  436. package/dist/generated/gtk/mnemonic-action.d.ts +3 -0
  437. package/dist/generated/gtk/mnemonic-action.js +18 -0
  438. package/dist/generated/gtk/mnemonic-trigger.d.ts +3 -0
  439. package/dist/generated/gtk/mnemonic-trigger.js +19 -0
  440. package/dist/generated/gtk/multi-filter.d.ts +2 -1
  441. package/dist/generated/gtk/multi-filter.js +21 -3
  442. package/dist/generated/gtk/multi-sorter.d.ts +2 -6
  443. package/dist/generated/gtk/multi-sorter.js +21 -3
  444. package/dist/generated/gtk/named-action.d.ts +3 -0
  445. package/dist/generated/gtk/named-action.js +19 -0
  446. package/dist/generated/gtk/never-trigger.d.ts +3 -0
  447. package/dist/generated/gtk/never-trigger.js +18 -0
  448. package/dist/generated/gtk/notebook.d.ts +15 -1
  449. package/dist/generated/gtk/notebook.js +37 -0
  450. package/dist/generated/gtk/nothing-action.d.ts +3 -0
  451. package/dist/generated/gtk/nothing-action.js +18 -0
  452. package/dist/generated/gtk/numeric-sorter.d.ts +2 -7
  453. package/dist/generated/gtk/numeric-sorter.js +21 -3
  454. package/dist/generated/gtk/overlay-layout-child.d.ts +3 -0
  455. package/dist/generated/gtk/overlay-layout-child.js +19 -0
  456. package/dist/generated/gtk/overlay-layout.d.ts +3 -0
  457. package/dist/generated/gtk/overlay-layout.js +19 -0
  458. package/dist/generated/gtk/overlay.d.ts +15 -0
  459. package/dist/generated/gtk/overlay.js +37 -0
  460. package/dist/generated/gtk/pad-controller.d.ts +3 -0
  461. package/dist/generated/gtk/pad-controller.js +19 -0
  462. package/dist/generated/gtk/page-setup-unix-dialog.d.ts +15 -0
  463. package/dist/generated/gtk/page-setup-unix-dialog.js +37 -0
  464. package/dist/generated/gtk/paned.d.ts +15 -1
  465. package/dist/generated/gtk/paned.js +37 -0
  466. package/dist/generated/gtk/paper-size.js +102 -17
  467. package/dist/generated/gtk/password-entry-buffer.d.ts +2 -6
  468. package/dist/generated/gtk/password-entry-buffer.js +32 -3
  469. package/dist/generated/gtk/password-entry.d.ts +15 -1
  470. package/dist/generated/gtk/password-entry.js +37 -0
  471. package/dist/generated/gtk/picture.d.ts +15 -49
  472. package/dist/generated/gtk/picture.js +54 -3
  473. package/dist/generated/gtk/popover-menu-bar.d.ts +15 -30
  474. package/dist/generated/gtk/popover-menu-bar.js +54 -3
  475. package/dist/generated/gtk/popover-menu.d.ts +15 -1
  476. package/dist/generated/gtk/popover-menu.js +37 -0
  477. package/dist/generated/gtk/popover.d.ts +16 -2
  478. package/dist/generated/gtk/popover.js +37 -0
  479. package/dist/generated/gtk/print-setup.js +24 -4
  480. package/dist/generated/gtk/print-unix-dialog.d.ts +15 -1
  481. package/dist/generated/gtk/print-unix-dialog.js +37 -0
  482. package/dist/generated/gtk/progress-bar.d.ts +15 -50
  483. package/dist/generated/gtk/progress-bar.js +54 -3
  484. package/dist/generated/gtk/range.d.ts +16 -3
  485. package/dist/generated/gtk/range.js +37 -0
  486. package/dist/generated/gtk/recent-info.d.ts +1 -1
  487. package/dist/generated/gtk/recent-info.js +144 -24
  488. package/dist/generated/gtk/requisition.js +12 -2
  489. package/dist/generated/gtk/revealer.d.ts +15 -24
  490. package/dist/generated/gtk/revealer.js +54 -3
  491. package/dist/generated/gtk/scale-button.d.ts +15 -1
  492. package/dist/generated/gtk/scale-button.js +37 -0
  493. package/dist/generated/gtk/scale.d.ts +15 -1
  494. package/dist/generated/gtk/scale.js +37 -0
  495. package/dist/generated/gtk/scroll-info.js +36 -6
  496. package/dist/generated/gtk/scrollable.d.ts +1 -2
  497. package/dist/generated/gtk/scrollbar.d.ts +15 -45
  498. package/dist/generated/gtk/scrollbar.js +54 -3
  499. package/dist/generated/gtk/scrolled-window.d.ts +15 -1
  500. package/dist/generated/gtk/scrolled-window.js +37 -0
  501. package/dist/generated/gtk/search-bar.d.ts +15 -52
  502. package/dist/generated/gtk/search-bar.js +54 -3
  503. package/dist/generated/gtk/search-entry.d.ts +15 -1
  504. package/dist/generated/gtk/search-entry.js +37 -0
  505. package/dist/generated/gtk/separator.d.ts +15 -19
  506. package/dist/generated/gtk/separator.js +54 -3
  507. package/dist/generated/gtk/shortcut-controller.d.ts +3 -0
  508. package/dist/generated/gtk/shortcut-controller.js +18 -0
  509. package/dist/generated/gtk/shortcut-label.d.ts +15 -5
  510. package/dist/generated/gtk/shortcut-label.js +54 -3
  511. package/dist/generated/gtk/shortcuts-group.d.ts +15 -18
  512. package/dist/generated/gtk/shortcuts-group.js +54 -3
  513. package/dist/generated/gtk/shortcuts-section.d.ts +15 -0
  514. package/dist/generated/gtk/shortcuts-section.js +37 -0
  515. package/dist/generated/gtk/shortcuts-shortcut.d.ts +15 -6
  516. package/dist/generated/gtk/shortcuts-shortcut.js +54 -3
  517. package/dist/generated/gtk/shortcuts-window.d.ts +15 -0
  518. package/dist/generated/gtk/shortcuts-window.js +37 -0
  519. package/dist/generated/gtk/signal-action.d.ts +3 -0
  520. package/dist/generated/gtk/signal-action.js +19 -0
  521. package/dist/generated/gtk/spin-button.d.ts +15 -1
  522. package/dist/generated/gtk/spin-button.js +37 -0
  523. package/dist/generated/gtk/spinner.d.ts +15 -21
  524. package/dist/generated/gtk/spinner.js +54 -3
  525. package/dist/generated/gtk/stack-sidebar.d.ts +15 -19
  526. package/dist/generated/gtk/stack-sidebar.js +54 -3
  527. package/dist/generated/gtk/stack-switcher.d.ts +15 -35
  528. package/dist/generated/gtk/stack-switcher.js +54 -3
  529. package/dist/generated/gtk/stack.d.ts +15 -51
  530. package/dist/generated/gtk/stack.js +54 -3
  531. package/dist/generated/gtk/statusbar.d.ts +15 -0
  532. package/dist/generated/gtk/statusbar.js +37 -0
  533. package/dist/generated/gtk/string-filter.d.ts +2 -15
  534. package/dist/generated/gtk/string-filter.js +21 -3
  535. package/dist/generated/gtk/string-sorter.d.ts +2 -11
  536. package/dist/generated/gtk/string-sorter.js +21 -3
  537. package/dist/generated/gtk/style-context.d.ts +5 -6
  538. package/dist/generated/gtk/switch.d.ts +15 -0
  539. package/dist/generated/gtk/switch.js +37 -0
  540. package/dist/generated/gtk/text-buffer.d.ts +10 -10
  541. package/dist/generated/gtk/text-iter.d.ts +2 -2
  542. package/dist/generated/gtk/text-iter.js +545 -95
  543. package/dist/generated/gtk/text-view.d.ts +22 -9
  544. package/dist/generated/gtk/text-view.js +37 -0
  545. package/dist/generated/gtk/text.d.ts +16 -3
  546. package/dist/generated/gtk/text.js +37 -0
  547. package/dist/generated/gtk/toggle-button.d.ts +15 -0
  548. package/dist/generated/gtk/toggle-button.js +37 -0
  549. package/dist/generated/gtk/tree-expander.d.ts +15 -78
  550. package/dist/generated/gtk/tree-expander.js +54 -3
  551. package/dist/generated/gtk/tree-iter.js +12 -2
  552. package/dist/generated/gtk/tree-list-row-sorter.d.ts +2 -14
  553. package/dist/generated/gtk/tree-list-row-sorter.js +21 -3
  554. package/dist/generated/gtk/tree-model-filter.d.ts +9 -9
  555. package/dist/generated/gtk/tree-model-sort.d.ts +9 -9
  556. package/dist/generated/gtk/tree-model.d.ts +7 -8
  557. package/dist/generated/gtk/tree-path.js +84 -14
  558. package/dist/generated/gtk/tree-row-reference.js +30 -5
  559. package/dist/generated/gtk/tree-selection.d.ts +2 -3
  560. package/dist/generated/gtk/tree-store.d.ts +13 -13
  561. package/dist/generated/gtk/tree-view.d.ts +25 -13
  562. package/dist/generated/gtk/tree-view.js +37 -0
  563. package/dist/generated/gtk/video.d.ts +15 -17
  564. package/dist/generated/gtk/video.js +54 -3
  565. package/dist/generated/gtk/viewport.d.ts +16 -23
  566. package/dist/generated/gtk/viewport.js +54 -3
  567. package/dist/generated/gtk/volume-button.d.ts +15 -0
  568. package/dist/generated/gtk/volume-button.js +37 -0
  569. package/dist/generated/gtk/widget.d.ts +5 -6
  570. package/dist/generated/gtk/window-controls.d.ts +15 -53
  571. package/dist/generated/gtk/window-controls.js +54 -3
  572. package/dist/generated/gtk/window-handle.d.ts +15 -18
  573. package/dist/generated/gtk/window-handle.js +54 -3
  574. package/dist/generated/gtk/window.d.ts +15 -1
  575. package/dist/generated/gtk/window.js +37 -0
  576. package/dist/generated/gtksource/buffer.d.ts +4 -4
  577. package/dist/generated/gtksource/completion-context.d.ts +1 -2
  578. package/dist/generated/gtksource/encoding.js +30 -5
  579. package/dist/generated/gtksource/gutter-lines.d.ts +1 -1
  580. package/dist/generated/gtksource/gutter-renderer-pixbuf.d.ts +4 -6
  581. package/dist/generated/gtksource/gutter-renderer-pixbuf.js +45 -3
  582. package/dist/generated/gtksource/gutter-renderer-text.d.ts +5 -6
  583. package/dist/generated/gtksource/gutter-renderer-text.js +45 -3
  584. package/dist/generated/gtksource/hover-context.d.ts +2 -3
  585. package/dist/generated/gtksource/indenter.d.ts +1 -1
  586. package/dist/generated/gtksource/map.d.ts +14 -25
  587. package/dist/generated/gtksource/map.js +72 -3
  588. package/dist/generated/gtksource/mark-attributes.d.ts +1 -1
  589. package/dist/generated/gtksource/region.d.ts +1 -1
  590. package/dist/generated/gtksource/search-context.d.ts +4 -4
  591. package/dist/generated/harfbuzz/draw-state-t.js +1 -1
  592. package/dist/generated/harfbuzz/feature-t.js +6 -1
  593. package/dist/generated/harfbuzz/functions.d.ts +16 -16
  594. package/dist/generated/harfbuzz/glyph-info-t.js +1 -1
  595. package/dist/generated/harfbuzz/glyph-position-t.js +1 -1
  596. package/dist/generated/harfbuzz/segment-properties-t.js +1 -1
  597. package/dist/generated/harfbuzz/user-data-key-t.js +1 -1
  598. package/dist/generated/pango/attr-iterator.d.ts +1 -2
  599. package/dist/generated/pango/attr-iterator.js +42 -7
  600. package/dist/generated/pango/attr-list.js +78 -13
  601. package/dist/generated/pango/attribute.js +78 -13
  602. package/dist/generated/pango/color.js +30 -5
  603. package/dist/generated/pango/font-description.js +222 -37
  604. package/dist/generated/pango/font-metrics.js +67 -12
  605. package/dist/generated/pango/fontset-simple.d.ts +3 -0
  606. package/dist/generated/pango/fontset-simple.js +19 -0
  607. package/dist/generated/pango/functions.d.ts +6 -7
  608. package/dist/generated/pango/glyph-item-iter.js +36 -6
  609. package/dist/generated/pango/glyph-item.js +36 -6
  610. package/dist/generated/pango/glyph-string.js +60 -10
  611. package/dist/generated/pango/item.js +30 -5
  612. package/dist/generated/pango/language.js +30 -5
  613. package/dist/generated/pango/layout-iter.js +126 -21
  614. package/dist/generated/pango/layout-line.js +72 -12
  615. package/dist/generated/pango/matrix.js +78 -13
  616. package/dist/generated/pango/script-iter.js +18 -3
  617. package/dist/generated/pango/tab-array.js +78 -13
  618. package/package.json +3 -3
@@ -1,10 +1,6 @@
1
+ import { FilterChange } from "./enums.js";
1
2
  import * as GObject from "../gobject/index.js";
2
3
  import { MultiFilter } from "./multi-filter.js";
3
- /**
4
- * Matches an item when each of its filters matches.
5
- *
6
- * To add filters to a `GtkEveryFilter`, use [method@Gtk.MultiFilter.append].
7
- */
8
4
  export declare class EveryFilter extends MultiFilter {
9
5
  /**
10
6
  * Creates a new empty "every" filter.
@@ -17,6 +13,7 @@ export declare class EveryFilter extends MultiFilter {
17
13
  */
18
14
  constructor(...args: unknown[]);
19
15
  protected createPtr(_args: unknown[]): unknown;
16
+ connect(signal: "changed", handler: (self: EveryFilter, change: FilterChange) => void, after?: boolean): number;
20
17
  connect(signal: "notify", handler: (self: EveryFilter, pspec: GObject.ParamSpec) => void, after?: boolean): number;
21
18
  connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
22
19
  }
@@ -6,6 +6,12 @@ import { MultiFilter } from "./multi-filter.js";
6
6
  *
7
7
  * To add filters to a `GtkEveryFilter`, use [method@Gtk.MultiFilter.append].
8
8
  */
9
+ const SIGNAL_META = {
10
+ changed: {
11
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
12
+ returnType: { type: "undefined" },
13
+ },
14
+ };
9
15
  export class EveryFilter extends MultiFilter {
10
16
  /**
11
17
  * Creates a new empty "every" filter.
@@ -26,12 +32,24 @@ export class EveryFilter extends MultiFilter {
26
32
  });
27
33
  }
28
34
  connect(signal, handler, after = false) {
35
+ const meta = SIGNAL_META[signal];
29
36
  const selfType = { type: "gobject", borrowed: true };
30
- const argTypes = [selfType];
31
- const returnType = undefined;
37
+ const argTypes = meta
38
+ ? [selfType, ...meta.params.map((m) => m.type)]
39
+ : [selfType];
40
+ const returnType = meta?.returnType;
32
41
  const wrappedHandler = (...args) => {
33
42
  const self = getObject(args[0], EveryFilter);
34
- return handler(self, ...args.slice(1));
43
+ const signalArgs = args.slice(1);
44
+ if (!meta)
45
+ return handler(self, ...signalArgs);
46
+ const wrapped = meta.params.map((m, i) => {
47
+ if (m.getCls && signalArgs[i] != null) {
48
+ return getObject(signalArgs[i], m.getCls());
49
+ }
50
+ return signalArgs[i];
51
+ });
52
+ return handler(self, ...wrapped);
35
53
  };
36
54
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
37
55
  { type: { type: "gobject" }, value: this.ptr },
@@ -1,3 +1,5 @@
1
+ import { DirectionType, StateFlags, TextDirection } from "./enums.js";
2
+ import { Tooltip } from "./tooltip.js";
1
3
  import * as GObject from "../gobject/index.js";
2
4
  import { Widget } from "./widget.js";
3
5
  export declare class Expander extends Widget {
@@ -102,6 +104,19 @@ export declare class Expander extends Widget {
102
104
  */
103
105
  setUseUnderline(useUnderline: boolean): void;
104
106
  connect(signal: "activate", handler: (self: Expander) => void, after?: boolean): number;
107
+ connect(signal: "destroy", handler: (self: Expander) => void, after?: boolean): number;
108
+ connect(signal: "direction-changed", handler: (self: Expander, previousDirection: TextDirection) => void, after?: boolean): number;
109
+ connect(signal: "hide", handler: (self: Expander) => void, after?: boolean): number;
110
+ connect(signal: "keynav-failed", handler: (self: Expander, direction: DirectionType) => boolean, after?: boolean): number;
111
+ connect(signal: "map", handler: (self: Expander) => void, after?: boolean): number;
112
+ connect(signal: "mnemonic-activate", handler: (self: Expander, groupCycling: boolean) => boolean, after?: boolean): number;
113
+ connect(signal: "move-focus", handler: (self: Expander, direction: DirectionType) => void, after?: boolean): number;
114
+ connect(signal: "query-tooltip", handler: (self: Expander, x: number, y: number, keyboardMode: boolean, tooltip: Tooltip) => boolean, after?: boolean): number;
115
+ connect(signal: "realize", handler: (self: Expander) => void, after?: boolean): number;
116
+ connect(signal: "show", handler: (self: Expander) => void, after?: boolean): number;
117
+ connect(signal: "state-flags-changed", handler: (self: Expander, flags: StateFlags) => void, after?: boolean): number;
118
+ connect(signal: "unmap", handler: (self: Expander) => void, after?: boolean): number;
119
+ connect(signal: "unrealize", handler: (self: Expander) => void, after?: boolean): number;
105
120
  connect(signal: "notify", handler: (self: Expander, pspec: GObject.ParamSpec) => void, after?: boolean): number;
106
121
  connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
107
122
  }
@@ -1,5 +1,6 @@
1
1
  import { call } from "@gtkx/native";
2
2
  import { getObject } from "@gtkx/ffi";
3
+ import { Tooltip } from "./tooltip.js";
3
4
  import { Widget } from "./widget.js";
4
5
  /**
5
6
  * Allows the user to reveal or conceal a child widget.
@@ -91,6 +92,42 @@ import { Widget } from "./widget.js";
91
92
  */
92
93
  const SIGNAL_META = {
93
94
  activate: { params: [], returnType: { type: "undefined" } },
95
+ destroy: { params: [], returnType: { type: "undefined" } },
96
+ "direction-changed": {
97
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
98
+ returnType: { type: "undefined" },
99
+ },
100
+ hide: { params: [], returnType: { type: "undefined" } },
101
+ "keynav-failed": {
102
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
103
+ returnType: { type: "boolean" },
104
+ },
105
+ map: { params: [], returnType: { type: "undefined" } },
106
+ "mnemonic-activate": {
107
+ params: [{ type: { type: "boolean" } }],
108
+ returnType: { type: "boolean" },
109
+ },
110
+ "move-focus": {
111
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
112
+ returnType: { type: "undefined" },
113
+ },
114
+ "query-tooltip": {
115
+ params: [
116
+ { type: { type: "int", size: 32, unsigned: false } },
117
+ { type: { type: "int", size: 32, unsigned: false } },
118
+ { type: { type: "boolean" } },
119
+ { type: { type: "gobject", borrowed: true }, getCls: () => Tooltip },
120
+ ],
121
+ returnType: { type: "boolean" },
122
+ },
123
+ realize: { params: [], returnType: { type: "undefined" } },
124
+ show: { params: [], returnType: { type: "undefined" } },
125
+ "state-flags-changed": {
126
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
127
+ returnType: { type: "undefined" },
128
+ },
129
+ unmap: { params: [], returnType: { type: "undefined" } },
130
+ unrealize: { params: [], returnType: { type: "undefined" } },
94
131
  };
95
132
  export class Expander extends Widget {
96
133
  constructor(...args) {
@@ -25,7 +25,12 @@ export class ExpressionWatch {
25
25
  evaluate(value) {
26
26
  return call("libgtk-4.so.1", "gtk_expression_watch_evaluate", [
27
27
  {
28
- type: { type: "gobject" },
28
+ type: {
29
+ type: "boxed",
30
+ borrowed: true,
31
+ innerType: "GtkExpressionWatch",
32
+ lib: "libgtk-4.so.1",
33
+ },
29
34
  value: this.ptr,
30
35
  },
31
36
  {
@@ -45,7 +50,12 @@ export class ExpressionWatch {
45
50
  ref() {
46
51
  const ptr = call("libgtk-4.so.1", "gtk_expression_watch_ref", [
47
52
  {
48
- type: { type: "gobject" },
53
+ type: {
54
+ type: "boxed",
55
+ borrowed: true,
56
+ innerType: "GtkExpressionWatch",
57
+ lib: "libgtk-4.so.1",
58
+ },
49
59
  value: this.ptr,
50
60
  },
51
61
  ], {
@@ -65,7 +75,12 @@ export class ExpressionWatch {
65
75
  unref() {
66
76
  call("libgtk-4.so.1", "gtk_expression_watch_unref", [
67
77
  {
68
- type: { type: "gobject" },
78
+ type: {
79
+ type: "boxed",
80
+ borrowed: true,
81
+ innerType: "GtkExpressionWatch",
82
+ lib: "libgtk-4.so.1",
83
+ },
69
84
  value: this.ptr,
70
85
  },
71
86
  ], { type: "undefined" });
@@ -79,7 +94,12 @@ export class ExpressionWatch {
79
94
  unwatch() {
80
95
  call("libgtk-4.so.1", "gtk_expression_watch_unwatch", [
81
96
  {
82
- type: { type: "gobject" },
97
+ type: {
98
+ type: "boxed",
99
+ borrowed: true,
100
+ innerType: "GtkExpressionWatch",
101
+ lib: "libgtk-4.so.1",
102
+ },
83
103
  value: this.ptr,
84
104
  },
85
105
  ], { type: "undefined" });
@@ -1,5 +1,6 @@
1
- import { FileChooserAction } from "./enums.js";
1
+ import { DirectionType, FileChooserAction, StateFlags, TextDirection } from "./enums.js";
2
2
  import { FileFilter } from "./file-filter.js";
3
+ import { Tooltip } from "./tooltip.js";
3
4
  import * as GObject from "../gobject/index.js";
4
5
  import * as Gio from "../gio/index.js";
5
6
  import { Dialog } from "./dialog.js";
@@ -244,6 +245,19 @@ export declare class FileChooserDialog extends Dialog {
244
245
  connect(signal: "close-request", handler: (self: FileChooserDialog) => boolean, after?: boolean): number;
245
246
  connect(signal: "enable-debugging", handler: (self: FileChooserDialog, toggle: boolean) => boolean, after?: boolean): number;
246
247
  connect(signal: "keys-changed", handler: (self: FileChooserDialog) => void, after?: boolean): number;
248
+ connect(signal: "destroy", handler: (self: FileChooserDialog) => void, after?: boolean): number;
249
+ connect(signal: "direction-changed", handler: (self: FileChooserDialog, previousDirection: TextDirection) => void, after?: boolean): number;
250
+ connect(signal: "hide", handler: (self: FileChooserDialog) => void, after?: boolean): number;
251
+ connect(signal: "keynav-failed", handler: (self: FileChooserDialog, direction: DirectionType) => boolean, after?: boolean): number;
252
+ connect(signal: "map", handler: (self: FileChooserDialog) => void, after?: boolean): number;
253
+ connect(signal: "mnemonic-activate", handler: (self: FileChooserDialog, groupCycling: boolean) => boolean, after?: boolean): number;
254
+ connect(signal: "move-focus", handler: (self: FileChooserDialog, direction: DirectionType) => void, after?: boolean): number;
255
+ connect(signal: "query-tooltip", handler: (self: FileChooserDialog, x: number, y: number, keyboardMode: boolean, tooltip: Tooltip) => boolean, after?: boolean): number;
256
+ connect(signal: "realize", handler: (self: FileChooserDialog) => void, after?: boolean): number;
257
+ connect(signal: "show", handler: (self: FileChooserDialog) => void, after?: boolean): number;
258
+ connect(signal: "state-flags-changed", handler: (self: FileChooserDialog, flags: StateFlags) => void, after?: boolean): number;
259
+ connect(signal: "unmap", handler: (self: FileChooserDialog) => void, after?: boolean): number;
260
+ connect(signal: "unrealize", handler: (self: FileChooserDialog) => void, after?: boolean): number;
247
261
  connect(signal: "notify", handler: (self: FileChooserDialog, pspec: GObject.ParamSpec) => void, after?: boolean): number;
248
262
  connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
249
263
  }
@@ -1,6 +1,7 @@
1
1
  import { call } from "@gtkx/native";
2
2
  import { NativeError, getObject } from "@gtkx/ffi";
3
3
  import { FileFilter } from "./file-filter.js";
4
+ import { Tooltip } from "./tooltip.js";
4
5
  import * as Gio from "../gio/index.js";
5
6
  import { Dialog } from "./dialog.js";
6
7
  /**
@@ -191,6 +192,42 @@ const SIGNAL_META = {
191
192
  returnType: { type: "boolean" },
192
193
  },
193
194
  "keys-changed": { params: [], returnType: { type: "undefined" } },
195
+ destroy: { params: [], returnType: { type: "undefined" } },
196
+ "direction-changed": {
197
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
198
+ returnType: { type: "undefined" },
199
+ },
200
+ hide: { params: [], returnType: { type: "undefined" } },
201
+ "keynav-failed": {
202
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
203
+ returnType: { type: "boolean" },
204
+ },
205
+ map: { params: [], returnType: { type: "undefined" } },
206
+ "mnemonic-activate": {
207
+ params: [{ type: { type: "boolean" } }],
208
+ returnType: { type: "boolean" },
209
+ },
210
+ "move-focus": {
211
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
212
+ returnType: { type: "undefined" },
213
+ },
214
+ "query-tooltip": {
215
+ params: [
216
+ { type: { type: "int", size: 32, unsigned: false } },
217
+ { type: { type: "int", size: 32, unsigned: false } },
218
+ { type: { type: "boolean" } },
219
+ { type: { type: "gobject", borrowed: true }, getCls: () => Tooltip },
220
+ ],
221
+ returnType: { type: "boolean" },
222
+ },
223
+ realize: { params: [], returnType: { type: "undefined" } },
224
+ show: { params: [], returnType: { type: "undefined" } },
225
+ "state-flags-changed": {
226
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
227
+ returnType: { type: "undefined" },
228
+ },
229
+ unmap: { params: [], returnType: { type: "undefined" } },
230
+ unrealize: { params: [], returnType: { type: "undefined" } },
194
231
  };
195
232
  export class FileChooserDialog extends Dialog {
196
233
  constructor(...args) {
@@ -4,154 +4,6 @@ import { Window } from "./window.js";
4
4
  import * as GObject from "../gobject/index.js";
5
5
  import * as Gio from "../gio/index.js";
6
6
  import { NativeDialog } from "./native-dialog.js";
7
- /**
8
- * `GtkFileChooserNative` is an abstraction of a dialog suitable
9
- * for use with “File Open” or “File Save as” commands.
10
- *
11
- * By default, this just uses a `GtkFileChooserDialog` to implement
12
- * the actual dialog. However, on some platforms, such as Windows and
13
- * macOS, the native platform file chooser is used instead. When the
14
- * application is running in a sandboxed environment without direct
15
- * filesystem access (such as Flatpak), `GtkFileChooserNative` may call
16
- * the proper APIs (portals) to let the user choose a file and make it
17
- * available to the application.
18
- *
19
- * While the API of `GtkFileChooserNative` closely mirrors `GtkFileChooserDialog`,
20
- * the main difference is that there is no access to any `GtkWindow` or `GtkWidget`
21
- * for the dialog. This is required, as there may not be one in the case of a
22
- * platform native dialog.
23
- *
24
- * Showing, hiding and running the dialog is handled by the
25
- * [class@Gtk.NativeDialog] functions.
26
- *
27
- * Note that unlike `GtkFileChooserDialog`, `GtkFileChooserNative` objects
28
- * are not toplevel widgets, and GTK does not keep them alive. It is your
29
- * responsibility to keep a reference until you are done with the
30
- * object.
31
- *
32
- * ## Typical usage
33
- *
34
- * In the simplest of cases, you can the following code to use
35
- * `GtkFileChooserNative` to select a file for opening:
36
- *
37
- * ```c
38
- * static void
39
- * on_response (GtkNativeDialog *native,
40
- * int response)
41
- * {
42
- * if (response == GTK_RESPONSE_ACCEPT)
43
- * {
44
- * GtkFileChooser *chooser = GTK_FILE_CHOOSER (native);
45
- * GFile *file = gtk_file_chooser_get_file (chooser);
46
- *
47
- * open_file (file);
48
- *
49
- * g_object_unref (file);
50
- * }
51
- *
52
- * g_object_unref (native);
53
- * }
54
- *
55
- * // ...
56
- * GtkFileChooserNative *native;
57
- * GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN;
58
- *
59
- * native = gtk_file_chooser_native_new ("Open File",
60
- * parent_window,
61
- * action,
62
- * "_Open",
63
- * "_Cancel");
64
- *
65
- * g_signal_connect (native, "response", G_CALLBACK (on_response), NULL);
66
- * gtk_native_dialog_show (GTK_NATIVE_DIALOG (native));
67
- * ```
68
- *
69
- * To use a `GtkFileChooserNative` for saving, you can use this:
70
- *
71
- * ```c
72
- * static void
73
- * on_response (GtkNativeDialog *native,
74
- * int response)
75
- * {
76
- * if (response == GTK_RESPONSE_ACCEPT)
77
- * {
78
- * GtkFileChooser *chooser = GTK_FILE_CHOOSER (native);
79
- * GFile *file = gtk_file_chooser_get_file (chooser);
80
- *
81
- * save_to_file (file);
82
- *
83
- * g_object_unref (file);
84
- * }
85
- *
86
- * g_object_unref (native);
87
- * }
88
- *
89
- * // ...
90
- * GtkFileChooserNative *native;
91
- * GtkFileChooser *chooser;
92
- * GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE;
93
- *
94
- * native = gtk_file_chooser_native_new ("Save File",
95
- * parent_window,
96
- * action,
97
- * "_Save",
98
- * "_Cancel");
99
- * chooser = GTK_FILE_CHOOSER (native);
100
- *
101
- * if (user_edited_a_new_document)
102
- * gtk_file_chooser_set_current_name (chooser, _("Untitled document"));
103
- * else
104
- * gtk_file_chooser_set_file (chooser, existing_file, NULL);
105
- *
106
- * g_signal_connect (native, "response", G_CALLBACK (on_response), NULL);
107
- * gtk_native_dialog_show (GTK_NATIVE_DIALOG (native));
108
- * ```
109
- *
110
- * For more information on how to best set up a file dialog,
111
- * see the [class@Gtk.FileChooserDialog] documentation.
112
- *
113
- * ## Response Codes
114
- *
115
- * `GtkFileChooserNative` inherits from [class@Gtk.NativeDialog],
116
- * which means it will return %GTK_RESPONSE_ACCEPT if the user accepted,
117
- * and %GTK_RESPONSE_CANCEL if he pressed cancel. It can also return
118
- * %GTK_RESPONSE_DELETE_EVENT if the window was unexpectedly closed.
119
- *
120
- * ## Differences from `GtkFileChooserDialog`
121
- *
122
- * There are a few things in the [iface@Gtk.FileChooser] interface that
123
- * are not possible to use with `GtkFileChooserNative`, as such use would
124
- * prohibit the use of a native dialog.
125
- *
126
- * No operations that change the dialog work while the dialog is visible.
127
- * Set all the properties that are required before showing the dialog.
128
- *
129
- * ## Win32 details
130
- *
131
- * On windows the `IFileDialog` implementation (added in Windows Vista) is
132
- * used. It supports many of the features that `GtkFileChooser` has, but
133
- * there are some things it does not handle:
134
- *
135
- * * Any [class@Gtk.FileFilter] added using a mimetype
136
- *
137
- * If any of these features are used the regular `GtkFileChooserDialog`
138
- * will be used in place of the native one.
139
- *
140
- * ## Portal details
141
- *
142
- * When the `org.freedesktop.portal.FileChooser` portal is available on
143
- * the session bus, it is used to bring up an out-of-process file chooser.
144
- * Depending on the kind of session the application is running in, this may
145
- * or may not be a GTK file chooser.
146
- *
147
- * ## macOS details
148
- *
149
- * On macOS the `NSSavePanel` and `NSOpenPanel` classes are used to provide
150
- * native file chooser dialogs. Some features provided by `GtkFileChooser`
151
- * are not supported:
152
- *
153
- * * Shortcut folders.
154
- */
155
7
  export declare class FileChooserNative extends NativeDialog {
156
8
  /**
157
9
  * Creates a new `GtkFileChooserNative`.
@@ -427,6 +279,7 @@ export declare class FileChooserNative extends NativeDialog {
427
279
  * @param selectMultiple - %TRUE if multiple files can be selected.
428
280
  */
429
281
  setSelectMultiple(selectMultiple: boolean): void;
282
+ connect(signal: "response", handler: (self: FileChooserNative, responseId: number) => void, after?: boolean): number;
430
283
  connect(signal: "notify", handler: (self: FileChooserNative, pspec: GObject.ParamSpec) => void, after?: boolean): number;
431
284
  connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
432
285
  }
@@ -151,6 +151,12 @@ import { NativeDialog } from "./native-dialog.js";
151
151
  *
152
152
  * * Shortcut folders.
153
153
  */
154
+ const SIGNAL_META = {
155
+ response: {
156
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
157
+ returnType: { type: "undefined" },
158
+ },
159
+ };
154
160
  export class FileChooserNative extends NativeDialog {
155
161
  constructor(...args) {
156
162
  super(...args);
@@ -816,12 +822,24 @@ export class FileChooserNative extends NativeDialog {
816
822
  ], { type: "undefined" });
817
823
  }
818
824
  connect(signal, handler, after = false) {
825
+ const meta = SIGNAL_META[signal];
819
826
  const selfType = { type: "gobject", borrowed: true };
820
- const argTypes = [selfType];
821
- const returnType = undefined;
827
+ const argTypes = meta
828
+ ? [selfType, ...meta.params.map((m) => m.type)]
829
+ : [selfType];
830
+ const returnType = meta?.returnType;
822
831
  const wrappedHandler = (...args) => {
823
832
  const self = getObject(args[0], FileChooserNative);
824
- return handler(self, ...args.slice(1));
833
+ const signalArgs = args.slice(1);
834
+ if (!meta)
835
+ return handler(self, ...signalArgs);
836
+ const wrapped = meta.params.map((m, i) => {
837
+ if (m.getCls && signalArgs[i] != null) {
838
+ return getObject(signalArgs[i], m.getCls());
839
+ }
840
+ return signalArgs[i];
841
+ });
842
+ return handler(self, ...wrapped);
825
843
  };
826
844
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
827
845
  { type: { type: "gobject" }, value: this.ptr },
@@ -1,5 +1,6 @@
1
- import { FileChooserAction } from "./enums.js";
1
+ import { DirectionType, FileChooserAction, StateFlags, TextDirection } from "./enums.js";
2
2
  import { FileFilter } from "./file-filter.js";
3
+ import { Tooltip } from "./tooltip.js";
3
4
  import * as GObject from "../gobject/index.js";
4
5
  import * as Gio from "../gio/index.js";
5
6
  import { Widget } from "./widget.js";
@@ -258,6 +259,19 @@ export declare class FileChooserWidget extends Widget {
258
259
  connect(signal: "search-shortcut", handler: (self: FileChooserWidget) => void, after?: boolean): number;
259
260
  connect(signal: "show-hidden", handler: (self: FileChooserWidget) => void, after?: boolean): number;
260
261
  connect(signal: "up-folder", handler: (self: FileChooserWidget) => void, after?: boolean): number;
262
+ connect(signal: "destroy", handler: (self: FileChooserWidget) => void, after?: boolean): number;
263
+ connect(signal: "direction-changed", handler: (self: FileChooserWidget, previousDirection: TextDirection) => void, after?: boolean): number;
264
+ connect(signal: "hide", handler: (self: FileChooserWidget) => void, after?: boolean): number;
265
+ connect(signal: "keynav-failed", handler: (self: FileChooserWidget, direction: DirectionType) => boolean, after?: boolean): number;
266
+ connect(signal: "map", handler: (self: FileChooserWidget) => void, after?: boolean): number;
267
+ connect(signal: "mnemonic-activate", handler: (self: FileChooserWidget, groupCycling: boolean) => boolean, after?: boolean): number;
268
+ connect(signal: "move-focus", handler: (self: FileChooserWidget, direction: DirectionType) => void, after?: boolean): number;
269
+ connect(signal: "query-tooltip", handler: (self: FileChooserWidget, x: number, y: number, keyboardMode: boolean, tooltip: Tooltip) => boolean, after?: boolean): number;
270
+ connect(signal: "realize", handler: (self: FileChooserWidget) => void, after?: boolean): number;
271
+ connect(signal: "show", handler: (self: FileChooserWidget) => void, after?: boolean): number;
272
+ connect(signal: "state-flags-changed", handler: (self: FileChooserWidget, flags: StateFlags) => void, after?: boolean): number;
273
+ connect(signal: "unmap", handler: (self: FileChooserWidget) => void, after?: boolean): number;
274
+ connect(signal: "unrealize", handler: (self: FileChooserWidget) => void, after?: boolean): number;
261
275
  connect(signal: "notify", handler: (self: FileChooserWidget, pspec: GObject.ParamSpec) => void, after?: boolean): number;
262
276
  connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
263
277
  }
@@ -1,6 +1,7 @@
1
1
  import { call } from "@gtkx/native";
2
2
  import { NativeError, getObject } from "@gtkx/ffi";
3
3
  import { FileFilter } from "./file-filter.js";
4
+ import { Tooltip } from "./tooltip.js";
4
5
  import * as Gio from "../gio/index.js";
5
6
  import { Widget } from "./widget.js";
6
7
  /**
@@ -54,6 +55,42 @@ const SIGNAL_META = {
54
55
  "search-shortcut": { params: [], returnType: { type: "undefined" } },
55
56
  "show-hidden": { params: [], returnType: { type: "undefined" } },
56
57
  "up-folder": { params: [], returnType: { type: "undefined" } },
58
+ destroy: { params: [], returnType: { type: "undefined" } },
59
+ "direction-changed": {
60
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
61
+ returnType: { type: "undefined" },
62
+ },
63
+ hide: { params: [], returnType: { type: "undefined" } },
64
+ "keynav-failed": {
65
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
66
+ returnType: { type: "boolean" },
67
+ },
68
+ map: { params: [], returnType: { type: "undefined" } },
69
+ "mnemonic-activate": {
70
+ params: [{ type: { type: "boolean" } }],
71
+ returnType: { type: "boolean" },
72
+ },
73
+ "move-focus": {
74
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
75
+ returnType: { type: "undefined" },
76
+ },
77
+ "query-tooltip": {
78
+ params: [
79
+ { type: { type: "int", size: 32, unsigned: false } },
80
+ { type: { type: "int", size: 32, unsigned: false } },
81
+ { type: { type: "boolean" } },
82
+ { type: { type: "gobject", borrowed: true }, getCls: () => Tooltip },
83
+ ],
84
+ returnType: { type: "boolean" },
85
+ },
86
+ realize: { params: [], returnType: { type: "undefined" } },
87
+ show: { params: [], returnType: { type: "undefined" } },
88
+ "state-flags-changed": {
89
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
90
+ returnType: { type: "undefined" },
91
+ },
92
+ unmap: { params: [], returnType: { type: "undefined" } },
93
+ unrealize: { params: [], returnType: { type: "undefined" } },
57
94
  };
58
95
  export class FileChooserWidget extends Widget {
59
96
  constructor(...args) {
@@ -1,54 +1,7 @@
1
+ import { FilterChange } from "./enums.js";
1
2
  import * as GLib from "../glib/index.js";
2
3
  import * as GObject from "../gobject/index.js";
3
4
  import { Filter } from "./filter.js";
4
- /**
5
- * Filters files by name or mime type.
6
- *
7
- * `GtkFileFilter` can be used to restrict the files being shown in a
8
- * file chooser. Files can be filtered based on their name (with
9
- * [method@Gtk.FileFilter.add_pattern] or [method@Gtk.FileFilter.add_suffix])
10
- * or on their mime type (with [method@Gtk.FileFilter.add_mime_type]).
11
- *
12
- * Filtering by mime types handles aliasing and subclassing of mime
13
- * types; e.g. a filter for text/plain also matches a file with mime
14
- * type application/rtf, since application/rtf is a subclass of
15
- * text/plain. Note that `GtkFileFilter` allows wildcards for the
16
- * subtype of a mime type, so you can e.g. filter for image/\*.
17
- *
18
- * Normally, file filters are used by adding them to a file chooser
19
- * (see [method@Gtk.FileDialog.set_filters]), but it is also possible to
20
- * manually use a file filter on any [class@Gtk.FilterListModel] containing
21
- * `GFileInfo` objects.
22
- *
23
- * # GtkFileFilter as GtkBuildable
24
- *
25
- * The `GtkFileFilter` implementation of the `GtkBuildable` interface
26
- * supports adding rules using the `<mime-types>` and `<patterns>` and
27
- * `<suffixes>` elements and listing the rules within. Specifying a
28
- * `<mime-type>` or `<pattern>` or `<suffix>` has the same effect as
29
- * as calling
30
- * [method@Gtk.FileFilter.add_mime_type] or
31
- * [method@Gtk.FileFilter.add_pattern] or
32
- * [method@Gtk.FileFilter.add_suffix].
33
- *
34
- * An example of a UI definition fragment specifying `GtkFileFilter`
35
- * rules:
36
- * ```xml
37
- * <object class="GtkFileFilter">
38
- * <property name="name" translatable="yes">Text and Images</property>
39
- * <mime-types>
40
- * <mime-type>text/plain</mime-type>
41
- * <mime-type>image/ *</mime-type>
42
- * </mime-types>
43
- * <patterns>
44
- * <pattern>*.txt</pattern>
45
- * </patterns>
46
- * <suffixes>
47
- * <suffix>png</suffix>
48
- * </suffixes>
49
- * </object>
50
- * ```
51
- */
52
5
  export declare class FileFilter extends Filter {
53
6
  /**
54
7
  * Creates a new `GtkFileFilter` with no rules added to it.
@@ -147,6 +100,7 @@ export declare class FileFilter extends Filter {
147
100
  * of the `<object>` tag used to construct the @buildable.
148
101
  */
149
102
  getBuildableId(): string | null;
103
+ connect(signal: "changed", handler: (self: FileFilter, change: FilterChange) => void, after?: boolean): number;
150
104
  connect(signal: "notify", handler: (self: FileFilter, pspec: GObject.ParamSpec) => void, after?: boolean): number;
151
105
  connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
152
106
  }
@@ -50,6 +50,12 @@ import { Filter } from "./filter.js";
50
50
  * </object>
51
51
  * ```
52
52
  */
53
+ const SIGNAL_META = {
54
+ changed: {
55
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
56
+ returnType: { type: "undefined" },
57
+ },
58
+ };
53
59
  export class FileFilter extends Filter {
54
60
  /**
55
61
  * Creates a new `GtkFileFilter` with no rules added to it.
@@ -255,12 +261,24 @@ export class FileFilter extends Filter {
255
261
  ], { type: "string", borrowed: true });
256
262
  }
257
263
  connect(signal, handler, after = false) {
264
+ const meta = SIGNAL_META[signal];
258
265
  const selfType = { type: "gobject", borrowed: true };
259
- const argTypes = [selfType];
260
- const returnType = undefined;
266
+ const argTypes = meta
267
+ ? [selfType, ...meta.params.map((m) => m.type)]
268
+ : [selfType];
269
+ const returnType = meta?.returnType;
261
270
  const wrappedHandler = (...args) => {
262
271
  const self = getObject(args[0], FileFilter);
263
- return handler(self, ...args.slice(1));
272
+ const signalArgs = args.slice(1);
273
+ if (!meta)
274
+ return handler(self, ...signalArgs);
275
+ const wrapped = meta.params.map((m, i) => {
276
+ if (m.getCls && signalArgs[i] != null) {
277
+ return getObject(signalArgs[i], m.getCls());
278
+ }
279
+ return signalArgs[i];
280
+ });
281
+ return handler(self, ...wrapped);
264
282
  };
265
283
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
266
284
  { type: { type: "gobject" }, value: this.ptr },