package regexgolf2.controllers; import javafx.scene.Node; import javafx.scene.layout.AnchorPane; import regexgolf2.model.challengegenerator.GeneratorConfig; import regexgolf2.model.challengegenerator.GeneratorConfigVisitor; import regexgolf2.model.challengegenerator.RandomGeneratorConfig; import regexgolf2.model.challengegenerator.Generator.EmptyConfig; public class GeneratorConfigUICreator implements GeneratorConfigVisitor { private final Node _emptyConfigUI = new AnchorPane(); private final RandomGeneratorConfigController _randGenController = new RandomGeneratorConfigController(); /** * Temporary variable for the selected UI */ private Node _ui; public GeneratorConfigUICreator() { } public Node getUIFor(GeneratorConfig config) { _ui = null; config.accept(this); assert _ui != null; return _ui; } @Override public void visit(EmptyConfig emptyConfig) { _ui = _emptyConfigUI; } @Override public void visit(RandomGeneratorConfig randomGeneratorConfig) { _randGenController.setConfig(randomGeneratorConfig); _ui = _randGenController.getUINode(); } }