package ru.khasang.cachoeira.viewcontroller.mainwindowcontrollers.buttonsbar;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import ru.khasang.cachoeira.commands.project.AddTaskToProjectCommand;
import ru.khasang.cachoeira.commands.project.RemoveTaskFromProjectCommand;
import ru.khasang.cachoeira.model.Task;
import ru.khasang.cachoeira.viewcontroller.MainWindowController;
import ru.khasang.cachoeira.view.mainwindow.diagram.buttonbox.AbstractButtonsBox;
public class TaskButtonsBoxController extends ButtonsBoxController {
public TaskButtonsBoxController(AbstractButtonsBox buttonsBox, MainWindowController controller) {
super(buttonsBox, controller);
}
@Override
protected void addHandler(ActionEvent event) {
controller.getCommandExecutor().execute(new AddTaskToProjectCommand(controller.getProject(), new Task()));
}
@Override
protected void removeHandler(ActionEvent event) {
controller.getCommandExecutor().execute(new RemoveTaskFromProjectCommand(
controller.getProject(),
controller.getSelectedTask()));
}
@Override
protected ObservableValue<? extends Boolean> bindToSelectedItem() {
return controller.selectedTaskProperty().isNull();
}
}