0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-23 16:22:58 +03:00
LimeReport/lrdview/XmlModel.h

30 lines
791 B
C
Raw Permalink Normal View History

2021-09-11 19:03:57 +03:00
#ifndef XMLMODEL_H
#define XMLMODEL_H
#include <QAbstractItemModel>
#include <QDomDocument>
#include <QVector>
class XmlModel: public QAbstractItemModel {
2021-09-11 19:03:57 +03:00
public:
XmlModel(QByteArray* data = 0);
void setXMLData(QByteArray* data);
void parseHeaders();
QModelIndex index(int row, int column, const QModelIndex& parent) const;
QModelIndex parent(const QModelIndex& child) const;
int rowCount(const QModelIndex& parent) const;
int columnCount(const QModelIndex& parent) const;
QVariant data(const QModelIndex& index, int role) const;
2021-09-11 19:03:57 +03:00
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
2021-09-11 19:03:57 +03:00
private:
void initModel();
2021-09-11 19:03:57 +03:00
private:
QDomDocument m_doc;
QDomNode m_items;
QVector<QString> m_fields;
};
#endif // XMLMODEL_H