00001 #ifndef ACCOUNTSTABLEMODEL_H
00002 #define ACCOUNTSTABLEMODEL_H
00003
00004 #include <QAbstractTableModel>
00005 #include <QStringList>
00006 #include <QDomDocument>
00007 #include <QDomElement>
00008
00009 class AccountsTableModel : public QAbstractTableModel
00010 {
00011 Q_OBJECT
00012
00013 public:
00014 AccountsTableModel(QObject *parent = 0);
00015
00016 int rowCount(const QModelIndex &parent) const;
00017 int columnCount(const QModelIndex &parent) const;
00018
00019 QVariant data(const QModelIndex &index, int role) const;
00020 QStringList data(const int row) const;
00021 bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole);
00022
00023 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
00024 Qt::ItemFlags flags(const QModelIndex &index) const;
00025
00026 QDomElement dataNode();
00027
00028
00029 bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex());
00030 bool removeRows(int position, int rows, const QModelIndex &index=QModelIndex());
00031
00032 bool addEntry(QString number, QString name, QString description);
00033 bool existAccountByNumber(QString number);
00034
00035 private:
00036 QList<QStringList> entries;
00037 };
00038
00039 #endif // ACCOUNTSTABLEMODEL_H