@gtkx/ffi 0.8.0 → 0.9.0

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 (319) hide show
  1. package/dist/cairo/cairo.js +1 -1
  2. package/dist/codegen/ffi-generator.js +37 -12
  3. package/dist/generated/adw/index.d.ts +0 -1
  4. package/dist/generated/adw/index.js +0 -1
  5. package/dist/generated/adw/preferences-group.d.ts +0 -11
  6. package/dist/generated/adw/preferences-group.js +0 -36
  7. package/dist/generated/atspi/device.d.ts +0 -15
  8. package/dist/generated/atspi/device.js +0 -65
  9. package/dist/generated/atspi/functions.d.ts +4 -14
  10. package/dist/generated/atspi/functions.js +0 -48
  11. package/dist/generated/atspi/index.d.ts +0 -2
  12. package/dist/generated/atspi/index.js +0 -2
  13. package/dist/generated/gdk/cursor.d.ts +1 -12
  14. package/dist/generated/gdk/cursor.js +22 -55
  15. package/dist/generated/gdk/functions.d.ts +0 -26
  16. package/dist/generated/gdk/functions.js +0 -74
  17. package/dist/generated/gdk/texture.d.ts +0 -10
  18. package/dist/generated/gdk/texture.js +0 -36
  19. package/dist/generated/gdkpixbuf/pixbuf.d.ts +0 -49
  20. package/dist/generated/gdkpixbuf/pixbuf.js +0 -166
  21. package/dist/generated/gio/app-info.d.ts +0 -15
  22. package/dist/generated/gio/app-info.js +0 -50
  23. package/dist/generated/gio/async-initable.d.ts +0 -44
  24. package/dist/generated/gio/async-initable.js +0 -69
  25. package/dist/generated/gio/buffered-input-stream.d.ts +0 -14
  26. package/dist/generated/gio/buffered-input-stream.js +0 -44
  27. package/dist/generated/gio/bytes-icon.d.ts +0 -10
  28. package/dist/generated/gio/bytes-icon.js +0 -36
  29. package/dist/generated/gio/cancellable.d.ts +0 -41
  30. package/dist/generated/gio/cancellable.js +0 -62
  31. package/dist/generated/gio/data-input-stream.d.ts +0 -59
  32. package/dist/generated/gio/data-input-stream.js +0 -149
  33. package/dist/generated/gio/dbus-connection.d.ts +1 -374
  34. package/dist/generated/gio/dbus-connection.js +0 -761
  35. package/dist/generated/gio/dbus-object-manager-client.d.ts +1 -120
  36. package/dist/generated/gio/dbus-object-manager-client.js +0 -354
  37. package/dist/generated/gio/dbus-proxy.d.ts +0 -163
  38. package/dist/generated/gio/dbus-proxy.js +0 -379
  39. package/dist/generated/gio/drive.d.ts +1 -62
  40. package/dist/generated/gio/drive.js +0 -200
  41. package/dist/generated/gio/dtls-connection.d.ts +0 -29
  42. package/dist/generated/gio/dtls-connection.js +0 -115
  43. package/dist/generated/gio/file-enumerator.d.ts +0 -85
  44. package/dist/generated/gio/file-enumerator.js +0 -141
  45. package/dist/generated/gio/file-icon.d.ts +0 -10
  46. package/dist/generated/gio/file-icon.js +0 -36
  47. package/dist/generated/gio/file-input-stream.d.ts +0 -19
  48. package/dist/generated/gio/file-input-stream.js +0 -49
  49. package/dist/generated/gio/file-iostream.d.ts +0 -14
  50. package/dist/generated/gio/file-iostream.js +0 -44
  51. package/dist/generated/gio/file-output-stream.d.ts +0 -14
  52. package/dist/generated/gio/file-output-stream.js +0 -44
  53. package/dist/generated/gio/file.d.ts +1 -661
  54. package/dist/generated/gio/file.js +58 -1899
  55. package/dist/generated/gio/functions.d.ts +0 -261
  56. package/dist/generated/gio/functions.js +0 -666
  57. package/dist/generated/gio/index.d.ts +0 -2
  58. package/dist/generated/gio/index.js +0 -2
  59. package/dist/generated/gio/input-stream.d.ts +0 -127
  60. package/dist/generated/gio/input-stream.js +0 -293
  61. package/dist/generated/gio/iostream.d.ts +0 -34
  62. package/dist/generated/gio/iostream.js +0 -93
  63. package/dist/generated/gio/list-store.d.ts +0 -46
  64. package/dist/generated/gio/list-store.js +0 -139
  65. package/dist/generated/gio/loadable-icon.d.ts +0 -10
  66. package/dist/generated/gio/loadable-icon.js +0 -36
  67. package/dist/generated/gio/mount.d.ts +0 -74
  68. package/dist/generated/gio/mount.js +0 -243
  69. package/dist/generated/gio/network-monitor.d.ts +0 -16
  70. package/dist/generated/gio/network-monitor.js +0 -42
  71. package/dist/generated/gio/output-stream.d.ts +0 -200
  72. package/dist/generated/gio/output-stream.js +0 -469
  73. package/dist/generated/gio/permission.d.ts +0 -20
  74. package/dist/generated/gio/permission.js +0 -64
  75. package/dist/generated/gio/proxy-resolver.d.ts +0 -9
  76. package/dist/generated/gio/proxy-resolver.js +0 -35
  77. package/dist/generated/gio/proxy.d.ts +0 -9
  78. package/dist/generated/gio/proxy.js +0 -39
  79. package/dist/generated/gio/resolver.d.ts +0 -59
  80. package/dist/generated/gio/resolver.js +0 -205
  81. package/dist/generated/gio/settings.d.ts +0 -33
  82. package/dist/generated/gio/settings.js +0 -53
  83. package/dist/generated/gio/simple-proxy-resolver.d.ts +0 -9
  84. package/dist/generated/gio/simple-proxy-resolver.js +0 -35
  85. package/dist/generated/gio/socket-address-enumerator.d.ts +0 -10
  86. package/dist/generated/gio/socket-address-enumerator.js +0 -32
  87. package/dist/generated/gio/socket-client.d.ts +0 -57
  88. package/dist/generated/gio/socket-client.js +0 -173
  89. package/dist/generated/gio/socket-connection.d.ts +0 -17
  90. package/dist/generated/gio/socket-connection.js +0 -43
  91. package/dist/generated/gio/socket-listener.d.ts +0 -22
  92. package/dist/generated/gio/socket-listener.js +0 -66
  93. package/dist/generated/gio/subprocess.d.ts +0 -36
  94. package/dist/generated/gio/subprocess.js +0 -139
  95. package/dist/generated/gio/tls-connection.d.ts +0 -9
  96. package/dist/generated/gio/tls-connection.js +0 -35
  97. package/dist/generated/gio/tls-database.d.ts +0 -51
  98. package/dist/generated/gio/tls-database.js +0 -205
  99. package/dist/generated/gio/tls-interaction.d.ts +0 -38
  100. package/dist/generated/gio/tls-interaction.js +0 -94
  101. package/dist/generated/gio/unix-connection.d.ts +0 -26
  102. package/dist/generated/gio/unix-connection.js +0 -70
  103. package/dist/generated/gio/vfs.d.ts +0 -30
  104. package/dist/generated/gio/vfs.js +0 -71
  105. package/dist/generated/gio/volume.d.ts +0 -32
  106. package/dist/generated/gio/volume.js +0 -117
  107. package/dist/generated/giounix/desktop-app-info.d.ts +0 -58
  108. package/dist/generated/giounix/desktop-app-info.js +0 -226
  109. package/dist/generated/glib/byte-array.d.ts +0 -23
  110. package/dist/generated/glib/byte-array.js +0 -62
  111. package/dist/generated/glib/error.d.ts +0 -36
  112. package/dist/generated/glib/error.js +0 -82
  113. package/dist/generated/glib/functions.d.ts +1 -811
  114. package/dist/generated/glib/functions.js +55 -1787
  115. package/dist/generated/glib/hash-table.d.ts +0 -64
  116. package/dist/generated/glib/hash-table.js +0 -148
  117. package/dist/generated/glib/main-context.d.ts +0 -17
  118. package/dist/generated/glib/main-context.js +0 -37
  119. package/dist/generated/glib/option-group.d.ts +0 -12
  120. package/dist/generated/glib/option-group.js +0 -39
  121. package/dist/generated/glib/regex.d.ts +0 -54
  122. package/dist/generated/glib/regex.js +0 -107
  123. package/dist/generated/glib/source.d.ts +0 -27
  124. package/dist/generated/glib/source.js +0 -43
  125. package/dist/generated/glib/thread.d.ts +2 -46
  126. package/dist/generated/glib/thread.js +5 -50
  127. package/dist/generated/glib/tree.d.ts +2 -74
  128. package/dist/generated/glib/tree.js +4 -192
  129. package/dist/generated/glibunix/functions.d.ts +0 -2
  130. package/dist/generated/glibunix/functions.js +0 -45
  131. package/dist/generated/gobject/binding-group.d.ts +0 -17
  132. package/dist/generated/gobject/binding-group.js +0 -59
  133. package/dist/generated/gobject/functions.d.ts +0 -40
  134. package/dist/generated/gobject/functions.js +0 -95
  135. package/dist/generated/gobject/object.d.ts +0 -33
  136. package/dist/generated/gobject/object.js +0 -77
  137. package/dist/generated/gobject/signal-group.d.ts +0 -23
  138. package/dist/generated/gobject/signal-group.js +0 -70
  139. package/dist/generated/gobject/value-array.d.ts +0 -19
  140. package/dist/generated/gobject/value-array.js +0 -70
  141. package/dist/generated/gsk/path.d.ts +1 -41
  142. package/dist/generated/gsk/path.js +0 -96
  143. package/dist/generated/gsk/render-node.d.ts +0 -9
  144. package/dist/generated/gsk/render-node.js +0 -32
  145. package/dist/generated/gst/buffer-list.d.ts +0 -10
  146. package/dist/generated/gst/buffer-list.js +0 -31
  147. package/dist/generated/gst/buffer.d.ts +0 -10
  148. package/dist/generated/gst/buffer.js +0 -31
  149. package/dist/generated/gst/bus.d.ts +0 -43
  150. package/dist/generated/gst/bus.js +0 -88
  151. package/dist/generated/gst/caps.d.ts +0 -26
  152. package/dist/generated/gst/caps.js +0 -89
  153. package/dist/generated/gst/clock.d.ts +0 -15
  154. package/dist/generated/gst/clock.js +0 -35
  155. package/dist/generated/gst/element.d.ts +0 -49
  156. package/dist/generated/gst/element.js +0 -117
  157. package/dist/generated/gst/functions.d.ts +1 -80
  158. package/dist/generated/gst/functions.js +0 -234
  159. package/dist/generated/gst/index.d.ts +0 -1
  160. package/dist/generated/gst/index.js +0 -1
  161. package/dist/generated/gst/iterator.d.ts +0 -56
  162. package/dist/generated/gst/iterator.js +0 -168
  163. package/dist/generated/gst/pad.d.ts +1 -145
  164. package/dist/generated/gst/pad.js +0 -440
  165. package/dist/generated/gst/plugin.d.ts +0 -41
  166. package/dist/generated/gst/plugin.js +0 -132
  167. package/dist/generated/gst/promise.d.ts +0 -9
  168. package/dist/generated/gst/promise.js +1 -27
  169. package/dist/generated/gst/registry.d.ts +0 -21
  170. package/dist/generated/gst/registry.js +0 -73
  171. package/dist/generated/gst/structure.d.ts +0 -52
  172. package/dist/generated/gst/structure.js +0 -178
  173. package/dist/generated/gst/tag-list.d.ts +0 -7
  174. package/dist/generated/gst/tag-list.js +0 -28
  175. package/dist/generated/gst/task-pool.d.ts +0 -6
  176. package/dist/generated/gst/task-pool.js +0 -38
  177. package/dist/generated/gst/type-find.d.ts +0 -15
  178. package/dist/generated/gst/type-find.js +0 -58
  179. package/dist/generated/gstbase/collect-pads.d.ts +0 -108
  180. package/dist/generated/gstbase/collect-pads.js +0 -243
  181. package/dist/generated/gstbase/functions.d.ts +0 -45
  182. package/dist/generated/gstbase/functions.js +0 -132
  183. package/dist/generated/gtk/assistant.d.ts +0 -13
  184. package/dist/generated/gtk/assistant.js +0 -34
  185. package/dist/generated/gtk/builder-cscope.d.ts +0 -13
  186. package/dist/generated/gtk/builder-cscope.js +0 -28
  187. package/dist/generated/gtk/cell-area.d.ts +0 -31
  188. package/dist/generated/gtk/cell-area.js +0 -114
  189. package/dist/generated/gtk/cell-layout.d.ts +0 -14
  190. package/dist/generated/gtk/cell-layout.js +0 -39
  191. package/dist/generated/gtk/cell-view.d.ts +0 -14
  192. package/dist/generated/gtk/cell-view.js +0 -39
  193. package/dist/generated/gtk/combo-box.d.ts +0 -25
  194. package/dist/generated/gtk/combo-box.js +0 -72
  195. package/dist/generated/gtk/drawing-area.d.ts +2 -1
  196. package/dist/generated/gtk/drawing-area.js +6 -1
  197. package/dist/generated/gtk/entry-completion.d.ts +0 -24
  198. package/dist/generated/gtk/entry-completion.js +0 -69
  199. package/dist/generated/gtk/expression.d.ts +0 -14
  200. package/dist/generated/gtk/expression.js +0 -45
  201. package/dist/generated/gtk/flow-box.d.ts +0 -68
  202. package/dist/generated/gtk/flow-box.js +0 -150
  203. package/dist/generated/gtk/font-button.d.ts +0 -8
  204. package/dist/generated/gtk/font-button.js +0 -29
  205. package/dist/generated/gtk/font-chooser-dialog.d.ts +0 -8
  206. package/dist/generated/gtk/font-chooser-dialog.js +0 -29
  207. package/dist/generated/gtk/font-chooser-widget.d.ts +0 -8
  208. package/dist/generated/gtk/font-chooser-widget.js +0 -29
  209. package/dist/generated/gtk/font-chooser.d.ts +0 -8
  210. package/dist/generated/gtk/font-chooser.js +0 -29
  211. package/dist/generated/gtk/functions.d.ts +0 -23
  212. package/dist/generated/gtk/functions.js +0 -69
  213. package/dist/generated/gtk/icon-view.d.ts +0 -21
  214. package/dist/generated/gtk/icon-view.js +0 -62
  215. package/dist/generated/gtk/index.d.ts +0 -7
  216. package/dist/generated/gtk/index.js +0 -7
  217. package/dist/generated/gtk/list-box.d.ts +0 -99
  218. package/dist/generated/gtk/list-box.js +0 -203
  219. package/dist/generated/gtk/list-store.d.ts +0 -33
  220. package/dist/generated/gtk/list-store.js +0 -95
  221. package/dist/generated/gtk/menu-button.d.ts +0 -18
  222. package/dist/generated/gtk/menu-button.js +0 -40
  223. package/dist/generated/gtk/print-job.d.ts +0 -7
  224. package/dist/generated/gtk/print-job.js +0 -27
  225. package/dist/generated/gtk/print-settings.d.ts +0 -6
  226. package/dist/generated/gtk/print-settings.js +0 -22
  227. package/dist/generated/gtk/scale.d.ts +0 -14
  228. package/dist/generated/gtk/scale.js +0 -36
  229. package/dist/generated/gtk/text-buffer.d.ts +0 -19
  230. package/dist/generated/gtk/text-buffer.js +0 -42
  231. package/dist/generated/gtk/text-iter.d.ts +0 -19
  232. package/dist/generated/gtk/text-iter.js +0 -81
  233. package/dist/generated/gtk/text-tag-table.d.ts +0 -9
  234. package/dist/generated/gtk/text-tag-table.js +0 -25
  235. package/dist/generated/gtk/tree-model-filter.d.ts +0 -68
  236. package/dist/generated/gtk/tree-model-filter.js +0 -137
  237. package/dist/generated/gtk/tree-model-sort.d.ts +0 -33
  238. package/dist/generated/gtk/tree-model-sort.js +0 -95
  239. package/dist/generated/gtk/tree-model.d.ts +0 -9
  240. package/dist/generated/gtk/tree-model.js +0 -25
  241. package/dist/generated/gtk/tree-selection.d.ts +0 -20
  242. package/dist/generated/gtk/tree-selection.js +0 -57
  243. package/dist/generated/gtk/tree-sortable.d.ts +0 -24
  244. package/dist/generated/gtk/tree-sortable.js +0 -70
  245. package/dist/generated/gtk/tree-store.d.ts +0 -33
  246. package/dist/generated/gtk/tree-store.js +0 -95
  247. package/dist/generated/gtk/tree-view-column.d.ts +0 -14
  248. package/dist/generated/gtk/tree-view-column.js +0 -39
  249. package/dist/generated/gtk/tree-view.d.ts +0 -54
  250. package/dist/generated/gtk/tree-view.js +0 -167
  251. package/dist/generated/gtk/widget.d.ts +0 -32
  252. package/dist/generated/gtk/widget.js +0 -50
  253. package/dist/generated/gtksource/functions.d.ts +0 -21
  254. package/dist/generated/gtksource/functions.js +0 -49
  255. package/dist/generated/harfbuzz/functions.d.ts +0 -448
  256. package/dist/generated/harfbuzz/functions.js +3736 -5611
  257. package/dist/generated/javascriptcore/class.d.ts +0 -94
  258. package/dist/generated/javascriptcore/class.js +0 -272
  259. package/dist/generated/javascriptcore/context.d.ts +0 -13
  260. package/dist/generated/javascriptcore/context.js +0 -34
  261. package/dist/generated/javascriptcore/functions.d.ts +0 -7
  262. package/dist/generated/javascriptcore/functions.js +0 -19
  263. package/dist/generated/javascriptcore/value.d.ts +0 -72
  264. package/dist/generated/javascriptcore/value.js +0 -202
  265. package/dist/generated/json/array.d.ts +0 -11
  266. package/dist/generated/json/array.js +0 -32
  267. package/dist/generated/json/object.d.ts +0 -14
  268. package/dist/generated/json/object.js +0 -35
  269. package/dist/generated/pango/attr-list.d.ts +0 -8
  270. package/dist/generated/pango/attr-list.js +0 -37
  271. package/dist/generated/pango/fontset.d.ts +0 -9
  272. package/dist/generated/pango/fontset.js +0 -25
  273. package/dist/generated/pango/functions.d.ts +0 -13
  274. package/dist/generated/pango/functions.js +0 -55
  275. package/dist/generated/pangocairo/functions.d.ts +0 -11
  276. package/dist/generated/pangocairo/functions.js +0 -33
  277. package/dist/generated/soup/auth-domain-basic.d.ts +0 -17
  278. package/dist/generated/soup/auth-domain-basic.js +0 -37
  279. package/dist/generated/soup/auth-domain-digest.d.ts +0 -17
  280. package/dist/generated/soup/auth-domain-digest.js +0 -37
  281. package/dist/generated/soup/auth-domain.d.ts +0 -44
  282. package/dist/generated/soup/auth-domain.js +0 -84
  283. package/dist/generated/soup/logger.d.ts +0 -32
  284. package/dist/generated/soup/logger.js +0 -92
  285. package/dist/generated/soup/message-headers.d.ts +0 -17
  286. package/dist/generated/soup/message-headers.js +0 -38
  287. package/dist/generated/soup/server.d.ts +0 -99
  288. package/dist/generated/soup/server.js +0 -184
  289. package/dist/generated/vte/terminal.d.ts +0 -168
  290. package/dist/generated/vte/terminal.js +0 -483
  291. package/dist/generated/webkit/web-context.d.ts +0 -44
  292. package/dist/generated/webkit/web-context.js +0 -68
  293. package/package.json +3 -3
  294. package/dist/generated/adw/callback-animation-target.d.ts +0 -19
  295. package/dist/generated/adw/callback-animation-target.js +0 -64
  296. package/dist/generated/atspi/device-listener.d.ts +0 -26
  297. package/dist/generated/atspi/device-listener.js +0 -104
  298. package/dist/generated/atspi/event-listener.d.ts +0 -155
  299. package/dist/generated/atspi/event-listener.js +0 -496
  300. package/dist/generated/gio/simple-async-result.d.ts +0 -328
  301. package/dist/generated/gio/simple-async-result.js +0 -588
  302. package/dist/generated/gio/task.d.ts +0 -936
  303. package/dist/generated/gio/task.js +0 -1460
  304. package/dist/generated/gst/task.d.ts +0 -128
  305. package/dist/generated/gst/task.js +0 -363
  306. package/dist/generated/gtk/callback-action.d.ts +0 -16
  307. package/dist/generated/gtk/callback-action.js +0 -61
  308. package/dist/generated/gtk/cclosure-expression.d.ts +0 -20
  309. package/dist/generated/gtk/cclosure-expression.js +0 -68
  310. package/dist/generated/gtk/custom-filter.d.ts +0 -35
  311. package/dist/generated/gtk/custom-filter.js +0 -119
  312. package/dist/generated/gtk/custom-layout.d.ts +0 -26
  313. package/dist/generated/gtk/custom-layout.js +0 -71
  314. package/dist/generated/gtk/custom-sorter.d.ts +0 -34
  315. package/dist/generated/gtk/custom-sorter.js +0 -114
  316. package/dist/generated/gtk/map-list-model.d.ts +0 -173
  317. package/dist/generated/gtk/map-list-model.js +0 -361
  318. package/dist/generated/gtk/tree-list-model.d.ts +0 -145
  319. package/dist/generated/gtk/tree-list-model.js +0 -310
@@ -1,361 +0,0 @@
1
- import { call } from "../../batch.js";
2
- import { getObject, getInterface, isInstantiating, setInstantiating, } from "../../native.js";
3
- import { registerType } from "../../registry.js";
4
- import * as GObject from "../gobject/index.js";
5
- import * as Gio from "../gio/index.js";
6
- /**
7
- * A list model that maps the items in another model to different items.
8
- *
9
- * `GtkMapListModel` uses a [callback@Gtk.MapListModelMapFunc].
10
- *
11
- * Example: Create a list of `GtkEventControllers`
12
- * ```c
13
- * static gpointer
14
- * map_to_controllers (gpointer widget,
15
- * gpointer data)
16
- * {
17
- * gpointer result = gtk_widget_observe_controllers (widget);
18
- * g_object_unref (widget);
19
- * return result;
20
- * }
21
- *
22
- * widgets = gtk_widget_observe_children (widget);
23
- *
24
- * controllers = gtk_map_list_model_new (widgets,
25
- * map_to_controllers,
26
- * NULL, NULL);
27
- *
28
- * model = gtk_flatten_list_model_new (GTK_TYPE_EVENT_CONTROLLER,
29
- * controllers);
30
- * ```
31
- *
32
- * `GtkMapListModel` will attempt to discard the mapped objects as soon as
33
- * they are no longer needed and recreate them if necessary.
34
- *
35
- * `GtkMapListModel` passes through sections from the underlying model.
36
- */
37
- export class MapListModel extends GObject.GObject {
38
- static glibTypeName = "GtkMapListModel";
39
- /**
40
- * Creates a new `GtkMapListModel` for the given arguments.
41
- * @param model - The model to map
42
- * @param mapFunc - map function
43
- * @param userData - user data passed to @map_func
44
- * @param userDestroy - destroy notifier for @user_data
45
- */
46
- constructor(userDestroy, model, mapFunc, userData) {
47
- if (!isInstantiating) {
48
- setInstantiating(true);
49
- // @ts-ignore
50
- super();
51
- setInstantiating(false);
52
- this.id = call("libgtk-4.so.1", "gtk_map_list_model_new", [
53
- {
54
- type: { type: "gobject" },
55
- value: model?.id ?? model,
56
- optional: true,
57
- },
58
- {
59
- type: { type: "callback" },
60
- value: mapFunc,
61
- optional: true,
62
- },
63
- {
64
- type: { type: "int", size: 64, unsigned: true },
65
- value: userData,
66
- optional: true,
67
- },
68
- {
69
- type: { type: "callback", trampoline: "destroy" },
70
- value: userDestroy,
71
- },
72
- ], { type: "gobject", borrowed: true });
73
- }
74
- else {
75
- // @ts-ignore
76
- super();
77
- }
78
- }
79
- /**
80
- * Gets the model that is currently being mapped or %NULL if none.
81
- */
82
- getModel() {
83
- const ptr = call("libgtk-4.so.1", "gtk_map_list_model_get_model", [
84
- {
85
- type: { type: "gobject" },
86
- value: this.id,
87
- },
88
- ], { type: "gobject", borrowed: true });
89
- if (ptr === null)
90
- return null;
91
- return getInterface(ptr, Gio.ListModel);
92
- }
93
- /**
94
- * Checks if a map function is currently set on @self.
95
- */
96
- hasMap() {
97
- return call("libgtk-4.so.1", "gtk_map_list_model_has_map", [
98
- {
99
- type: { type: "gobject" },
100
- value: this.id,
101
- },
102
- ], { type: "boolean" });
103
- }
104
- /**
105
- * Sets the function used to map items.
106
- *
107
- * The function will be called whenever an item needs to be mapped
108
- * and must return the item to use for the given input item.
109
- *
110
- * Note that `GtkMapListModel` may call this function multiple times
111
- * on the same item, because it may delete items it doesn't need anymore.
112
- *
113
- * GTK makes no effort to ensure that `map_func` conforms to the item type
114
- * of @self. It assumes that the caller knows what they are doing and the map
115
- * function returns items of the appropriate type.
116
- * @param mapFunc - map function
117
- * @param userData - user data passed to @map_func
118
- * @param userDestroy - destroy notifier for @user_data
119
- */
120
- setMapFunc(userDestroy, mapFunc, userData) {
121
- call("libgtk-4.so.1", "gtk_map_list_model_set_map_func", [
122
- {
123
- type: { type: "gobject" },
124
- value: this.id,
125
- },
126
- {
127
- type: { type: "callback" },
128
- value: mapFunc,
129
- optional: true,
130
- },
131
- {
132
- type: { type: "int", size: 64, unsigned: true },
133
- value: userData,
134
- optional: true,
135
- },
136
- {
137
- type: { type: "callback", trampoline: "destroy" },
138
- value: userDestroy,
139
- },
140
- ], { type: "undefined" });
141
- }
142
- /**
143
- * Sets the model to be mapped.
144
- *
145
- * GTK makes no effort to ensure that `model` conforms to the item type
146
- * expected by the map function. It assumes that the caller knows what
147
- * they are doing and have set up an appropriate map function.
148
- * @param model - The model to be mapped
149
- */
150
- setModel(model) {
151
- call("libgtk-4.so.1", "gtk_map_list_model_set_model", [
152
- {
153
- type: { type: "gobject" },
154
- value: this.id,
155
- },
156
- {
157
- type: { type: "gobject", borrowed: true },
158
- value: model?.id ?? model,
159
- optional: true,
160
- },
161
- ], { type: "undefined" });
162
- }
163
- /**
164
- * Gets the type of the items in @list.
165
- *
166
- * All items returned from g_list_model_get_item() are of the type
167
- * returned by this function, or a subtype, or if the type is an
168
- * interface, they are an implementation of that interface.
169
- *
170
- * The item type of a #GListModel can not change during the life of the
171
- * model.
172
- */
173
- getItemType() {
174
- return call("libgtk-4.so.1", "g_list_model_get_item_type", [
175
- {
176
- type: { type: "gobject" },
177
- value: this.id,
178
- },
179
- ], { type: "int", size: 64, unsigned: true });
180
- }
181
- /**
182
- * Gets the number of items in @list.
183
- *
184
- * Depending on the model implementation, calling this function may be
185
- * less efficient than iterating the list with increasing values for
186
- * `position` until g_list_model_get_item() returns %NULL.
187
- */
188
- getNItems() {
189
- return call("libgtk-4.so.1", "g_list_model_get_n_items", [
190
- {
191
- type: { type: "gobject" },
192
- value: this.id,
193
- },
194
- ], { type: "int", size: 32, unsigned: true });
195
- }
196
- /**
197
- * Get the item at @position.
198
- *
199
- * If `position` is greater than the number of items in @list, %NULL is
200
- * returned.
201
- *
202
- * %NULL is never returned for an index that is smaller than the length
203
- * of the list.
204
- *
205
- * This function is meant to be used by language bindings in place
206
- * of g_list_model_get_item().
207
- *
208
- * See also: g_list_model_get_n_items()
209
- * @param position - the position of the item to fetch
210
- */
211
- getObject(position) {
212
- const ptr = call("libgtk-4.so.1", "g_list_model_get_object", [
213
- {
214
- type: { type: "gobject" },
215
- value: this.id,
216
- },
217
- {
218
- type: { type: "int", size: 32, unsigned: true },
219
- value: position,
220
- },
221
- ], { type: "gobject", borrowed: true });
222
- if (ptr === null)
223
- return null;
224
- return getObject(ptr);
225
- }
226
- /**
227
- * Emits the #GListModel::items-changed signal on @list.
228
- *
229
- * This function should only be called by classes implementing
230
- * #GListModel. It has to be called after the internal representation
231
- * of `list` has been updated, because handlers connected to this signal
232
- * might query the new state of the list.
233
- *
234
- * Implementations must only make changes to the model (as visible to
235
- * its consumer) in places that will not cause problems for that
236
- * consumer. For models that are driven directly by a write API (such
237
- * as #GListStore), changes can be reported in response to uses of that
238
- * API. For models that represent remote data, changes should only be
239
- * made from a fresh mainloop dispatch. It is particularly not
240
- * permitted to make changes in response to a call to the #GListModel
241
- * consumer API.
242
- *
243
- * Stated another way: in general, it is assumed that code making a
244
- * series of accesses to the model via the API, without returning to the
245
- * mainloop, and without calling other code, will continue to view the
246
- * same contents of the model.
247
- * @param position - the position at which `list` changed
248
- * @param removed - the number of items removed
249
- * @param added - the number of items added
250
- */
251
- itemsChanged(position, removed, added) {
252
- call("libgtk-4.so.1", "g_list_model_items_changed", [
253
- {
254
- type: { type: "gobject" },
255
- value: this.id,
256
- },
257
- {
258
- type: { type: "int", size: 32, unsigned: true },
259
- value: position,
260
- },
261
- {
262
- type: { type: "int", size: 32, unsigned: true },
263
- value: removed,
264
- },
265
- {
266
- type: { type: "int", size: 32, unsigned: true },
267
- value: added,
268
- },
269
- ], { type: "undefined" });
270
- }
271
- /**
272
- * Query the section that covers the given position. The number of
273
- * items in the section can be computed by `out_end - out_start`.
274
- *
275
- * If the position is larger than the number of items, a single
276
- * range from n_items to G_MAXUINT will be returned.
277
- * @param position - the position of the item to query
278
- * @param outStart - the position of the first item in the section
279
- * @param outEnd - the position of the first item not part of the section
280
- */
281
- getSection(position, outStart, outEnd) {
282
- call("libgtk-4.so.1", "gtk_section_model_get_section", [
283
- {
284
- type: { type: "gobject" },
285
- value: this.id,
286
- },
287
- {
288
- type: { type: "int", size: 32, unsigned: true },
289
- value: position,
290
- },
291
- {
292
- type: {
293
- type: "ref",
294
- innerType: { type: "int", size: 32, unsigned: true },
295
- },
296
- value: outStart,
297
- },
298
- {
299
- type: {
300
- type: "ref",
301
- innerType: { type: "int", size: 32, unsigned: true },
302
- },
303
- value: outEnd,
304
- },
305
- ], { type: "undefined" });
306
- }
307
- /**
308
- * This function emits the [signal@Gtk.SectionModel::sections-changed]
309
- * signal to notify about changes to sections.
310
- *
311
- * It must cover all positions that used to be a section start or that
312
- * are now a section start. It does not have to cover all positions for
313
- * which the section has changed.
314
- *
315
- * The [signal@Gio.ListModel::items-changed] implies the effect of the
316
- * [signal@Gtk.SectionModel::sections-changed] signal for all the items
317
- * it covers.
318
- *
319
- * It is recommended that when changes to the items cause section changes
320
- * in a larger range, that the larger range is included in the emission
321
- * of the [signal@Gio.ListModel::items-changed] instead of emitting
322
- * two signals.
323
- * @param position - the first changed item
324
- * @param nItems - the number of changed items
325
- */
326
- sectionsChanged(position, nItems) {
327
- call("libgtk-4.so.1", "gtk_section_model_sections_changed", [
328
- {
329
- type: { type: "gobject" },
330
- value: this.id,
331
- },
332
- {
333
- type: { type: "int", size: 32, unsigned: true },
334
- value: position,
335
- },
336
- {
337
- type: { type: "int", size: 32, unsigned: true },
338
- value: nItems,
339
- },
340
- ], { type: "undefined" });
341
- }
342
- connect(signal, handler, after = false) {
343
- const selfType = { type: "gobject", borrowed: true };
344
- const argTypes = [selfType];
345
- const returnType = undefined;
346
- const wrappedHandler = (...args) => {
347
- const self = getObject(args[0]);
348
- return handler(self, ...args.slice(1));
349
- };
350
- return call("libgtk-4.so.1", "g_signal_connect_closure", [
351
- { type: { type: "gobject" }, value: this.id },
352
- { type: { type: "string" }, value: signal },
353
- {
354
- type: { type: "callback", argTypes, returnType },
355
- value: wrappedHandler,
356
- },
357
- { type: { type: "boolean" }, value: after },
358
- ], { type: "int", size: 64, unsigned: true });
359
- }
360
- }
361
- registerType(MapListModel);
@@ -1,145 +0,0 @@
1
- import { TreeListRow } from "./tree-list-row.js";
2
- import * as GObject from "../gobject/index.js";
3
- import * as Gio from "../gio/index.js";
4
- /** A list model that can create child models on demand. */
5
- export declare class TreeListModel extends GObject.GObject {
6
- static readonly glibTypeName: string;
7
- /**
8
- * Creates a new empty `GtkTreeListModel` displaying `root` with all rows collapsed.
9
- * @param root - The `GListModel` to use as root
10
- * @param passthrough - %TRUE to pass through items from the models
11
- * @param autoexpand - %TRUE to set the autoexpand property and expand the `root` model
12
- * @param createFunc - function to
13
- * @param userData - Data to pass to @create_func
14
- * @param userDestroy - Function to call to free @user_data
15
- */
16
- constructor(root: Gio.ListModel, passthrough: boolean, autoexpand: boolean, createFunc: (...args: unknown[]) => unknown, userDestroy: () => void, userData?: number | null);
17
- /**
18
- * Gets whether the model is set to automatically expand new rows
19
- * that get added.
20
- *
21
- * This can be either rows added by changes to the underlying
22
- * models or via [method@Gtk.TreeListRow.set_expanded].
23
- */
24
- getAutoexpand(): boolean;
25
- /**
26
- * Gets the row item corresponding to the child at index `position` for
27
- * @self's root model.
28
- *
29
- * If `position` is greater than the number of children in the root model,
30
- * %NULL is returned.
31
- *
32
- * Do not confuse this function with [method@Gtk.TreeListModel.get_row].
33
- * @param position - position of the child to get
34
- */
35
- getChildRow(position: number): TreeListRow | null;
36
- /**
37
- * Gets the root model that `self` was created with.
38
- */
39
- getModel(): Gio.ListModel;
40
- /**
41
- * Gets whether the model is passing through original row items.
42
- *
43
- * If this function returns %FALSE, the `GListModel` functions for `self` return custom `GtkTreeListRow` objects. You need to call
44
- * [method@Gtk.TreeListRow.get_item] on these objects to get the original
45
- * item.
46
- *
47
- * If %TRUE, the values of the child models are passed through in their
48
- * original state. You then need to call [method@Gtk.TreeListModel.get_row]
49
- * to get the custom `GtkTreeListRow`s.
50
- */
51
- getPassthrough(): boolean;
52
- /**
53
- * Gets the row object for the given row.
54
- *
55
- * If `position` is greater than the number of items in @self,
56
- * %NULL is returned.
57
- *
58
- * The row object can be used to expand and collapse rows as
59
- * well as to inspect its position in the tree. See its
60
- * documentation for details.
61
- *
62
- * This row object is persistent and will refer to the current
63
- * item as long as the row is present in @self, independent of
64
- * other rows being added or removed.
65
- *
66
- * If `self` is set to not be passthrough, this function is
67
- * equivalent to calling g_list_model_get_item().
68
- *
69
- * Do not confuse this function with [method@Gtk.TreeListModel.get_child_row].
70
- * @param position - the position of the row to fetch
71
- */
72
- getRow(position: number): TreeListRow | null;
73
- /**
74
- * Sets whether the model should autoexpand.
75
- *
76
- * If set to %TRUE, the model will recursively expand all rows that
77
- * get added to the model. This can be either rows added by changes
78
- * to the underlying models or via [method@Gtk.TreeListRow.set_expanded].
79
- * @param autoexpand - %TRUE to make the model autoexpand its rows
80
- */
81
- setAutoexpand(autoexpand: boolean): void;
82
- /**
83
- * Gets the type of the items in @list.
84
- *
85
- * All items returned from g_list_model_get_item() are of the type
86
- * returned by this function, or a subtype, or if the type is an
87
- * interface, they are an implementation of that interface.
88
- *
89
- * The item type of a #GListModel can not change during the life of the
90
- * model.
91
- */
92
- getItemType(): number;
93
- /**
94
- * Gets the number of items in @list.
95
- *
96
- * Depending on the model implementation, calling this function may be
97
- * less efficient than iterating the list with increasing values for
98
- * `position` until g_list_model_get_item() returns %NULL.
99
- */
100
- getNItems(): number;
101
- /**
102
- * Get the item at @position.
103
- *
104
- * If `position` is greater than the number of items in @list, %NULL is
105
- * returned.
106
- *
107
- * %NULL is never returned for an index that is smaller than the length
108
- * of the list.
109
- *
110
- * This function is meant to be used by language bindings in place
111
- * of g_list_model_get_item().
112
- *
113
- * See also: g_list_model_get_n_items()
114
- * @param position - the position of the item to fetch
115
- */
116
- getObject(position: number): GObject.GObject | null;
117
- /**
118
- * Emits the #GListModel::items-changed signal on @list.
119
- *
120
- * This function should only be called by classes implementing
121
- * #GListModel. It has to be called after the internal representation
122
- * of `list` has been updated, because handlers connected to this signal
123
- * might query the new state of the list.
124
- *
125
- * Implementations must only make changes to the model (as visible to
126
- * its consumer) in places that will not cause problems for that
127
- * consumer. For models that are driven directly by a write API (such
128
- * as #GListStore), changes can be reported in response to uses of that
129
- * API. For models that represent remote data, changes should only be
130
- * made from a fresh mainloop dispatch. It is particularly not
131
- * permitted to make changes in response to a call to the #GListModel
132
- * consumer API.
133
- *
134
- * Stated another way: in general, it is assumed that code making a
135
- * series of accesses to the model via the API, without returning to the
136
- * mainloop, and without calling other code, will continue to view the
137
- * same contents of the model.
138
- * @param position - the position at which `list` changed
139
- * @param removed - the number of items removed
140
- * @param added - the number of items added
141
- */
142
- itemsChanged(position: number, removed: number, added: number): void;
143
- connect(signal: "notify", handler: (self: TreeListModel, pspec: GObject.ParamSpec) => void, after?: boolean): number;
144
- connect(signal: string, handler: (...args: any[]) => any, after?: boolean): number;
145
- }