4 #include "ui_mainwindow.h"
6 #include "trace_api.hpp"
19 class ArgumentsEditor;
23 class QTreeWidgetItem;
28 class ShadersSourceWidget;
30 class VertexDataInterpreter;
32 class MainWindow : public QMainWindow
40 void loadTrace(const QString &fileName, int callNum = -1);
43 void callItemSelected(const QModelIndex &index);
44 void callItemActivated(const QModelIndex &index);
49 void replayFinished(const QString &output);
50 void replayStateFound(ApiTraceState *state);
51 void replayError(const QString &msg);
52 void startedLoadingTrace();
53 void loadProgess(int percent);
54 void finishedLoadingTrace();
57 void openHelp(const QUrl &url);
58 void showSurfacesMenu(const QPoint &pos);
59 void showSelectedSurface();
60 void saveSelectedSurface();
62 void slotJumpTo(int callNum);
63 void createdTrace(const QString &path);
64 void traceError(const QString &msg);
66 void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
67 void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
68 void fillState(bool nonDefaults);
69 void customContextMenuRequested(QPoint pos);
71 void slotStartedSaving();
73 void slotGoFrameStart();
74 void slotGoFrameEnd();
75 void slotTraceChanged(ApiTraceCall *call);
76 void slotRetraceErrors(const QList<ApiTraceError> &errors);
77 void slotErrorSelected(QTreeWidgetItem *current);
78 void slotSearchResult(const ApiTrace::SearchRequest &request,
79 ApiTrace::SearchResult result,
81 void slotFoundFrameStart(ApiTraceFrame *frame);
82 void slotFoundFrameEnd(ApiTraceFrame *frame);
83 void slotJumpToResult(ApiTraceCall *call);
87 void initConnections();
88 void newTraceFile(const QString &fileName);
89 void replayTrace(bool dumpState);
90 void fillStateForFrame();
92 /* there's a difference between selected frame/call and
93 * current call/frame. the former implies actual selection
94 * the latter might be just a highlight, e.g. during searching
96 ApiTraceFrame *selectedFrame() const;
97 ApiTraceCall *selectedCall() const;
98 ApiTraceFrame *currentFrame() const;
99 ApiTraceCall *currentCall() const;
104 ShadersSourceWidget *m_sourcesWidget;
109 ApiTraceModel *m_model;
110 ApiTraceFilter *m_proxyModel;
113 QProgressBar *m_progressBar;
115 ApiTraceEvent *m_selectedEvent;
117 ApiTraceEvent *m_stateEvent;
119 Retracer *m_retracer;
121 VertexDataInterpreter *m_vdataInterpreter;
123 JumpWidget *m_jumpWidget;
124 SearchWidget *m_searchWidget;
126 TraceProcess *m_traceProcess;
128 ArgumentsEditor *m_argsEditor;
130 ApiTraceEvent *m_nonDefaultsLookupEvent;