package org.uva.sea.ql.interpreter.widget;
import java.awt.event.ActionListener;
import java.util.EventListener;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import org.uva.sea.ql.ast.stmt.Question;
import org.uva.sea.ql.interpreter.value.Bool;
import org.uva.sea.ql.interpreter.value.Value;
public class BoolInput extends Widget {
private JCheckBox widget= new JCheckBox();
public BoolInput(Question question, Value<?> value){
widget.setName(question.getIdent().getName());
setValue(value);
}
@Override
public JComponent getWidget() {
return widget;
}
@Override
public void setWidget(JComponent widget) {
this.widget = (JCheckBox) widget;
}
@Override
public void setValue(Value<?> value) {
if (value.getValue() != null) {
Bool boolValue = (Bool) value;
widget.setSelected(boolValue.getValue());
}
}
@Override
public Value<?> getValue() {
return new Bool(widget.isSelected());
}
@Override
public void setActionListener(EventListener listener) {
widget.addActionListener((ActionListener) listener);
}
}