1 #ifndef UILISTELEMENT_H
2 #define UILISTELEMENT_H
6 #include <QAbstractListModel>
10 class uiListElement : public QObject
14 Q_PROPERTY(QString name READ name WRITE setName);
15 Q_PROPERTY(QString file READ file WRITE setFile);
16 QString name() const { return m_name;} ; void setName(QString val) { m_name=val;};
17 // QString modelData() const { return m_name;} ; void setModelData(QString val) { m_name=val;};
18 QString file() const { return m_file;} ; void setFile(QString val) { m_file=val;};
20 explicit uiListElement(QObject *parent = 0);
21 // explicit uiListElement(const uiListElement &ui);
22 explicit uiListElement(QString name,QString fileName,QObject *parent = 0);
33 Q_DECLARE_METATYPE(uiListElement*)
35 class uiListModel : public QAbstractListModel
40 NameRole = Qt::UserRole + 1,
45 uiListModel(QObject *parent = 0);
47 void addUI(uiListElement *ui);
49 int rowCount(const QModelIndex & parent = QModelIndex()) const;
50 Q_INVOKABLE int count() { return m_uiList.count(); };
51 Q_INVOKABLE int roles() { return roleNames().size(); };
52 Q_INVOKABLE QObject * get(int index) const { return m_uiList[index];};
53 Q_INVOKABLE void removeAt(int index) { m_uiList.removeAt(index);};
54 QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
57 QList<uiListElement*> m_uiList;
59 #endif // UILISTELEMENT_H