package org.uva.ql.view.widget;
import org.uva.ql.ast.expression.literal.Identifier;
import org.uva.ql.ast.value.Value;
import org.uva.ql.view.listener.NumberTextFieldListener;
import org.uva.ql.view.listener.WidgetListener;
public class NumberTextField extends BaseTextField {
private final WidgetListener widgetListener;
public NumberTextField(WidgetListener listener) {
super(listener);
this.widgetListener = listener;
textField.setVisible(true);
}
@SuppressWarnings("unchecked")
@Override
public String getValue() {
return textField.getText();
}
@Override
public void setIdentifier(Identifier identifier) {
super.setIdentifier(identifier);
NumberTextFieldListener textFieldListener = new NumberTextFieldListener(widgetListener, getIdentifier(), this);
textField.getDocument().addDocumentListener(textFieldListener);
}
@Override
public void setWidgetValue(Value value) {
if (value.isDefined()) {
textField.setText(value.toString());
} else {
textField.setText("");
}
}
}