package ql.gui.widget; import ql.gui.Label; import ql.gui.QuestionnaireFrame; import ql.gui.input_field.IInput; import ql.gui.input_listener.InputListenerLinker; /** * @author orosu */ public class ComputedLabelInputPair extends LabelInputPair implements IWidgetListener { private final InputListenerLinker _inputListenerLinker; public ComputedLabelInputPair(QuestionnaireFrame questionnaireFrame, String id, Label label, IInput input, InputListenerLinker widget) { super(questionnaireFrame, id, label, input); this.setEnabled(false); this._inputListenerLinker = widget; } public void setEnabled(boolean enabled) { this.getInput().setEnabled(enabled); } @Override public void setVisible(boolean visible) { if (this._inputListenerLinker.evaluateNull()) { super.setVisible(false); return; } super.setVisible(visible); } @Override public void attachInputListener() { this._inputListenerLinker.attachInputListener(this); } @Override public InputListenerLinker getInputListenerLinker() { return this._inputListenerLinker; } }