forked from qt-creator/qt-creator
New qml based .qmproject file format
This commit is contained in:
55
src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h
Normal file
55
src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h
Normal file
@@ -0,0 +1,55 @@
|
||||
#ifndef PROJECTITEM_H
|
||||
#define PROJECTITEM_H
|
||||
|
||||
#include <QObject>
|
||||
#include <qml.h>
|
||||
|
||||
namespace QmlProjectManager {
|
||||
|
||||
class QmlProjectContentItem : public QObject {
|
||||
// base class for all elements that should be direct children of Project element
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QmlProjectContentItem(QObject *parent = 0) : QObject(parent) {}
|
||||
};
|
||||
|
||||
class QmlProjectItemPrivate;
|
||||
|
||||
class QmlProjectItem : public QObject {
|
||||
Q_OBJECT
|
||||
Q_DECLARE_PRIVATE(QmlProjectItem)
|
||||
Q_DISABLE_COPY(QmlProjectItem)
|
||||
|
||||
Q_PROPERTY(QmlList<QmlProjectManager::QmlProjectContentItem*> *content READ content DESIGNABLE false)
|
||||
Q_PROPERTY(QString sourceDirectory READ sourceDirectory NOTIFY sourceDirectoryChanged)
|
||||
|
||||
Q_CLASSINFO("DefaultProperty", "content");
|
||||
|
||||
public:
|
||||
QmlProjectItem(QObject *parent = 0);
|
||||
~QmlProjectItem();
|
||||
|
||||
QmlList<QmlProjectContentItem*> *content();
|
||||
|
||||
QString sourceDirectory() const;
|
||||
void setSourceDirectory(const QString &directoryPath);
|
||||
|
||||
QStringList qmlFiles() const;
|
||||
|
||||
signals:
|
||||
void sourceDirectoryChanged();
|
||||
|
||||
protected:
|
||||
QmlProjectItemPrivate *d_ptr;
|
||||
|
||||
};
|
||||
|
||||
} // namespace QmlProjectManager
|
||||
|
||||
QML_DECLARE_TYPE(QmlProjectManager::QmlProjectItem);
|
||||
QML_DECLARE_TYPE(QmlProjectManager::QmlProjectContentItem);
|
||||
Q_DECLARE_METATYPE(QList<QmlProjectManager::QmlProjectContentItem *>);
|
||||
|
||||
|
||||
#endif // PROJECTITEM_H
|
||||
Reference in New Issue
Block a user