scijava-common icon indicating copy to clipboard operation
scijava-common copied to clipboard

Weirdness when setting multiple-choice input options dynamically

Open ctrueden opened this issue 2 years ago • 0 comments

From a Zulip topic by @emilmelnikov:

In the following example, target should be a dropdown list populated with values derived from other inputs when they change, but target renders as a normal text field.

public class SampleCommand extends DynamicCommand {
    @Parameter(label = "Input", callback = "inputChanged")
    String input;

    @Parameter(label = "Target", style = "listBox")
    String target;

    void inputChanged() {
        MutableModuleItem<String> item = getInfo().getMutableInput("target", String.class);
        item.setChoices(Arrays.asList("one", "two", "three"));
    }
}

It works when choices = {" "} is passed to @Parameter with listBox. Note the single space: passing an empty string results in NullPointerException.

ctrueden avatar Sep 11 '23 19:09 ctrueden