X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fshaderssourcewidget.cpp;h=88ed1b6c137207180dce0108ae9a362b63acfc78;hb=7a9fb5103e052150232b64cb5d99374cda3f1234;hp=0bec7a7a83651804de58d9ed77e8fadfce476f48;hpb=7c814f1b9e077b1a1b5e40de8a7e3c371bf1e5a3;p=apitrace diff --git a/gui/shaderssourcewidget.cpp b/gui/shaderssourcewidget.cpp index 0bec7a7..88ed1b6 100644 --- a/gui/shaderssourcewidget.cpp +++ b/gui/shaderssourcewidget.cpp @@ -1,44 +1,47 @@ #include "shaderssourcewidget.h" +#include "glsledit.h" + ShadersSourceWidget::ShadersSourceWidget(QWidget *parent) : QWidget(parent) { m_ui.setupUi(this); + m_edit = new GLSLEdit(this); + m_edit->setReadOnly(true); + + m_ui.verticalLayout->addWidget(m_edit); - connect(m_ui.shadersCB, SIGNAL(currentIndexChanged(int)), - SLOT(changeShader(int))); + connect(m_ui.shadersCB, SIGNAL(currentIndexChanged(const QString &)), + SLOT(changeShader(const QString &))); } -void ShadersSourceWidget::setShaders(const QStringList &sources) +void ShadersSourceWidget::setShaders(const QMap &sources) { m_sources = sources; m_ui.shadersCB->clear(); - m_ui.shadersTextEdit->clear(); + m_edit->clear(); if (m_sources.isEmpty()) { m_ui.shadersCB->setDisabled(true); - m_ui.shadersTextEdit->setPlainText( - tr("No bound shaders.")); - m_ui.shadersTextEdit->setDisabled(true); + m_edit->setPlainText(tr("No bound shaders.")); + m_edit->setDisabled(true); return; } m_ui.shadersCB->setEnabled(true); - m_ui.shadersTextEdit->setEnabled(true); + m_edit->setEnabled(true); - for (int i = 0; i < m_sources.count(); ++i) { - QString source = m_sources[i]; - m_ui.shadersCB->insertItem( - i, - tr("Shader %1").arg(i)); + QMap::const_iterator itr; + for (itr = m_sources.constBegin(); itr != m_sources.constEnd(); ++itr) { + m_ui.shadersCB->addItem(itr.key()); } m_ui.shadersCB->setCurrentIndex(0); } -void ShadersSourceWidget::changeShader(int idx) +void ShadersSourceWidget::changeShader(const QString &key) { - m_ui.shadersTextEdit->setPlainText(m_sources.value(idx)); + m_edit->setPlainText(m_sources.value(key)); } #include "shaderssourcewidget.moc"