@eclipse-glsp/client 1.0.0 → 1.1.0-RC01
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/lib/base/types.d.ts +2 -0
- package/lib/base/types.d.ts.map +1 -1
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +2 -0
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/hbox-layout.d.ts +1 -1
- package/lib/features/layout/hbox-layout.d.ts.map +1 -1
- package/lib/features/layout/hbox-layout.js +19 -7
- package/lib/features/layout/hbox-layout.js.map +1 -1
- package/lib/features/layout/layouter.d.ts +37 -0
- package/lib/features/layout/layouter.d.ts.map +1 -0
- package/lib/features/layout/layouter.js +131 -0
- package/lib/features/layout/layouter.js.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.js +201 -0
- package/lib/features/layout/tests/freeform-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/hbox-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts +34 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.js +96 -0
- package/lib/features/layout/tests/layouter-test-util.js.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/vbox-layout.spec.js.map +1 -0
- package/lib/features/layout/vbox-layout.d.ts +1 -1
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +17 -5
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +1 -1
- package/lib/sprotty-reexport.d.ts.map +1 -1
- package/lib/sprotty-reexport.js +6 -4
- package/lib/sprotty-reexport.js.map +1 -1
- package/lib/views/glsp-projection-view.d.ts.map +1 -1
- package/lib/views/glsp-projection-view.js +8 -2
- package/lib/views/glsp-projection-view.js.map +1 -1
- package/package.json +6 -5
- package/src/features/layout/di.config.ts +3 -1
- package/src/features/layout/hbox-layout.ts +24 -7
- package/src/features/layout/layouter.ts +137 -0
- package/src/features/layout/tests/freeform-layout.spec.ts +216 -0
- package/src/features/layout/tests/hbox-layout.spec.ts +171 -0
- package/src/features/layout/tests/layouter-test-util.ts +122 -0
- package/src/features/layout/tests/vbox-layout.spec.ts +171 -0
- package/src/features/layout/vbox-layout.ts +22 -5
- package/src/sprotty-reexport.ts +6 -1
- package/src/views/glsp-projection-view.tsx +10 -3
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/********************************************************************************
|
|
4
|
+
* Copyright (c) 2022 TypeFox, STMicroelectronics and others.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made available under the
|
|
7
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
8
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
9
|
+
*
|
|
10
|
+
* This Source Code may also be made available under the following Secondary
|
|
11
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
12
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
13
|
+
* with the GNU Classpath Exception which is available at
|
|
14
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
15
|
+
*
|
|
16
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
17
|
+
********************************************************************************/
|
|
18
|
+
/* eslint-disable deprecation/deprecation */
|
|
19
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
20
|
+
const chai_1 = require("chai");
|
|
21
|
+
require("mocha");
|
|
22
|
+
require("reflect-metadata");
|
|
23
|
+
const sprotty_1 = require("sprotty");
|
|
24
|
+
const layouter_test_util_1 = require("./layouter-test-util");
|
|
25
|
+
describe('HBoxLayouter', () => {
|
|
26
|
+
const layoutRegistry = (0, layouter_test_util_1.setupLayoutRegistry)();
|
|
27
|
+
const log = new sprotty_1.ConsoleLogger();
|
|
28
|
+
const map = new Map();
|
|
29
|
+
function createModel() {
|
|
30
|
+
const model = (0, layouter_test_util_1.sNode)('node', undefined, protocol_1.Dimension.EMPTY);
|
|
31
|
+
model.children = [
|
|
32
|
+
(0, layouter_test_util_1.sLabel)('label1', undefined, undefined, { width: 1, height: 2 }),
|
|
33
|
+
(0, layouter_test_util_1.sLabel)('label2', undefined, undefined, { width: 2, height: 1 }),
|
|
34
|
+
(0, layouter_test_util_1.sLabel)('label3', undefined, undefined, { width: 3, height: 3 })
|
|
35
|
+
];
|
|
36
|
+
model.layout = 'hbox';
|
|
37
|
+
return model;
|
|
38
|
+
}
|
|
39
|
+
it('defaultParams', () => {
|
|
40
|
+
const model = createModel();
|
|
41
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
42
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 13 });
|
|
43
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5.5, width: 1, height: 2 });
|
|
44
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 6, width: 2, height: 1 });
|
|
45
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 5, width: 3, height: 3 });
|
|
46
|
+
});
|
|
47
|
+
it('alignTop', () => {
|
|
48
|
+
const model = createModel();
|
|
49
|
+
model.layoutOptions = {
|
|
50
|
+
vAlign: 'top'
|
|
51
|
+
};
|
|
52
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
53
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 13 });
|
|
54
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5, width: 1, height: 2 });
|
|
55
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 5, width: 2, height: 1 });
|
|
56
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 5, width: 3, height: 3 });
|
|
57
|
+
});
|
|
58
|
+
it('alignCenter', () => {
|
|
59
|
+
const model = createModel();
|
|
60
|
+
model.layoutOptions = {
|
|
61
|
+
vAlign: 'center'
|
|
62
|
+
};
|
|
63
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
64
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 13 });
|
|
65
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5.5, width: 1, height: 2 });
|
|
66
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 6, width: 2, height: 1 });
|
|
67
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 5, width: 3, height: 3 });
|
|
68
|
+
});
|
|
69
|
+
it('alignBottom', () => {
|
|
70
|
+
const model = createModel();
|
|
71
|
+
model.layoutOptions = {
|
|
72
|
+
vAlign: 'bottom'
|
|
73
|
+
};
|
|
74
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
75
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 13 });
|
|
76
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 6, width: 1, height: 2 });
|
|
77
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 7, width: 2, height: 1 });
|
|
78
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 5, width: 3, height: 3 });
|
|
79
|
+
});
|
|
80
|
+
it('padding', () => {
|
|
81
|
+
const model = createModel();
|
|
82
|
+
model.layoutOptions = {
|
|
83
|
+
paddingTop: 7,
|
|
84
|
+
paddingBottom: 8,
|
|
85
|
+
paddingLeft: 9,
|
|
86
|
+
paddingRight: 10
|
|
87
|
+
};
|
|
88
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
89
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 27, height: 18 });
|
|
90
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 9, y: 7.5, width: 1, height: 2 });
|
|
91
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 11, y: 8, width: 2, height: 1 });
|
|
92
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 14, y: 7, width: 3, height: 3 });
|
|
93
|
+
});
|
|
94
|
+
it('hGap', () => {
|
|
95
|
+
const model = createModel();
|
|
96
|
+
model.layoutOptions = {
|
|
97
|
+
hGap: 4
|
|
98
|
+
};
|
|
99
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
100
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 24, height: 13 });
|
|
101
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5.5, width: 1, height: 2 });
|
|
102
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 10, y: 6, width: 2, height: 1 });
|
|
103
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 16, y: 5, width: 3, height: 3 });
|
|
104
|
+
});
|
|
105
|
+
it('paddingFactor', () => {
|
|
106
|
+
const model = createModel();
|
|
107
|
+
model.layoutOptions = {
|
|
108
|
+
paddingFactor: 2
|
|
109
|
+
};
|
|
110
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
111
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 13 });
|
|
112
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 9, y: 8.5, width: 1, height: 2 });
|
|
113
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 11, y: 9, width: 2, height: 1 });
|
|
114
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 14, y: 8, width: 3, height: 3 });
|
|
115
|
+
});
|
|
116
|
+
it('minWidth', () => {
|
|
117
|
+
const model = createModel();
|
|
118
|
+
model.layoutOptions = {
|
|
119
|
+
minWidth: 25
|
|
120
|
+
};
|
|
121
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
122
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 25, height: 13 });
|
|
123
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5.5, width: 1, height: 2 });
|
|
124
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 6, width: 2, height: 1 });
|
|
125
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 5, width: 3, height: 3 });
|
|
126
|
+
});
|
|
127
|
+
it('minHeight', () => {
|
|
128
|
+
const model = createModel();
|
|
129
|
+
model.layoutOptions = {
|
|
130
|
+
minHeight: 25
|
|
131
|
+
};
|
|
132
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
133
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 25 });
|
|
134
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 11.5, width: 1, height: 2 });
|
|
135
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 12, width: 2, height: 1 });
|
|
136
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 11, width: 3, height: 3 });
|
|
137
|
+
});
|
|
138
|
+
it('prefWidth', () => {
|
|
139
|
+
const model = createModel();
|
|
140
|
+
model.layoutOptions = {
|
|
141
|
+
prefWidth: 20
|
|
142
|
+
};
|
|
143
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
144
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 20, height: 13 });
|
|
145
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5.5, width: 1, height: 2 });
|
|
146
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 6, width: 2, height: 1 });
|
|
147
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 5, width: 3, height: 3 });
|
|
148
|
+
});
|
|
149
|
+
it('prefHeight', () => {
|
|
150
|
+
const model = createModel();
|
|
151
|
+
model.layoutOptions = {
|
|
152
|
+
prefHeight: 20
|
|
153
|
+
};
|
|
154
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
155
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 18, height: 20 });
|
|
156
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 9, width: 1, height: 2 });
|
|
157
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 7, y: 9.5, width: 2, height: 1 });
|
|
158
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 10, y: 8.5, width: 3, height: 3 });
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=hbox-layout.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hbox-layout.spec.js","sourceRoot":"","sources":["../../../../src/features/layout/tests/hbox-layout.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,4CAA4C;AAC5C,qDAAmD;AACnD,+BAA8B;AAC9B,iBAAe;AACf,4BAA0B;AAC1B,qCAA0E;AAC1E,6DAAkF;AAElF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,MAAM,cAAc,GAAG,IAAA,wCAAmB,GAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,uBAAa,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEjD,SAAS,WAAW;QAChB,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,MAAM,EAAE,SAAS,EAAE,oBAAS,CAAC,KAAK,CAAC,CAAC;QACxD,KAAK,CAAC,QAAQ,GAAG;YACb,IAAA,2BAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAA,2BAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAA,2BAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SAClE,CAAC;QACF,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,MAAM,EAAE,KAAK;SAChB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACf,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,EAAE;SACnB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACZ,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,IAAI,EAAE,CAAC;SACV,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,aAAa,EAAE,CAAC;SACnB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,QAAQ,EAAE,EAAE;SACf,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,SAAS,EAAE,EAAE;SAChB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACjG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,SAAS,EAAE,EAAE;SAChB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,aAAa,GAAG;YAClB,UAAU,EAAE,EAAE;SACjB,CAAC;QACF,IAAA,2BAAM,EAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022 STMicroelectronics and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Dimension, Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import 'mocha';
|
|
18
|
+
import 'reflect-metadata';
|
|
19
|
+
import { BoundsData, ConsoleLogger, LayoutRegistry, SCompartment, SLabel, SModelElement, SNode } from 'sprotty';
|
|
20
|
+
import { GLSPGraph } from '../../../lib/model';
|
|
21
|
+
export declare function gModel(): GLSPGraph;
|
|
22
|
+
export declare function sNode(type: string, nodeLayout?: string, size?: Dimension, position?: Point, layoutOptions?: {
|
|
23
|
+
[key: string]: string | number | boolean;
|
|
24
|
+
}): SNode;
|
|
25
|
+
export declare function sComp(type: string, compLayout: string, layoutOptions?: {
|
|
26
|
+
[key: string]: string | number | boolean;
|
|
27
|
+
}): SCompartment;
|
|
28
|
+
export declare function sLabel(labelText: string, layoutOptions?: {
|
|
29
|
+
[key: string]: string | number | boolean;
|
|
30
|
+
}, position?: Point, size?: Dimension): SLabel;
|
|
31
|
+
export declare function addToMap(map: Map<SModelElement, BoundsData>, element: SModelElement): void;
|
|
32
|
+
export declare function layout(layoutRegistry: LayoutRegistry, log: ConsoleLogger, map: Map<SModelElement, BoundsData>, model: SNode | GLSPGraph): void;
|
|
33
|
+
export declare function setupLayoutRegistry(): LayoutRegistry;
|
|
34
|
+
//# sourceMappingURL=layouter-test-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layouter-test-util.d.ts","sourceRoot":"","sources":["../../../../src/features/layout/tests/layouter-test-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EACH,UAAU,EACV,aAAa,EAGb,cAAc,EACd,YAAY,EACZ,MAAM,EACN,aAAa,EACb,KAAK,EAGR,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,wBAAgB,MAAM,IAAI,SAAS,CAElC;AAED,wBAAgB,KAAK,CACjB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,KAAK,EAChB,aAAa,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAC7D,KAAK,CAgBP;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,YAAY,CAOlI;AAED,wBAAgB,MAAM,CAClB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,EAC5D,QAAQ,CAAC,EAAE,KAAK,EAChB,IAAI,CAAC,EAAE,SAAS,GACjB,MAAM,CAaR;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAS1F;AAED,wBAAgB,MAAM,CAClB,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,EACnC,KAAK,EAAE,KAAK,GAAG,SAAS,GACzB,IAAI,CAKN;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAKpD"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (c) 2022 STMicroelectronics and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.setupLayoutRegistry = exports.layout = exports.addToMap = exports.sLabel = exports.sComp = exports.sNode = exports.gModel = void 0;
|
|
19
|
+
require("mocha");
|
|
20
|
+
require("reflect-metadata");
|
|
21
|
+
const sprotty_1 = require("sprotty");
|
|
22
|
+
const container_modules_1 = require("../../../base/container-modules");
|
|
23
|
+
const model_1 = require("../../../lib/model");
|
|
24
|
+
const layouter_1 = require("../layouter");
|
|
25
|
+
function gModel() {
|
|
26
|
+
return new model_1.GLSPGraph();
|
|
27
|
+
}
|
|
28
|
+
exports.gModel = gModel;
|
|
29
|
+
function sNode(type, nodeLayout, size, position, layoutOptions) {
|
|
30
|
+
const node = new sprotty_1.SNode();
|
|
31
|
+
node.features = (0, sprotty_1.createFeatureSet)(sprotty_1.SNode.DEFAULT_FEATURES, { enable: [sprotty_1.layoutableChildFeature] });
|
|
32
|
+
node.position = position || {
|
|
33
|
+
x: 0,
|
|
34
|
+
y: 0
|
|
35
|
+
};
|
|
36
|
+
if (size) {
|
|
37
|
+
node.size = size;
|
|
38
|
+
}
|
|
39
|
+
node.type = type;
|
|
40
|
+
if (nodeLayout) {
|
|
41
|
+
node.layout = nodeLayout;
|
|
42
|
+
}
|
|
43
|
+
node.layoutOptions = layoutOptions;
|
|
44
|
+
return node;
|
|
45
|
+
}
|
|
46
|
+
exports.sNode = sNode;
|
|
47
|
+
function sComp(type, compLayout, layoutOptions) {
|
|
48
|
+
const comp = new sprotty_1.SCompartment();
|
|
49
|
+
comp.features = (0, sprotty_1.createFeatureSet)(sprotty_1.SCompartment.DEFAULT_FEATURES);
|
|
50
|
+
comp.type = type;
|
|
51
|
+
comp.layout = compLayout;
|
|
52
|
+
comp.layoutOptions = layoutOptions;
|
|
53
|
+
return comp;
|
|
54
|
+
}
|
|
55
|
+
exports.sComp = sComp;
|
|
56
|
+
function sLabel(labelText, layoutOptions, position, size) {
|
|
57
|
+
const label = new sprotty_1.SLabel();
|
|
58
|
+
label.features = (0, sprotty_1.createFeatureSet)(sprotty_1.SLabel.DEFAULT_FEATURES);
|
|
59
|
+
if (position) {
|
|
60
|
+
label.position = position;
|
|
61
|
+
}
|
|
62
|
+
if (size) {
|
|
63
|
+
label.size = size;
|
|
64
|
+
}
|
|
65
|
+
label.layoutOptions = layoutOptions;
|
|
66
|
+
label.text = labelText;
|
|
67
|
+
label.type = 'label';
|
|
68
|
+
return label;
|
|
69
|
+
}
|
|
70
|
+
exports.sLabel = sLabel;
|
|
71
|
+
function addToMap(map, element) {
|
|
72
|
+
map.set(element, {
|
|
73
|
+
bounds: element.bounds,
|
|
74
|
+
boundsChanged: true,
|
|
75
|
+
alignmentChanged: true
|
|
76
|
+
});
|
|
77
|
+
if (element instanceof sprotty_1.SParentElement) {
|
|
78
|
+
element.children.forEach(c => addToMap(map, c));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.addToMap = addToMap;
|
|
82
|
+
function layout(layoutRegistry, log, map, model) {
|
|
83
|
+
map.clear();
|
|
84
|
+
addToMap(map, model);
|
|
85
|
+
const layouter = new layouter_1.StatefulLayouterExt(map, layoutRegistry, log);
|
|
86
|
+
layouter.layout();
|
|
87
|
+
}
|
|
88
|
+
exports.layout = layout;
|
|
89
|
+
function setupLayoutRegistry() {
|
|
90
|
+
// Generic Test setup
|
|
91
|
+
// create client container that registers all default modules including the layoutModule
|
|
92
|
+
const layoutContainer = (0, container_modules_1.createClientContainer)();
|
|
93
|
+
return layoutContainer.get(sprotty_1.TYPES.LayoutRegistry);
|
|
94
|
+
}
|
|
95
|
+
exports.setupLayoutRegistry = setupLayoutRegistry;
|
|
96
|
+
//# sourceMappingURL=layouter-test-util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layouter-test-util.js","sourceRoot":"","sources":["../../../../src/features/layout/tests/layouter-test-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vbox-layout.spec.d.ts","sourceRoot":"","sources":["../../../../src/features/layout/tests/vbox-layout.spec.ts"],"names":[],"mappings":"AAkBA,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/********************************************************************************
|
|
4
|
+
* Copyright (c) 2022 TypeFox, STMicroelectronics and others.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made available under the
|
|
7
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
8
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
9
|
+
*
|
|
10
|
+
* This Source Code may also be made available under the following Secondary
|
|
11
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
12
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
13
|
+
* with the GNU Classpath Exception which is available at
|
|
14
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
15
|
+
*
|
|
16
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
17
|
+
********************************************************************************/
|
|
18
|
+
/* eslint-disable deprecation/deprecation */
|
|
19
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
20
|
+
const chai_1 = require("chai");
|
|
21
|
+
require("mocha");
|
|
22
|
+
require("reflect-metadata");
|
|
23
|
+
const sprotty_1 = require("sprotty");
|
|
24
|
+
const layouter_test_util_1 = require("./layouter-test-util");
|
|
25
|
+
describe('VBoxLayouter', () => {
|
|
26
|
+
const layoutRegistry = (0, layouter_test_util_1.setupLayoutRegistry)();
|
|
27
|
+
const log = new sprotty_1.ConsoleLogger();
|
|
28
|
+
const map = new Map();
|
|
29
|
+
function createModel() {
|
|
30
|
+
const model = (0, layouter_test_util_1.sNode)('node', undefined, protocol_1.Dimension.EMPTY);
|
|
31
|
+
model.children = [
|
|
32
|
+
(0, layouter_test_util_1.sLabel)('label1', undefined, undefined, { width: 1, height: 2 }),
|
|
33
|
+
(0, layouter_test_util_1.sLabel)('label2', undefined, undefined, { width: 2, height: 1 }),
|
|
34
|
+
(0, layouter_test_util_1.sLabel)('label3', undefined, undefined, { width: 3, height: 3 })
|
|
35
|
+
];
|
|
36
|
+
model.layout = 'vbox';
|
|
37
|
+
return model;
|
|
38
|
+
}
|
|
39
|
+
it('defaultParams', () => {
|
|
40
|
+
const model = createModel();
|
|
41
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
42
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 18 });
|
|
43
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 6, y: 5, width: 1, height: 2 });
|
|
44
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 5.5, y: 8, width: 2, height: 1 });
|
|
45
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 10, width: 3, height: 3 });
|
|
46
|
+
});
|
|
47
|
+
it('alignLeft', () => {
|
|
48
|
+
const model = createModel();
|
|
49
|
+
model.layoutOptions = {
|
|
50
|
+
hAlign: 'left'
|
|
51
|
+
};
|
|
52
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
53
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 18 });
|
|
54
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 5, y: 5, width: 1, height: 2 });
|
|
55
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 5, y: 8, width: 2, height: 1 });
|
|
56
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 10, width: 3, height: 3 });
|
|
57
|
+
});
|
|
58
|
+
it('alignCenter', () => {
|
|
59
|
+
const model = createModel();
|
|
60
|
+
model.layoutOptions = {
|
|
61
|
+
hAlign: 'center'
|
|
62
|
+
};
|
|
63
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
64
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 18 });
|
|
65
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 6, y: 5, width: 1, height: 2 });
|
|
66
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 5.5, y: 8, width: 2, height: 1 });
|
|
67
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 10, width: 3, height: 3 });
|
|
68
|
+
});
|
|
69
|
+
it('alignRight', () => {
|
|
70
|
+
const model = createModel();
|
|
71
|
+
model.layoutOptions = {
|
|
72
|
+
hAlign: 'right'
|
|
73
|
+
};
|
|
74
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
75
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 18 });
|
|
76
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 7, y: 5, width: 1, height: 2 });
|
|
77
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 6, y: 8, width: 2, height: 1 });
|
|
78
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 10, width: 3, height: 3 });
|
|
79
|
+
});
|
|
80
|
+
it('padding', () => {
|
|
81
|
+
const model = createModel();
|
|
82
|
+
model.layoutOptions = {
|
|
83
|
+
paddingTop: 7,
|
|
84
|
+
paddingBottom: 8,
|
|
85
|
+
paddingLeft: 9,
|
|
86
|
+
paddingRight: 10
|
|
87
|
+
};
|
|
88
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
89
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 22, height: 23 });
|
|
90
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 10, y: 7, width: 1, height: 2 });
|
|
91
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 9.5, y: 10, width: 2, height: 1 });
|
|
92
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 9, y: 12, width: 3, height: 3 });
|
|
93
|
+
});
|
|
94
|
+
it('vGap', () => {
|
|
95
|
+
const model = createModel();
|
|
96
|
+
model.layoutOptions = {
|
|
97
|
+
vGap: 4
|
|
98
|
+
};
|
|
99
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
100
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 24 });
|
|
101
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 6, y: 5, width: 1, height: 2 });
|
|
102
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 5.5, y: 11, width: 2, height: 1 });
|
|
103
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 16, width: 3, height: 3 });
|
|
104
|
+
});
|
|
105
|
+
it('paddingFactor', () => {
|
|
106
|
+
const model = createModel();
|
|
107
|
+
model.layoutOptions = {
|
|
108
|
+
paddingFactor: 2
|
|
109
|
+
};
|
|
110
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
111
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 18 });
|
|
112
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 9, y: 9, width: 1, height: 2 });
|
|
113
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 8.5, y: 12, width: 2, height: 1 });
|
|
114
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 8, y: 14, width: 3, height: 3 });
|
|
115
|
+
});
|
|
116
|
+
it('minWidth', () => {
|
|
117
|
+
const model = createModel();
|
|
118
|
+
model.layoutOptions = {
|
|
119
|
+
minWidth: 25
|
|
120
|
+
};
|
|
121
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
122
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 25, height: 18 });
|
|
123
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 12, y: 5, width: 1, height: 2 });
|
|
124
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 11.5, y: 8, width: 2, height: 1 });
|
|
125
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 11, y: 10, width: 3, height: 3 });
|
|
126
|
+
});
|
|
127
|
+
it('minHeight', () => {
|
|
128
|
+
const model = createModel();
|
|
129
|
+
model.layoutOptions = {
|
|
130
|
+
minHeight: 25
|
|
131
|
+
};
|
|
132
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
133
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 25 });
|
|
134
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 6, y: 5, width: 1, height: 2 });
|
|
135
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 5.5, y: 8, width: 2, height: 1 });
|
|
136
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 10, width: 3, height: 3 });
|
|
137
|
+
});
|
|
138
|
+
it('prefWidth', () => {
|
|
139
|
+
const model = createModel();
|
|
140
|
+
model.layoutOptions = {
|
|
141
|
+
prefWidth: 20
|
|
142
|
+
};
|
|
143
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
144
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 20, height: 18 });
|
|
145
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 9.5, y: 5, width: 1, height: 2 });
|
|
146
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 9, y: 8, width: 2, height: 1 });
|
|
147
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 8.5, y: 10, width: 3, height: 3 });
|
|
148
|
+
});
|
|
149
|
+
it('prefHeight', () => {
|
|
150
|
+
const model = createModel();
|
|
151
|
+
model.layoutOptions = {
|
|
152
|
+
prefHeight: 20
|
|
153
|
+
};
|
|
154
|
+
(0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
|
|
155
|
+
(0, chai_1.expect)(map.get(model).bounds).to.deep.equal({ x: 0, y: 0, width: 13, height: 20 });
|
|
156
|
+
(0, chai_1.expect)(map.get(model.children[0]).bounds).to.deep.equal({ x: 6, y: 5, width: 1, height: 2 });
|
|
157
|
+
(0, chai_1.expect)(map.get(model.children[1]).bounds).to.deep.equal({ x: 5.5, y: 8, width: 2, height: 1 });
|
|
158
|
+
(0, chai_1.expect)(map.get(model.children[2]).bounds).to.deep.equal({ x: 5, y: 10, width: 3, height: 3 });
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=vbox-layout.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vbox-layout.spec.js","sourceRoot":"","sources":["../../../../src/features/layout/tests/vbox-layout.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,6 @@ export declare class VBoxLayouterExt extends VBoxLayouter {
|
|
|
36
36
|
protected getElementLayoutOptions(element: SModelElement): VBoxLayoutOptionsExt | undefined;
|
|
37
37
|
protected getFinalContainerBounds(container: SParentElement & LayoutContainer, lastOffset: Point, options: VBoxLayoutOptionsExt, maxWidth: number, maxHeight: number): Bounds;
|
|
38
38
|
protected getDefaultLayoutOptions(): VBoxLayoutOptionsExt;
|
|
39
|
-
protected
|
|
39
|
+
protected filterContainerOptions(containerOptions: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt;
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=vbox-layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vbox-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/vbox-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EACH,UAAU,EAGV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBACa,eAAgB,SAAQ,YAAY;IAC7C,OAAgB,IAAI,SAAqB;IAEhC,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"vbox-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/vbox-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EACH,UAAU,EAGV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBACa,eAAgB,SAAQ,YAAY;IAC7C,OAAgB,IAAI,SAAqB;IAEhC,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;cAwC3E,eAAe,CAC9B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,gBAAgB,GAC3B,SAAS;cAyBO,cAAc,CAC7B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cA8BW,WAAW,CAC1B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,EAClC,gBAAgB,EAAE,oBAAoB,EACtC,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cAgCW,uBAAuB,CACtC,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;cAaU,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,GAAG,oBAAoB;cAIzG,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB;IAIjF,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,GAAG,SAAS;cAIxE,uBAAuB,CACtC,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,MAAM;cAeU,uBAAuB,IAAI,oBAAoB;IAqBlE,SAAS,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,oBAAoB;CAOjG"}
|
|
@@ -30,10 +30,13 @@ const sprotty_1 = require("sprotty");
|
|
|
30
30
|
*/
|
|
31
31
|
let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
|
|
32
32
|
layout(container, layouter) {
|
|
33
|
+
var _a, _b;
|
|
33
34
|
const boundsData = layouter.getBoundsData(container);
|
|
34
35
|
const options = this.getLayoutOptions(container);
|
|
35
36
|
const childrenSize = this.getChildrenSize(container, options, layouter);
|
|
36
37
|
const fixedSize = this.getFixedContainerBounds(container, options, layouter);
|
|
38
|
+
const currentWidth = (((_a = boundsData.bounds) === null || _a === void 0 ? void 0 : _a.width) || 0) - options.paddingLeft - options.paddingRight;
|
|
39
|
+
const currentHeight = (((_b = boundsData.bounds) === null || _b === void 0 ? void 0 : _b.height) || 0) - options.paddingTop - options.paddingBottom;
|
|
37
40
|
const maxWidth = options.paddingFactor *
|
|
38
41
|
(options.resizeContainer
|
|
39
42
|
? Math.max(fixedSize.width - options.paddingLeft - options.paddingRight, childrenSize.width)
|
|
@@ -42,8 +45,10 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
|
|
|
42
45
|
(options.resizeContainer
|
|
43
46
|
? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
|
|
44
47
|
: Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
|
|
48
|
+
const width = Math.max(currentWidth, maxWidth);
|
|
49
|
+
const height = Math.max(currentHeight, maxHeight);
|
|
45
50
|
// Remaining size that can be grabbed by children with the vGrab option
|
|
46
|
-
const grabHeight =
|
|
51
|
+
const grabHeight = height - childrenSize.height;
|
|
47
52
|
// Number of children that request vGrab
|
|
48
53
|
// FIXME: This approach works fine when only 1 child uses VGrab, but may cause rounding issues
|
|
49
54
|
// when the grabHeight can't be equally shared by all children.
|
|
@@ -51,7 +56,7 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
|
|
|
51
56
|
.map(child => this.getChildLayoutOptions(child, options))
|
|
52
57
|
.filter(opt => opt.vGrab).length;
|
|
53
58
|
if (maxWidth > 0 && maxHeight > 0) {
|
|
54
|
-
const offset = this.layoutChildren(container, layouter, options,
|
|
59
|
+
const offset = this.layoutChildren(container, layouter, options, width, height, grabHeight, grabbingChildren);
|
|
55
60
|
boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
|
|
56
61
|
boundsData.boundsChanged = true;
|
|
57
62
|
}
|
|
@@ -99,7 +104,10 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
|
|
|
99
104
|
return currentOffset;
|
|
100
105
|
}
|
|
101
106
|
layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight, grabHeight, grabbingChildren) {
|
|
107
|
+
const hAlign = childOptions.hGrab ? 'left' : childOptions.hAlign;
|
|
108
|
+
const dx = this.getDx(hAlign, bounds, maxWidth);
|
|
102
109
|
let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
|
|
110
|
+
boundsData.bounds = Object.assign(Object.assign({}, boundsData.bounds), { x: currentOffset.x + dx, y: currentOffset.y });
|
|
103
111
|
if (childOptions.hGrab) {
|
|
104
112
|
boundsData.bounds = {
|
|
105
113
|
x: boundsData.bounds.x,
|
|
@@ -136,7 +144,7 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
|
|
|
136
144
|
return protocol_1.Bounds.EMPTY;
|
|
137
145
|
}
|
|
138
146
|
getChildLayoutOptions(child, containerOptions) {
|
|
139
|
-
return super.getChildLayoutOptions(child, containerOptions);
|
|
147
|
+
return super.getChildLayoutOptions(child, this.filterContainerOptions(containerOptions));
|
|
140
148
|
}
|
|
141
149
|
getLayoutOptions(element) {
|
|
142
150
|
return super.getLayoutOptions(element);
|
|
@@ -177,8 +185,12 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
|
|
|
177
185
|
prefWidth: null
|
|
178
186
|
};
|
|
179
187
|
}
|
|
180
|
-
|
|
181
|
-
|
|
188
|
+
filterContainerOptions(containerOptions) {
|
|
189
|
+
// Reset object-specific layout options to default before merging,
|
|
190
|
+
// to make sure they won't be inherited (grab, prefSize)
|
|
191
|
+
// eslint-disable-next-line no-null/no-null
|
|
192
|
+
const localOptions = { vGrab: false, hGrab: false, prefHeight: null, prefWidth: null };
|
|
193
|
+
return Object.assign(Object.assign({}, containerOptions), localOptions);
|
|
182
194
|
}
|
|
183
195
|
};
|
|
184
196
|
VBoxLayouterExt.KIND = sprotty_1.VBoxLayouter.KIND;
|