#pragma once #include "bindings.h" #include namespace Ui { class ProjectView; } class ProjectModel : public QObject { Q_OBJECT public: explicit ProjectModel(); ~ProjectModel(); bool isDirty() const; public slots: bool open(const QString &fname); void save(); private: Project data; }; class ProjectView : public QMdiSubWindow { Q_OBJECT public: explicit ProjectView(QWidget *parent = nullptr); ~ProjectView(); QSharedPointer model(); protected: void closeEvent(QCloseEvent *event) override; private: QSharedPointer ui; QSharedPointer proj; }; // EOF