2019-06-13 18:10:33 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "bindings.h"
|
|
|
|
|
2019-06-13 19:52:25 -07:00
|
|
|
#include <QMdiSubWindow>
|
2019-06-13 18:10:33 -07:00
|
|
|
|
|
|
|
namespace Ui
|
|
|
|
{
|
|
|
|
class ProjectView;
|
|
|
|
}
|
|
|
|
|
|
|
|
class ProjectModel : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit ProjectModel();
|
|
|
|
~ProjectModel();
|
|
|
|
|
2019-06-13 19:52:25 -07:00
|
|
|
bool isDirty() const;
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
bool open(const QString &fname);
|
|
|
|
void save();
|
2019-06-13 18:10:33 -07:00
|
|
|
|
|
|
|
private:
|
|
|
|
Project data;
|
|
|
|
};
|
|
|
|
|
2019-06-13 19:52:25 -07:00
|
|
|
class ProjectView : public QMdiSubWindow
|
2019-06-13 18:10:33 -07:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit ProjectView(QWidget *parent = nullptr);
|
|
|
|
~ProjectView();
|
|
|
|
|
|
|
|
QSharedPointer<ProjectModel> model();
|
|
|
|
|
2019-06-13 19:52:25 -07:00
|
|
|
protected:
|
|
|
|
void closeEvent(QCloseEvent *event) override;
|
|
|
|
|
2019-06-13 18:10:33 -07:00
|
|
|
private:
|
|
|
|
QSharedPointer<Ui::ProjectView> ui;
|
|
|
|
QSharedPointer<ProjectModel> proj;
|
|
|
|
};
|
|
|
|
|
|
|
|
// EOF
|