#include <QProcess>
class ApiTrace;
+class ApiTraceCall;
class ApiTraceEvent;
class ApiTraceFilter;
class ApiTraceFrame;
class ApiTraceModel;
class ApiTraceState;
-class ImageViewer;
-class QLineEdit;
+class ArgumentsEditor;
+class JumpWidget;
class QModelIndex;
class QProgressBar;
+class QTreeWidgetItem;
class QUrl;
+struct RetraceError;
class Retracer;
+class SearchWidget;
class ShadersSourceWidget;
+class TraceProcess;
class VertexDataInterpreter;
class MainWindow : public QMainWindow
private slots:
void callItemSelected(const QModelIndex &index);
+ void createTrace();
void openTrace();
- void filterTrace();
void replayStart();
void replayStop();
void replayFinished(const QString &output);
- void replayStateFound(const ApiTraceState &state);
+ 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<RetraceError> &errors);
+ void slotErrorSelected(QTreeWidgetItem *current);
private:
void initObjects();
void newTraceFile(const QString &fileName);
void replayTrace(bool dumpState);
void fillStateForFrame();
+ ApiTraceFrame *currentFrame() const;
+ ApiTraceCall *currentCall() const;
private:
Ui_MainWindow m_ui;
ApiTrace *m_trace;
ApiTraceModel *m_model;
ApiTraceFilter *m_proxyModel;
- QLineEdit *m_filterEdit;
QProgressBar *m_progressBar;
- QString m_traceFileName;
-
ApiTraceEvent *m_selectedEvent;
ApiTraceEvent *m_stateEvent;
VertexDataInterpreter *m_vdataInterpreter;
- ImageViewer *m_imageViewer;
+ JumpWidget *m_jumpWidget;
+ SearchWidget *m_searchWidget;
+
+ TraceProcess *m_traceProcess;
+
+ ArgumentsEditor *m_argsEditor;
+
+ ApiTraceEvent *m_nonDefaultsLookupEvent;
};