LimeReport/lrdview/XmlModel.h
2021-09-11 19:21:28 +03:00

29 lines
790 B
C++

#ifndef XMLMODEL_H
#define XMLMODEL_H
#include <QAbstractItemModel>
#include <QDomDocument>
#include <QVector>
class XmlModel : public QAbstractItemModel
{
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;
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
private:
void initModel();
private:
QDomDocument m_doc;
QDomNode m_items;
QVector<QString> m_fields;
};
#endif // XMLMODEL_H