File indexing completed on 2024-05-19 04:48:24

0001 #ifndef CMAKEPROJECTTARGET_H
0002 #define CMAKEPROJECTTARGET_H
0003 
0004 #include <QObject>
0005 #include <QVector>
0006 #include "cmakedata.h"
0007 
0008 class SourcesModel;
0009 class CMakeProjectTarget : public QObject
0010 {
0011     Q_OBJECT
0012     Q_PROPERTY(QString name READ name NOTIFY dataChanged)
0013     Q_PROPERTY(SourcesModel *sources READ sources NOTIFY dataChanged)
0014     Q_PROPERTY(QList<QUrl> artifacts READ artifacts NOTIFY dataChanged)
0015 
0016 public:
0017     explicit CMakeProjectTarget(QObject *parent = nullptr);
0018 
0019     QString name() const;
0020     CMakeTarget data() const;
0021     QList<QUrl> artifacts() const;
0022     SourcesModel *sources() const;
0023 
0024 public slots:
0025     void setData(CMakeTarget data, const QUrl &source);
0026 
0027 private:
0028     CMakeTarget m_data;
0029     SourcesModel *m_sources;
0030 
0031 signals:
0032     void dataChanged();
0033 };
0034 
0035 
0036 
0037 #endif // CMAKEPROJECTTARGET_H