package ru.testing.client.websocket;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import org.controlsfx.control.PopOver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.testing.client.controllers.SendMessagesController;
import ru.testing.client.controllers.TabWsMessagesController;
import java.io.IOException;
/**
* Send message history pop over
*/
public class SendMessagesPopOver extends PopOver {
private static final Logger LOGGER = LoggerFactory.getLogger(SendMessagesPopOver.class);
private SendMessagesController controller;
public SendMessagesPopOver(TabWsMessagesController tabWsMessagesController) {
// Pop over settings
setDetachable(false);
setArrowLocation(ArrowLocation.TOP_RIGHT);
setOnHidden(event -> tabWsMessagesController.getSendMsgHistoryBtn().setSelected(false));
try {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/popover.send.messages.fxml"));
Parent root = loader.load();
controller = loader.getController();
controller.setCheckListViewCellFactory(tabWsMessagesController);
setContentNode(root);
} catch (IOException e) {
LOGGER.error("Error load sent messages pop over: {}", e.getMessage());
}
}
/**
* Get sent message controller
*
* @return SendMessagesController
*/
public SendMessagesController getController() {
return controller;
}
}