package qlProject.gui.listeners; import java.util.Map; import javax.swing.JCheckBox; import qlProject.ast.Questionnaire; import qlProject.ast.statement.IfStatement; import qlProject.ast.statement.assignment.ComputedAssignment; import qlProject.ast.statement.assignment.DirectAssignment; import qlProject.gui.InputInterpreter; import qlProject.gui.gui_building_visitors.QuestionWidget; import qlProject.gui.listeners.item_listeners.CheckBoxToBasicQuestionListener; import qlProject.gui.listeners.item_listeners.CheckBoxToComputedListener; import qlProject.gui.listeners.item_listeners.CheckBoxToConditionalQuestionsListListener; public class ItemListenerSelector extends ListenerSelector{ private JCheckBox observedCB; public ItemListenerSelector(InputInterpreter interpreter, Map<String, QuestionWidget> questionWidgetsMap, String observed) { super(interpreter, questionWidgetsMap, observed); this.observedCB = (JCheckBox)observedComponent; } @Override public void visit(ComputedAssignment question){ observedCB.addItemListener(new CheckBoxToComputedListener(observed, question, interpreter)); } @Override public void visit(IfStatement ifStatement){ observedCB.addItemListener(new CheckBoxToConditionalQuestionsListListener(observed, ifStatement, interpreter)); } @Override public void visit(DirectAssignment question){ observedCB.addItemListener(new CheckBoxToBasicQuestionListener(observed, interpreter)); } @Override public void visit(Questionnaire questionnaire) { questionnaire.accept(this); } }