1 #ifndef APITRACEMODEL_H
2 #define APITRACEMODEL_H
5 #include <QAbstractItemModel>
13 class ApiTraceModel : public QAbstractItemModel
18 EventRole = Qt::UserRole + 1
21 ApiTraceModel(QObject *parent = 0);
24 void setApiTrace(ApiTrace *trace);
25 const ApiTrace *apiTrace() const;
26 void stateSetOnEvent(ApiTraceEvent *event);
28 QModelIndex callIndex(int callNum) const;
29 QModelIndex indexForCall(ApiTraceCall *call) const;
32 /* QAbstractItemModel { */
33 QVariant data(const QModelIndex &index, int role) const;
34 Qt::ItemFlags flags(const QModelIndex &index) const;
35 QVariant headerData(int section, Qt::Orientation orientation,
36 int role = Qt::DisplayRole) const;
37 QModelIndex index(int row, int column,
38 const QModelIndex &parent = QModelIndex()) const;
39 bool hasChildren(const QModelIndex &parent) const;
40 QModelIndex parent(const QModelIndex &index) const;
41 int rowCount(const QModelIndex &parent = QModelIndex()) const;
42 int columnCount(const QModelIndex &parent = QModelIndex()) const;
44 bool insertRows(int position, int rows,
45 const QModelIndex &parent = QModelIndex());
46 bool removeRows(int position, int rows,
47 const QModelIndex &parent = QModelIndex());
48 /* } QAbstractItemModel; */
51 void invalidateFrames();
52 void beginAddingFrames(int oldCount, int numAdded);
53 void endAddingFrames();
54 void callChanged(ApiTraceCall *call);
57 ApiTraceEvent *item(const QModelIndex &index) const;