+ void replayStart();
+ void replayStop();
+ void replayFinished(const QString &output);
+ void replayStateFound(ApiTraceState *state);
+ void replayError(const QString &msg);
+ void startedLoadingTrace();
+ void loadProgess(int percent);
+ void finishedLoadingTrace();
+ void lookupState();
+ void showSettings();
+ void openHelp(const QUrl &url);
+ void showSurfacesMenu(const QPoint &pos);
+ void showSelectedSurface();
+ void saveSelectedSurface();
+ void slotGoTo();
+ void slotJumpTo(int callNum);
+ void createdTrace(const QString &path);
+ void traceError(const QString &msg);
+ void slotSearch();
+ void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
+ void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
+ void fillState(bool nonDefaults);
+ void customContextMenuRequested(QPoint pos);
+ void editCall();
+ void slotStartedSaving();
+ void slotSaved();
+ void slotGoFrameStart();
+ void slotGoFrameEnd();
+ void slotTraceChanged(ApiTraceCall *call);
+ void slotRetraceErrors(const QList<ApiTraceError> &errors);
+ void slotErrorSelected(QTreeWidgetItem *current);
+ void slotSearchResult(const ApiTrace::SearchRequest &request,
+ ApiTrace::SearchResult result,
+ ApiTraceCall *call);
+ void slotFoundFrameStart(ApiTraceFrame *frame);
+ void slotFoundFrameEnd(ApiTraceFrame *frame);
+ void slotJumpToResult(ApiTraceCall *call);
+
+private:
+ void initObjects();
+ void initConnections();
+ void newTraceFile(const QString &fileName);
+ void replayTrace(bool dumpState);
+ void fillStateForFrame();
+
+ /* there's a difference between selected frame/call and
+ * current call/frame. the former implies actual selection
+ * the latter might be just a highlight, e.g. during searching
+ */
+ ApiTraceFrame *selectedFrame() const;
+ ApiTraceCall *selectedCall() const;
+ ApiTraceFrame *currentFrame() const;
+ ApiTraceCall *currentCall() const;
+