Files
QtGameMaker/dialogs/objectpropertiesdialog.h
T

59 lines
1.2 KiB
C++
Raw Normal View History

#pragma once
#include <QDialog>
#include <memory>
2022-01-11 02:35:26 +01:00
class QMenu;
namespace Ui { class ObjectPropertiesDialog; }
struct Object;
class ProjectTreeModel;
2022-01-11 02:35:26 +01:00
class ObjectEventsModel;
class ObjectActionsModel;
class Sprite;
class ObjectPropertiesDialog : public QDialog
{
Q_OBJECT
public:
explicit ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, QWidget *parent = nullptr);
~ObjectPropertiesDialog();
2022-01-11 02:35:26 +01:00
void accept() override;
void reject() override;
private slots:
void newSprite();
void editSprite();
void showInformation();
void addEvent();
void deleteEvent();
void replaceEvent();
void changed();
void objectNameChanged(const Object &object);
void spritesMenuAboutToShow();
void clearSprite();
void setSprite(const Sprite &sprite);
private:
2022-01-11 02:35:26 +01:00
void updateTitle();
const std::unique_ptr<Ui::ObjectPropertiesDialog> m_ui;
2022-01-11 02:35:26 +01:00
Object &m_object;
ProjectTreeModel &m_projectModel;
const std::unique_ptr<ObjectEventsModel> m_eventsModel;
const std::unique_ptr<ObjectActionsModel> m_actionsModel;
QMenu * const m_spritesMenu;
QString m_spriteName;
bool m_unsavedChanges{};
};