@phoenix-wing/kt-codegen 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -3
- package/dist/KtCodegenRenderer.d.ts +1 -1
- package/dist/KtCodegenRenderer.d.ts.map +1 -1
- package/dist/KtCodegenRenderer.js +3 -1293
- package/dist/KtCodegenRenderer.js.map +1 -1
- package/dist/api/compatibility.d.ts +21 -0
- package/dist/api/compatibility.d.ts.map +1 -0
- package/dist/api/compatibility.js +43 -0
- package/dist/api/compatibility.js.map +1 -0
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/renderer/caa-command-families.d.ts +4 -0
- package/dist/renderer/caa-command-families.d.ts.map +1 -0
- package/dist/renderer/caa-command-families.js +336 -0
- package/dist/renderer/caa-command-families.js.map +1 -0
- package/dist/renderer/caa-dialog-family.d.ts +5 -0
- package/dist/renderer/caa-dialog-family.d.ts.map +1 -0
- package/dist/renderer/caa-dialog-family.js +323 -0
- package/dist/renderer/caa-dialog-family.js.map +1 -0
- package/dist/renderer/caa-feature-families.d.ts +4 -0
- package/dist/renderer/caa-feature-families.d.ts.map +1 -0
- package/dist/renderer/caa-feature-families.js +250 -0
- package/dist/renderer/caa-feature-families.js.map +1 -0
- package/dist/renderer/caa-renderer.d.ts +6 -0
- package/dist/renderer/caa-renderer.d.ts.map +1 -0
- package/dist/renderer/caa-renderer.js +25 -0
- package/dist/renderer/caa-renderer.js.map +1 -0
- package/dist/renderer/cpp-parameter-family.d.ts +7 -0
- package/dist/renderer/cpp-parameter-family.d.ts.map +1 -0
- package/dist/renderer/cpp-parameter-family.js +77 -0
- package/dist/renderer/cpp-parameter-family.js.map +1 -0
- package/dist/renderer/dialog-support.d.ts +6 -0
- package/dist/renderer/dialog-support.d.ts.map +1 -0
- package/dist/renderer/dialog-support.js +16 -0
- package/dist/renderer/dialog-support.js.map +1 -0
- package/dist/renderer/family-registry.d.ts +28 -0
- package/dist/renderer/family-registry.d.ts.map +1 -0
- package/dist/renderer/family-registry.js +55 -0
- package/dist/renderer/family-registry.js.map +1 -0
- package/dist/renderer/legacy-compatibility.d.ts +16 -0
- package/dist/renderer/legacy-compatibility.d.ts.map +1 -0
- package/dist/renderer/legacy-compatibility.js +77 -0
- package/dist/renderer/legacy-compatibility.js.map +1 -0
- package/dist/renderer/qt-dialog-family.d.ts +7 -0
- package/dist/renderer/qt-dialog-family.d.ts.map +1 -0
- package/dist/renderer/qt-dialog-family.js +231 -0
- package/dist/renderer/qt-dialog-family.js.map +1 -0
- package/package.json +4 -2
- package/tests/fixtures/contracts/apply-projection-v1.json +82 -0
- package/tests/fixtures/contracts/codegen-host-contract-v1.json +280 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
import { ktCodegenDialogParamName, ktCodegenLegacyDialogListIndex, } from "./dialog-support.js";
|
|
3
|
+
import { ktCodegenRenderLegacyEnd, ktCodegenRenderLegacyStart, } from "./legacy-compatibility.js";
|
|
4
|
+
export const KT_CODEGEN_CAA_DIALOG_BLOCKS = [
|
|
5
|
+
"DIALOG NOTIFY",
|
|
6
|
+
"UPDATE DIALOG",
|
|
7
|
+
"UPDATE INFORS",
|
|
8
|
+
];
|
|
9
|
+
/** 判断旧 CAA Dialog 通知和双向更新块是否保留当前 Item。 */
|
|
10
|
+
function ktCodegenIsCaaDialogItem(item, nameSuffix) {
|
|
11
|
+
return item.nameSuffix === nameSuffix && item.id >= 1;
|
|
12
|
+
}
|
|
13
|
+
/** 按旧 CAA Dialog Agent 规则生成各控件的 AcceptOnNotify。 */
|
|
14
|
+
function ktCodegenRenderCaaDialogNotifyLines(region, items, isCaaVector) {
|
|
15
|
+
const prefix = region.start.linePrefix;
|
|
16
|
+
const lines = ktCodegenRenderLegacyStart(region);
|
|
17
|
+
for (const item of items) {
|
|
18
|
+
lines.push("");
|
|
19
|
+
const dialogPointer = item.isParamDlg ? "dialogMore->" : "";
|
|
20
|
+
const paramName = item.paramString.replaceAll("_", "");
|
|
21
|
+
const notes = `${prefix}// ${item.id}, ${item.paramString}`;
|
|
22
|
+
if (item.componentCount <= 0) {
|
|
23
|
+
lines.push(`${notes}, NO ACTION, ${item.component}, ${item.componentCount}`);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (item.component === "Spinner") {
|
|
27
|
+
lines.push(notes);
|
|
28
|
+
const component = `${dialogPointer}_Spinner${paramName}`;
|
|
29
|
+
const suffixes = isCaaVector(item) ? ["X", "Y", "Z"] : [""];
|
|
30
|
+
for (const suffix of suffixes) {
|
|
31
|
+
const control = `${component}${suffix}`;
|
|
32
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${control}, ${control}->GetSpinnerModifyNotification());`);
|
|
33
|
+
}
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (item.component.startsWith("CheckButton")) {
|
|
37
|
+
lines.push(notes);
|
|
38
|
+
const component = `${dialogPointer}_CheckButton${paramName}`;
|
|
39
|
+
if (item.componentCount === 1) {
|
|
40
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${component}, ${component}->GetChkBModifyNotification());`);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
44
|
+
const control = `${component}${index}`;
|
|
45
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${control}, ${control}->GetChkBModifyNotification());`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (item.component.startsWith("RadioButton")) {
|
|
51
|
+
lines.push(notes);
|
|
52
|
+
const component = `${dialogPointer}_RadioButton${paramName}`;
|
|
53
|
+
// 旧代码会把共享 ComponentCount 由1改为2;这里只使用局部值保持输出。
|
|
54
|
+
const count = item.componentCount === 1 ? 2 : item.componentCount;
|
|
55
|
+
for (let index = 0; index < count; index += 1) {
|
|
56
|
+
const control = `${component}${index}`;
|
|
57
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${control}, ${control}->GetRadBModifyNotification());`);
|
|
58
|
+
}
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (item.component.startsWith("Combo")) {
|
|
62
|
+
lines.push(notes);
|
|
63
|
+
const component = `${dialogPointer}_Combo${paramName}`;
|
|
64
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${component}, ${component}->GetComboModifyNotification());`);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (item.component === "Editor") {
|
|
68
|
+
lines.push(notes);
|
|
69
|
+
const component = `${dialogPointer}_Editor${paramName}`;
|
|
70
|
+
if (item.componentCount === 1) {
|
|
71
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${component}, ${component}->GetEditModifyNotification());`);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
75
|
+
const control = `${component}${index}`;
|
|
76
|
+
lines.push(`${prefix}ipDialogAgent->AcceptOnNotify(${control}, ${control}->GetEditModifyNotification());`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
lines.push(`${notes}, NOT SUPPORT, ${item.component}, ${item.componentCount}`);
|
|
82
|
+
}
|
|
83
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
84
|
+
}
|
|
85
|
+
/** 按旧 `CreateCAAUpdateDialog` 规则把共享参数写入 CAA 控件。 */
|
|
86
|
+
function ktCodegenRenderCaaUpdateDialogLines(context, region, items, isCaaVector) {
|
|
87
|
+
const prefix = region.start.linePrefix;
|
|
88
|
+
const lines = ktCodegenRenderLegacyStart(region);
|
|
89
|
+
for (const item of items) {
|
|
90
|
+
lines.push("");
|
|
91
|
+
const dialogPointer = item.isParamDlg ? "dialogMore->" : "";
|
|
92
|
+
const param = `parameter->${item.paramString}`;
|
|
93
|
+
const name = ktCodegenDialogParamName(item);
|
|
94
|
+
const notes = `// ${item.id},${item.paramString},${item.notes}`;
|
|
95
|
+
if (item.componentCount <= 0) {
|
|
96
|
+
lines.push(`${prefix}${notes},NO ACTION,${item.component},${item.componentCount}`);
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (item.component === "Spinner") {
|
|
100
|
+
lines.push(`${prefix}${notes}`);
|
|
101
|
+
const component = `${dialogPointer}_Spinner${name}`;
|
|
102
|
+
if (isCaaVector(item)) {
|
|
103
|
+
const unitFactor = item.unit === "mm" ? " * 0.001" : "";
|
|
104
|
+
lines.push(`${prefix}${component}X->SetValue(${param}.GetX()${unitFactor}, 0);`, `${prefix}${component}Y->SetValue(${param}.GetY()${unitFactor}, 0);`, `${prefix}${component}Z->SetValue(${param}.GetZ()${unitFactor}, 0);`);
|
|
105
|
+
}
|
|
106
|
+
else if (item.componentCount === 1) {
|
|
107
|
+
lines.push(`${prefix}${component}->SetValue(${param}, 0);`);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const indexSub = ktCodegenLegacyDialogListIndex(item.dataType, true);
|
|
111
|
+
if (indexSub === null) {
|
|
112
|
+
// 旧 VB 故意把错误文本写入候选源码,且不附加 `_prefix`。
|
|
113
|
+
lines.push("data type is wrong!");
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const unitFactor = item.unit === "mm" ? " * 0.001" : "";
|
|
117
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
118
|
+
lines.push(`${prefix}${component}${index}->SetValue(${param}[${index + indexSub}]${unitFactor}, 0);`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (item.component.startsWith("CheckButton")) {
|
|
125
|
+
lines.push(`${prefix}${notes}`);
|
|
126
|
+
const component = `${dialogPointer}_CheckButton${name}`;
|
|
127
|
+
if (item.componentCount === 1) {
|
|
128
|
+
lines.push(`${prefix}${component}->SetState(${param} ? CATDlgCheck : CATDlgUncheck, 0);`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
132
|
+
lines.push(`${prefix}${component}${index}->SetState( (${param} & (1<<${index}))? CATDlgCheck:CATDlgUncheck, 0);`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (item.component.startsWith("RadioButton")) {
|
|
138
|
+
const component = `${dialogPointer}_RadioButton${name}`;
|
|
139
|
+
// 旧方法会将共享 count=1 改成2;局部修正可保持输出且不污染 Analyze。
|
|
140
|
+
const count = item.componentCount === 1 ? 2 : item.componentCount;
|
|
141
|
+
const lastIndex = count - 1;
|
|
142
|
+
// 原方法在 Radio 分支重复追加了同一条参数注释。
|
|
143
|
+
lines.push(`${prefix}${notes}`, `${prefix}${notes}`);
|
|
144
|
+
lines.push(`${prefix}if (${param} > ${lastIndex} || ${param} < 0) // BR`, `${prefix} ${param} = (${item.dataType})0;`);
|
|
145
|
+
for (let index = 0; index < count; index += 1) {
|
|
146
|
+
lines.push(`${prefix}${component}${index}->SetState((${param} == ${index}) ? CATDlgCheck : CATDlgUncheck, 0);`);
|
|
147
|
+
}
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (item.component.startsWith("Combo")) {
|
|
151
|
+
const component = `${dialogPointer}_Combo${name}`;
|
|
152
|
+
if (item.dataType === "int") {
|
|
153
|
+
lines.push(`${prefix}${component}->SetSelect( ${param}, 0);`);
|
|
154
|
+
}
|
|
155
|
+
else if (item.dataType === "double" || item.dataType === "CATUnicodeString") {
|
|
156
|
+
lines.push(`${prefix}${component}->SetField( ${param});`);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
lines.push(`${prefix}${component},NO ACTION,Data Type Error, ${item.dataType}`);
|
|
160
|
+
}
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (item.component === "SelectorList") {
|
|
164
|
+
lines.push(`${prefix}${notes}`);
|
|
165
|
+
let withNoSelection = false;
|
|
166
|
+
if (item.paramString === "OriginSpec") {
|
|
167
|
+
withNoSelection = true;
|
|
168
|
+
lines.push(`${prefix}NoSelectionMsg=${context.param.nameSpace}::GetCoordString(parameter->OriginCoord);`);
|
|
169
|
+
}
|
|
170
|
+
else if (item.paramString === "XDirectionSpec") {
|
|
171
|
+
withNoSelection = true;
|
|
172
|
+
lines.push(`${prefix}NoSelectionMsg=${context.param.nameSpace}::GetCoordString(parameter->XDirectionCoord,parameter->XDirectionSign);`);
|
|
173
|
+
}
|
|
174
|
+
else if (item.paramString === "YDirectionSpec") {
|
|
175
|
+
withNoSelection = true;
|
|
176
|
+
lines.push(`${prefix}NoSelectionMsg=${context.param.nameSpace}::GetCoordString(parameter->YDirectionCoord,parameter->YDirectionSign);`);
|
|
177
|
+
}
|
|
178
|
+
else if (item.paramString === "AxisSpec") {
|
|
179
|
+
withNoSelection = true;
|
|
180
|
+
lines.push(`${prefix}NoSelectionMsg="Default(Absolute)";`);
|
|
181
|
+
}
|
|
182
|
+
const component = `${dialogPointer}_SelectorList${name}`;
|
|
183
|
+
lines.push(`${prefix}KT_AUTO_FIELD_SET_LINE(${component}, ${param}${withNoSelection ? ", &NoSelectionMsg" : ""});`);
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
if (item.component === "Editor") {
|
|
187
|
+
const component = `${dialogPointer}_Editor${name}`;
|
|
188
|
+
const functionName = item.dataType === "double" || item.dataType === "int" ? "SetValue" : "SetText";
|
|
189
|
+
if (item.componentCount === 1) {
|
|
190
|
+
lines.push(`${prefix}${component}->${functionName}(${param}, 0);`);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
194
|
+
lines.push(`${prefix}${component}${index}->${functionName}(${param}[${index + 1}], 0);`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const supportNote = item.component.length === 0 || item.component === "PushButton"
|
|
200
|
+
? ""
|
|
201
|
+
: " (Not Support)";
|
|
202
|
+
lines.push(`${prefix}${notes},NO ACTION,${item.component}${supportNote},${item.componentCount}`);
|
|
203
|
+
}
|
|
204
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
205
|
+
}
|
|
206
|
+
/** 按旧 `CreateCAAUpdateInfors` 规则把 CAA 控件值写回共享参数。 */
|
|
207
|
+
function ktCodegenRenderCaaUpdateInforsLines(region, items, isCaaVector) {
|
|
208
|
+
const prefix = region.start.linePrefix;
|
|
209
|
+
const lines = ktCodegenRenderLegacyStart(region);
|
|
210
|
+
for (const item of items) {
|
|
211
|
+
lines.push("");
|
|
212
|
+
const dialogPointer = item.isParamDlg ? "dialogMore->" : "";
|
|
213
|
+
const param = `parameter->${item.paramString}`;
|
|
214
|
+
const name = ktCodegenDialogParamName(item);
|
|
215
|
+
let notes = `// ${item.id},${item.paramString},${item.notes}`;
|
|
216
|
+
const generated = [];
|
|
217
|
+
const convertToInt = item.tcKind === "tk_integer" && item.dataType.toLowerCase() !== "int";
|
|
218
|
+
if (item.componentCount <= 0) {
|
|
219
|
+
notes += `,NO ACTION, ${item.component},${item.componentCount}`;
|
|
220
|
+
}
|
|
221
|
+
else if (item.component === "Spinner") {
|
|
222
|
+
const component = `${dialogPointer}_Spinner${name}`;
|
|
223
|
+
if (isCaaVector(item)) {
|
|
224
|
+
const unitFactor = item.unit === "mm" ? " * 1000.0" : "";
|
|
225
|
+
generated.push(`${prefix}${param}.SetX(${component}X->GetValue()${unitFactor});`, `${prefix}${param}.SetY(${component}Y->GetValue()${unitFactor});`, `${prefix}${param}.SetZ(${component}Z->GetValue()${unitFactor});`);
|
|
226
|
+
}
|
|
227
|
+
else if (item.componentCount === 1) {
|
|
228
|
+
const value = `${component}->GetValue()`;
|
|
229
|
+
generated.push(`${prefix}${param} = ${item.dataType === "int" ? `Kt::round(${value})` : value};`);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
const indexSub = ktCodegenLegacyDialogListIndex(item.dataType, true);
|
|
233
|
+
if (indexSub === null) {
|
|
234
|
+
notes += "data type is wrong";
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
238
|
+
const value = `${component}${index}->GetValue()`;
|
|
239
|
+
const rounded = item.dataType === "int" ? `Kt::round(${value})` : value;
|
|
240
|
+
generated.push(`${prefix}${param}[${index + indexSub}] = ${rounded};${item.dataType === "int" ? "//round" : ""}`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else if (item.component.startsWith("CheckButton")) {
|
|
246
|
+
const component = `${dialogPointer}_CheckButton${name}`;
|
|
247
|
+
if (item.componentCount === 1) {
|
|
248
|
+
const value = `${component}->GetState() == CATDlgCheck ? TRUE : FALSE`;
|
|
249
|
+
generated.push(`${prefix}${param} = ${item.dataType === "int" ? value : `(${item.dataType})(int)(${value})`};`);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
generated.push(`${prefix}${param}=0;`);
|
|
253
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
254
|
+
const linePrefix = index === 0 ? " " : prefix;
|
|
255
|
+
generated.push(`${linePrefix}if (${component}${index}->GetState() == CATDlgCheck)${param} = ${param} | (1<<${index});`);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else if (item.component.startsWith("RadioButton")) {
|
|
260
|
+
const component = `${dialogPointer}_RadioButton${name}`;
|
|
261
|
+
const count = item.componentCount === 1 ? 2 : item.componentCount;
|
|
262
|
+
generated.push(`${prefix}${param} = (${item.dataType})0;`);
|
|
263
|
+
for (let index = 1; index < count; index += 1) {
|
|
264
|
+
generated.push(`${prefix}if (${component}${index}->GetState() == CATDlgCheck) // BR`, `${prefix} ${param} = ${convertToInt ? `(${item.dataType})` : ""}${index};`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else if (item.component.startsWith("Combo")) {
|
|
268
|
+
const component = `${dialogPointer}_Combo${name}`;
|
|
269
|
+
if (item.dataType === "int") {
|
|
270
|
+
generated.push(`${prefix}${param} = ${component}->GetSelect();`);
|
|
271
|
+
}
|
|
272
|
+
else if (item.dataType === "double") {
|
|
273
|
+
generated.push(`${prefix}${param} = ${component}->GetField();`);
|
|
274
|
+
}
|
|
275
|
+
else if (item.dataType === "CATUnicodeString") {
|
|
276
|
+
generated.push(`${prefix}${component}->GetField(${param});`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
notes += `,NO ACTION,Data Type Error,${item.dataType}`;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
else if (item.component === "Editor") {
|
|
283
|
+
const component = `${dialogPointer}_Editor${name}`;
|
|
284
|
+
const functionName = item.dataType === "double" ? "GetValue" : "GetText";
|
|
285
|
+
if (item.componentCount === 1) {
|
|
286
|
+
generated.push(`${prefix}${param} = ${component}->${functionName}();`);
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
for (let index = 0; index < item.componentCount; index += 1) {
|
|
290
|
+
generated.push(`${prefix}${param}[${index + 1}] = ${component}${index}->${functionName}();`);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
const supportNote = item.component.length === 0 ||
|
|
296
|
+
item.component === "PushButton" ||
|
|
297
|
+
item.component === "SelectorList" ||
|
|
298
|
+
item.component === "MultiList"
|
|
299
|
+
? ""
|
|
300
|
+
: " (Not Support)";
|
|
301
|
+
notes += `,NO ACTION,${item.component}${supportNote},${item.componentCount}`;
|
|
302
|
+
}
|
|
303
|
+
lines.push(`${prefix}${notes}`, ...generated);
|
|
304
|
+
}
|
|
305
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
306
|
+
}
|
|
307
|
+
const caaDialogFamily = {
|
|
308
|
+
id: "caa.dialog",
|
|
309
|
+
blockKeys: KT_CODEGEN_CAA_DIALOG_BLOCKS,
|
|
310
|
+
renderRegion(context, region, algorithms) {
|
|
311
|
+
const items = context.param.items.filter((item) => ktCodegenIsCaaDialogItem(item, region.nameSuffix));
|
|
312
|
+
const lines = region.blockKey === "DIALOG NOTIFY"
|
|
313
|
+
? ktCodegenRenderCaaDialogNotifyLines(region, items, algorithms.isCaaVector)
|
|
314
|
+
: region.blockKey === "UPDATE DIALOG"
|
|
315
|
+
? ktCodegenRenderCaaUpdateDialogLines(context, region, items, algorithms.isCaaVector)
|
|
316
|
+
: ktCodegenRenderCaaUpdateInforsLines(region, items, algorithms.isCaaVector);
|
|
317
|
+
return { items, lines };
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
export const KT_CODEGEN_CAA_DIALOG_FAMILIES = [
|
|
321
|
+
caaDialogFamily,
|
|
322
|
+
];
|
|
323
|
+
//# sourceMappingURL=caa-dialog-family.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caa-dialog-family.js","sourceRoot":"","sources":["../../src/renderer/caa-dialog-family.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { KtCodegenCaaAlgorithms } from "../KtCodegenRenderer.js";
|
|
2
|
+
import type { KtCodegenRendererFamily } from "./family-registry.js";
|
|
3
|
+
export declare const KT_CODEGEN_CAA_FEATURE_FAMILIES: readonly [KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, KtCodegenRendererFamily<KtCodegenCaaAlgorithms>];
|
|
4
|
+
//# sourceMappingURL=caa-feature-families.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caa-feature-families.d.ts","sourceRoot":"","sources":["../../src/renderer/caa-feature-families.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EAGvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAsVpE,eAAO,MAAM,+BAA+B,8JAImC,CAAC"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
import { ktCodegenRenderLegacyEnd, ktCodegenRenderLegacyNotes, ktCodegenRenderLegacyStart, } from "./legacy-compatibility.js";
|
|
3
|
+
const CAA_INTERFACE_BLOCKS = [
|
|
4
|
+
"IMPLEMENTS HEAD GET",
|
|
5
|
+
"IMPLEMENTS HEAD SET",
|
|
6
|
+
"INTERFACES HEAD GET",
|
|
7
|
+
"INTERFACES HEAD SET",
|
|
8
|
+
];
|
|
9
|
+
const CAA_FEATURE_IO_BLOCKS = [
|
|
10
|
+
"IMPLEMENTS CPP GET",
|
|
11
|
+
"IMPLEMENTS CPP SET",
|
|
12
|
+
"IMPLEMENTS PARAM GET",
|
|
13
|
+
"IMPLEMENTS PARAM SET",
|
|
14
|
+
];
|
|
15
|
+
const CAA_INTERFACE_BLOCK_SET = new Set(CAA_INTERFACE_BLOCKS);
|
|
16
|
+
/** 判断旧接口头文件块生成时是否保留当前 Item。 */
|
|
17
|
+
function ktCodegenIsCaaInterfaceItem(item, nameSuffix) {
|
|
18
|
+
if (item.nameSuffix !== nameSuffix || item.id === -1)
|
|
19
|
+
return false;
|
|
20
|
+
return item.id < 100 || item.id >= 200;
|
|
21
|
+
}
|
|
22
|
+
/** 按旧 VB 规则生成 CAA 实现类或纯虚接口类的 Get/Set 声明。 */
|
|
23
|
+
function ktCodegenRenderCaaInterfaceLines(region, items, isParamSpecList) {
|
|
24
|
+
const prefix = region.start.linePrefix;
|
|
25
|
+
const isGet = region.blockKey === "IMPLEMENTS HEAD GET" ||
|
|
26
|
+
region.blockKey === "INTERFACES HEAD GET";
|
|
27
|
+
const isVirtual = region.blockKey === "INTERFACES HEAD GET" ||
|
|
28
|
+
region.blockKey === "INTERFACES HEAD SET";
|
|
29
|
+
const lines = ktCodegenRenderLegacyStart(region);
|
|
30
|
+
// 旧方法使用 CodeAppendLine,public 标签不附加 `_prefix`。
|
|
31
|
+
lines.push(`public: // ${isGet ? "Get" : "Set"}`);
|
|
32
|
+
items.forEach((item, index) => {
|
|
33
|
+
if (index > 0)
|
|
34
|
+
lines.push("");
|
|
35
|
+
lines.push(...ktCodegenRenderLegacyNotes(item, prefix, isGet ? 2 : 1, isParamSpecList));
|
|
36
|
+
if (isGet) {
|
|
37
|
+
const listSpec = isParamSpecList(item);
|
|
38
|
+
const declaration = listSpec
|
|
39
|
+
? `HRESULT Get${item.paramString}(${item.dataType}& value) const`
|
|
40
|
+
: `${item.dataType} Get${item.paramString}() const`;
|
|
41
|
+
lines.push(`${prefix}${isVirtual ? "virtual " : ""}${declaration}${isVirtual ? " = 0" : ""};`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const declaration = `HRESULT Set${item.paramString}(const ${item.dataType}& value, const CATBoolean& checkExist = CATTrue)`;
|
|
45
|
+
lines.push(`${prefix}${isVirtual ? "virtual " : ""}${declaration}${isVirtual ? " = 0" : ""};`);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
49
|
+
}
|
|
50
|
+
/** 判断旧 Params Class Get/Set 是否保留当前 Item:仅允许 ID 1~99。 */
|
|
51
|
+
function ktCodegenIsCaaParamsClassItem(item, nameSuffix) {
|
|
52
|
+
return item.nameSuffix === nameSuffix && item.id > 0 && item.id < 100;
|
|
53
|
+
}
|
|
54
|
+
/** 按旧 VB 规则生成 CAA 实现类 CPP 中的单参数 Get/Set 函数。 */
|
|
55
|
+
function ktCodegenRenderCaaFeatureCppLines(context, region, items, algorithms) {
|
|
56
|
+
const prefix = region.start.linePrefix;
|
|
57
|
+
const isGet = region.blockKey === "IMPLEMENTS CPP GET";
|
|
58
|
+
const className = `${context.param.namePrefix}E${context.param.nameMiddle}${region.nameSuffix}`;
|
|
59
|
+
const lines = [...ktCodegenRenderLegacyStart(region), ""];
|
|
60
|
+
for (const item of items) {
|
|
61
|
+
const listSpec = algorithms.isParamSpecList(item);
|
|
62
|
+
lines.push(`${prefix}//-----------------------------------------------`);
|
|
63
|
+
if (isGet) {
|
|
64
|
+
const returnType = listSpec ? "HRESULT" : item.dataType;
|
|
65
|
+
const parameter = listSpec ? `${item.dataType}& value` : "";
|
|
66
|
+
lines.push(`${prefix}${returnType} ${className}::Get${item.paramString}(${parameter}) const // ${item.id}`, `${prefix}{`);
|
|
67
|
+
const convertToInt = !listSpec && item.tcKind === "tk_integer" && item.dataType.toLowerCase() !== "int";
|
|
68
|
+
if (!listSpec) {
|
|
69
|
+
const defaultValue = algorithms.formatDefaultValue(item);
|
|
70
|
+
if (convertToInt) {
|
|
71
|
+
lines.push(`${prefix} int value = (int)(${defaultValue});`);
|
|
72
|
+
}
|
|
73
|
+
else if (defaultValue.length > 0) {
|
|
74
|
+
lines.push(`${prefix} ${item.dataType} value(${defaultValue});`);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
lines.push(`${prefix} ${item.dataType} value;`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (listSpec) {
|
|
81
|
+
if (item.dataType === `${context.param.nameSpace}::SpecObjectCollect`) {
|
|
82
|
+
const orderSuffix = algorithms.getLastStandaloneUppercase(item.paramString);
|
|
83
|
+
lines.push(`${prefix} value.RemoveAll();`, `${prefix} value.SetIsOrderBySerial(GetIsOrderBySerial${orderSuffix}());`,
|
|
84
|
+
// 旧 StringOut 在第二个 vbNewLine 后只追加四个空格,没有 `_prefix`。
|
|
85
|
+
` return ktcSpecRW.GetListValue("${item.paramString}", value);`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
lines.push(`${prefix} return ktcSpecRW.GetListValue("${item.paramString}", value);`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const getFunction = item.tcKind.toLowerCase() === "tk_specobject" ? "GetSpecValue" : "GetValue";
|
|
93
|
+
lines.push(`${prefix} ktcSpecRW.${getFunction}("${item.paramString}", value);`, `${prefix} return ${convertToInt ? `(${item.dataType})` : ""}value;`);
|
|
94
|
+
}
|
|
95
|
+
lines.push(`${prefix}}`);
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
lines.push(`${prefix}HRESULT ${className}::Set${item.paramString}(const ${item.dataType}& value, const CATBoolean& checkExist) // ${item.id}`, `${prefix}{`);
|
|
99
|
+
if (listSpec) {
|
|
100
|
+
lines.push(`${prefix} return ktcSpecRW.SetListValue("${item.paramString}", value, checkExist);`);
|
|
101
|
+
}
|
|
102
|
+
else if (item.tcKind.toLowerCase() === "tk_specobject") {
|
|
103
|
+
lines.push(`${prefix} return ktcSpecRW.SetSpecValue("${item.paramString}", value, checkExist);`);
|
|
104
|
+
}
|
|
105
|
+
else if (item.tcKind === "tk_integer" && item.dataType.toLowerCase() !== "int") {
|
|
106
|
+
lines.push(`${prefix} int valueInput = (int)value;`, `${prefix} return ktcSpecRW.SetValue("${item.paramString}", valueInput, checkExist);`);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
lines.push(`${prefix} return ktcSpecRW.SetValue("${item.paramString}", value, checkExist);`);
|
|
110
|
+
}
|
|
111
|
+
lines.push(`${prefix}}`);
|
|
112
|
+
}
|
|
113
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
114
|
+
}
|
|
115
|
+
/** 按旧 VB 规则生成 Param 聚合对象与单参数 Get/Set 之间的桥接语句。 */
|
|
116
|
+
function ktCodegenRenderCaaParamsClassLines(region, items, isParamSpecList) {
|
|
117
|
+
const prefix = region.start.linePrefix;
|
|
118
|
+
const isGet = region.blockKey === "IMPLEMENTS PARAM GET";
|
|
119
|
+
const lines = [...ktCodegenRenderLegacyStart(region), ""];
|
|
120
|
+
for (const item of items) {
|
|
121
|
+
if (isGet) {
|
|
122
|
+
lines.push(isParamSpecList(item)
|
|
123
|
+
? `${prefix}Get${item.paramString}(value.${item.paramString}); // ${item.id}`
|
|
124
|
+
: `${prefix}value.${item.paramString} = Get${item.paramString}(); // ${item.id}`);
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
lines.push(`${prefix}hr = Set${item.paramString}(value.${item.paramString}); // ${item.id}`, `${prefix}if (FAILED(hr)) {`, `${prefix} msg.Append("\\nSet Parameter of ${item.paramString} Error!");`, `${prefix} findError = TRUE;`, `${prefix}}`);
|
|
128
|
+
}
|
|
129
|
+
if (!isGet) {
|
|
130
|
+
lines.push(`${prefix}if (findError) {`, `${prefix} SetErrMsg(msg);`, `${prefix} return E_FAIL;`, `${prefix}}`);
|
|
131
|
+
}
|
|
132
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
133
|
+
}
|
|
134
|
+
/** 判断 Catalog 块是否保留 Item:仅排除旧保留段 ID 100~199。 */
|
|
135
|
+
function ktCodegenIsCaaCatalogItem(item, nameSuffix) {
|
|
136
|
+
return (item.nameSuffix === nameSuffix &&
|
|
137
|
+
!(item.id >= 100 && item.id < 200));
|
|
138
|
+
}
|
|
139
|
+
/** 按旧 Catalog 参数注册格式生成注释、SetValue 和列表追加语句。 */
|
|
140
|
+
function ktCodegenRenderCaaCatalogLines(region, items, algorithms) {
|
|
141
|
+
const prefix = region.start.linePrefix;
|
|
142
|
+
const lines = ktCodegenRenderLegacyStart(region);
|
|
143
|
+
for (const item of items) {
|
|
144
|
+
const notes = item.notes.length > 0 ? `\t${item.notes}` : "";
|
|
145
|
+
lines.push(`${prefix}// ${item.id}; \t${item.name}; ${item.author}; ${item.createDate};${notes}`);
|
|
146
|
+
const listValue = item.isList || algorithms.isPointOrVector3DType(item.dataType);
|
|
147
|
+
const setFunction = listValue ? "SetTKListValue" : "SetValue";
|
|
148
|
+
lines.push(`${prefix}item.${setFunction}("${item.paramString}", ${item.tcKind}, ${item.catAttrInOut});`, `${prefix}itemList.push_back(item);`);
|
|
149
|
+
}
|
|
150
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
151
|
+
}
|
|
152
|
+
/** 判断 Factory On Tree 块是否保留 Item。 */
|
|
153
|
+
function ktCodegenIsCaaFactoryTreeItem(item, nameSuffix) {
|
|
154
|
+
return (item.nameSuffix === nameSuffix &&
|
|
155
|
+
item.id >= -1 &&
|
|
156
|
+
(item.isOnTree || item.id === -1));
|
|
157
|
+
}
|
|
158
|
+
/** 按旧 Factory On Tree 规则生成参数工厂创建和树显示标志。 */
|
|
159
|
+
function ktCodegenRenderCaaFactoryTreeLines(region, items, formatTreeName) {
|
|
160
|
+
const prefix = region.start.linePrefix;
|
|
161
|
+
const lines = ktCodegenRenderLegacyStart(region);
|
|
162
|
+
for (const item of items) {
|
|
163
|
+
lines.push("");
|
|
164
|
+
const notes = item.notes.length > 0 ? ` ${item.notes}` : "";
|
|
165
|
+
lines.push(`${prefix}// ${item.id}, ${item.paramString},${notes}`);
|
|
166
|
+
if (item.tcKind !== "tk_specobject") {
|
|
167
|
+
// 旧代码把校验错误直接写进候选代码,且不附加 `_prefix`。
|
|
168
|
+
lines.push("发现错误,TCKKind应该是tk_specobject");
|
|
169
|
+
}
|
|
170
|
+
lines.push(`${prefix}spListParmName.Append("${item.paramString}");`);
|
|
171
|
+
if (item.id === -1) {
|
|
172
|
+
lines.push(`${prefix}spListParm.Append(piParmFactory->CreateInteger("Temp Spec", 0));`);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
const unit = item.unit.toLowerCase();
|
|
176
|
+
let createFunction;
|
|
177
|
+
if (unit === "mm") {
|
|
178
|
+
if (item.dataType !== "double")
|
|
179
|
+
lines.push("发现错误,DataType应该是double");
|
|
180
|
+
createFunction = "CreateLength";
|
|
181
|
+
}
|
|
182
|
+
else if (unit === "degree") {
|
|
183
|
+
if (item.dataType !== "double")
|
|
184
|
+
lines.push("发现错误,DataType应该是double");
|
|
185
|
+
createFunction = "CreateAngle";
|
|
186
|
+
}
|
|
187
|
+
else if (item.dataType === "int") {
|
|
188
|
+
createFunction = "CreateInteger";
|
|
189
|
+
}
|
|
190
|
+
else if (item.dataType === "double") {
|
|
191
|
+
createFunction = "CreateReal";
|
|
192
|
+
}
|
|
193
|
+
else if (item.dataType === "CATBoolean") {
|
|
194
|
+
createFunction = "CreateBoolean";
|
|
195
|
+
}
|
|
196
|
+
else if (item.dataType === "CATUnicodeString") {
|
|
197
|
+
createFunction = "CreateString";
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
createFunction = `没有处理此类型<${item.dataType}>请告知杨海华`;
|
|
201
|
+
}
|
|
202
|
+
const title = formatTreeName(item.paramString);
|
|
203
|
+
lines.push(`${prefix}spListParm.Append(piParmFactory->${createFunction}("${title}", parameter->${item.paramString}));`);
|
|
204
|
+
}
|
|
205
|
+
lines.push(`${prefix}ListOnTree.Append(${item.id === -1 ? "false" : "true"});`);
|
|
206
|
+
}
|
|
207
|
+
return [...lines, ...ktCodegenRenderLegacyEnd(region)];
|
|
208
|
+
}
|
|
209
|
+
const featureIoFamily = {
|
|
210
|
+
id: "caa.feature-io",
|
|
211
|
+
blockKeys: [...CAA_INTERFACE_BLOCKS, ...CAA_FEATURE_IO_BLOCKS],
|
|
212
|
+
renderRegion(context, region, algorithms) {
|
|
213
|
+
const isParamsClass = region.blockKey === "IMPLEMENTS PARAM GET" ||
|
|
214
|
+
region.blockKey === "IMPLEMENTS PARAM SET";
|
|
215
|
+
const items = context.param.items.filter((item) => isParamsClass
|
|
216
|
+
? ktCodegenIsCaaParamsClassItem(item, region.nameSuffix)
|
|
217
|
+
: ktCodegenIsCaaInterfaceItem(item, region.nameSuffix));
|
|
218
|
+
const lines = CAA_INTERFACE_BLOCK_SET.has(region.blockKey)
|
|
219
|
+
? ktCodegenRenderCaaInterfaceLines(region, items, algorithms.isParamSpecList)
|
|
220
|
+
: isParamsClass
|
|
221
|
+
? ktCodegenRenderCaaParamsClassLines(region, items, algorithms.isParamSpecList)
|
|
222
|
+
: ktCodegenRenderCaaFeatureCppLines(context, region, items, algorithms);
|
|
223
|
+
return { items, lines };
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
const catalogFamily = {
|
|
227
|
+
id: "caa.catalog",
|
|
228
|
+
blockKeys: ["CATALOG PARAMS"],
|
|
229
|
+
renderRegion(context, region, algorithms) {
|
|
230
|
+
const items = context.param.items.filter((item) => ktCodegenIsCaaCatalogItem(item, region.nameSuffix));
|
|
231
|
+
return { items, lines: ktCodegenRenderCaaCatalogLines(region, items, algorithms) };
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
const factoryTreeFamily = {
|
|
235
|
+
id: "caa.factory-tree",
|
|
236
|
+
blockKeys: ["FACTRY ON TREE"],
|
|
237
|
+
renderRegion(context, region, algorithms) {
|
|
238
|
+
const items = context.param.items.filter((item) => ktCodegenIsCaaFactoryTreeItem(item, region.nameSuffix));
|
|
239
|
+
return {
|
|
240
|
+
items,
|
|
241
|
+
lines: ktCodegenRenderCaaFactoryTreeLines(region, items, algorithms.formatTreeName),
|
|
242
|
+
};
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
export const KT_CODEGEN_CAA_FEATURE_FAMILIES = [
|
|
246
|
+
featureIoFamily,
|
|
247
|
+
catalogFamily,
|
|
248
|
+
factoryTreeFamily,
|
|
249
|
+
];
|
|
250
|
+
//# sourceMappingURL=caa-feature-families.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caa-feature-families.js","sourceRoot":"","sources":["../../src/renderer/caa-feature-families.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { KtCodegenCaaAlgorithms, KtCodegenRendererContext, KtCodegenRendererResult } from "../KtCodegenRenderer.js";
|
|
2
|
+
/** CAA 只在这里组合能力;具体模板归各 block family 所有。 */
|
|
3
|
+
export declare const KT_CODEGEN_CAA_FAMILIES: readonly [import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>, import("./family-registry.js").KtCodegenRendererFamily<KtCodegenCaaAlgorithms>];
|
|
4
|
+
/** 通过 family registry 生成已迁移 CAA block,并报告未注册目标。 */
|
|
5
|
+
export declare function ktCodegenRenderCaa(context: KtCodegenRendererContext, algorithms: KtCodegenCaaAlgorithms): KtCodegenRendererResult;
|
|
6
|
+
//# sourceMappingURL=caa-renderer.d.ts.map
|