on 4e77f91 help sign in
unity8/tests/mocks/Unity/Indicators/fakeindicatorsmodel.h
59 lines 1.8 kB history raw
1/*
2 * Copyright 2014 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Nick Dedekind <nick.dedekind@canonical.com>
18 */
20#ifndef FAKE_INDICATORSMODEL_H
21#define FAKE_INDICATORSMODEL_H
23#include <QAbstractListModel>
25class FakeIndicatorsModel : public QAbstractListModel
27 Q_OBJECT
28 Q_ENUMS(Roles)
29 Q_PROPERTY(int count READ count NOTIFY countChanged)
30public:
32 FakeIndicatorsModel(QObject *parent=0);
33 ~FakeIndicatorsModel();
35 Q_INVOKABLE void load(const QString& profile);
36 Q_INVOKABLE void unload();
38 Q_INVOKABLE void append(const QVariantMap& row);
40 Q_INVOKABLE QVariant data(int row, int role) const;
42 /* QAbstractItemModel */
43 QHash<int, QByteArray> roleNames() const;
44 int columnCount(const QModelIndex &parent = QModelIndex()) const;
45 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
46 QModelIndex parent (const QModelIndex &index) const;
47 int rowCount(const QModelIndex &parent = QModelIndex()) const;
49Q_SIGNALS:
50 void countChanged();
52private:
53 int count() const;
55 typedef QHash<int, QVariant> Indicator;
56 QList<Indicator*> m_indicators;
57};
59#endif // FAKE_INDICATORSMODEL_H