Add BeginStep and EndStep events

This commit is contained in:
2024-01-02 21:46:05 +01:00
parent 59d591267e
commit f94bdf2113
3 changed files with 45 additions and 33 deletions

View File

@ -29,26 +29,32 @@ AddEventDialog::AddEventDialog(ProjectTreeModel &projectModel, QWidget *parent)
this, [this](){ m_eventType = Object::EventType::Destroy; accept(); });
connect(m_ui->pushButtonDraw, &QAbstractButton::clicked,
this, [this](){ m_eventType = Object::EventType::Draw; accept(); });
connect(m_ui->pushButtonStep, &QAbstractButton::clicked,
this, [this](){ m_eventType = Object::EventType::Step; accept(); });
{
auto menu = new QMenu;
menu->addAction(tr("Alarm 0"), this, [this](){ m_eventType = Object::EventType::Alarm0; accept(); });
menu->addAction(tr("Alarm 1"), this, [this](){ m_eventType = Object::EventType::Alarm1; accept(); });
menu->addAction(tr("Alarm 2"), this, [this](){ m_eventType = Object::EventType::Alarm2; accept(); });
menu->addAction(tr("Alarm 3"), this, [this](){ m_eventType = Object::EventType::Alarm3; accept(); });
menu->addAction(tr("Alarm 4"), this, [this](){ m_eventType = Object::EventType::Alarm4; accept(); });
menu->addAction(tr("Alarm 5"), this, [this](){ m_eventType = Object::EventType::Alarm5; accept(); });
menu->addAction(tr("Alarm 6"), this, [this](){ m_eventType = Object::EventType::Alarm6; accept(); });
menu->addAction(tr("Alarm 7"), this, [this](){ m_eventType = Object::EventType::Alarm7; accept(); });
menu->addAction(tr("Alarm 8"), this, [this](){ m_eventType = Object::EventType::Alarm8; accept(); });
menu->addAction(tr("Alarm 9"), this, [this](){ m_eventType = Object::EventType::Alarm9; accept(); });
menu->addAction(tr("Alarm 0"), this, [this](){ m_eventType = Object::EventType::Alarm0; accept(); });
menu->addAction(tr("Alarm 1"), this, [this](){ m_eventType = Object::EventType::Alarm1; accept(); });
menu->addAction(tr("Alarm 2"), this, [this](){ m_eventType = Object::EventType::Alarm2; accept(); });
menu->addAction(tr("Alarm 3"), this, [this](){ m_eventType = Object::EventType::Alarm3; accept(); });
menu->addAction(tr("Alarm 4"), this, [this](){ m_eventType = Object::EventType::Alarm4; accept(); });
menu->addAction(tr("Alarm 5"), this, [this](){ m_eventType = Object::EventType::Alarm5; accept(); });
menu->addAction(tr("Alarm 6"), this, [this](){ m_eventType = Object::EventType::Alarm6; accept(); });
menu->addAction(tr("Alarm 7"), this, [this](){ m_eventType = Object::EventType::Alarm7; accept(); });
menu->addAction(tr("Alarm 8"), this, [this](){ m_eventType = Object::EventType::Alarm8; accept(); });
menu->addAction(tr("Alarm 9"), this, [this](){ m_eventType = Object::EventType::Alarm9; accept(); });
menu->addAction(tr("Alarm 10"), this, [this](){ m_eventType = Object::EventType::Alarm10; accept(); });
menu->addAction(tr("Alarm 11"), this, [this](){ m_eventType = Object::EventType::Alarm11; accept(); });
m_ui->pushButtonAlarm->setMenu(menu);
}
{
auto menu = new QMenu;
menu->addAction(tr("Step"), this, [this](){ m_eventType = Object::EventType::Step; accept(); });
menu->addAction(tr("Begin Step"), this, [this](){ m_eventType = Object::EventType::BeginStep; accept(); });
menu->addAction(tr("End Step"), this, [this](){ m_eventType = Object::EventType::EndStep; accept(); });
m_ui->pushButtonStep->setMenu(menu);
}
{
auto menu = new QMenu;
connect(menu, &QMenu::aboutToShow, menu, [this,menu](){

View File

@ -38,22 +38,24 @@ QVariant ObjectEventsModel::data(const QModelIndex &index, int role) const
case Qt::EditRole:
switch (pair.first)
{
case Object::EventType::Create: return tr("Create");
case Object::EventType::Destroy: return tr("Destroy");
case Object::EventType::Alarm0: return tr("Alarm 0");
case Object::EventType::Alarm1: return tr("Alarm 1");
case Object::EventType::Alarm2: return tr("Alarm 2");
case Object::EventType::Alarm3: return tr("Alarm 3");
case Object::EventType::Alarm4: return tr("Alarm 4");
case Object::EventType::Alarm5: return tr("Alarm 5");
case Object::EventType::Alarm6: return tr("Alarm 6");
case Object::EventType::Alarm7: return tr("Alarm 7");
case Object::EventType::Alarm8: return tr("Alarm 8");
case Object::EventType::Alarm9: return tr("Alarm 9");
case Object::EventType::Alarm10: return tr("Alarm 10");
case Object::EventType::Alarm11: return tr("Alarm 11");
case Object::EventType::Step: return tr("Step");
case Object::EventType::Draw: return tr("Draw");
case Object::EventType::Create: return tr("Create");
case Object::EventType::Destroy: return tr("Destroy");
case Object::EventType::Alarm0: return tr("Alarm 0");
case Object::EventType::Alarm1: return tr("Alarm 1");
case Object::EventType::Alarm2: return tr("Alarm 2");
case Object::EventType::Alarm3: return tr("Alarm 3");
case Object::EventType::Alarm4: return tr("Alarm 4");
case Object::EventType::Alarm5: return tr("Alarm 5");
case Object::EventType::Alarm6: return tr("Alarm 6");
case Object::EventType::Alarm7: return tr("Alarm 7");
case Object::EventType::Alarm8: return tr("Alarm 8");
case Object::EventType::Alarm9: return tr("Alarm 9");
case Object::EventType::Alarm10: return tr("Alarm 10");
case Object::EventType::Alarm11: return tr("Alarm 11");
case Object::EventType::Step: return tr("Step");
case Object::EventType::BeginStep: return tr("Begin Step");
case Object::EventType::EndStep: return tr("End Step");
case Object::EventType::Draw: return tr("Draw");
}
qWarning() << "unknown event type" << std::to_underlying(pair.first);
@ -61,8 +63,8 @@ QVariant ObjectEventsModel::data(const QModelIndex &index, int role) const
case Qt::DecorationRole:
switch (pair.first)
{
case Object::EventType::Create: return QIcon{":/qtgameengine/icons/event-create.png"};
case Object::EventType::Destroy: return QIcon{":/qtgameengine/icons/event-destroy.png"};
case Object::EventType::Create: return QIcon{":/qtgameengine/icons/event-create.png"};
case Object::EventType::Destroy: return QIcon{":/qtgameengine/icons/event-destroy.png"};
case Object::EventType::Alarm0:
case Object::EventType::Alarm1:
case Object::EventType::Alarm2:
@ -74,9 +76,11 @@ QVariant ObjectEventsModel::data(const QModelIndex &index, int role) const
case Object::EventType::Alarm8:
case Object::EventType::Alarm9:
case Object::EventType::Alarm10:
case Object::EventType::Alarm11: return QIcon{":/qtgameengine/icons/event-alarm.png"};
case Object::EventType::Step: return QIcon{":/qtgameengine/icons/event-step.png"};
case Object::EventType::Draw: return QIcon{":/qtgameengine/icons/event-draw.png"};
case Object::EventType::Alarm11: return QIcon{":/qtgameengine/icons/event-alarm.png"};
case Object::EventType::Step:
case Object::EventType::BeginStep:
case Object::EventType::EndStep: return QIcon{":/qtgameengine/icons/event-step.png"};
case Object::EventType::Draw: return QIcon{":/qtgameengine/icons/event-draw.png"};
}
qWarning() << "unknown event type" << std::to_underlying(pair.first);

View File

@ -126,6 +126,8 @@ struct Object
Alarm10,
Alarm11,
Step,
BeginStep,
EndStep,
Draw,
};