X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=src%2Fvogleditor%2Fvogleditor.h;h=ced6b2d0b6de838e144fbb99f2e12539c5b3ca25;hb=da9408c5d28098035931c0261c1b64d60fbcf414;hp=53247d6db948f5c81ed73aa44f383a1aec2885e8;hpb=efdbc27f2074c559c8bbd4c118c45fda53e7aa7a;p=vogl diff --git a/src/vogleditor/vogleditor.h b/src/vogleditor/vogleditor.h index 53247d6..ced6b2d 100644 --- a/src/vogleditor/vogleditor.h +++ b/src/vogleditor/vogleditor.h @@ -51,6 +51,7 @@ class vogleditor_QTextureExplorer; class QItemSelection; class QModelIndex; +class QProcess; class QSortFilterProxyModel; class QToolButton; class vogl_context_snapshot; @@ -60,12 +61,14 @@ class vogl_replay_window; class vogl_shader_state; class vogl_texture_state; class vogl_trace_file_reader; +class vogl_trace_file_writer; class vogl_trace_packet; class vogl_gl_state_snapshot; class vogleditor_apiCallTimelineModel; class vogleditor_apiCallTreeItem; class vogleditor_gl_state_snapshot; class vogleditor_QApiCallTreeModel; +class vogleditor_QStateTreeModel; class VoglEditor : public QMainWindow { @@ -89,9 +92,9 @@ private slots: void on_treeView_clicked(const QModelIndex& index); void playCurrentTraceFile(); - void pauseCurrentTraceFile(); void trimCurrentTraceFile(); - void stopCurrentTraceFile(); + + bool trim_trace_file(QString filename, uint maxFrameIndex, uint maxAllowedTrimLen); void on_stateTreeView_clicked(const QModelIndex &index); @@ -105,6 +108,12 @@ private slots: void on_program_edited(vogl_program_state* pNewProgramState); + void on_actionSave_Session_triggered(); + + void on_actionOpen_Session_triggered(); + + void on_searchTextBox_returnPressed(); + private: Ui::VoglEditor* ui; @@ -132,22 +141,31 @@ private: void write_child_api_calls(vogleditor_apiCallTreeItem* pItem, FILE* pFile); + bool load_session_from_disk(QString sessionFile); + bool save_session_to_disk(QString sessionFile); + bool save_snapshot_to_disk(vogl_gl_state_snapshot* pSnapshot, dynamic_string filename, vogl_blob_manager *pBlob_manager); + QString m_openFilename; - QLabel* m_statusLabel; - vogleditor_QFramebufferExplorer* m_framebufferExplorer; - vogleditor_QTextureExplorer* m_textureExplorer; - vogleditor_QTextureExplorer* m_renderbufferExplorer; - vogleditor_QProgramExplorer* m_programExplorer; - vogleditor_QShaderExplorer* m_shaderExplorer; + QLabel* m_pStatusLabel; + vogleditor_QFramebufferExplorer* m_pFramebufferExplorer; + vogleditor_QTextureExplorer* m_pTextureExplorer; + vogleditor_QTextureExplorer* m_pRenderbufferExplorer; + vogleditor_QProgramExplorer* m_pProgramExplorer; + vogleditor_QShaderExplorer* m_pShaderExplorer; vogleditor_QTimelineView* m_timeline; + QGridLayout* m_pFramebufferTab_layout; + QGridLayout* m_pTextureTab_layout; + QGridLayout* m_pRenderbufferTab_layout; + QGridLayout* m_pProgramTab_layout; + QGridLayout* m_pShaderTab_layout; + vogleditor_gl_state_snapshot* m_currentSnapshot; vogleditor_apiCallTreeItem* m_pCurrentCallTreeItem; + QProcess* m_pVoglReplayProcess; QToolButton* m_pPlayButton; - QToolButton* m_pPauseButton; QToolButton* m_pTrimButton; - QToolButton* m_pStopButton; vogleditor_traceReplayer m_traceReplayer; vogl_trace_file_reader* m_pTraceReader; @@ -155,10 +173,10 @@ private: vogl::hash_map m_backtraceToJsonMap; vogleditor_apiCallTimelineModel* m_pTimelineModel; + vogleditor_QApiCallTreeModel* m_pApiCallTreeModel; + vogleditor_QStateTreeModel* m_pStateTreeModel; - vogleditor_QApiCallTreeModel* m_pApicallTreeModel; - - QModelIndexList m_searchApicallResults; + QColor m_searchTextboxBackgroundColor; }; #endif // VOGLEDITOR_H