package org.fugazi.ql.gui.ui_element.ui_questions;
import org.fugazi.ql.ast.statement.Question;
import org.fugazi.ql.evaluator.expression_value.BoolValue;
import org.fugazi.ql.evaluator.expression_value.ExpressionValue;
import org.fugazi.ql.gui.mediator.IMediator;
import org.fugazi.ql.gui.widgets.IWidget;
import org.fugazi.ql.gui.widgets.WidgetsEventListener;
public class UIBoolQuestion extends UIQuestion {
private BoolValue value;
public UIBoolQuestion(IMediator _med, Question _question, IWidget _widget) {
super(_med, _question, _widget);
this.resetState();
this.widget.addEventListener(
new WidgetsEventListener() {
public void stateChanged() {
setState(widget.getWidgetValue());
}
}
);
}
@Override
public void setState(ExpressionValue _value) {
this.value = (BoolValue) _value;
this.sendToMediator();
}
@Override
public ExpressionValue getState() {
return this.value;
}
@Override
public void resetState() {
BoolValue falseValue = new BoolValue(false);
this.value = falseValue;
this.widget.setWidgetValue(falseValue);
}
}