package seeurrenamer.main.controller.manipulator; import java.net.URL; import java.util.ResourceBundle; import seeurrenamer.main.model.PairPath; import seeurrenamer.main.util.PathsRenamer; import seeurrenamer.main.util.RenamerDirection; import seeurrenamer.main.util.positionalrenaming.InsertionPositionalRenamer; import seeurrenamer.main.util.positionalrenaming.OverwritingPositionalRenamer; import seeurrenamer.main.util.positionalrenaming.PositionalRenamer; import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.ComboBox; import javafx.scene.control.Spinner; import javafx.scene.control.SpinnerValueFactory; import javafx.scene.control.TextField; import javafx.stage.Stage; /** * @author moch deden * */ public class InsertingOrOverwritingManipulatorController implements Initializable { @FXML private ComboBox<PositionalRenamer> positionalRenamingComboBox; @FXML private ComboBox<RenamerDirection> positionalRenamingDirectionComboBox; @FXML private TextField newStringTextField; @FXML private Spinner<Integer> indexSpinner; private ObservableList<PairPath> pairPathList; private Stage stage; private PathsRenamer pathsRenamer; @Override public void initialize(URL location, ResourceBundle resources) { this.positionalRenamingComboBox.getItems().setAll( new InsertionPositionalRenamer(), new OverwritingPositionalRenamer()); this.positionalRenamingDirectionComboBox.getItems().setAll(RenamerDirection.LEFT, RenamerDirection.RIGHT); this.positionalRenamingComboBox .setValue(new InsertionPositionalRenamer()); this.positionalRenamingDirectionComboBox.setValue(RenamerDirection.LEFT); this.indexSpinner .setValueFactory(new SpinnerValueFactory.IntegerSpinnerValueFactory( 0, Integer.MAX_VALUE, 0)); } @FXML public void handleRenameOperation() { PositionalRenamer positionalRenaming = this.positionalRenamingComboBox .getValue(); positionalRenaming.setDirection(this.positionalRenamingDirectionComboBox.getValue()); positionalRenaming.setPosition(this.indexSpinner.getValue()); positionalRenaming.setNewString(this.newStringTextField.getText()); this.pairPathList.setAll(this.pathsRenamer.rename(this.pairPathList, positionalRenaming)); } @FXML public void handleOkButton() { this.stage.close(); } public void setPairPathList(ObservableList<PairPath> pairPathList) { this.pairPathList = pairPathList; } public void setStage(Stage stage) { this.stage = stage; } public void setPathsRenamer(PathsRenamer pathRenamer) { this.pathsRenamer = pathRenamer; } }