QByteArray data =
call->arguments()[call->binaryDataIndex()].toByteArray();
m_vdataInterpreter->setData(data);
- QVariantList args = call->arguments();
+ QVector<QVariant> args = call->arguments();
for (int i = 0; i < call->argNames().count(); ++i) {
QString name = call->argNames()[i];
m_ui.detailsDock->hide();
m_ui.vertexDataDock->hide();
}
- if (m_selectedEvent && !m_selectedEvent->state().isEmpty()) {
+ if (m_selectedEvent && m_selectedEvent->hasState()) {
fillStateForFrame();
} else
m_ui.stateDock->hide();
variantToString(const QVariant &var, QString &str)
{
if (var.type() == QVariant::List) {
- QVariantList lst = var.toList();
+ QVector<QVariant> lst = var.toList().toVector();
str += QLatin1String("[");
for (int i = 0; i < lst.count(); ++i) {
QVariant val = lst[i];
}
static void
-variantListToItems(const QVariantList &lst, const QVariantList &defaultLst, QList<QTreeWidgetItem *> &items)
+variantListToItems(const QVector<QVariant> &lst, const QVector<QVariant> &defaultLst,
+ QList<QTreeWidgetItem *> &items)
{
for (int i = 0; i < lst.count(); ++i) {
QString key = QString::number(i);
isVariantDeep(const QVariant &var)
{
if (var.type() == QVariant::List) {
- QVariantList lst = var.toList();
+ QVector<QVariant> lst = var.toList().toVector();
for (int i = 0; i < lst.count(); ++i) {
if (isVariantDeep(lst[i])) {
return true;
variantMapToItems(map, defaultMap, children);
}
if (var.type() == QVariant::List) {
- QVariantList lst = var.toList();
- QVariantList defaultLst = defaultVar.toList();
+ QVector<QVariant> lst = var.toList().toVector();
+ QVector<QVariant> defaultLst = defaultVar.toList().toVector();
variantListToItems(lst, defaultLst, children);
}
item->addChildren(children);
void MainWindow::fillStateForFrame()
{
- QVariantMap params;
-
- if (!m_selectedEvent || m_selectedEvent->state().isEmpty())
+ if (!m_selectedEvent || !m_selectedEvent->hasState())
return;
if (m_nonDefaultsLookupEvent) {
defaultParams = defaultState.parameters();
}
- const ApiTraceState &state = m_selectedEvent->state();
+ const ApiTraceState &state = *m_selectedEvent->state();
m_ui.stateTreeWidget->clear();
- params = state.parameters();
QList<QTreeWidgetItem *> items;
- variantMapToItems(params, defaultParams, items);
+ variantMapToItems(state.parameters(), defaultParams, items);
m_ui.stateTreeWidget->insertTopLevelItems(0, items);
QMap<QString, QString> shaderSources = state.shaderSources();
m_sourcesWidget->setShaders(shaderSources);
}
+ m_ui.uniformsTreeWidget->clear();
+ QList<QTreeWidgetItem *> uniformsItems;
+ variantMapToItems(state.uniforms(), QVariantMap(), uniformsItems);
+ m_ui.uniformsTreeWidget->insertTopLevelItems(0, uniformsItems);
+
const QList<ApiTexture> &textures =
state.textures();
const QList<ApiFramebuffer> &fbos =
void MainWindow::initObjects()
{
m_ui.stateTreeWidget->sortByColumn(0, Qt::AscendingOrder);
+ m_ui.uniformsTreeWidget->sortByColumn(0, Qt::AscendingOrder);
m_sourcesWidget = new ShadersSourceWidget(m_ui.shadersTab);
QVBoxLayout *layout = new QVBoxLayout;
this, SLOT(replayFinished(const QString&)));
connect(m_retracer, SIGNAL(error(const QString&)),
this, SLOT(replayError(const QString&)));
- connect(m_retracer, SIGNAL(foundState(const ApiTraceState&)),
- this, SLOT(replayStateFound(const ApiTraceState&)));
+ connect(m_retracer, SIGNAL(foundState(ApiTraceState*)),
+ this, SLOT(replayStateFound(ApiTraceState*)));
connect(m_retracer, SIGNAL(retraceErrors(const QList<RetraceError>&)),
this, SLOT(slotRetraceErrors(const QList<RetraceError>&)));
this, SLOT(slotErrorSelected(QTreeWidgetItem*)));
}
-void MainWindow::replayStateFound(const ApiTraceState &state)
+void MainWindow::replayStateFound(ApiTraceState *state)
{
m_stateEvent->setState(state);
m_model->stateSetOnEvent(m_stateEvent);
m_searchWidget->setFound(false);
return;
}
- const QList<ApiTraceCall*> &calls = m_trace->calls();
+ const QVector<ApiTraceCall*> &calls = m_trace->calls();
int callNum = calls.indexOf(call);
for (int i = callNum + 1; i < calls.count(); ++i) {
/* if it's not valid it means that the proxy model has already
* filtered it out */
if (index.isValid()) {
- QString txt = testCall->filterText();
+ QString txt = testCall->searchText();
if (txt.contains(str, sensitivity)) {
m_ui.callView->setCurrentIndex(index);
m_searchWidget->setFound(true);
m_searchWidget->setFound(false);
return;
}
- const QList<ApiTraceCall*> &calls = m_trace->calls();
+ const QVector<ApiTraceCall*> &calls = m_trace->calls();
int callNum = calls.indexOf(call);
for (int i = callNum - 1; i >= 0; --i) {
/* if it's not valid it means that the proxy model has already
* filtered it out */
if (index.isValid()) {
- QString txt = testCall->filterText();
+ QString txt = testCall->searchText();
if (txt.contains(str, sensitivity)) {
m_ui.callView->setCurrentIndex(index);
m_searchWidget->setFound(true);
return;
}
- QList<ApiTraceCall*>::const_iterator itr;
- QList<ApiTraceCall*> calls = frame->calls();
+ QVector<ApiTraceCall*>::const_iterator itr;
+ QVector<ApiTraceCall*> calls = frame->calls();
itr = calls.constBegin();
while (itr != calls.constEnd()) {
if (!frame || frame->isEmpty()) {
return;
}
- QList<ApiTraceCall*>::const_iterator itr;
- QList<ApiTraceCall*> calls = frame->calls();
+ QVector<ApiTraceCall*>::const_iterator itr;
+ QVector<ApiTraceCall*> calls = frame->calls();
itr = calls.constEnd();
do {