@gtkx/react 0.18.8 → 0.19.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/dist/generated/internal.d.ts +6 -0
- package/dist/generated/internal.d.ts.map +1 -1
- package/dist/generated/internal.js +331 -44
- package/dist/generated/internal.js.map +1 -1
- package/dist/generated/jsx.d.ts +178 -2
- package/dist/generated/jsx.d.ts.map +1 -1
- package/dist/generated/jsx.js.map +1 -1
- package/dist/host-config.d.ts.map +1 -1
- package/dist/host-config.js +46 -10
- package/dist/host-config.js.map +1 -1
- package/dist/jsx.d.ts +133 -13
- package/dist/jsx.d.ts.map +1 -1
- package/dist/jsx.js +41 -2
- package/dist/jsx.js.map +1 -1
- package/dist/metadata.d.ts +1 -0
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +3 -1
- package/dist/metadata.js.map +1 -1
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +22 -6
- package/dist/node.js.map +1 -1
- package/dist/nodes/column-view-column.d.ts +5 -1
- package/dist/nodes/column-view-column.d.ts.map +1 -1
- package/dist/nodes/column-view-column.js +31 -7
- package/dist/nodes/column-view-column.js.map +1 -1
- package/dist/nodes/column-view.d.ts +4 -3
- package/dist/nodes/column-view.d.ts.map +1 -1
- package/dist/nodes/column-view.js +47 -12
- package/dist/nodes/column-view.js.map +1 -1
- package/dist/nodes/drop-down.d.ts +12 -2
- package/dist/nodes/drop-down.d.ts.map +1 -1
- package/dist/nodes/drop-down.js +151 -5
- package/dist/nodes/drop-down.js.map +1 -1
- package/dist/nodes/event-controller.d.ts +1 -0
- package/dist/nodes/event-controller.d.ts.map +1 -1
- package/dist/nodes/event-controller.js +11 -3
- package/dist/nodes/event-controller.js.map +1 -1
- package/dist/nodes/fixed-child.d.ts +1 -2
- package/dist/nodes/fixed-child.d.ts.map +1 -1
- package/dist/nodes/fixed-child.js +21 -21
- package/dist/nodes/fixed-child.js.map +1 -1
- package/dist/nodes/font-dialog-button.d.ts +1 -1
- package/dist/nodes/font-dialog-button.d.ts.map +1 -1
- package/dist/nodes/font-dialog-button.js +8 -0
- package/dist/nodes/font-dialog-button.js.map +1 -1
- package/dist/nodes/grid-view.d.ts +6 -5
- package/dist/nodes/grid-view.d.ts.map +1 -1
- package/dist/nodes/grid-view.js +23 -18
- package/dist/nodes/grid-view.js.map +1 -1
- package/dist/nodes/internal/accessible.d.ts +5 -0
- package/dist/nodes/internal/accessible.d.ts.map +1 -0
- package/dist/nodes/internal/accessible.js +119 -0
- package/dist/nodes/internal/accessible.js.map +1 -0
- package/dist/nodes/internal/base-item-renderer.d.ts.map +1 -1
- package/dist/nodes/internal/base-item-renderer.js +0 -1
- package/dist/nodes/internal/base-item-renderer.js.map +1 -1
- package/dist/nodes/internal/construct.d.ts +10 -0
- package/dist/nodes/internal/construct.d.ts.map +1 -0
- package/dist/nodes/internal/construct.js +68 -0
- package/dist/nodes/internal/construct.js.map +1 -0
- package/dist/nodes/internal/grid-item-renderer.d.ts +1 -0
- package/dist/nodes/internal/grid-item-renderer.d.ts.map +1 -1
- package/dist/nodes/internal/grid-item-renderer.js +6 -0
- package/dist/nodes/internal/grid-item-renderer.js.map +1 -1
- package/dist/nodes/internal/header-item-renderer.d.ts +23 -0
- package/dist/nodes/internal/header-item-renderer.d.ts.map +1 -0
- package/dist/nodes/internal/header-item-renderer.js +87 -0
- package/dist/nodes/internal/header-item-renderer.js.map +1 -0
- package/dist/nodes/internal/header-renderer-manager.d.ts +13 -0
- package/dist/nodes/internal/header-renderer-manager.d.ts.map +1 -0
- package/dist/nodes/internal/header-renderer-manager.js +20 -0
- package/dist/nodes/internal/header-renderer-manager.js.map +1 -0
- package/dist/nodes/internal/list-item-renderer.d.ts +1 -0
- package/dist/nodes/internal/list-item-renderer.d.ts.map +1 -1
- package/dist/nodes/internal/list-item-renderer.js +6 -0
- package/dist/nodes/internal/list-item-renderer.js.map +1 -1
- package/dist/nodes/internal/list-store.d.ts +10 -11
- package/dist/nodes/internal/list-store.d.ts.map +1 -1
- package/dist/nodes/internal/list-store.js +28 -29
- package/dist/nodes/internal/list-store.js.map +1 -1
- package/dist/nodes/internal/sectioned-list-store.d.ts +50 -0
- package/dist/nodes/internal/sectioned-list-store.d.ts.map +1 -0
- package/dist/nodes/internal/sectioned-list-store.js +250 -0
- package/dist/nodes/internal/sectioned-list-store.js.map +1 -0
- package/dist/nodes/internal/selection-helpers.d.ts +12 -0
- package/dist/nodes/internal/selection-helpers.d.ts.map +1 -0
- package/dist/nodes/internal/selection-helpers.js +25 -0
- package/dist/nodes/internal/selection-helpers.js.map +1 -0
- package/dist/nodes/internal/selection-model-controller.d.ts.map +1 -1
- package/dist/nodes/internal/selection-model-controller.js +3 -0
- package/dist/nodes/internal/selection-model-controller.js.map +1 -1
- package/dist/nodes/internal/simple-list-store.d.ts +7 -12
- package/dist/nodes/internal/simple-list-store.d.ts.map +1 -1
- package/dist/nodes/internal/simple-list-store.js +58 -35
- package/dist/nodes/internal/simple-list-store.js.map +1 -1
- package/dist/nodes/internal/text-buffer-controller.d.ts +4 -0
- package/dist/nodes/internal/text-buffer-controller.d.ts.map +1 -1
- package/dist/nodes/internal/text-buffer-controller.js +49 -9
- package/dist/nodes/internal/text-buffer-controller.js.map +1 -1
- package/dist/nodes/internal/tree-store.d.ts +3 -0
- package/dist/nodes/internal/tree-store.d.ts.map +1 -1
- package/dist/nodes/internal/tree-store.js +55 -10
- package/dist/nodes/internal/tree-store.js.map +1 -1
- package/dist/nodes/list-section.d.ts +27 -0
- package/dist/nodes/list-section.d.ts.map +1 -0
- package/dist/nodes/list-section.js +43 -0
- package/dist/nodes/list-section.js.map +1 -0
- package/dist/nodes/list-view.d.ts +6 -3
- package/dist/nodes/list-view.d.ts.map +1 -1
- package/dist/nodes/list-view.js +54 -14
- package/dist/nodes/list-view.js.map +1 -1
- package/dist/nodes/models/list.d.ts +13 -5
- package/dist/nodes/models/list.d.ts.map +1 -1
- package/dist/nodes/models/list.js +135 -21
- package/dist/nodes/models/list.js.map +1 -1
- package/dist/nodes/shortcut.d.ts +3 -2
- package/dist/nodes/shortcut.d.ts.map +1 -1
- package/dist/nodes/shortcut.js +19 -4
- package/dist/nodes/shortcut.js.map +1 -1
- package/dist/nodes/text-anchor.d.ts.map +1 -1
- package/dist/nodes/text-anchor.js +7 -1
- package/dist/nodes/text-anchor.js.map +1 -1
- package/dist/nodes/text-tag.d.ts.map +1 -1
- package/dist/nodes/text-tag.js +5 -1
- package/dist/nodes/text-tag.js.map +1 -1
- package/dist/nodes/text-view.d.ts +1 -0
- package/dist/nodes/text-view.d.ts.map +1 -1
- package/dist/nodes/text-view.js +4 -0
- package/dist/nodes/text-view.js.map +1 -1
- package/dist/nodes/widget.d.ts +0 -2
- package/dist/nodes/widget.d.ts.map +1 -1
- package/dist/nodes/widget.js +44 -61
- package/dist/nodes/widget.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -2
- package/dist/registry.js.map +1 -1
- package/package.json +3 -3
- package/src/generated/internal.ts +333 -44
- package/src/generated/jsx.ts +178 -2
- package/src/host-config.ts +41 -10
- package/src/jsx.ts +166 -15
- package/src/metadata.ts +5 -1
- package/src/node.ts +20 -6
- package/src/nodes/column-view-column.ts +35 -7
- package/src/nodes/column-view.ts +63 -13
- package/src/nodes/drop-down.ts +182 -6
- package/src/nodes/event-controller.ts +11 -3
- package/src/nodes/fixed-child.ts +24 -23
- package/src/nodes/font-dialog-button.ts +10 -0
- package/src/nodes/grid-view.ts +29 -19
- package/src/nodes/internal/accessible.ts +156 -0
- package/src/nodes/internal/base-item-renderer.ts +0 -1
- package/src/nodes/internal/construct.ts +90 -0
- package/src/nodes/internal/grid-item-renderer.ts +7 -0
- package/src/nodes/internal/header-item-renderer.ts +105 -0
- package/src/nodes/internal/header-renderer-manager.ts +33 -0
- package/src/nodes/internal/list-item-renderer.ts +7 -0
- package/src/nodes/internal/list-store.ts +32 -30
- package/src/nodes/internal/sectioned-list-store.ts +287 -0
- package/src/nodes/internal/selection-helpers.ts +35 -0
- package/src/nodes/internal/selection-model-controller.ts +4 -0
- package/src/nodes/internal/simple-list-store.ts +60 -43
- package/src/nodes/internal/text-buffer-controller.ts +51 -8
- package/src/nodes/internal/tree-store.ts +61 -9
- package/src/nodes/list-section.ts +64 -0
- package/src/nodes/list-view.ts +65 -14
- package/src/nodes/models/list.ts +147 -37
- package/src/nodes/shortcut.ts +22 -5
- package/src/nodes/text-anchor.ts +6 -1
- package/src/nodes/text-tag.ts +7 -1
- package/src/nodes/text-view.ts +5 -0
- package/src/nodes/widget.ts +45 -62
- package/src/registry.ts +4 -2
- package/dist/nodes/models/grid.d.ts +0 -28
- package/dist/nodes/models/grid.d.ts.map +0 -1
- package/dist/nodes/models/grid.js +0 -69
- package/dist/nodes/models/grid.js.map +0 -1
- package/dist/nodes/shortcut-controller.d.ts +0 -10
- package/dist/nodes/shortcut-controller.d.ts.map +0 -1
- package/dist/nodes/shortcut-controller.js +0 -23
- package/dist/nodes/shortcut-controller.js.map +0 -1
- package/src/nodes/models/grid.ts +0 -105
- package/src/nodes/shortcut-controller.ts +0 -27
|
@@ -5,14 +5,17 @@ import type { Container } from "../types.js";
|
|
|
5
5
|
import { ContainerSlotNode } from "./container-slot.js";
|
|
6
6
|
import { EventControllerNode } from "./event-controller.js";
|
|
7
7
|
import { ListItemNode } from "./list-item.js";
|
|
8
|
+
import { ListSectionNode } from "./list-section.js";
|
|
8
9
|
import { type ListModelProps } from "./models/list.js";
|
|
9
10
|
import { SlotNode } from "./slot.js";
|
|
10
11
|
import { WidgetNode } from "./widget.js";
|
|
11
|
-
declare const RENDERER_PROPS: readonly ["renderItem", "estimatedItemHeight"];
|
|
12
|
+
declare const RENDERER_PROPS: readonly ["renderItem", "renderHeader", "estimatedItemHeight"];
|
|
12
13
|
type ListViewProps = Pick<GtkListViewProps, (typeof RENDERER_PROPS)[number]> & ListModelProps;
|
|
13
|
-
type ListViewChild = ListItemNode | EventControllerNode | SlotNode | ContainerSlotNode;
|
|
14
|
+
type ListViewChild = ListItemNode | ListSectionNode | EventControllerNode | SlotNode | ContainerSlotNode;
|
|
14
15
|
export declare class ListViewNode extends WidgetNode<Gtk.ListView, ListViewProps, ListViewChild> {
|
|
15
|
-
private
|
|
16
|
+
private treeRenderer;
|
|
17
|
+
private flatRenderer;
|
|
18
|
+
private headerRenderer;
|
|
16
19
|
private list;
|
|
17
20
|
isValidChild(child: Node): boolean;
|
|
18
21
|
constructor(typeName: string, props: ListViewProps, container: Gtk.ListView, rootContainer: Container);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-view.d.ts","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-view.d.ts","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,cAAc,gEAAiE,CAAC;AAGtF,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;AAE9F,KAAK,aAAa,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEzG,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;IACpF,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAUtC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;IA+BrF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAU/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtD,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,IAAI,IAAI;IAMnB,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,aAAa;CA6CxB"}
|
package/dist/nodes/list-view.js
CHANGED
|
@@ -1,49 +1,67 @@
|
|
|
1
1
|
import { ContainerSlotNode } from "./container-slot.js";
|
|
2
2
|
import { EventControllerNode } from "./event-controller.js";
|
|
3
|
+
import { GridItemRenderer } from "./internal/grid-item-renderer.js";
|
|
4
|
+
import { updateHeaderRenderer } from "./internal/header-renderer-manager.js";
|
|
3
5
|
import { ListItemRenderer } from "./internal/list-item-renderer.js";
|
|
4
6
|
import { filterProps, hasChanged } from "./internal/props.js";
|
|
5
7
|
import { ListItemNode } from "./list-item.js";
|
|
8
|
+
import { ListSectionNode } from "./list-section.js";
|
|
6
9
|
import { ListModel } from "./models/list.js";
|
|
7
10
|
import { SlotNode } from "./slot.js";
|
|
8
11
|
import { WidgetNode } from "./widget.js";
|
|
9
|
-
const RENDERER_PROPS = ["renderItem", "estimatedItemHeight"];
|
|
12
|
+
const RENDERER_PROPS = ["renderItem", "renderHeader", "estimatedItemHeight"];
|
|
10
13
|
const OWN_PROPS = [...RENDERER_PROPS, "autoexpand", "selectionMode", "selected", "onSelectionChanged"];
|
|
11
14
|
export class ListViewNode extends WidgetNode {
|
|
12
|
-
|
|
15
|
+
treeRenderer = null;
|
|
16
|
+
flatRenderer = null;
|
|
17
|
+
headerRenderer = null;
|
|
13
18
|
list;
|
|
14
19
|
isValidChild(child) {
|
|
15
20
|
return (child instanceof ListItemNode ||
|
|
21
|
+
child instanceof ListSectionNode ||
|
|
16
22
|
child instanceof EventControllerNode ||
|
|
17
23
|
child instanceof SlotNode ||
|
|
18
24
|
child instanceof ContainerSlotNode);
|
|
19
25
|
}
|
|
20
26
|
constructor(typeName, props, container, rootContainer) {
|
|
21
27
|
super(typeName, props, container, rootContainer);
|
|
28
|
+
const flat = props.renderHeader != null;
|
|
22
29
|
this.list = new ListModel({ owner: this, signalStore: this.signalStore }, {
|
|
23
|
-
autoexpand: props.autoexpand,
|
|
30
|
+
autoexpand: flat ? undefined : props.autoexpand,
|
|
24
31
|
selectionMode: props.selectionMode,
|
|
25
32
|
selected: props.selected,
|
|
26
33
|
onSelectionChanged: props.onSelectionChanged,
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
}, flat);
|
|
35
|
+
if (flat) {
|
|
36
|
+
const store = this.list.getFlatStore();
|
|
37
|
+
this.flatRenderer = new GridItemRenderer(this.signalStore);
|
|
38
|
+
this.flatRenderer.setStore(store);
|
|
39
|
+
store.setOnItemUpdated((id) => this.flatRenderer?.rebindItem(id));
|
|
40
|
+
this.container.setFactory(this.flatRenderer.getFactory());
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const store = this.list.getStore();
|
|
44
|
+
this.treeRenderer = new ListItemRenderer(this.signalStore);
|
|
45
|
+
this.treeRenderer.setStore(store);
|
|
46
|
+
store.setOnItemUpdated((id) => this.treeRenderer?.rebindItem(id));
|
|
47
|
+
this.container.setFactory(this.treeRenderer.getFactory());
|
|
48
|
+
}
|
|
32
49
|
}
|
|
33
50
|
appendChild(child) {
|
|
34
51
|
super.appendChild(child);
|
|
35
|
-
if (child instanceof ListItemNode) {
|
|
52
|
+
if (child instanceof ListItemNode || child instanceof ListSectionNode) {
|
|
36
53
|
this.list.appendChild(child);
|
|
37
54
|
}
|
|
38
55
|
}
|
|
39
56
|
insertBefore(child, before) {
|
|
40
57
|
super.insertBefore(child, before);
|
|
41
|
-
if (child instanceof ListItemNode
|
|
58
|
+
if ((child instanceof ListItemNode || child instanceof ListSectionNode) &&
|
|
59
|
+
(before instanceof ListItemNode || before instanceof ListSectionNode)) {
|
|
42
60
|
this.list.insertBefore(child, before);
|
|
43
61
|
}
|
|
44
62
|
}
|
|
45
63
|
removeChild(child) {
|
|
46
|
-
if (child instanceof ListItemNode) {
|
|
64
|
+
if (child instanceof ListItemNode || child instanceof ListSectionNode) {
|
|
47
65
|
this.list.removeChild(child);
|
|
48
66
|
}
|
|
49
67
|
super.removeChild(child);
|
|
@@ -62,15 +80,37 @@ export class ListViewNode extends WidgetNode {
|
|
|
62
80
|
this.container.setModel(this.list.getSelectionModel());
|
|
63
81
|
}
|
|
64
82
|
detachDeletedInstance() {
|
|
65
|
-
this.
|
|
83
|
+
this.treeRenderer?.dispose();
|
|
84
|
+
this.flatRenderer?.dispose();
|
|
85
|
+
this.headerRenderer?.dispose();
|
|
66
86
|
super.detachDeletedInstance();
|
|
67
87
|
}
|
|
68
88
|
applyOwnProps(oldProps, newProps) {
|
|
69
89
|
if (hasChanged(oldProps, newProps, "renderItem")) {
|
|
70
|
-
this.
|
|
90
|
+
if (this.treeRenderer) {
|
|
91
|
+
this.treeRenderer.setRenderFn(newProps.renderItem ?? null);
|
|
92
|
+
}
|
|
93
|
+
if (this.flatRenderer) {
|
|
94
|
+
const renderItem = newProps.renderItem;
|
|
95
|
+
this.flatRenderer.setRenderFn(renderItem ? (item) => renderItem(item, null) : null);
|
|
96
|
+
}
|
|
71
97
|
}
|
|
72
98
|
if (hasChanged(oldProps, newProps, "estimatedItemHeight")) {
|
|
73
|
-
|
|
99
|
+
const height = newProps.estimatedItemHeight ?? null;
|
|
100
|
+
if (this.treeRenderer) {
|
|
101
|
+
this.treeRenderer.setEstimatedItemHeight(height);
|
|
102
|
+
}
|
|
103
|
+
if (this.flatRenderer) {
|
|
104
|
+
this.flatRenderer.setEstimatedItemHeight(height);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (hasChanged(oldProps, newProps, "renderHeader")) {
|
|
108
|
+
this.headerRenderer = updateHeaderRenderer(this.headerRenderer, {
|
|
109
|
+
signalStore: this.signalStore,
|
|
110
|
+
isEnabled: () => this.list.isFlatMode(),
|
|
111
|
+
resolveItem: (id) => this.list.getFlatStore().getHeaderValue(id),
|
|
112
|
+
setFactory: (factory) => this.container.setHeaderFactory(factory),
|
|
113
|
+
}, newProps.renderHeader);
|
|
74
114
|
}
|
|
75
115
|
const previousModel = this.list.getSelectionModel();
|
|
76
116
|
this.list.updateProps(oldProps ? filterProps(oldProps, RENDERER_PROPS) : null, filterProps(newProps, RENDERER_PROPS));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAuB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,qBAAqB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
2
|
import type { GtkListViewProps } from "../../jsx.js";
|
|
3
|
+
import { ListStore } from "../internal/list-store.js";
|
|
3
4
|
import type { SignalStore } from "../internal/signal-store.js";
|
|
4
5
|
import { TreeStore } from "../internal/tree-store.js";
|
|
5
6
|
import { ListItemNode } from "../list-item.js";
|
|
7
|
+
import { ListSectionNode } from "../list-section.js";
|
|
6
8
|
export type ListModelProps = Pick<GtkListViewProps, "autoexpand" | "selectionMode" | "selected" | "onSelectionChanged">;
|
|
7
9
|
type ListModelConfig = {
|
|
8
10
|
owner: object;
|
|
@@ -10,20 +12,26 @@ type ListModelConfig = {
|
|
|
10
12
|
};
|
|
11
13
|
export declare class ListModel {
|
|
12
14
|
private config;
|
|
13
|
-
private
|
|
15
|
+
private flatMode;
|
|
16
|
+
private treeStore;
|
|
14
17
|
private treeListModel;
|
|
18
|
+
private flatStore;
|
|
15
19
|
private selectionManager;
|
|
16
20
|
private initialSelected;
|
|
17
|
-
constructor(config: ListModelConfig, props?: ListModelProps);
|
|
21
|
+
constructor(config: ListModelConfig, props?: ListModelProps, flat?: boolean);
|
|
22
|
+
isFlatMode(): boolean;
|
|
18
23
|
flushBatch(): void;
|
|
19
24
|
private createChildModel;
|
|
20
25
|
getStore(): TreeStore;
|
|
26
|
+
getFlatStore(): ListStore;
|
|
27
|
+
setOnItemUpdated(callback: (id: string) => void): void;
|
|
21
28
|
getSelectionModel(): Gtk.NoSelection | Gtk.SingleSelection | Gtk.MultiSelection;
|
|
22
|
-
appendChild(child: ListItemNode): void;
|
|
29
|
+
appendChild(child: ListItemNode | ListSectionNode): void;
|
|
23
30
|
private addItemWithChildren;
|
|
24
|
-
insertBefore(child: ListItemNode, before: ListItemNode): void;
|
|
25
|
-
removeChild(child: ListItemNode): void;
|
|
31
|
+
insertBefore(child: ListItemNode | ListSectionNode, before: ListItemNode | ListSectionNode): void;
|
|
32
|
+
removeChild(child: ListItemNode | ListSectionNode): void;
|
|
26
33
|
updateProps(oldProps: ListModelProps | null, newProps: ListModelProps): void;
|
|
34
|
+
private getNItems;
|
|
27
35
|
private getSelection;
|
|
28
36
|
private resolveSelectionIndices;
|
|
29
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/nodes/models/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/nodes/models/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,oBAAoB,CAAC,CAAC;AAExH,KAAK,eAAe,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAAkC;IAEvD,OAAO,CAAC,SAAS,CAA0B;IAE3C,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,eAAe,CAA8B;gBAEzC,MAAM,EAAE,eAAe,EAAE,KAAK,GAAE,cAAmB,EAAE,IAAI,UAAQ;IAkCtE,UAAU,IAAI,OAAO;IAIrB,UAAU,IAAI,IAAI;IAczB,OAAO,CAAC,gBAAgB;IAOjB,QAAQ,IAAI,SAAS;IAOrB,YAAY,IAAI,SAAS;IAOzB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAQtD,iBAAiB,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,cAAc;IAI/E,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI;IAe/D,OAAO,CAAC,mBAAmB;IAWpB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI;IAoBjG,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI;IAexD,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAiBnF,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,uBAAuB;CAsBlC"}
|
|
@@ -1,69 +1,178 @@
|
|
|
1
1
|
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
|
+
import { ListStore } from "../internal/list-store.js";
|
|
3
|
+
import { getSelectionFromStore, resolveSelectionIndices } from "../internal/selection-helpers.js";
|
|
2
4
|
import { SelectionModelController } from "../internal/selection-model-controller.js";
|
|
3
5
|
import { TreeStore } from "../internal/tree-store.js";
|
|
4
6
|
import { ListItemNode } from "../list-item.js";
|
|
7
|
+
import { ListSectionNode } from "../list-section.js";
|
|
5
8
|
export class ListModel {
|
|
6
9
|
config;
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
flatMode;
|
|
11
|
+
treeStore = null;
|
|
12
|
+
treeListModel = null;
|
|
13
|
+
flatStore = null;
|
|
9
14
|
selectionManager;
|
|
10
15
|
initialSelected;
|
|
11
|
-
constructor(config, props = {}) {
|
|
16
|
+
constructor(config, props = {}, flat = false) {
|
|
12
17
|
this.config = config;
|
|
13
|
-
this.
|
|
14
|
-
this.store.beginBatch();
|
|
18
|
+
this.flatMode = flat;
|
|
15
19
|
this.initialSelected = props.selected;
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
let model;
|
|
21
|
+
if (flat) {
|
|
22
|
+
const store = new ListStore();
|
|
23
|
+
store.beginBatch();
|
|
24
|
+
this.flatStore = store;
|
|
25
|
+
model = store.getModel();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const store = new TreeStore();
|
|
29
|
+
store.beginBatch();
|
|
30
|
+
this.treeStore = store;
|
|
31
|
+
this.treeListModel = new Gtk.TreeListModel(store.getRootModel(), false, props.autoexpand ?? false, (item) => this.createChildModel(item));
|
|
32
|
+
model = this.treeListModel;
|
|
33
|
+
}
|
|
34
|
+
this.selectionManager = new SelectionModelController({ ...config, ...props }, model, () => this.getSelection(), (ids) => this.resolveSelectionIndices(ids), () => this.getNItems());
|
|
35
|
+
}
|
|
36
|
+
isFlatMode() {
|
|
37
|
+
return this.flatMode;
|
|
18
38
|
}
|
|
19
39
|
flushBatch() {
|
|
20
|
-
this.
|
|
40
|
+
if (this.flatStore) {
|
|
41
|
+
this.flatStore.flushBatch();
|
|
42
|
+
const model = this.flatStore.getModel();
|
|
43
|
+
if (this.selectionManager.getSelectionModel().getModel() !== model) {
|
|
44
|
+
this.selectionManager.update(null, { ...this.config }, model);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (this.treeStore) {
|
|
48
|
+
this.treeStore.flushBatch();
|
|
49
|
+
}
|
|
21
50
|
this.selectionManager.reapplySelection(this.initialSelected);
|
|
22
51
|
this.initialSelected = undefined;
|
|
23
52
|
}
|
|
24
53
|
createChildModel(item) {
|
|
54
|
+
if (!this.treeStore)
|
|
55
|
+
return null;
|
|
25
56
|
if (!(item instanceof Gtk.StringObject))
|
|
26
57
|
return null;
|
|
27
58
|
const parentId = item.getString();
|
|
28
|
-
return this.
|
|
59
|
+
return this.treeStore.getChildrenModel(parentId);
|
|
29
60
|
}
|
|
30
61
|
getStore() {
|
|
31
|
-
|
|
62
|
+
if (!this.treeStore) {
|
|
63
|
+
throw new Error("getStore() called in flat mode. Use getFlatStore() instead.");
|
|
64
|
+
}
|
|
65
|
+
return this.treeStore;
|
|
66
|
+
}
|
|
67
|
+
getFlatStore() {
|
|
68
|
+
if (!this.flatStore) {
|
|
69
|
+
throw new Error("getFlatStore() called in tree mode. Use getStore() instead.");
|
|
70
|
+
}
|
|
71
|
+
return this.flatStore;
|
|
72
|
+
}
|
|
73
|
+
setOnItemUpdated(callback) {
|
|
74
|
+
if (this.flatStore) {
|
|
75
|
+
this.flatStore.setOnItemUpdated(callback);
|
|
76
|
+
}
|
|
77
|
+
else if (this.treeStore) {
|
|
78
|
+
this.treeStore.setOnItemUpdated(callback);
|
|
79
|
+
}
|
|
32
80
|
}
|
|
33
81
|
getSelectionModel() {
|
|
34
82
|
return this.selectionManager.getSelectionModel();
|
|
35
83
|
}
|
|
36
84
|
appendChild(child) {
|
|
37
|
-
|
|
38
|
-
|
|
85
|
+
if (this.flatStore) {
|
|
86
|
+
if (child instanceof ListSectionNode) {
|
|
87
|
+
this.flatStore.addSection(child.props.id, child.props.value);
|
|
88
|
+
child.setStore(this.flatStore);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
child.setStore(this.flatStore);
|
|
92
|
+
this.flatStore.addItem(child.props.id, child.props.value);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (child instanceof ListItemNode && this.treeStore) {
|
|
96
|
+
child.setStore(this.treeStore);
|
|
97
|
+
this.addItemWithChildren(child);
|
|
98
|
+
}
|
|
39
99
|
}
|
|
40
100
|
addItemWithChildren(node, parentId) {
|
|
101
|
+
if (!this.treeStore)
|
|
102
|
+
return;
|
|
41
103
|
const id = node.props.id;
|
|
42
104
|
for (const child of node.getChildNodes()) {
|
|
43
105
|
this.addItemWithChildren(child, id);
|
|
44
106
|
}
|
|
45
|
-
this.
|
|
107
|
+
this.treeStore.addItem(id, ListItemNode.createItemData(node.props), parentId);
|
|
46
108
|
}
|
|
47
109
|
insertBefore(child, before) {
|
|
48
|
-
|
|
49
|
-
|
|
110
|
+
if (this.flatStore) {
|
|
111
|
+
if (child instanceof ListSectionNode) {
|
|
112
|
+
this.flatStore.addSection(child.props.id, child.props.value);
|
|
113
|
+
child.setStore(this.flatStore);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (before instanceof ListSectionNode) {
|
|
117
|
+
child.setStore(this.flatStore);
|
|
118
|
+
this.flatStore.addItem(child.props.id, child.props.value);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
child.setStore(this.flatStore);
|
|
122
|
+
this.flatStore.insertItemBefore(child.props.id, before.props.id, child.props.value);
|
|
123
|
+
}
|
|
124
|
+
else if (child instanceof ListItemNode && before instanceof ListItemNode && this.treeStore) {
|
|
125
|
+
child.setStore(this.treeStore);
|
|
126
|
+
this.treeStore.insertItemBefore(child.props.id, before.props.id, ListItemNode.createItemData(child.props));
|
|
127
|
+
}
|
|
50
128
|
}
|
|
51
129
|
removeChild(child) {
|
|
52
|
-
this.
|
|
53
|
-
|
|
130
|
+
if (this.flatStore) {
|
|
131
|
+
if (child instanceof ListSectionNode) {
|
|
132
|
+
this.flatStore.removeSection(child.props.id);
|
|
133
|
+
child.setStore(null);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
this.flatStore.removeItem(child.props.id);
|
|
137
|
+
child.setStore(null);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else if (child instanceof ListItemNode && this.treeStore) {
|
|
141
|
+
this.treeStore.removeItem(child.props.id);
|
|
142
|
+
child.setStore(null);
|
|
143
|
+
}
|
|
54
144
|
}
|
|
55
145
|
updateProps(oldProps, newProps) {
|
|
56
|
-
if (
|
|
57
|
-
|
|
146
|
+
if (this.treeListModel) {
|
|
147
|
+
if (!oldProps || oldProps.autoexpand !== newProps.autoexpand) {
|
|
148
|
+
this.treeListModel.setAutoexpand(newProps.autoexpand ?? false);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const model = this.flatStore ? this.flatStore.getModel() : this.treeListModel;
|
|
152
|
+
if (model) {
|
|
153
|
+
this.selectionManager.update(oldProps ? { ...this.config, ...oldProps } : null, { ...this.config, ...newProps }, model);
|
|
58
154
|
}
|
|
59
|
-
|
|
155
|
+
}
|
|
156
|
+
getNItems() {
|
|
157
|
+
if (this.flatStore) {
|
|
158
|
+
return this.flatStore.getNItems();
|
|
159
|
+
}
|
|
160
|
+
if (this.treeListModel) {
|
|
161
|
+
return this.treeListModel.getNItems();
|
|
162
|
+
}
|
|
163
|
+
return 0;
|
|
60
164
|
}
|
|
61
165
|
getSelection() {
|
|
62
166
|
const selection = this.selectionManager.getSelectionModel().getSelection();
|
|
167
|
+
if (this.flatStore) {
|
|
168
|
+
return getSelectionFromStore(selection, this.flatStore);
|
|
169
|
+
}
|
|
63
170
|
const size = selection.getSize();
|
|
64
171
|
const ids = [];
|
|
65
172
|
for (let i = 0; i < size; i++) {
|
|
66
173
|
const index = selection.getNth(i);
|
|
174
|
+
if (!this.treeListModel)
|
|
175
|
+
continue;
|
|
67
176
|
const row = this.treeListModel.getRow(index);
|
|
68
177
|
if (!row)
|
|
69
178
|
continue;
|
|
@@ -75,8 +184,13 @@ export class ListModel {
|
|
|
75
184
|
return ids;
|
|
76
185
|
}
|
|
77
186
|
resolveSelectionIndices(ids) {
|
|
78
|
-
|
|
187
|
+
if (this.flatStore) {
|
|
188
|
+
return resolveSelectionIndices(ids, this.flatStore);
|
|
189
|
+
}
|
|
79
190
|
const selected = new Gtk.Bitset();
|
|
191
|
+
if (!this.treeListModel)
|
|
192
|
+
return selected;
|
|
193
|
+
const nItems = this.treeListModel.getNItems();
|
|
80
194
|
const idSet = new Set(ids);
|
|
81
195
|
for (let i = 0; i < nItems; i++) {
|
|
82
196
|
const row = this.treeListModel.getRow(i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/nodes/models/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/nodes/models/list.ts"],"names":[],"mappings":"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"}
|
package/dist/nodes/shortcut.d.ts
CHANGED
|
@@ -8,10 +8,11 @@ export declare class ShortcutNode extends VirtualNode<ShortcutProps, EventContro
|
|
|
8
8
|
isValidParent(parent: Node): boolean;
|
|
9
9
|
private shortcut;
|
|
10
10
|
private action;
|
|
11
|
+
setParent(parent: EventControllerNode<Gtk.ShortcutController> | null): void;
|
|
11
12
|
commitUpdate(oldProps: ShortcutProps | null, newProps: ShortcutProps): void;
|
|
12
13
|
detachDeletedInstance(): void;
|
|
13
|
-
|
|
14
|
-
createShortcut
|
|
14
|
+
private removeFromController;
|
|
15
|
+
private createShortcut;
|
|
15
16
|
private applyOwnProps;
|
|
16
17
|
private createTrigger;
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortcut.d.ts","sourceRoot":"","sources":["../../src/nodes/shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,YAAa,SAAQ,WAAW,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC5F,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAInC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"shortcut.d.ts","sourceRoot":"","sources":["../../src/nodes/shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,YAAa,SAAQ,WAAW,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC5F,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAInC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,MAAM,CAAmC;IAEjC,SAAS,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,IAAI,GAAG,IAAI;IAc3E,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,qBAAqB,IAAI,IAAI;IAK7C,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa;CAkBxB"}
|
package/dist/nodes/shortcut.js
CHANGED
|
@@ -11,17 +11,32 @@ export class ShortcutNode extends VirtualNode {
|
|
|
11
11
|
}
|
|
12
12
|
shortcut = null;
|
|
13
13
|
action = null;
|
|
14
|
+
setParent(parent) {
|
|
15
|
+
if (!parent && this.parent) {
|
|
16
|
+
this.removeFromController();
|
|
17
|
+
}
|
|
18
|
+
super.setParent(parent);
|
|
19
|
+
if (parent && !this.shortcut) {
|
|
20
|
+
this.createShortcut();
|
|
21
|
+
const shortcut = this.shortcut;
|
|
22
|
+
if (shortcut)
|
|
23
|
+
parent.container.addShortcut(shortcut);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
14
26
|
commitUpdate(oldProps, newProps) {
|
|
15
27
|
super.commitUpdate(oldProps, newProps);
|
|
16
28
|
this.applyOwnProps(oldProps, newProps);
|
|
17
29
|
}
|
|
18
30
|
detachDeletedInstance() {
|
|
19
|
-
this.
|
|
20
|
-
this.action = null;
|
|
31
|
+
this.removeFromController();
|
|
21
32
|
super.detachDeletedInstance();
|
|
22
33
|
}
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
removeFromController() {
|
|
35
|
+
if (!this.parent || !this.shortcut)
|
|
36
|
+
return;
|
|
37
|
+
this.parent.container.removeShortcut(this.shortcut);
|
|
38
|
+
this.shortcut = null;
|
|
39
|
+
this.action = null;
|
|
25
40
|
}
|
|
26
41
|
createShortcut() {
|
|
27
42
|
const trigger = this.createTrigger();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortcut.js","sourceRoot":"","sources":["../../src/nodes/shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,OAAO,YAAa,SAAQ,WAA8E;IAC5F,YAAY,CAAC,MAAY;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEe,aAAa,CAAC,MAAY;QACtC,OAAO,MAAM,YAAY,mBAAmB,IAAI,MAAM,CAAC,SAAS,YAAY,GAAG,CAAC,kBAAkB,CAAC;IACvG,CAAC;
|
|
1
|
+
{"version":3,"file":"shortcut.js","sourceRoot":"","sources":["../../src/nodes/shortcut.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-anchor.d.ts","sourceRoot":"","sources":["../../src/nodes/text-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,cAAe,SAAQ,WAAW,CAAC,eAAe,EAAE,IAAI,GAAG,iBAAiB,EAAE,UAAU,CAAC;IAClG,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAoC;IAElD,OAAO,CAAC,YAAY,CAAK;IAElB,eAAe,IAAI,MAAM;IAIzB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAI7C,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAMjF,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"text-anchor.d.ts","sourceRoot":"","sources":["../../src/nodes/text-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,cAAe,SAAQ,WAAW,CAAC,eAAe,EAAE,IAAI,GAAG,iBAAiB,EAAE,UAAU,CAAC;IAClG,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAoC;IAElD,OAAO,CAAC,YAAY,CAAK;IAElB,eAAe,IAAI,MAAM;IAIzB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAI7C,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAMjF,OAAO,CAAC,WAAW;IAmBH,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,qBAAqB,IAAI,IAAI;CAMhD"}
|
|
@@ -36,7 +36,13 @@ export class TextAnchorNode extends VirtualNode {
|
|
|
36
36
|
return;
|
|
37
37
|
const iter = new Gtk.TextIter();
|
|
38
38
|
this.buffer.getIterAtOffset(iter, this.bufferOffset);
|
|
39
|
-
|
|
39
|
+
if (this.props.replacementChar) {
|
|
40
|
+
this.anchor = Gtk.TextChildAnchor.newWithReplacement(this.props.replacementChar);
|
|
41
|
+
this.buffer.insertChildAnchor(iter, this.anchor);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.anchor = this.buffer.createChildAnchor(iter);
|
|
45
|
+
}
|
|
40
46
|
const widgetChild = this.children[0];
|
|
41
47
|
if (widgetChild?.container && this.anchor) {
|
|
42
48
|
this.textView.addChildAtAnchor(widgetChild.container, this.anchor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-anchor.js","sourceRoot":"","sources":["../../src/nodes/text-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAA0B,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,WAAkE;IAC1F,QAAQ,GAAwB,IAAI,CAAC;IACrC,MAAM,GAA0B,IAAI,CAAC;IACrC,MAAM,GAA+B,IAAI,CAAC;IAE1C,YAAY,GAAG,CAAC,CAAC;IAElB,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,eAAe,CAAC,MAAc;QACjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC/B,CAAC;IAEe,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,UAAU,CAAC;IACvC,CAAC;IAEe,aAAa,CAAC,MAAY;QACtC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS;QACZ,OAAO,CAAC,CAAC;IACb,CAAC;IAEM,OAAO;QACV,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAEM,oBAAoB,CAAC,QAAsB,EAAE,MAAsB;QACtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAE3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"text-anchor.js","sourceRoot":"","sources":["../../src/nodes/text-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAA0B,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,WAAkE;IAC1F,QAAQ,GAAwB,IAAI,CAAC;IACrC,MAAM,GAA0B,IAAI,CAAC;IACrC,MAAM,GAA+B,IAAI,CAAC;IAE1C,YAAY,GAAG,CAAC,CAAC;IAElB,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,eAAe,CAAC,MAAc;QACjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC/B,CAAC;IAEe,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,UAAU,CAAC;IACvC,CAAC;IAEe,aAAa,CAAC,MAAY;QACtC,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS;QACZ,OAAO,CAAC,CAAC;IACb,CAAC;IAEM,OAAO;QACV,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAEM,oBAAoB,CAAC,QAAsB,EAAE,MAAsB;QACtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAE3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAEe,WAAW,CAAC,KAAiB;QACzC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAEe,qBAAqB;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAClC,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-tag.d.ts","sourceRoot":"","sources":["../../src/nodes/text-tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"text-tag.d.ts","sourceRoot":"","sources":["../../src/nodes/text-tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAuB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA2C3C,KAAK,aAAa,GAAG,IAAI,GAAG,iBAAiB,CAAC;AAE9C,qBAAa,WACT,SAAQ,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CACjE,YAAW,iBAAiB;IAE5B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,GAAG,CAA4B;IAEvC,OAAO,CAAC,YAAY,CAAK;IAElB,eAAe,IAAI,MAAM;IAIzB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAY1C,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAY1C,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAcrE,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAKzE,qBAAqB,IAAI,IAAI;IAWtC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI;IAYvC,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,MAAM;IAQjB,SAAS,IAAI,MAAM;IAQnB,UAAU,IAAI,IAAI;IAMlB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAS9C,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI7C,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAS7F,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;CAQ7B"}
|
package/dist/nodes/text-tag.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
2
|
import { hasChanged } from "./internal/props.js";
|
|
3
3
|
import { TextAnchorNode } from "./text-anchor.js";
|
|
4
|
+
import { TextPaintableNode } from "./text-paintable.js";
|
|
4
5
|
import { isTextContentParent, TextSegmentNode } from "./text-segment.js";
|
|
5
6
|
import { VirtualNode } from "./virtual.js";
|
|
6
7
|
const STYLE_PROPS = {
|
|
@@ -231,7 +232,10 @@ export class TextTagNode extends VirtualNode {
|
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
234
|
isTextContentChild(child) {
|
|
234
|
-
return child instanceof TextSegmentNode ||
|
|
235
|
+
return (child instanceof TextSegmentNode ||
|
|
236
|
+
child instanceof TextTagNode ||
|
|
237
|
+
child instanceof TextAnchorNode ||
|
|
238
|
+
child instanceof TextPaintableNode);
|
|
235
239
|
}
|
|
236
240
|
}
|
|
237
241
|
//# sourceMappingURL=text-tag.js.map
|