[ui] GraphEditor: Move ChoiceParam control to its own file

Start modularization of attribute controls for better readability
and maintenance.
Make Choice control independent from the MeshroomUI API.
This commit is contained in:
Yann Lanthony 2025-02-13 11:40:09 +01:00
parent cfc2979653
commit ba272eddc7
2 changed files with 43 additions and 19 deletions

View file

@ -0,0 +1,34 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import MaterialIcons
import Controls
/**
* A combobox-type control with a single current `value` and a list of possible `values`.
* Provides filtering capabilities and support for custom values (i.e: `value` not in `values`).
*/
RowLayout {
id: root
required property var value
required property var values
signal editingFinished(var value)
FilterComboBox {
id: comboBox
Layout.fillWidth: true
sourceModel: root.values
inputValue: root.value
onEditingFinished: value => root.editingFinished(value)
}
MaterialLabel {
visible: !comboBox.validValue
text: MaterialIcons.warning
ToolTip.text: "Custom value detected"
}
}