@girs/gtef-2 5.0.0 → 5.2.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.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  ![version](https://img.shields.io/npm/v/@girs/gtef-2)
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/gtef-2)
6
6
 
7
- GJS TypeScript type definitions for Gtef-2 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.0.0.
7
+ GJS TypeScript type definitions for Gtef-2 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.2.0.
8
8
 
9
9
  This package contains type declarations only. It ships no runtime code, so it adds
10
10
  nothing to your program and works with any bundler or none at all.
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * The GIR-derived widget VOCABULARY for Gtef-2.
3
3
  *
4
- * GENERATED — do not edit. Provenance: Gtef-2 — dropped empty base(s): GObject.InitiallyUnowned GObject.Object Atk.ImplementorIface
4
+ * GENERATED — do not edit. Provenance: Gtef-2 — dropped empty base(s): GObject.Object GObject.InitiallyUnowned Atk.ImplementorIface
5
5
  *
6
- * 3 concrete widgets, 3 declarations, 3 enum nick unions, 2 slot candidates.
6
+ * 15 instantiable GTypes (of which 3 concrete widgets), 15 declarations, 3 enum nick unions, 2 slot candidates.
7
7
  *
8
8
  * Module-scoped exports only. There is no `JSX` namespace here, no tag spelling and
9
9
  * no `on<Signal>` prop name: those are DIALECT, and every framework answers them
@@ -24,9 +24,12 @@
24
24
  * and the `notify::` keys folded in, is what `Widgets[G]['signals']` points at.
25
25
  */
26
26
 
27
+ import type Gio from '@girs/gio-2.0';
27
28
  import type Gtef from './gtef-2.js';
28
- import type { GtkBoxConstructOnly, GtkBoxProps, GtkBuildableConstructOnly, GtkBuildableProps, GtkContainerConstructOnly, GtkContainerProps, GtkGridConstructOnly, GtkGridProps, GtkInfoBarConstructOnly, GtkInfoBarProps, GtkOrientableConstructOnly, GtkOrientableProps, GtkScrollableConstructOnly, GtkScrollableProps, GtkTextViewConstructOnly, GtkTextViewProps, GtkWidgetConstructOnly, GtkWidgetProps } from '@girs/gtk-3.0/vocabulary';
29
- import type { GtkSourceViewConstructOnly, GtkSourceViewProps } from '@girs/gtksource-3.0/vocabulary';
29
+ import type Gtk from '@girs/gtk-3.0';
30
+ import type GtkSource from '@girs/gtksource-3.0';
31
+ import type { GtkBoxConstructOnly, GtkBoxProps, GtkBuildableConstructOnly, GtkBuildableProps, GtkContainerConstructOnly, GtkContainerProps, GtkGridConstructOnly, GtkGridProps, GtkInfoBarConstructOnly, GtkInfoBarProps, GtkOrientableConstructOnly, GtkOrientableProps, GtkScrollableConstructOnly, GtkScrollableProps, GtkTextBufferConstructOnly, GtkTextBufferProps, GtkTextViewConstructOnly, GtkTextViewProps, GtkWidgetConstructOnly, GtkWidgetProps } from '@girs/gtk-3.0/vocabulary';
32
+ import type { GtkSourceBufferConstructOnly, GtkSourceBufferProps, GtkSourceCompressionTypeNick, GtkSourceGutterRendererConstructOnly, GtkSourceGutterRendererProps, GtkSourceNewlineTypeNick, GtkSourceViewConstructOnly, GtkSourceViewProps } from '@girs/gtksource-3.0/vocabulary';
30
33
 
31
34
  // ---------------------------------------------------------------------------
32
35
  // Enum nicks — the string vocabulary GObject registered, from GIR's `glib:nick`.
@@ -52,11 +55,181 @@ export type GtefSelectionTypeNick = 'no-selection' | 'on-same-line' | 'multiple-
52
55
  // GIR keeps them once, on the interface.
53
56
  // ---------------------------------------------------------------------------
54
57
 
58
+ export interface GtefActionInfoCentralStoreProps {
59
+ }
60
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
61
+ export type GtefActionInfoCentralStoreConstructOnly = never;
62
+
63
+ export interface GtefActionInfoStoreProps {
64
+ /**
65
+ * The associated #GtkApplication.
66
+ * @since 2.0
67
+ */
68
+ application?: Gtk.Application | null;
69
+ }
70
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
71
+ export type GtefActionInfoStoreConstructOnly = 'application';
72
+
73
+ export interface GtefApplicationProps {
74
+ /**
75
+ * The #GtkApplication.
76
+ * @since 2.0
77
+ */
78
+ application?: Gtk.Application;
79
+ }
80
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
81
+ export type GtefApplicationConstructOnly = 'application';
82
+
83
+ export interface GtefApplicationWindowProps {
84
+ /**
85
+ * The #GtkApplicationWindow.
86
+ * @since 2.0
87
+ */
88
+ 'application-window'?: Gtk.ApplicationWindow;
89
+ /**
90
+ * The #GtkStatusbar.
91
+ * @since 2.0
92
+ */
93
+ statusbar?: Gtk.Statusbar | null;
94
+ }
95
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
96
+ export type GtefApplicationWindowConstructOnly = 'application-window';
97
+
98
+ export interface GtefBufferProps extends GtkSourceBufferProps {
99
+ /**
100
+ * The #GtkSourceBuffer:style-scheme ID, as a string.
101
+ * @since 2.0
102
+ */
103
+ 'gtef-style-scheme-id'?: string;
104
+ }
105
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
106
+ export type GtefBufferConstructOnly = GtkSourceBufferConstructOnly;
107
+
108
+ export interface GtefFileProps {
109
+ /**
110
+ * The location.
111
+ * @since 1.0
112
+ */
113
+ location?: Gio.File;
114
+ }
115
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
116
+ export type GtefFileConstructOnly = never;
117
+
118
+ export interface GtefFileLoaderProps {
119
+ /**
120
+ * The #GtefBuffer to load the content into.
121
+ * @since 1.0
122
+ */
123
+ buffer?: Gtef.Buffer | null;
124
+ /**
125
+ * The chunk size, in bytes.
126
+ * @since 1.0
127
+ */
128
+ 'chunk-size'?: bigint | number;
129
+ /**
130
+ * The #GtefFile.
131
+ * @since 1.0
132
+ */
133
+ file?: Gtef.File | null;
134
+ /**
135
+ * The #GFile to load.
136
+ * @since 1.0
137
+ */
138
+ location?: Gio.File | null;
139
+ /**
140
+ * The maximum content size, in bytes.
141
+ * @since 1.0
142
+ */
143
+ 'max-size'?: bigint | number;
144
+ }
145
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
146
+ export type GtefFileLoaderConstructOnly = 'buffer' | 'file' | 'location';
147
+
148
+ export interface GtefFileMetadataProps {
149
+ /**
150
+ * The #GtefFile that the metadata belong to.
151
+ * @since 1.0
152
+ */
153
+ file?: Gtef.File;
154
+ }
155
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
156
+ export type GtefFileMetadataConstructOnly = 'file';
157
+
158
+ export interface GtefFileSaverProps {
159
+ /**
160
+ * The #GtefBuffer to save.
161
+ * @since 1.0
162
+ */
163
+ buffer?: GtkSource.Buffer;
164
+ /**
165
+ * The compression type.
166
+ * @since 1.0
167
+ */
168
+ 'compression-type'?: GtkSourceCompressionTypeNick | GtkSource.CompressionType;
169
+ /**
170
+ * The file's encoding.
171
+ * @since 1.0
172
+ */
173
+ encoding?: Gtef.Encoding;
174
+ /**
175
+ * The #GtefFile.
176
+ * @since 1.0
177
+ */
178
+ file?: Gtef.File;
179
+ /**
180
+ * File saving flags.
181
+ * @since 1.0
182
+ */
183
+ flags?: number;
184
+ /**
185
+ * The #GFile where to save the buffer.
186
+ * @since 1.0
187
+ */
188
+ location?: Gio.File;
189
+ /**
190
+ * The newline type.
191
+ * @since 1.0
192
+ */
193
+ 'newline-type'?: GtkSourceNewlineTypeNick | GtkSource.NewlineType;
194
+ }
195
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
196
+ export type GtefFileSaverConstructOnly = 'buffer' | 'file' | 'location';
197
+
198
+ export interface GtefFoldRegionProps {
199
+ /**
200
+ * The #GtkTextBuffer where the fold region is applied.
201
+ * @since 1.0
202
+ */
203
+ buffer?: Gtk.TextBuffer | null;
204
+ /**
205
+ * Whether the #GtefFoldRegion is folded or not.
206
+ * @since 1.0
207
+ */
208
+ folded?: boolean;
209
+ }
210
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
211
+ export type GtefFoldRegionConstructOnly = 'buffer';
212
+
213
+ export interface GtefGutterRendererFoldsProps extends GtkSourceGutterRendererProps {
214
+ }
215
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
216
+ export type GtefGutterRendererFoldsConstructOnly = GtkSourceGutterRendererConstructOnly;
217
+
55
218
  export interface GtefInfoBarProps extends GtkInfoBarProps, GtkBuildableProps, GtkOrientableProps {
56
219
  }
57
220
  /** Settable only at construction — a renderer must REBUILD, not patch. */
58
221
  export type GtefInfoBarConstructOnly = GtkInfoBarConstructOnly | GtkBuildableConstructOnly | GtkOrientableConstructOnly;
59
222
 
223
+ export interface GtefMenuShellProps {
224
+ /**
225
+ * The #GtkMenuShell.
226
+ * @since 2.0
227
+ */
228
+ 'menu-shell'?: Gtk.MenuShell;
229
+ }
230
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
231
+ export type GtefMenuShellConstructOnly = 'menu-shell';
232
+
60
233
  export interface GtefTabProps extends GtkGridProps, GtkBuildableProps, GtkOrientableProps {
61
234
  }
62
235
  /** Settable only at construction — a renderer must REBUILD, not patch. */
@@ -110,7 +283,11 @@ export interface Widgets {
110
283
  };
111
284
  }
112
285
 
113
- /** Every GType this namespace can create. A consumer derives its own tag map. */
286
+ /**
287
+ * Every GType this namespace can create AND put on screen. A consumer derives its own
288
+ * tag map. For everything a UI file can instantiate — layout managers, event
289
+ * controllers, cell renderers, `GtkSizeGroup` — read `DECLS` below.
290
+ */
114
291
  export type WidgetGType = keyof Widgets;
115
292
 
116
293
  // ---------------------------------------------------------------------------
@@ -162,7 +339,14 @@ export const PROVENANCE: {
162
339
  readonly childHolders: number;
163
340
  readonly droppedBases: readonly string[];
164
341
  readonly inlinedBases: readonly string[];
342
+ /** `<decl>.<prop>` for every property printed `never` because TypeScript has no value for it. */
165
343
  readonly unsettableProps: readonly string[];
344
+ /**
345
+ * `<decl>.<prop>: <Ns>.<Name>` for every property printed `never` because the model
346
+ * could not resolve its type across a namespace boundary — two independently released
347
+ * GIRs disagreeing, which is what the main emitter answers `never` for as well.
348
+ */
349
+ readonly unresolvedProps: readonly string[];
166
350
  };
167
351
 
168
352
  /** Declaration GType -> its own settable properties, as GObject registered them. */
@@ -176,7 +360,17 @@ export const OWN_PROPS: Readonly<Record<string, readonly string[]>>;
176
360
  */
177
361
  export const OWN_SIGNALS: Readonly<Record<string, readonly string[]>>;
178
362
 
179
- /** Widget GType -> every declaration its members come from, self first. */
363
+ /**
364
+ * Instantiable GType -> every declaration its members come from, self first.
365
+ *
366
+ * The key set is what a UI description file can NAME: every registered, non-abstract
367
+ * class this namespace declares. GtkBuilder resolves a `<object class="…">` through
368
+ * `g_type_from_name`, which knows nothing about widgets, so this is wider than
369
+ * `Widgets` by design — `GtkSizeGroup`, `GtkTextTag`, every `GtkEventController`
370
+ * and every `GtkCellRenderer` are here and are not widgets.
371
+ *
372
+ * `Widgets` and `CHILD_HOLDERS` are the narrower questions and answer them unchanged.
373
+ */
180
374
  export const DECLS: Readonly<Record<string, readonly string[]>>;
181
375
 
182
376
  /** The GTypes in `DECLS` that hold a widget without being one — see `ChildHolders`. */
@@ -188,8 +382,8 @@ export const ENUM_NICKS: Readonly<Record<string, readonly string[]>>;
188
382
  /**
189
383
  * `<enum GType>.<nick>` -> the integer GObject registers for it, from GIR's `value`.
190
384
  *
191
- * Position in `ENUM_NICKS` is NOT this number. Counting is wrong on 6 of the 129 enums a
192
- * GTK 4 vocabulary carries -- 104 in Gtk-4.0 and 25 in Adw-1: `GtkResponseType` runs -1 to -11, `GtkTextWindowType` starts
385
+ * Position in `ENUM_NICKS` is NOT this number. Counting is wrong on 6 of the 137 enums a
386
+ * GTK 4 vocabulary carries -- 112 in Gtk-4.0 and 25 in Adw-1: `GtkResponseType` runs -1 to -11, `GtkTextWindowType` starts
193
387
  * at 1, `GtkOrdering` and `GtkConstraintRelation` are -1/0/1, `GtkAlign` has two names
194
388
  * on one value, and `GtkConstraintStrength.required` is 1001001000 where counting says 0.
195
389
  *
@@ -227,10 +421,11 @@ export const ENUM_VALUES_UNREADABLE: Readonly<Record<string, string>>;
227
421
  *
228
422
  * `ENUM_NICKS` carries no bitfield, because GObject cannot resolve a nick SET; that says
229
423
  * nothing about a single member's number, and the number is what a host without GI needs.
230
- * 21 writable widget properties in Gtk-4.0 and Adw-1 are bitfield-typed and are declared
231
- * bare `number` -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`, `AdwTabView:shortcuts`
232
- * among them. Counting is worst here: 95 of 121 Gtk-4.0 bitfield members disagree with their
233
- * position, against 29 of 685 enumeration members.
424
+ * 23 settable properties in Gtk-4.0 and Adw-1 are bitfield-typed and are declared bare
425
+ * `number` -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`, `AdwTabView:shortcuts`,
426
+ * `GtkDropTarget:actions` among them. Counting is worst here: 119 of the 156 Gtk-4.0
427
+ * bitfield members this vocabulary carries disagree with their declaration position,
428
+ * against 29 of 672 enumeration members.
234
429
  *
235
430
  * Combine with `|` as GObject does. There is no nick table to pair this with, so a name
236
431
  * here is resolvable and a SET still is not.
@@ -254,13 +449,52 @@ export const FLAG_VALUES_UNREADABLE: Readonly<Record<string, string>>;
254
449
  *
255
450
  * The GType named here is not always one THIS module gives numbers for. A nick vocabulary is
256
451
  * emitted once, by the namespace that owns the enum, so `AdwComboRow.search-match-mode` names
257
- * `GtkStringFilterMatchMode` and its rows are in `@girs/gtk-4.0/vocabulary` — 57 of the 438
452
+ * `GtkStringFilterMatchMode` and its rows are in `@girs/gtk-4.0/vocabulary` — 83 of the 909
258
453
  * entries in a full run resolve only with the owner's vocabulary loaded beside this one. An
259
454
  * owner with no vocabulary of its own (Gdk, Pango) is inlined here instead, so every entry
260
455
  * resolves against SOME module.
261
456
  */
262
457
  export const PROP_ENUMS: Readonly<Record<string, string>>;
263
458
 
459
+ /**
460
+ * The kinds of value a GTK accessible property, relation or state takes.
461
+ *
462
+ * `enum` is the one that needs a second lookup: `ARIA_VALUE_ENUMS` names the enum GType,
463
+ * and `ENUM_NICKS` and `ENUM_VALUES` answer from there.
464
+ */
465
+ export type AriaValueType = 'string' | 'integer' | 'double' | 'boolean' | 'reference' | 'enum';
466
+
467
+ /**
468
+ * `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
469
+ *
470
+ * The one table in this file that is not a fact about a ParamSpec. A GtkBuilder or
471
+ * Blueprint `accessibility { … }` block is typed by GTK's ARIA table, not by the widget,
472
+ * and the two disagree where it costs most: `orientation` is settable on a `GtkLabel`
473
+ * that implements no `GtkOrientable`, and `checked` is a `GtkAccessibleTristate`, so
474
+ * `checked: true` is the number 1 rather than a boolean. Typing those slots from the
475
+ * widget's properties gets both wrong and raises nothing.
476
+ *
477
+ * Keyed like `ENUM_VALUES` because the ARIA names ARE enum members — of
478
+ * `GtkAccessibleProperty`, `GtkAccessibleRelation` and `GtkAccessibleState` — so
479
+ * `ENUM_NICKS` already lists them and one key parser reads both.
480
+ *
481
+ * Read from each member's own GIR documentation. `gtk_accessible_property_init_value()`
482
+ * is the C half of this table and is not introspectable; the doc sentence is, and states
483
+ * the type for 52 of the 53 members in gtk4 4.23.3. Complete or absent, never partial: a
484
+ * member the generator cannot answer for fails the build and names itself.
485
+ */
486
+ export const ARIA_VALUE_TYPES: Readonly<Record<string, AriaValueType>>;
487
+
488
+ /**
489
+ * The same keys, for the `'enum'` rows only -> the GType of that enum.
490
+ *
491
+ * A table of its own for the reason `PROP_ENUMS` is one: folded in, the values of
492
+ * `ARIA_VALUE_TYPES` would be six reserved words mixed with arbitrary GTypes and telling
493
+ * them apart would be the consumer's problem. Apart, `ARIA_VALUE_TYPES[k] === 'enum'` is
494
+ * the whole test and `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
495
+ */
496
+ export const ARIA_VALUE_ENUMS: Readonly<Record<string, string>>;
497
+
264
498
  /** Widget GType -> slot name -> the method that may adopt a child there. */
265
499
  export const SLOT_CANDIDATES: Readonly<Record<string, Readonly<Record<string, string>>>>;
266
500
 
@@ -1,6 +1,6 @@
1
1
  // The widget vocabulary of Gtef-2 as runtime data.
2
2
  //
3
- // GENERATED — do not edit. Provenance: Gtef-2 — dropped empty base(s): GObject.InitiallyUnowned GObject.Object Atk.ImplementorIface
3
+ // GENERATED — do not edit. Provenance: Gtef-2 — dropped empty base(s): GObject.Object GObject.InitiallyUnowned Atk.ImplementorIface
4
4
  //
5
5
  // The type half of this subpath is the sibling `.d.ts`. This file exists because
6
6
  // types are erased: a consumer that wants to ask the installed library whether every
@@ -11,25 +11,60 @@ export const PROVENANCE = {
11
11
  version: '2',
12
12
  libraryVersion: null,
13
13
  childHolders: 0,
14
- droppedBases: ['GObject.InitiallyUnowned', 'GObject.Object', 'Atk.ImplementorIface'],
14
+ droppedBases: ['GObject.Object', 'GObject.InitiallyUnowned', 'Atk.ImplementorIface'],
15
15
  inlinedBases: [],
16
16
  unsettableProps: [],
17
+ unresolvedProps: [],
17
18
  };
18
19
 
19
- export const OWN_PROPS = {};
20
+ export const OWN_PROPS = {
21
+ GtefActionInfoStore: ['application'],
22
+ GtefApplication: ['application'],
23
+ GtefApplicationWindow: ['application-window', 'statusbar'],
24
+ GtefBuffer: ['gtef-style-scheme-id'],
25
+ GtefFile: ['location'],
26
+ GtefFileLoader: ['buffer', 'chunk-size', 'file', 'location', 'max-size'],
27
+ GtefFileMetadata: ['file'],
28
+ GtefFileSaver: ['buffer', 'compression-type', 'encoding', 'file', 'flags', 'location', 'newline-type'],
29
+ GtefFoldRegion: ['buffer', 'folded'],
30
+ GtefMenuShell: ['menu-shell'],
31
+ };
20
32
 
21
- export const OWN_SIGNALS = {};
33
+ export const OWN_SIGNALS = {
34
+ GtefBuffer: ['gtef-cursor-moved'],
35
+ GtefMenuShell: ['menu-item-deselected', 'menu-item-selected'],
36
+ };
22
37
 
38
+ // Every GType this namespace can INSTANTIATE -> the declarations its members come from.
39
+ //
40
+ // The key set is what a UI description file can name: a registered, non-abstract class.
41
+ // Not "every widget" — GtkBuilder resolves a name through `g_type_from_name`, which knows
42
+ // nothing about widgets, and a `.ui` file is full of `GtkSizeGroup`, `GtkTextTag`,
43
+ // `GtkEventController*` and `GtkCellRenderer*`. Use `Widgets` and `CHILD_HOLDERS`
44
+ // below for the narrower questions; they did not move.
23
45
  export const DECLS = {
46
+ GtefActionInfoCentralStore: ['GtefActionInfoCentralStore'],
47
+ GtefActionInfoStore: ['GtefActionInfoStore'],
48
+ GtefApplication: ['GtefApplication'],
49
+ GtefApplicationWindow: ['GtefApplicationWindow'],
50
+ GtefBuffer: ['GtefBuffer', 'GtkSourceBuffer', 'GtkTextBuffer'],
51
+ GtefFile: ['GtefFile'],
52
+ GtefFileLoader: ['GtefFileLoader'],
53
+ GtefFileMetadata: ['GtefFileMetadata'],
54
+ GtefFileSaver: ['GtefFileSaver'],
55
+ GtefFoldRegion: ['GtefFoldRegion'],
56
+ GtefGutterRendererFolds: ['GtefGutterRendererFolds', 'GtkSourceGutterRenderer'],
24
57
  GtefInfoBar: ['GtefInfoBar', 'GtkInfoBar', 'GtkBox', 'GtkContainer', 'GtkWidget', 'GtkBuildable', 'GtkOrientable'],
58
+ GtefMenuShell: ['GtefMenuShell'],
25
59
  GtefTab: ['GtefTab', 'GtkGrid', 'GtkContainer', 'GtkWidget', 'GtkBuildable', 'GtkOrientable'],
26
60
  GtefView: ['GtefView', 'GtkSourceView', 'GtkTextView', 'GtkContainer', 'GtkWidget', 'GtkBuildable', 'GtkScrollable'],
27
61
  };
28
62
 
29
- // The GTypes above that are NOT widgets: they hold one through `set_child`/`get_child`
30
- // and descend from `GObject.Object`. A renderer places them like a container; a check
31
- // asking "is this a widget" must not count them. Derived from the accessor pair, never
32
- // from a list — the count is in the provenance line above.
63
+ // The GTypes above that ARE widgets are the `Widgets` map in the sibling `.d.ts`; these
64
+ // are the ones that merely HOLD one, through `set_child`/`get_child`, descending from
65
+ // `GObject.Object`. A renderer places them like a container; a check asking "is this a
66
+ // widget" must not count them. Derived from the accessor pair, never from a list — the
67
+ // count is in the provenance line above.
33
68
  export const CHILD_HOLDERS = [];
34
69
 
35
70
  export const ENUM_NICKS = {
@@ -43,7 +78,7 @@ export const ENUM_NICKS = {
43
78
  // It ships because position in `ENUM_NICKS` is not the value and a consumer with no
44
79
  // typelib has no other way to learn it: a surface without GI still has to hand GObject an
45
80
  // integer. The alternative a consumer reaches for first is counting, and counting is wrong
46
- // on 6 of the 129 enums a GTK 4 vocabulary carries (104 in Gtk-4.0, 25 in Adw-1) --
81
+ // on 6 of the 137 enums a GTK 4 vocabulary carries (112 in Gtk-4.0, 25 in Adw-1) --
47
82
  // `GtkResponseType` runs -1 down to
48
83
  // -11, `GtkTextWindowType` starts at 1, and `GtkConstraintStrength.required` is
49
84
  // 1001001000 where counting answers 0.
@@ -89,11 +124,12 @@ export const ENUM_VALUES_UNREADABLE = {};
89
124
  // The number behind each member of a registered BITFIELD, keyed the same way.
90
125
  //
91
126
  // `ENUM_NICKS` refuses a bitfield because GObject cannot resolve a nick SET, and that
92
- // reason says nothing about one member's number. 21 writable widget properties in Gtk-4.0
93
- // and Adw-1 are bitfield-typed -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`,
94
- // `AdwTabView:shortcuts`, ... -- and they are typed bare `number`, so a host without GI
95
- // has nothing to compute one from. Counting is worst exactly here: 95 of 121 Gtk-4.0
96
- // bitfield members disagree with their position, against 29 of 685 enumeration members.
127
+ // reason says nothing about one member's number. 23 settable properties in Gtk-4.0 and
128
+ // Adw-1 are bitfield-typed -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`,
129
+ // `AdwTabView:shortcuts`, `GtkDropTarget:actions`, ... -- and they are typed bare
130
+ // `number`, so a host without GI has nothing to compute one from. Counting is worst
131
+ // exactly here: 119 of the 156 Gtk-4.0 bitfield members this vocabulary carries disagree
132
+ // with their declaration position, against 29 of 672 enumeration members.
97
133
  //
98
134
  // A table of its own rather than more rows in `ENUM_VALUES`, so that "every nick in
99
135
  // `ENUM_NICKS` has a number or a declared reason" stays a claim about one set.
@@ -126,9 +162,38 @@ export const FLAG_VALUES_UNREADABLE = {};
126
162
  // one are both entries a consumer would resolve wrongly, so neither is written.
127
163
  //
128
164
  // A GType named here has numbers in SOME vocabulary, not necessarily this one: the namespace
129
- // that OWNS an enum publishes it, so 57 of the 438 entries a full run emits want the owner's
165
+ // that OWNS an enum publishes it, so 83 of the 909 entries a full run emits want the owner's
130
166
  // vocabulary loaded too. Owners that emit none (Gdk, Pango) are inlined into the tables above.
131
- export const PROP_ENUMS = {};
167
+ export const PROP_ENUMS = {
168
+ 'GtefFileSaver.compression-type': 'GtkSourceCompressionType',
169
+ 'GtefFileSaver.flags': 'GtefFileSaverFlags',
170
+ 'GtefFileSaver.newline-type': 'GtkSourceNewlineType',
171
+ };
172
+
173
+ // `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
174
+ //
175
+ // The one table here that is not about a ParamSpec. A GtkBuilder or Blueprint
176
+ // `accessibility { … }` block is typed by GTK's ARIA table instead, and the two disagree
177
+ // where it matters: `orientation` is settable on a `GtkLabel` that implements no
178
+ // `GtkOrientable` and has no such property, and `checked` is a `GtkAccessibleTristate`, so
179
+ // `checked: true` means the number 1 and not the boolean. A consumer typing those slots
180
+ // from the widget gets both wrong, silently.
181
+ //
182
+ // Read from each member's own documentation, which is where GTK keeps the table --
183
+ // `gtk_accessible_property_init_value()` is the C half and is not introspectable, the
184
+ // sentence is. Complete or absent, never partial: a member whose documentation states no
185
+ // value type fails generation and names itself, because a missing row is indistinguishable
186
+ // from "GTK has no such name" and the plausible fallback emits `true` where GTK means 1.
187
+ export const ARIA_VALUE_TYPES = {};
188
+
189
+ // The same keys, for the `'enum'` rows only -> the GType of the enum.
190
+ //
191
+ // The join on from a kind to a number, and a table of its own for the reason `PROP_ENUMS`
192
+ // is one: folding the GType into `ARIA_VALUE_TYPES` would make its values a mix of six
193
+ // reserved words and arbitrary GTypes, and telling them apart would be the consumer's
194
+ // problem. With this, `ARIA_VALUE_TYPES[k] === 'enum'` is the whole test, and
195
+ // `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
196
+ export const ARIA_VALUE_ENUMS = {};
132
197
 
133
198
  export const SLOT_CANDIDATES = {
134
199
  GtefInfoBar: {
@@ -139,4 +204,30 @@ export const SLOT_CANDIDATES = {
139
204
  },
140
205
  };
141
206
 
142
- export const SINCE = {};
207
+ export const SINCE = {
208
+ 'GtefActionInfoStore.application': '2.0',
209
+ 'GtefApplication.application': '2.0',
210
+ 'GtefApplicationWindow.application-window': '2.0',
211
+ 'GtefApplicationWindow.statusbar': '2.0',
212
+ 'GtefBuffer.gtef-style-scheme-id': '2.0',
213
+ 'GtefBuffer::gtef-cursor-moved': '2.0',
214
+ 'GtefFile.location': '1.0',
215
+ 'GtefFileLoader.buffer': '1.0',
216
+ 'GtefFileLoader.chunk-size': '1.0',
217
+ 'GtefFileLoader.file': '1.0',
218
+ 'GtefFileLoader.location': '1.0',
219
+ 'GtefFileLoader.max-size': '1.0',
220
+ 'GtefFileMetadata.file': '1.0',
221
+ 'GtefFileSaver.buffer': '1.0',
222
+ 'GtefFileSaver.compression-type': '1.0',
223
+ 'GtefFileSaver.encoding': '1.0',
224
+ 'GtefFileSaver.file': '1.0',
225
+ 'GtefFileSaver.flags': '1.0',
226
+ 'GtefFileSaver.location': '1.0',
227
+ 'GtefFileSaver.newline-type': '1.0',
228
+ 'GtefFoldRegion.buffer': '1.0',
229
+ 'GtefFoldRegion.folded': '1.0',
230
+ 'GtefMenuShell.menu-shell': '2.0',
231
+ 'GtefMenuShell::menu-item-deselected': '2.0',
232
+ 'GtefMenuShell::menu-item-selected': '2.0',
233
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girs/gtef-2",
3
- "version": "5.0.0",
3
+ "version": "5.2.0",
4
4
  "description": "GJS TypeScript type definitions for Gtef-2",
5
5
  "type": "module",
6
6
  "module": "gtef-2.js",
@@ -36,21 +36,21 @@
36
36
  "test": "tsc --project tsconfig.json"
37
37
  },
38
38
  "dependencies": {
39
- "@girs/gjs": "^5.0.0",
40
- "@girs/gtksource-3.0": "^5.0.0",
41
- "@girs/gtk-3.0": "^5.0.0",
42
- "@girs/xlib-2.0": "^5.0.0",
43
- "@girs/gdk-3.0": "^5.0.0",
44
- "@girs/cairo-1.0": "^5.0.0",
45
- "@girs/gobject-2.0": "^5.0.0",
46
- "@girs/glib-2.0": "^5.0.0",
47
- "@girs/pango-1.0": "^5.0.0",
48
- "@girs/harfbuzz-0.0": "^5.0.0",
49
- "@girs/freetype2-2.0": "^5.0.0",
50
- "@girs/gio-2.0": "^5.0.0",
51
- "@girs/gmodule-2.0": "^5.0.0",
52
- "@girs/gdkpixbuf-2.0": "^5.0.0",
53
- "@girs/atk-1.0": "^5.0.0" },
39
+ "@girs/gjs": "^5.2.0",
40
+ "@girs/gtksource-3.0": "^5.2.0",
41
+ "@girs/gtk-3.0": "^5.2.0",
42
+ "@girs/xlib-2.0": "^5.2.0",
43
+ "@girs/gdk-3.0": "^5.2.0",
44
+ "@girs/cairo-1.0": "^5.2.0",
45
+ "@girs/gobject-2.0": "^5.2.0",
46
+ "@girs/glib-2.0": "^5.2.0",
47
+ "@girs/pango-1.0": "^5.2.0",
48
+ "@girs/harfbuzz-0.0": "^5.2.0",
49
+ "@girs/freetype2-2.0": "^5.2.0",
50
+ "@girs/gio-2.0": "^5.2.0",
51
+ "@girs/gmodule-2.0": "^5.2.0",
52
+ "@girs/gdkpixbuf-2.0": "^5.2.0",
53
+ "@girs/atk-1.0": "^5.2.0" },
54
54
  "devDependencies": {
55
55
  "typescript": "*"
56
56
  },