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);
46 void callItemActivated(const QModelIndex &index);
51 void replayFinished(const QString &message);
52 void replayStateFound(ApiTraceState *state);
53 void replayThumbnailsFound(const QList<QImage> &thumbnails);
54 void replayError(const QString &msg);
55 void startedLoadingTrace();
56 void loadProgess(int percent);
57 void finishedLoadingTrace();
59 void showThumbnails();
61 void openHelp(const QUrl &url);
62 void showSurfacesMenu(const QPoint &pos);
63 void showSelectedSurface();
64 void saveSelectedSurface();
66 void slotJumpTo(int callNum);
67 void createdTrace(const QString &path);
68 void traceError(const QString &msg);
70 void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
71 void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
72 void fillState(bool nonDefaults);
73 void customContextMenuRequested(QPoint pos);
75 void slotStartedSaving();
77 void slotGoFrameStart();
78 void slotGoFrameEnd();
79 void slotTraceChanged(ApiTraceEvent *event);
80 void slotRetraceErrors(const QList<ApiTraceError> &errors);
81 void slotErrorSelected(QTreeWidgetItem *current);
82 void slotSearchResult(const ApiTrace::SearchRequest &request,
83 ApiTrace::SearchResult result,
85 void slotFoundFrameStart(ApiTraceFrame *frame);
86 void slotFoundFrameEnd(ApiTraceFrame *frame);
87 void slotJumpToResult(ApiTraceCall *call);
91 void initConnections();
92 void newTraceFile(const QString &fileName);
93 void replayTrace(bool dumpState, bool dumpThumbnails);
94 void fillStateForFrame();
96 /* there's a difference between selected frame/call and
97 * current call/frame. the former implies actual selection
98 * the latter might be just a highlight, e.g. during searching
100 ApiTraceFrame *selectedFrame() const;
101 ApiTraceCall *selectedCall() const;
102 ApiTraceFrame *currentFrame() const;
103 ApiTraceCall *currentCall() const;
108 ShadersSourceWidget *m_sourcesWidget;
113 ApiTraceModel *m_model;
114 ApiTraceFilter *m_proxyModel;
117 QProgressBar *m_progressBar;
119 ApiTraceEvent *m_selectedEvent;
121 ApiTraceEvent *m_stateEvent;
123 Retracer *m_retracer;
125 VertexDataInterpreter *m_vdataInterpreter;
127 JumpWidget *m_jumpWidget;
128 SearchWidget *m_searchWidget;
130 TraceProcess *m_traceProcess;
132 ArgumentsEditor *m_argsEditor;
134 ApiTraceEvent *m_nonDefaultsLookupEvent;