// Check if there's default value metadata on the input. If there is we can use a pick list
// value editor.
if (metadataRunner != null) {
// Evaluate the expression
ValueNode defaultValues = metadataRunner.evaluateDefaultValueMetadata(argumentNumber);
if (defaultValues != null) {
// If the value node is a list then use a pick list value entry panel which will popup a
// customized list editor. Otherwise the value node is a single value and we can use the
// pick list value editor which is just a combo box.
ModuleTypeInfo typeInfo = valueEditorHierarchyManager.getValueEditorManager().getPerspective().getWorkingModuleTypeInfo();
TypeExpr dataType = valueNode.getTypeExpr();
if (dataType.isListType() && TypeExpr.canUnifyType(dataType, defaultValues.getTypeExpr(), typeInfo)) {
return new PickListValueEntryPanel(valueEditorHierarchyManager,
valueNode,
(ListValueNode)defaultValues,
metadataRunner.useDefaultValuesOnly(argumentNumber));
} else {