package ql.gui.renderer;
import java.util.Iterator;
import ql.ast.Questionnaire;
import ql.ast.QuestionnaireList;
import ql.ast.expression_evaluator.ValueEnvironment;
import ql.ast.statement.IStatement;
import ql.gui.QuestionnaireFrame;
/**
* @author orosu
*/
public class GuiRenderer
{
private final QuestionnaireList _questionnaireList;
public GuiRenderer(QuestionnaireList questionnaireList)
{
this._questionnaireList = questionnaireList;
}
public QuestionnaireList getQuestionnaireList()
{
return this._questionnaireList;
}
public void removeQuestionnaire(Questionnaire questionnaire)
{
this._questionnaireList.remove(questionnaire);
}
public void render()
{
Iterator<Questionnaire> iterator = this._questionnaireList.iterator();
while (iterator.hasNext()) {
this._renderQuestionnaire(iterator.next());
}
}
private void _renderQuestionnaire(Questionnaire questionnaire)
{
QuestionnaireFrame questionnaireFrame = new QuestionnaireFrame(questionnaire, this);
ValueEnvironment valueEnvironment = new ValueEnvironment();
Iterator<IStatement> iterator = questionnaire.getStatementList().iterator();
while (iterator.hasNext()) {
iterator.next().accept(new GuiRendererVisitor(questionnaireFrame, valueEnvironment));
}
questionnaireFrame.build();
questionnaireFrame.setVisible(true);
}
}