Ejemplo n.º 1
0
  public void handleMoveSegmentTo(ActionEvent actionEvent) {
    try {
      FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/view/moveSegmentPopup.fxml"));
      AnchorPane pane = (AnchorPane) loader.load();
      Stage dialogStage = new Stage();
      dialogStage.setTitle("Move selected segment to track");
      dialogStage.initModality(Modality.WINDOW_MODAL);
      dialogStage.initOwner(Main.primaryStage);
      Scene scene = new Scene(pane);
      dialogStage.setScene(scene);

      MoveSegmentPopupController controller = loader.getController();
      controller.setDialogStage(dialogStage);

      dialogStage.showAndWait();

      if (controller.isOkClicked()) {
        int beat = controller.getBeat();
        String trackName = controller.getTrack();
        ObservableList<Node> tracksList = Controller.getComposeAreaVBox().getChildren();
        for (int i = 0; i < tracksList.size(); i++) {
          TrackController track = (TrackController) tracksList.get(i);
          if (track.nameProperty().getValue().equals(trackName)) {
            Rectangle rectangle = (Rectangle) track.getTrackBeats().getChildren().get(beat - 1);
            MusicSegmentController newSegment =
                new MusicSegmentController(this.name, this.length, this.width, this.audioPath);
            newSegment.setLayoutX(rectangle.getLayoutX());
            newSegment.setLayoutY(i * 55 + 6);
            Controller.anchorPaneComposition.getChildren().add(newSegment);
          }
        }
      }
    } catch (IOException ex) {
      ex.printStackTrace();
    }
  }