X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fmainwindow.h;h=f3e31811717f4a218f60860df2f5e203534125cd;hb=8216d8efc428dd336957433d743af5c4ac2d0d05;hp=9fbd7a8cce2fa763a292edd0082a1d96e758e26d;hpb=11f7e632acbf1d2ee0fbd1a3c7d8e4865bd8faaf;p=apitrace diff --git a/gui/mainwindow.h b/gui/mainwindow.h index 9fbd7a8..f3e3181 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -7,17 +7,24 @@ #include class ApiTrace; +class ApiTraceCall; +class ApiTraceEvent; +class ApiTraceFilter; class ApiTraceFrame; class ApiTraceModel; -class ApiTraceFilter; -class QLineEdit; +class ApiTraceState; +class ArgumentsEditor; +class JumpWidget; class QModelIndex; -class QProcess; class QProgressBar; - -namespace QJson { - class Parser; -} +class QTreeWidgetItem; +class QUrl; +struct RetraceError; +class Retracer; +class SearchWidget; +class ShadersSourceWidget; +class TraceProcess; +class VertexDataInterpreter; class MainWindow : public QMainWindow { @@ -31,41 +38,74 @@ public slots: private slots: void callItemSelected(const QModelIndex &index); + void createTrace(); void openTrace(); - void filterTrace(); void replayStart(); void replayStop(); - void replayFinished(); - void replayError(QProcess::ProcessError err); + void replayFinished(const QString &output); + void replayStateFound(ApiTraceState *state); + void replayError(const QString &msg); void startedLoadingTrace(); 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 &errors); + void slotErrorSelected(QTreeWidgetItem *current); private: + void initObjects(); + void initConnections(); void newTraceFile(const QString &fileName); void replayTrace(bool dumpState); - void parseState(const QVariantMap ¶ms); void fillStateForFrame(); + ApiTraceFrame *currentFrame() const; + ApiTraceCall *currentCall() const; private: Ui_MainWindow m_ui; + ShadersSourceWidget *m_sourcesWidget; + ApiTrace *m_trace; ApiTraceModel *m_model; ApiTraceFilter *m_proxyModel; - QLineEdit *m_filterEdit; - - QProcess *m_replayProcess; QProgressBar *m_progressBar; - QString m_traceFileName; + ApiTraceEvent *m_selectedEvent; + + ApiTraceEvent *m_stateEvent; + + Retracer *m_retracer; + + VertexDataInterpreter *m_vdataInterpreter; + + JumpWidget *m_jumpWidget; + SearchWidget *m_searchWidget; - ApiTraceFrame *m_currentFrame; + TraceProcess *m_traceProcess; - ApiTraceFrame *m_stateFrame; - bool m_findingState; + ArgumentsEditor *m_argsEditor; - QJson::Parser *m_jsonParser; + ApiTraceEvent *m_nonDefaultsLookupEvent; };