#include "../include/GlobalContextMenu.hpp" namespace dchat { static ContextMenu *editMessageContextMenu = nullptr; ContextMenu* GlobalContextMenu::getEditMessageContextMenu() { if(!editMessageContextMenu) { editMessageContextMenu = new ContextMenu(); editMessageContextMenu->setVisible(false); ContextMenuItem editMessageItem("Edit message", nullptr); ContextMenuItem deleteMessageItem("Delete message", nullptr); deleteMessageItem.text.setFillColor(sf::Color::Red); editMessageContextMenu->addItem(editMessageItem); editMessageContextMenu->addItem(deleteMessageItem); } return editMessageContextMenu; } void GlobalContextMenu::setClickEditMessageCallbackFunc(MenuItemClickCallbackFunc callbackFunc) { getEditMessageContextMenu()->getItemByIndex(0).clickCallbackFunc = callbackFunc; } void GlobalContextMenu::setClickDeleteMessageCallbackFunc(MenuItemClickCallbackFunc callbackFunc) { getEditMessageContextMenu()->getItemByIndex(1).clickCallbackFunc = callbackFunc; } void GlobalContextMenu::processEvent(const sf::Event &event) { getEditMessageContextMenu()->processEvent(event); } void GlobalContextMenu::draw(sf::RenderWindow &window) { getEditMessageContextMenu()->draw(window); } }