package org.nlamah.QL.View.Controllers; import java.awt.Dimension; import org.nlamah.QBase.Constants.UIConstants; import org.nlamah.QL.Builders.FormHeightEvaluator; import org.nlamah.QL.Interfaces.QLFormElementViewControllerVisitor; import org.nlamah.QL.Model.Form.IfThenBlock; import org.nlamah.QL.View.Controllers.Abstract.DeclaringFormElementViewController; import org.nlamah.QL.View.Form.IfThenBlockView; public class IfThenBlockViewController extends DeclaringFormElementViewController { public IfThenBlockViewController(IfThenBlock ifThenBlock) { super(ifThenBlock); view = new IfThenBlockView(); } public boolean viewShouldBeVisible() { return ((IfThenBlock) modelElement).isSatisfied(); } @Override public void accept(QLFormElementViewControllerVisitor visitor) { visitor.visit(this); } @Override public int evaluateViewHeight() { FormHeightEvaluator heightAdjuster = new FormHeightEvaluator(); int neededHeight = heightAdjuster.evaluate(childViewControllers()); view.setPreferredSize(new Dimension(UIConstants.contentWidth(), neededHeight)); return neededHeight; } }