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.DragNDropTaskCommand;
import ru.khasang.cachoeira.viewcontroller.MainWindowController;
public class TaskTableDragAndDrop extends TableDragAndDrop {
public TaskTableDragAndDrop(MainWindowController controller) {
this.controller = controller;
}
@Override
public void dragDropped(DragEvent event, TreeTableRow row) {
Dragboard db = event.getDragboard();
if (db.hasContent(SERIALIZED_MIME_TYPE)) {
int draggedIndex = (Integer) db.getContent(SERIALIZED_MIME_TYPE);
controller.getCommandExecutor().execute(new DragNDropTaskCommand(controller.getProject(), row, draggedIndex));
event.setDropCompleted(true);
row.getTreeTableView().getSelectionModel().select(row.getIndex());
event.consume();
}
}
}