X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitracemodel.h;h=fe6b5cea69deb5f0702c8af239066b1db5b806bb;hb=c5b741c83e804f1e438caca83565a76e254d0b94;hp=345cd133c5c8ca9b1db823b7822c50178a03a1b1;hpb=c52d18a3319956aea59dfa6648c56ddd1df9414f;p=apitrace diff --git a/gui/apitracemodel.h b/gui/apitracemodel.h index 345cd13..fe6b5ce 100644 --- a/gui/apitracemodel.h +++ b/gui/apitracemodel.h @@ -4,11 +4,13 @@ #include #include +#include #include class ApiTrace; class ApiTraceCall; class ApiTraceEvent; +class ApiTraceFrame; class ApiTraceModel : public QAbstractItemModel { @@ -25,7 +27,7 @@ public: const ApiTrace *apiTrace() const; void stateSetOnEvent(ApiTraceEvent *event); - QModelIndex callIndex(int callNum) const; + QModelIndex indexForCall(ApiTraceCall *call) const; public: /* QAbstractItemModel { */ @@ -44,17 +46,24 @@ public: const QModelIndex &parent = QModelIndex()); bool removeRows(int position, int rows, const QModelIndex &parent = QModelIndex()); + virtual bool canFetchMore(const QModelIndex & parent) const; + virtual void fetchMore(const QModelIndex &parent); /* } QAbstractItemModel; */ private slots: void invalidateFrames(); - void appendFrames(int oldCount, int numAdded); + void beginAddingFrames(int oldCount, int numAdded); + void endAddingFrames(); + void callChanged(ApiTraceCall *call); + void beginLoadingFrame(ApiTraceFrame *frame, int numAdded); + void endLoadingFrame(ApiTraceFrame *frame); private: ApiTraceEvent *item(const QModelIndex &index) const; private: ApiTrace *m_trace; + QSet m_loadingFrames; }; #endif