Refactor qrenderdoc to provide stable, clean and deliberate API

* Note, this API is still in-flux and beta, so there may still be some
  more changes before it's 'stable', and even then it will still be
  subject to some amount of change.
* This API is then exposed to python via SWIG bindings and hides
  internals that don't need to be visible, and means the actual API is
  easier to work with.
* We also use this API to reduce inter-dependencies between different
  windows that need to interact with each other at a high level.
* The naming is python/standard RenderDoc TitleCase method names, not
  Qt style camelCase methods.

# Conflicts:
#	qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp
#	qrenderdoc/Windows/TextureViewer.cpp
This commit is contained in:
baldurk
2017-04-18 14:57:43 +01:00
parent 6969b5b677
commit 094c4164dc
61 changed files with 1973 additions and 1562 deletions
+11 -8
View File
@@ -37,18 +37,21 @@ class QMenu;
class DebugMessageItemModel;
class DebugMessageFilterModel;
class DebugMessageView : public QFrame, public ILogViewerForm
class DebugMessageView : public QFrame, public IDebugMessageView, public ILogViewerForm
{
Q_OBJECT
public:
explicit DebugMessageView(CaptureContext &ctx, QWidget *parent = 0);
explicit DebugMessageView(ICaptureContext &ctx, QWidget *parent = 0);
~DebugMessageView();
void OnLogfileLoaded();
void OnLogfileClosed();
void OnSelectedEventChanged(uint32_t eventID) {}
void OnEventChanged(uint32_t eventID) {}
// IDebugMessageView
QWidget *Widget() override { return this; }
// ILogViewerForm
void OnLogfileLoaded() override;
void OnLogfileClosed() override;
void OnSelectedEventChanged(uint32_t eventID) override {}
void OnEventChanged(uint32_t eventID) override {}
void RefreshMessageList();
private slots:
@@ -60,9 +63,9 @@ private slots:
void messages_toggled();
private:
void paintEvent(QPaintEvent *e);
void paintEvent(QPaintEvent *e) override;
Ui::DebugMessageView *ui;
CaptureContext &m_Ctx;
ICaptureContext &m_Ctx;
QVector<DebugMessage> m_Messages;
DebugMessageItemModel *m_ItemModel;