Implemented edit sprite button in object properties dialog
This commit is contained in:
1 parent
a51ab2a889
commit
95d1936a5f
4 files changed
+83
-46
No files matched your search
@@ -7,15 +7,17 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include "models/projecttreemodel.h"
|
||||
#include "models/objecteventsmodel.h"
|
||||
#include "addeventdialog.h"
|
||||
|
||||
ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, QWidget *parent) :
|
||||
QDialog{parent},
|
||||
ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, MainWindow *mainWindow) :
|
||||
QDialog{mainWindow},
|
||||
m_ui{std::make_unique<Ui::ObjectPropertiesDialog>()},
|
||||
m_object{object},
|
||||
m_projectModel{projectModel},
|
||||
m_mainWindow{mainWindow},
|
||||
m_events{m_object.events},
|
||||
m_eventsModel{std::make_unique<ObjectEventsModel>(m_events)},
|
||||
m_menuSprites{new QMenu{this}},
|
||||
@@ -177,7 +179,22 @@ void ObjectPropertiesDialog::newSprite()
|
||||
|
||||
void ObjectPropertiesDialog::editSprite()
|
||||
{
|
||||
QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
|
||||
if (!m_mainWindow)
|
||||
{
|
||||
qCritical() << "no mainWindow available";
|
||||
return;
|
||||
}
|
||||
|
||||
auto &sprites = m_projectModel.project()->sprites;
|
||||
const auto iter = std::find_if(std::begin(sprites), std::end(sprites),
|
||||
[&](const Sprite &sprite){ return sprite.name == m_spriteName; });
|
||||
if (iter == std::end(sprites))
|
||||
{
|
||||
qCritical() << "sprite" << m_spriteName << "not found";
|
||||
return;
|
||||
}
|
||||
|
||||
m_mainWindow->openPropertiesWindowFor(*iter);
|
||||
}
|
||||
|
||||
void ObjectPropertiesDialog::showInformation()
|
||||
|
||||
@@ -11,13 +11,14 @@ class QMenu;
|
||||
namespace Ui { class ObjectPropertiesDialog; }
|
||||
class ProjectTreeModel;
|
||||
class ObjectEventsModel;
|
||||
class MainWindow;
|
||||
|
||||
class ObjectPropertiesDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, QWidget *parent = nullptr);
|
||||
explicit ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, MainWindow *mainWindow);
|
||||
~ObjectPropertiesDialog();
|
||||
|
||||
void accept() override;
|
||||
@@ -56,6 +57,7 @@ private:
|
||||
|
||||
Object &m_object;
|
||||
ProjectTreeModel &m_projectModel;
|
||||
MainWindow * const m_mainWindow;
|
||||
|
||||
Object::events_container_t m_events;
|
||||
|
||||
|
||||
Reference in new issue
Block a user