package ru.khasang.cachoeira.viewcontroller.tooltipfactory.tooltips;
import javafx.beans.binding.Bindings;
import javafx.scene.control.Tooltip;
import ru.khasang.cachoeira.model.ITask;
import java.time.temporal.ChronoUnit;
/**
* Класс описывающий поведение всплывающей подсказки при наведении курсора на ресурс.
*/
public class TaskTooltip extends Tooltip {
public TaskTooltip(ITask task) {
initTooltip(task);
}
public void initTooltip(ITask task) {
textProperty().bind(Bindings
.concat("task_name" + ": ").concat(task.nameProperty()).concat("\n")
.concat(Bindings
.when(task.descriptionProperty().isNull().or(task.descriptionProperty().isEmpty()))
.then("")
.otherwise(Bindings.concat("description" + ": ").concat(task.descriptionProperty()).concat("\n")))
.concat("start_date" + ": ").concat(task.startDateProperty()).concat("\n")
.concat("finish_date" + ": ").concat(task.finishDateProperty()).concat("\n")
.concat("duration" + ": ").concat(ChronoUnit.DAYS.between(task.startDateProperty().getValue(), task.finishDateProperty().getValue())).concat("\n")
.concat("done_percent" + ": ").concat(task.donePercentProperty()).concat("\n")
.concat("cost" + ": ").concat(task.costProperty())
);
}
}