4 #include "ui_mainwindow.h"
6 #include "trace_api.hpp"
21 class ArgumentsEditor;
25 class QTreeWidgetItem;
30 class ShadersSourceWidget;
32 class VertexDataInterpreter;
34 class MainWindow : public QMainWindow
42 void loadTrace(const QString &fileName, int callNum = -1);
45 void callItemSelected(const QModelIndex &index);
50 void replayFinished(const QString &output);
51 void replayStateFound(ApiTraceState *state);
52 void replayThumbnailsFound(const QList<QImage> &thumbnails);
53 void replayError(const QString &msg);
54 void startedLoadingTrace();
55 void loadProgess(int percent);
56 void finishedLoadingTrace();
58 void showThumbnails();
60 void openHelp(const QUrl &url);
61 void showSurfacesMenu(const QPoint &pos);
62 void showSelectedSurface();
63 void saveSelectedSurface();
65 void slotJumpTo(int callNum);
66 void createdTrace(const QString &path);
67 void traceError(const QString &msg);
69 void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
70 void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
71 void fillState(bool nonDefaults);
72 void customContextMenuRequested(QPoint pos);
74 void slotStartedSaving();
76 void slotGoFrameStart();
77 void slotGoFrameEnd();
78 void slotTraceChanged(ApiTraceEvent *event);
79 void slotRetraceErrors(const QList<ApiTraceError> &errors);
80 void slotErrorSelected(QTreeWidgetItem *current);
81 void slotSearchResult(const ApiTrace::SearchRequest &request,
82 ApiTrace::SearchResult result,
84 void slotFoundFrameStart(ApiTraceFrame *frame);
85 void slotFoundFrameEnd(ApiTraceFrame *frame);
86 void slotJumpToResult(ApiTraceCall *call);
90 void initConnections();
91 void newTraceFile(const QString &fileName);
92 void replayTrace(bool dumpState, bool dumpThumbnails);
93 void fillStateForFrame();
95 /* there's a difference between selected frame/call and
96 * current call/frame. the former implies actual selection
97 * the latter might be just a highlight, e.g. during searching
99 ApiTraceFrame *selectedFrame() const;
100 ApiTraceCall *selectedCall() const;
101 ApiTraceFrame *currentFrame() const;
102 ApiTraceCall *currentCall() const;
107 ShadersSourceWidget *m_sourcesWidget;
112 ApiTraceModel *m_model;
113 ApiTraceFilter *m_proxyModel;
116 QProgressBar *m_progressBar;
118 ApiTraceEvent *m_selectedEvent;
120 ApiTraceEvent *m_stateEvent;
122 Retracer *m_retracer;
124 VertexDataInterpreter *m_vdataInterpreter;
126 JumpWidget *m_jumpWidget;
127 SearchWidget *m_searchWidget;
129 TraceProcess *m_traceProcess;
131 ArgumentsEditor *m_argsEditor;
133 ApiTraceEvent *m_nonDefaultsLookupEvent;