C++ makes life easy, but sure makes it easy to write inefficient code.
Probably more cases like this lying around.
-QVariantMap ApiTraceState::parameters() const
+const QVariantMap & ApiTraceState::parameters() const
-QMap<QString, QString> ApiTraceState::shaderSources() const
+const QMap<QString, QString> & ApiTraceState::shaderSources() const
{
return m_shaderSources;
}
{
return m_shaderSources;
}
return m_parameters.isEmpty();
}
return m_parameters.isEmpty();
}
-QList<ApiTexture> ApiTraceState::textures() const
+const QList<ApiTexture> & ApiTraceState::textures() const
-QList<ApiFramebuffer> ApiTraceState::framebuffers() const
+const QList<ApiFramebuffer> & ApiTraceState::framebuffers() const
{
return m_framebuffers;
}
{
return m_framebuffers;
}
explicit ApiTraceState(const QVariantMap &parseJson);
bool isEmpty() const;
explicit ApiTraceState(const QVariantMap &parseJson);
bool isEmpty() const;
- QVariantMap parameters() const;
- QMap<QString, QString> shaderSources() const;
- QList<ApiTexture> textures() const;
- QList<ApiFramebuffer> framebuffers() const;
+ const QVariantMap & parameters() const;
+ const QMap<QString, QString> & shaderSources() const;
+ const QList<ApiTexture> & textures() const;
+ const QList<ApiFramebuffer> & framebuffers() const;
private:
QVariantMap m_parameters;
private:
QVariantMap m_parameters;
void MainWindow::fillStateForFrame()
{
void MainWindow::fillStateForFrame()
{
if (!m_selectedEvent || m_selectedEvent->state().isEmpty())
return;
if (!m_selectedEvent || m_selectedEvent->state().isEmpty())
return;
const ApiTraceState &state = m_selectedEvent->state();
m_ui.stateTreeWidget->clear();
const ApiTraceState &state = m_selectedEvent->state();
m_ui.stateTreeWidget->clear();
- params = state.parameters();
QList<QTreeWidgetItem *> items;
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_ui.stateTreeWidget->insertTopLevelItems(0, items);
QMap<QString, QString> shaderSources = state.shaderSources();
m_sourcesWidget->setShaders(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 =
const QList<ApiTexture> &textures =
state.textures();
const QList<ApiFramebuffer> &fbos =