package regexgolf2.ui.challengegenerator.configui; import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.layout.VBox; import org.controlsfx.control.RangeSlider; public class RandomGeneratorConfigUI { private Node _rootNode; private RangeSlider _doMatchSlider; private RangeSlider _dontMatchSlider; public RandomGeneratorConfigUI() { initUI(); } private void initUI() { VBox vBox = new VBox(); vBox.setSpacing(8); _doMatchSlider = createRangeSlider(0, 20, 0, 20); vBox.getChildren().add(createLabeledNode("Do Match Words", _doMatchSlider)); _dontMatchSlider = createRangeSlider(0, 20, 0, 20); vBox.getChildren().add(createLabeledNode("Don't Match Words", _dontMatchSlider)); _rootNode = vBox; } private RangeSlider createRangeSlider(int min, int max, int lower, int higher) { RangeSlider slider = new RangeSlider(min, max, lower, higher); slider.setShowTickMarks(true); slider.setShowTickLabels(true); slider.setMajorTickUnit(5); slider.setMinorTickCount(5); slider.setSnapToTicks(true); return slider; } private Node createLabeledNode(String labelText, Node node) { Label description = new Label(labelText); VBox vb = new VBox(); vb.setSpacing(2d); vb.getChildren().addAll(description, node); return vb; } public RangeSlider getDoMatchSlider() { return _doMatchSlider; } public RangeSlider getDontMatchSlider() { return _dontMatchSlider; } public Node getUINode() { return _rootNode; } }