#include "neweventtoolbutton.h" #include #include // Custom QToolButton which has a context menu that expands to allow // selection of different types of map events. NewEventToolButton::NewEventToolButton(QWidget *parent) : QToolButton(parent) { setPopupMode(QToolButton::MenuButtonPopup); QObject::connect(this, SIGNAL(triggered(QAction*)), this, SLOT(setDefaultAction(QAction*))); } void NewEventToolButton::initButton() { // Add a context menu to select different types of map events. this->newObjectAction = new QAction("New Object", this); this->newObjectAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newObjectAction, SIGNAL(triggered(bool)), this, SLOT(newObject())); this->newWarpAction = new QAction("New Warp", this); this->newWarpAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newWarpAction, SIGNAL(triggered(bool)), this, SLOT(newWarp())); this->newCoordScriptAction = new QAction("New Coord Script", this); this->newCoordScriptAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newCoordScriptAction, SIGNAL(triggered(bool)), this, SLOT(newCoordScript())); this->newCoordWeatherAction = new QAction("New Coord Weather", this); this->newCoordWeatherAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newCoordWeatherAction, SIGNAL(triggered(bool)), this, SLOT(newCoordWeather())); this->newSignAction = new QAction("New Sign", this); this->newSignAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newSignAction, SIGNAL(triggered(bool)), this, SLOT(newSign())); this->newHiddenItemAction = new QAction("New Hidden Item", this); this->newHiddenItemAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newHiddenItemAction, SIGNAL(triggered(bool)), this, SLOT(newHiddenItem())); this->newSecretBaseAction = new QAction("New Secret Base", this); this->newSecretBaseAction->setIcon(QIcon(":/icons/add.ico")); connect(this->newSecretBaseAction, SIGNAL(triggered(bool)), this, SLOT(newSecretBase())); QMenu *alignMenu = new QMenu(); alignMenu->addAction(this->newObjectAction); alignMenu->addAction(this->newWarpAction); alignMenu->addAction(this->newCoordScriptAction); alignMenu->addAction(this->newCoordWeatherAction); alignMenu->addAction(this->newSignAction); alignMenu->addAction(this->newHiddenItemAction); alignMenu->addAction(this->newSecretBaseAction); this->setMenu(alignMenu); this->setDefaultAction(this->newObjectAction); } QString NewEventToolButton::getSelectedEventType() { return this->selectedEventType; } void NewEventToolButton::newObject() { this->selectedEventType = EventType::Object; emit newEventAdded(this->selectedEventType); } void NewEventToolButton::newWarp() { this->selectedEventType = EventType::Warp; emit newEventAdded(this->selectedEventType); } void NewEventToolButton::newCoordScript() { this->selectedEventType = EventType::CoordScript; emit newEventAdded(this->selectedEventType); } void NewEventToolButton::newCoordWeather() { this->selectedEventType = EventType::CoordWeather; emit newEventAdded(this->selectedEventType); } void NewEventToolButton::newSign() { this->selectedEventType = EventType::Sign; emit newEventAdded(this->selectedEventType); } void NewEventToolButton::newHiddenItem() { this->selectedEventType = EventType::HiddenItem; emit newEventAdded(this->selectedEventType); } void NewEventToolButton::newSecretBase() { this->selectedEventType = EventType::SecretBase; emit newEventAdded(this->selectedEventType); }