package ru.khasang.cachoeira.viewcontroller.draganddrop;
import javafx.scene.control.TreeTableRow;
import javafx.scene.input.DragEvent;
import javafx.scene.input.Dragboard;
import ru.khasang.cachoeira.commands.project.DragNDropResourceCommand;
import ru.khasang.cachoeira.viewcontroller.MainWindowController;
public class ResourceTableDragAndDrop extends TableDragAndDrop {
public ResourceTableDragAndDrop(MainWindowController controller) {
this.controller = controller;
}
@Override
public void dragDropped(DragEvent event, TreeTableRow row) {
Dragboard dragboard = event.getDragboard();
if (dragboard.hasContent(SERIALIZED_MIME_TYPE)) {
int draggedIndex = (Integer) dragboard.getContent(SERIALIZED_MIME_TYPE);
controller.getCommandExecutor().execute(new DragNDropResourceCommand(controller.getProject(), row, draggedIndex));
event.setDropCompleted(true);
row.getTreeTableView().getSelectionModel().select(row.getIndex());
event.consume();
}
}
}