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