Files
metabuilder/qml/MetaBuilder/LuaTestInputPanel.qml
johndoe6345789 311fb4db38 refactor(qt6): deep split round — targeting 200 LOC views, 100 LOC components
SuperGodPanel (604→~200): CTenantTab, CGodUsersTab, CTransferTab, CSystemTab, CSuperGodDialogs
WorkflowEditor (443→325): WorkflowMutations.js + WorkflowDBAL.js pure modules
ThemeLivePreview (256→87): ThemePreviewCard, ThemePreviewForm
CNodePropertiesPanel (238→143): CNodeParameterList, CNodePortsDisplay
MediaTvTab, WorkflowNode, CssPropertyEditor split to ~100 each
+ mid-size view trims (MediaService, Admin, PackageMgr, Storybook, GodPanel)

113→120+ components, avg component LOC approaching 90.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:42:51 +00:00

62 lines
1.6 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QmlComponents 1.0
ColumnLayout {
id: testInputPanel
Layout.preferredWidth: 280
Layout.fillHeight: true
spacing: 8
property var params: []
signal executeTest(var args)
signal paramValueChanged(int index, string value)
CText { variant: "h4"; text: "Test Parameters" }
ScrollView {
Layout.fillWidth: true
Layout.fillHeight: true
clip: true
ColumnLayout {
width: parent.width
spacing: 6
Repeater {
model: params.length
delegate: ColumnLayout {
Layout.fillWidth: true
spacing: 2
CText {
variant: "caption"
text: params[index].name + " (" + params[index].type + ")"
}
CTextField {
Layout.fillWidth: true
placeholderText: "Enter " + params[index].name + "..."
text: params[index].value || ""
onTextChanged: testInputPanel.paramValueChanged(index, text)
}
}
}
}
}
CButton {
text: "Execute Test"
variant: "primary"
Layout.fillWidth: true
onClicked: {
var args = [];
for (var i = 0; i < params.length; i++) {
args.push(params[i].name + " = " + JSON.stringify(params[i].value || ""));
}
testInputPanel.executeTest(args)
}
}
}