package org.fugazi.ql.gui.ui_element.ui_questions;
import org.fugazi.ql.ast.statement.Question;
import org.fugazi.ql.evaluator.expression_value.ExpressionValue;
import org.fugazi.ql.evaluator.expression_value.StringValue;
import org.fugazi.ql.gui.mediator.IMediator;
import org.fugazi.ql.gui.widgets.IWidget;
import org.fugazi.ql.gui.widgets.WidgetsEventListener;
public class UITextQuestion extends UIQuestion {
private StringValue value;
public UITextQuestion(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 = (StringValue) _value;
this.sendToMediator();
}
@Override
public ExpressionValue getState() {
return this.value;
}
@Override
public void resetState() {
StringValue emptyValue = new StringValue("");
this.value = emptyValue;
this.widget.setWidgetValue(emptyValue);
}
}