public void testEnumControl() { Object[] values = new Object[] { "val1", "val2" }; EnumControl control = new MyControl(EnumControl.Type.REVERB, values, "val1"); assertEquals("val1", control.getValue()); assertTrue(Arrays.equals(values, control.getValues())); assertEquals("Reverb with current value: val1", control.toString()); control.setValue("val2"); assertEquals("val2", control.getValue()); assertTrue(Arrays.equals(values, control.getValues())); assertEquals("Reverb with current value: val2", control.toString()); try { control.setValue("val3"); fail("No expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } }
public ControlNode(Control control) { super(control.getType(), true); this.control = control; if (control instanceof BooleanControl) { component = createControlComponent((BooleanControl) control); } else if (control instanceof EnumControl) { component = createControlComponent((EnumControl) control); } else if (control instanceof FloatControl) { component = createControlComponent((FloatControl) control); } else { component = null; } }
public MyControl(EnumControl.Type type, Object[] values, Object value) { super(type, values, value); }
private JComponent createControlComponent(EnumControl control) { JPanel component = new JPanel(); String strControlName = control.getType().toString(); component.setBorder(new TitledBorder(new EtchedBorder(), strControlName)); return component; }
protected static final HashMap<String, Control> extractControls(Line line, Map<String, Control> old) { HashMap<String, Control> controls = new HashMap<>(); for(Control control : line.getControls()) { String key = control.getType().toString(); if(old != null && old.containsKey(key)) { Control oldControl = old.get(key); if(control instanceof FloatControl && oldControl instanceof FloatControl) { ((FloatControl)control).setValue(((FloatControl)oldControl).getValue()); } else if(control instanceof BooleanControl && oldControl instanceof BooleanControl) { ((BooleanControl)control).setValue(((BooleanControl)oldControl).getValue()); } else if(control instanceof EnumControl && oldControl instanceof EnumControl) { ((EnumControl)control).setValue(((EnumControl)oldControl).getValue()); } } controls.put(control.getType().toString(), control); } return controls; }